STS Udvikler guide
REVISION HISTORY
NUMBER | DATE | DESCRIPTION | NAME |
0.1 | 2012-11 | HT |
1 / 2
v0.2, 2017-02
1Introduktion
Dette dokument indeholder beskrivelse af diverse udviklings aspekter af STS version 2.4.1.
STS kodebasen er et Maven 3 projekt, med en rod POM yderst og en række undermoduler, hvor sts-server er det modul som producerer et deployerbart WAR-arkiv:
+ <STS src root> |
Maven projektet kan umiddelbart åbnes med nyere versioner af IntelliJ IDEA. For Eclipse anvendere udføres følgende kommando for at få genereret projekter, der kan importeres i Eclipse:
mvn eclipse:eclipse -DdownloadJavadocs -DdownloadSources
Byg af STS understøttes af de normale Maven goals, dvs. for at bygge et STS WAR-arkive udføres
mvn package
Unit tests køres som del af bygget med:
mvn test
Bemærk at enkelte tests bruger meget hukommelse. Det kan derfor være nødvendigt at hæve heap size med — export MVN_OPTS=Xmx2G —
Til unit test code coverage benyttes cobertura. For at generere coverage data kan følgende kommando benyttes:
mvn clean compile cobertura:cobertura site
2 / 2
Der medfølger et udviklingsmiljø opsat via Vagrant. Initiel opsætning sker med kommandoen
vagrant up
som opsætter en wildfly tilgængelig på http://localhost:9080/sts. Den initielle opsætning kan tage lidt tid, da det bl.a. involverer download af en JBoss distribution. Redeployments kan herefter ske med
mvn package vagrant provision
vagrant-miljøet vil være opsat med de testdata der findes i teststsdata.sql. Dermed er miljøet forberedt til at integratiosnstests (se nedenfor) kan afvikles mod dette miljø.
Der findes ligeledes en integrations test suite. Denne suite udføres med en deployeret STS service. Den tester i stor udstrækning det, som allerede er testet i unit test, blot her mod den deployerede instans.
Testen udføres med:
mvn -Pintegration test
Hvis man ønsker at udføre testen mod en anden server end localhost:8080 så kan følgende bruges:
mvn -Pintegration -DargLine="-Dsts.url=http://<nsp>:8080" test
Det er vigtigt at protocol-delen medtages. Dette kan specielt være nyttigt ved test op mod vagrant-miljøet.
Testene anvender certifikater, der stammer fra Seal-afhængigheden. Disse certifikater har udløbsdatoer et certifikat har typisk en levetid på 2 år. og derfor skal man være opmærksom på at tests for et givet release af STS'en vil fejle.