<pluginManagement> (1)
<plugins>
<plugin>
<groupId>org.faktorips.runtimejpa</groupId>
<artifactId>productdata-jpa-deployment-maven-plugin</artifactId>
<version>${project.version}</version>
<executions>
<execution>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<serviceURL>${product.deployment.service.url}</serviceURL>
</configuration>
</plugin>
</plugins>
</pluginManagement>
Deployment der Produktdaten
Maven-Plugin
Wird ein Produktprojekt mit Maven gebaut, kann auch das Deployment in die Datenbank darüber erfolgen. Dazu muss das productdata-jpa-deployment-maven-plugin
in der pom.xml
eingebunden werden.
1 | Das Plugin-Management kann für alle Projekte im Parent POM eingestellt werden. Alternativ kann diese Konfiguration mit der folgenden direkt im Produkt-Projekt erfolgen. |
<plugins>
<plugin>
<groupId>org.faktorips.runtimejpa</groupId>
<artifactId>productdata-jpa-deployment-maven-plugin</artifactId>
<configuration>
<tocName>sample-products</tocName>
<comment>Deployed by Maven</comment>
</configuration>
</plugin>
</plugins>
Die Parameter serviceURL
, tocName
und comment
entsprechen dabei den Parametern, die dem Client-Builder übergeben werden. Sie können wie im Beispiel über Properties in der pom.xml
definiert und/oder beim Aufruf mitgegeben werden. Auch die Parameter tocPath
, modelVersion
, version
und user
können explizit angegeben werden, werden aber üblicherweise aus dem gebauten Projekt ausgelesen:
-
tocPath
wird aus der.ipsproject
-Datei gelesen -
version
wird direkt aus der Maven-Property${project.version}
übernommen -
modelVersion
wird wie unter Modell-Versionen beschrieben aus den in der<toc-path>.model.properties
-Datei verzeichneten Modell-ToCs gelesen. Dazu müssen die Modell-Projekte als Dependency im POM eingetragen sein. -
user
wird aus der Maven-Property${user.name}
übernommen -
pd-deployuser
undpd-deploypassword
werden zur Authentifizierung gegen die REST-API genutzt
productdata-jpa-deployment:deploy
Mit dem Goal productdata-jpa-deployment:deploy
werden alle im Table of Contents verzeichneten Produktdaten (Produktbausteine, Tabellen- und Aufzählungsinhalte) eingespielt. Es wird auch im Rahmen des regulären Maven-Goals deploy
ausgeführt.
productdata-jpa-deployment:status
Das Goal productdata-jpa-deployment:status
entspricht dem Client-Befehl updateStatus und benötigt den Namen eines Status-Übergangs als Parameter transition
:
mvn productdata-jpa-deployment:status -Dtransition=ACTIVATE
productdata-jpa-deployment:delete
Das Goal productdata-jpa-deployment:delete
entspricht dem Client-Befehl delete. Der optionale Statusfilter kann mit dem Parameter status
angegeben werden:
mvn productdata-jpa-deployment:delete -Dstatus=HISTORIC
Aufruf ohne pom.xml
Die Maven-Goals status
und delete
können auch ohne pom.xml
aufgerufen werden. Sie benötigen dann aber alle Parameter auf der Kommandozeile und müssen voll qualifiziert aufgerufen werden:
mvn org.faktorips.runtimejpa:productdata-jpa-deployment-maven-plugin:3.21.0:status -DserviceURL=http://localhost:8080/productdata-jpa-deployment -DtocName=sample-products -DmodelVersion=1.2.3 -Dversion=4.5 -Dtransition=DEACTIVATE
mvn org.faktorips.runtimejpa:productdata-jpa-deployment-maven-plugin:3.21.0:delete -DserviceURL=http://localhost:8080/productdata-jpa-deployment -DtocName=sample-products -DmodelVersion=1.2.3 -Dversion=4.5
pd-deployuser
und pd-deploypassword
können ebenfalls als properties gesetzt werden.