Motivation
Maven ist ein weitverbreitetes Tool für das Builden sowie das Dependency-Management von Projekten. Faktor-IPS Projekte sollen daher auch direkt als Maven-Projekte erstellt werden können. Dies ist mittels eines Maven-Archetype für Faktor-IPS möglich.
Voraussetzungen
- Installation der neusten Version von Faktor-IPS (ab 21.6)
- Installation von Maven (mindestens Version 3.5.0)
Durchführung
Generierung des Projekts:
Ausführen in der Kommandozeile:
mvn archetype:generate -DarchetypeGroupId=org.faktorips -DarchetypeArtifactId=faktorips-maven-archetype -DarchetypeVersion=<version>
Anschließend werden benötigte Parameter abgefragt. Die meisten Parameter sind hierbei vorbelegt, können aber bei Bedarf überschrieben werden. Zuletzt wird automatisch ein Postprozessor ausgeführt, der Anpassungen durchführt und ggf. weitere Parameter abfragt.
Installation des Projekts:
Navigieren in das generierte Projekt und dann ausführen in der Kommandozeile:
mvn clean install
Verwendete Parameter
… für das Generieren des Projekts:
- groupId: die Group-ID des Maven-Projekts
- artifactId: die Artifact-ID des Maven-Projekts
- version: die Version des Maven-Projekts
- package: die grundlegende Package Struktur, z.B. org.faktorips.example
- JavaVersion: die Java-Version, z.B. 1.8 or 11
- IPS-Language: das verwendete Sprachpaket, z.B. en oder de
- IPS-NamingConvention: die verwendete Namenskonvention, z.B. FIPS, VAA oder PM
- IPS-IsModelProject: true, wenn es ein Model-Projekt ist, sonst false
- IPS-IsProductDefinitionProject: true, wenn es ein Produkt-Definition-Projekt ist, sonst false
- IPS-IsPersistentProject: true, wenn Persistenz unterstützt werden soll, sonst false
- IPS-TocXML: der Dateiname des Repository-TOC ohne Dateiendung, z.B. faktorips-repository-toc
- IPS-ValidationMessageBundle: die Bezeichnung des zu verwendenden Validation-Message-Bundles, z.B. validation-message
- IPS-SourceFolder: der Source-Folder, z.B. modell
- IPS-IsConfigureIpsBuild: true, wenn das Faktor IPS Maven Build Plugin in das pom.xml generiert werden soll, sonst false
- IPS-IsGroovySupport: true, wenn Faktor-IPS Groovy unterstützt werden soll, sonst false
- IPS-RuntimeIdPrefix: der verwendete Laufzeit-ID-Prefix, z.B. hausrat. (wichtig: den Punkt am Ende beachten)
- IPS-ConfigureIpsBuild: true, wenn das faktorips-maven-plugin zum Bauen des Projekts konfiguriert werden soll, sonst false
… für die automatische Nachbearbeitung:
- (optional) Persistenz API: die zu verwendende Technologie zur Umsetzung der Persistenz, z.B. EclipseLink 2.5, Generic JPA 2.0 oder Generic JPA 2.1 (nur, wenn IPS-IsPersistenceSupport=true)
Warnung: Funktioniert nicht in Eclipse
Wegen eines Bugs in Eclipse kann der Archetyp derzeit nur von der Kommandozeile ausgeführt werden. Das erstellte Projekt kann dann in Eclipse importiert werden.