Generella instruktioner för utvecklare (FLYTTA/ARKIVERA)
Utvecklingsmiljö
För att utveckla och underhålla SKLTP samt köra automatiska enhetstester och integrationstester i utvecklingsmiljön krävs:
- Java (OpenJDK) 8 och 11
- Maven 3
- Git klient
- MySQL Community Server och GUI för den Workbench
Val av IDE är valfritt men mest av oss använder IntellijIdea IDE. Där finns Git GUI by default.
Om Eclipse används så rekommenderas följande pluginer för versionshantering av källkod:
- EGit för Git
Också det finns bra fristående Git-client Sourcetree
För att exekvera systemtester används:
- SoapUI för funktionella tester
- Klientcertifikat
- Gatling för lasttester och robusthetstester
För mer information om hur Gatling används se /wiki/spaces/SKLTP/pages/3187836104
Utöver detta behövs rättigheter till följande:
- Github push rättigheter
- Rättigheter till Ineras Jenkins server.
- Rättigheter till Ineras Nexus
- JIRA och Confluence wiki
- Tillgång till fysiska testmiljöer
Git för utvecklare
/wiki/spaces/SKLTP/pages/3187835204
Maven repo
Flera SKLTP-komponenter använder egenutvecklade bibliotek. Dessa finns publicerade i Ineras Nexus. Lägg till nedanstående i Maven settings för att använda dess maven-repo som mirror.
<mirrors> <mirror> <id>Basefarm Nexus</id> <name>Basefarm Nexus Public Mirror</name> <url>https://nexus.drift.inera.se/repository/maven-public/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors>
License headers
Maven bygget kontrollerar att det finns licensheadrar i källkodsfilerna (till exempel, när man kör: mvn clean install) genom att använda com.mycila.maven-license-plugin:maven-license-plugin.
Om bygget falerar p.g.a. att licensheadrar saknas:
[INFO] Missing header in: /Users/hakan/Documents/scm/svn_skltp/jms-admin-web_tr/src/main/java/se/skltp/admin/core/services/HdLabAmq.java [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE
Det kan man lösa genom:
mvn license:format
Verifiering
Innan release av en komponent ska funktionella tester, lasttester och robusthetstester genomföras.
/wiki/spaces/SKLTP/pages/3187836104
Release Management
Maven används för att skapa releaser. Följ denna länk för vidare instruktioner.
Paketnamn
SKLTP komponenter
se.skltp.<komponentnamn>, tex se.skltp.agp
Aggregerande tjänster
se.skltp.aggregatingservices.<tjänstedomän>.<tjänsteinteraktion>, tex se.skltp.aggregatingservices.riv.clinicalprocess.healthcond.basic.getaggregatedmeasurement
Anpassningstjänster
se.skltp.adapterservices.<adapternamn>, tex se.skltp.adapterservices.DominoHttp10Adapter
Virtuella tjänster
se.skltp.virtualservices.<tjänstedomän>, tex se.skltp.virtualservices.clinicalprocess.activityprescription.actoutcome.