De broncode is opgeslagen in het Subversion systeem. De toegang is beschreven in het Source Repository document. Om gebruik te maken van het eclipse project is het van belang dat je uitpakt naar C:\workspace\nl.geozet.geozet-webapp-TRUNK.
svn checkout http://www.duif.net/geozet/trunk/geozet-webapp C:\workspace\nl.geozet.geozet-webapp-TRUNK
Het project gebruikt Maven 2 als build tool en eclipse 3.5 met de Subversive en Maven Integration plugins als ide; alle Maven commando's moeten in de root van het project worden uitgevoerd; in pricipe zorgt de m2eclipse plugin voor de afhandeling van de maven commando's voor oa. build. Het project is opgezet als een war artifact. Voor het maken van een .war of release is alleen een juist geconfigureerde Maven installatie nodig. Als je dot of Graphviz>> hebt geinstalleerd kunj je javadoc met UML klasse diagrammen genereren; dit doe je door op de commandline <<<-Dhavedot=true mee te geven zoals in onderstaand voorbeeld om de documentatie te genereren
mvn -Dhavedot=true site
In het standaard scenario wordt er periodiek een build en deploy van de webapp gedaan naar de ontwikkel server met behulp van de Hudson server. De locatie is beschreven on de POM file. Van belang hierbij is dat in de settings.xml een server entry staat voor de duif.net repository zoals hieronder.
<server> <id>duif-repo</id> <username>jouw subversion gebruikersnaam</username> <password>jouw subversion wachtwoord</password> </server>
Zonder deze entry kun je geen releases doen en ook de gerelateerde maven artifacten niet ophalen.
mvn package
Dit draait alle unit tests en maakt de artifact(en) bestanden aan die direct naar de ontwikkelserver kunnen worden gerold voor deploy.
mvn clean scm:update site-deploy install
Dit doet een clean en update actie waarna de volledige build en packaging wordt uitgevoerd en de documentatie wordt gegenereerd.
De webapp kan mbv. jetty live worden gebracht met het commando:
mvn jetty:run
Dit brengt de webapp in de lucht op adres http://localhost:8080/geozetviewer Stoppen gaat dan via stoppen met cntrl-c of vanuit een andere terminal met commando mvn jetty:stop. Meer hierover op de wiki http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin
In principe worden alle issues in Mantis vastgelegd; optioneel kun je de echte highlights in de releasenotes vastleggen.
Opleveringen hebben versienummers beginnend bij 1.0, bij bugfixes wordt het cijfer achter de punt opgehoogd. Optioneel kunnen er pre-releases worden opgeleverd, die worden aangegeven met 0.1, 0.2 etc. Alle versies kunnen worden bekeken in Mantis?? Hudson?? (Versions)
Met de volgende stappen kun je een release bouwen mbv Maven (meer hierover). In principe worden alleen tags gebruikt omdat iedere nieuwe oplevering een tag krijgt (in tags mag je dus niets meer inchecken! maak daar een branch voor aan). Voordat je verder gaat zorg je dat alles is ingechecked in subversion en dat de release is vrijgegeven in ?Jira?. Ga pas daarna verder!
LET OP: als je geen schrijfrechten hebt in de gedefinieerde maven repository (duif.net svn repository duif-repo) kun je dus geen release maken! zie ook hierboven
opties tijdens release:prepare fase:
Met behulp van de release notes functie in Jira kunnen release notes worden aangemaakt in verschillende formaten. Zie: hier. Dit moet gedaan worden voordat de release met maven wordt gemaakt zodat eea ook netjes in subversion terecht komt. Tevens moet na het maken van de release met Maven de release worden gedaan in Jira, dit vlagt de artifacts en componenten als released. Na het maken van een release is er nog geen fileset voor distributie/installatie, dat is hieronder beschreven.
Er is een apart profiel aangemaakt voor het bouwen van een distributie fileset (zip) met daarin alle bestanden en documentatie die nodig zijn voor de installatie.
Dit commando kun direct na het maken van een release uitvoeren op de broncode zoals die onder de /target/checkout/ directory is te vinden.