Ontwikkel handleiding

Broncode ophalen

De broncode is opgeslagen in Github. De toegang is beschreven in het Source Repository document.

  git clone git@github.com:geozet/openls-databinding.git

Beginnen met bouwen

Het project gebruikt Maven 3 als build tool. Alle Maven commando's moeten in de root van het project worden uitgevoerd. Het project is opgezet als een jar artifact. Voor het maken van een .jar is alleen een juist geconfigureerde Maven installatie nodig. Voor het publiceren van een release is het vereist dat in jouw settings.xml een server entry staat voor de OSSRH repository zoals hieronder en dat jouw PGP key is gekoppeld in de OSSRH repository.

<server>
  <id>ossrh</id>
  <username>jouw username</username>
  <password>jouw password</password>
</server>

Maven commando's

mvn package

Dit draait alle unit tests en maakt de artifact.

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.

Issue's oplossen

In principe worden alle issues in Github vastgelegd; optioneel kun je de echte highlights in de releasenotes vastleggen.

Versie nummering

Opleveringen hebben versienummers beginnend bij 0.1, bij bugfixes wordt het cijfer achter de punt opgehoogd. Optioneel kunnen er pre-releases worden opgeleverd, die worden aangegeven met -rcN, bijv. 0.1-rc1.

Release bouwen

Met de volgende stappen kun je een release bouwen.

mvn -Prelease clean scm:update
update van de broncode in de werkdirectory
mvn -Prelease release:prepare -DdryRun=true
maakt een properties file aan met informatie voor de volgende stap; de dry run is alleen een oefening om je voor te bereiden op de gestelde vragen.
mvn -Prelease release:clean release:prepare
Verwijderd evt. de eerder gemaakte maven-release-plugin properties en maakt een tag aan in de repository en update de snapshot versie.
mvn -Prelease release:perform
commit en deploy de release; maven maakt een tag aan in de source repository voor deze release en deployed de release naar de gedefinieerde maven repository.

LET OP: als je geen schrijfrechten hebt in de gedefinieerde Maven repository kun je dus geen release publiceren!