Faktor-IPS Archetype

Motivation

Maven ist ein weitverbreitetes Tool für das Bauen 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 zur Verwendung

  • Installation der neuesten Version von Faktor-IPS (mindestens Version 21.6)

  • Installation von Maven (mindestens Version 3.5.0)

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.

Durchführung

Generierung des Faktor-IPS 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. Siehe auch Verwendete Parameter.

Bauen des Faktor-IPS Projekts

Navigieren in das generierte Projekt und dann Maven in der Kommandozeile ausführen:

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 (en or de)

  • IPS-NamingConvention: die verwendete Namenskonvention (FIPS, VAA or 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 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-IsGroovySupport: true, wenn Faktor-IPS Groovy unterstützt werden soll, sonst false

  • runtime-ID-prefix: die verwendete Laufzeit-ID-Prefix, z.B. hausrat. (wichtig: Punkt am Ende nicht vergessen)

  • 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 oder Jakarta Persistence 2.2 (nur, wenn IPS-IsPersistentProject=true)