Instruktioner för utvecklare
Innehållsförteckning | ||||
---|---|---|---|---|
|
Hämta källkod och struktur
Källkoden för TAK hittar du på http://code.google.com/p/skltp/ och instruktioner för att check ut koden på http://code.google.com/p/skltp/source/checkout.
Exempel på checkout kommando (ersätt me@mail.com
med eget användarid på Google Code):
Kodblock |
---|
$svn checkout https://skltp.googlecode.com/svn/ skltp --username me@mail.com
|
Källkoden för TAK hamnar under skltp/tp/tk
med följande struktur:
Bygg TAK
Kör mvn clean install.
Kodblock $cd ...skltp/tp/tk/trunk $mvn clean install
Integrerad utvecklingsmiljö
Utveckling av källkoden kan göras i olika IDE:er. Ett vanligt verktyg är Eclipse. Nedanstående beskrivning beskriver uppsättning av Eclipse Kepler 4.3 för utveckling av TAK.
Ladda ned Eclipse
Eclipse kan laddas ned här. Välj lämplig distribution för ditt operativsystem, exempelvis Eclipse IDE for Java EE Developers.
Starta TAK lokalt för test
För att detta skall fungera krävs att Grails 2.2.4 finns installerat lokalt på din dator. Instruktioner och dokumentation för hur man laddar ner och installerar Grails finns på följande länk http://grails.org/.
Verifiera med följande kommando vilken version av Grails som du har installerat
Kodblock |
---|
$grails -version
Grails version: 2.2.4 |
För att starta TAK lokalt och testa kan följande kommandon köras och ge resultatet Server running med adress till startsidan.
Kodblock |
---|
$cd ...skltp/tp/tk/trunk/tp-vagval-admin-web
$grails run-app
| Server running. Browse to http://localhost:8080/tp-vagval-admin-web |
Öppna startsidan i en web läsare:
Logga in i lokal testmiljö med användaren admin
som har lösenordet admin
. Startsidan skall nu visas:
...
Initial uppsättning av utvecklingsmiljön
Sätt upp utvecklingsmiljö enligt följande: Generella instruktioner för utvecklare.
När detta är gjort kan man hämta ut källkoden för tjänsteadresseringskatalogen på https://github.com/skltp/tak
Kodblock | ||
---|---|---|
| ||
$ git clone https://github.com/skltp/tak.git
Cloning into 'tak'...
$ cd tak |
Källkoden för TAK har följande struktur med undermoduler:
- tak-parent
- tak-core - gemensamma klasser
tak-schemas - kodgenerering från tjänstekontrakt
- tak-services - web services (SOAP och REST)
- tak-web - webbgränssnitt för administration
- report - hjälpmodul för att skapa JaCoCo kodtäckningsrapport
Kontrollera att Maven använder Java 8 (mvn -v), det fungerar inte att bygga med nyare versioner.
Öppna därefter ett kommandofönster för att bygga och testa källkoden med hjälp av Maven:
Kodblock |
---|
mvn clean install |
Modul tak-web
Modulen tak-web är byggd med Spring Boot och Spring MVC. Det kan startas i utvecklarläge (med profilen dev) med följande kommando. Den kommer då starta upp med en H2 in-memory-databas och exponera webbgränssnittet på port 8080.
Kodblock |
---|
cd tak-web
mvn spring-boot:run |
Modul tak-services
Modulen tak-services är byggd med Spring (men inte boot) och kan därför inte startas standalone. Därför måste en applikationsserver som Tomcat finnas tillgänglig. Man kan antingen installera Tomcat på sin utvecklardator eller köra i en container, se mer info nedan.
Att köra TAK i containers med Docker Compose
Med i källkoden finns docker-compose.yml
som gör det enkelt att köra igång tak-web, tak-services samt en MySQL-databas, förutsatt att man har Docker installerat. Kör följande kommando i roten av källkodsrepot:
Kodblock |
---|
docker-compose up |
Lokal installation av MySQL och Tomcat
Som ett alternativ till att köra i containers kan Tomcat och MySQL installeras lokalt på traditionellt sätt.
När man kör i en lokal Tomcat måste konfiguration (för exempelvis databas) finns på liknande sätt som i en vanlig driftmiljö. Enklast är att sätta miljövariabeln TAK_HOME till en sökväg <repo>/resources/etc och modifiera filen tak-application.properties efter behov. Se SKLTP TAK - Konfiguration - version 3.0 och senare för detaljer.
Commit och Release
För att committa källkod på GitHub följer vi standardproceduren beskriven på: Generella instruktioner för utvecklare.
För att bygga en release följer vi standardproceduren beskriven på: Generella instruktioner för utvecklare.