Dit project gebruikt Maven als build tool en Github voor broncode beheer.
-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<poort> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<poort>
bijvoorbeeld: mvn -Popenlayers -Dhttp.proxyHost=145.12.1.11 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=145.12.1.11 -Dhttps.proxyPort=8080 site
De broncode is opgeslagen in het Github systeem. De toegang is beschreven in het Source Repository document.
git clone https://github.com/MinELenI/CBSviewer.git C:\workspace\CBSviewer
Het project gebruikt Maven 3 als build tool, als IDE raden we Eclipse 4.2 aan omdat deze de beste Maven integratie heeft. Het project is opgezet als een war artifact. Voor het maken van een .war of release is alleen een juist geconfigureerde Maven installatie nodig.
Om de ontwikkelomgeving op te zetten is het nodig om een build van OpenLayers te maken, dit gaat met onderstaand commando:
mvn -Popenlayers,developer
Hiermee wordt een debug versie van OpenLayers in de broncode ondergebracht, een compacte versie voor de webapp en een volledige versie voor de unit tests. De OpenLayers build configuratie is vastgelegd in het bestand /OL-build.cfg.
Naast een Maven installatie zijn de volgende tools nodig:
Deze tools dienen in het pad te worden opgenomen zodat ze vanuit de werkdirectory opgestart kunnen worden.
Vanwege een aangescherpt beveiligingsmodel in Java 8 mislukt het genereren van de XML bindings met JAXB, om dit te omzeilen gebruik je een extra commandoregel/omgevings parameter:
-Djavax.xml.accessExternalSchema=file
Voor formatting van de Javascript code wordt het Eclipse profiel gebruikt zoals dat te vinden is in de ide/ directory. Voor het generaren van de api documentatie wordt de jsdoc3 tool gebruikt, deze kent een groot aantal tags.
Voor formatting van de Java code wordt het Eclipse profiel gebruikt zoals dat te vinden is in de ide/ directory.
Er wordt gebruik gemaakt van JUnit 4 tests, tests worden uitgevoerd als onderdeel van de normale bouw cyclus. Losse tests kunnen met onderstaand commando worden gedraaid:
mvn -Dtest=<klassenaam> test
Er wordt gebruik gemaakt van het http://pivotal.github.com/jasmine/ framework. De code voor een unit test gaat in /src/test/js/jasmine/. Tests worden automatisch gedraaid in een HtmlUnit en/of PhantomJS runtime tijdens de test fase van Maven.
Om unit tests met de hand te draaien zijn tijdens het ontwikkelen kan het jasmineserver profiel worden gebruikt.
mvn -Pjasmineserver jasmine:bdd
Start de tests op: http://localhost:8234/, de pagina kan worden geladen in een browser naar keuze.
De applicatie kan lokaal gebouwd en gerund worden met behulp van Jetty
mvn -Pdeveloper jetty:run
Jetty start een webserver op op poort 8021 met de applicatie in de root. Voor meer informatie over de Jetty runtime plugin: Jetty Maven Plugin in de Eclipse wiki.
Met Maven kan een site worden gemaakt met het commando:
mvn site
Tijdens het maken van de site worden ook de unit en integratie tests gedraaid (er vindt dus een volledige build plaats!). Voor het genereren van de klasse diagrammen is een lokale installatie van dot en/of Graphviz nodig.
De documentatie kan "met de hand" naar de Github website worden overgedragen, hiervoor is authenticatie nodig. Normaal gesproken zorgt de build server voor het bijwerken van de online documentatie.
mvn site-deploy -Dgithub.username=<login> -Dgithub.password=<passwd>
De website staat dan op: http://mineleni.github.io/CBSviewer/