faktorips:faktorips-build
Full name:
org.faktorips:faktorips-maven-plugin:21.6.3-SNAPSHOT:faktorips-build
Description:
By default, the latest Faktor-IPS is used with an Eclipse 2019-03 runtime, all installed from faktorzehn.org update sites.
To change from where the plugins are installed, see
additionalRepositories
, repositories
,
fipsRepository
/fipsRepositoryVersion
and
eclipseRepository
.
Additional plugins (like the Faktor-IPS Product Variant Plugin)
can be configured with additionalPlugins
.
Attributes:
- Requires a Maven project to be executed.
- Binds by default to the lifecycle phase:
generate-sources
.
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<additionalPlugins> |
List |
- |
Additional Eclipse-plugins which will be resolved transitively to
make up the eclipse runtime.
Example:
|
<additionalRepositories> |
List |
- |
This parameter makes it possible to define additional repositories
while using the default repositories (for which the
repositories parameter must remain unused).
Example:
|
<antScriptPath> |
String |
- |
Path to an ant build file. If no path is specified, a new script is
generated. User property is: ant.script . |
<antTarget> |
String |
- |
Name of the ant target to call. If no target name is specified,
import is used. Default value is: import .User property is: ant.target . |
<debug> |
boolean |
- |
Starts the build in debug mode and pauses it until a remote
debugger has been connected. The default debug port is 8000; a
different port can be configured with debugPort .User property is: faktorips.debug . |
<debugPort> |
int |
- |
The port on which the started Faktor-IPS build will listen for a
remote debugger. Default value is: 8000 .User property is: faktorips.debug.port . |
<eclipseRepository> |
String |
- |
Path to the update site to install Eclipse. Default value is: https://download.eclipse.org/eclipse/updates/4.11/ .User property is: repository.eclipse . |
<executionEnvironment> |
String |
- |
Execution environment profile name used to resolve dependencies and
run Faktor-IPS. Must be at least JavaSE-11. Default value is: JavaSE-11 . |
<exportHtml> |
boolean |
- |
Whether to include the HTML export. It will be generated in
target/html .
UI-libraries are required for the HTML export to work, so if you run this build on a CI server like Jenkins, make sure to install for example the Xvfb fake X server. To package the generated HTML export in its own JAR, configure the maven-jar-plugin as follows: <plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <configuration> <classifier>html</classifier> <classesDirectory>${project.build.directory}/html</classesDirectory> <includes>**/*</includes> </configuration> <id>pack-html</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> Default value is: false . |
<fipsRepository> |
String |
- |
Path to the update site to install Faktor-IPS. The default uses the
official Faktor-IPS repository for the
fipsRepositoryVersion .Default value is: https://update.faktorzehn.org/faktorips/${faktorips.repository.version}/ .User property is: repository.fips . |
<fipsRepositoryVersion> |
String |
- |
The version of the Faktor-IPS repository to be used. This parameter
is used in the default fipsRepository property.User property is: faktorips.repository.version . |
<gitStatusPorcelain> |
GitStatusPorcelain |
- |
Runs a Git diff on the project to see if any files where changed.
Can be configured to only print warnings or to fail the build for
uncommitted changes.
|
<importAsMavenProject> |
boolean |
- |
Whether to import the Faktor-IPS project as a Maven project. If set
to true the m2e plugin will be used to import the
pom.xml of the Faktor-IPS project.Default value is: true . |
<jdkDir> |
String |
- |
Path to the JDK the project should build against. If no path is
specified, the parameter jdkId will be evaluated. If
both parameters do not contain a value, the
executionEnvironment will be used as default.User property is: jdk.dir . |
<jdkId> |
String |
- |
ID of the JDK the project should build against. The corresponding
JDK must be configured in the Maven toolchains.xml
This parameter is only evaluated if jdkDir is not
specified. If this parameter does not contain a value either, the
executionEnvironment will be used as default.User property is: jdk.id . |
<jvmArgs> |
List |
- |
List of JVM arguments set on the command line.
Example:
|
<localRepository> |
String |
- |
Path to a local repository. User property is: maven.repo.local . |
<repositories> |
List |
- |
p2 repositories which will be used to resolve dependencies. If the
default values should be used this parameter must remain unused.
Additional repositories can then be defined using the
additionalRepositories parameter. The paths of the
default repositories can be changed individually using the
parameters fipsRepository and
eclipseRepository or the properties
repository.fips , repository.eclipse .
Example:
|
<skip> |
boolean |
- |
Whether to skip mojo execution. Default value is: false .User property is: faktorips.skip . |
<work> |
File |
- |
Work area. This includes:
Default value is: ${java.io.tmpdir}/${project.name}/eclipserun-work . |
Parameter Details
<additionalPlugins>
Example:
<additionalPlugins>
<dependency>
<artifactId>org.faktorips.productvariant.core</artifactId>
<type>eclipse-plugin</type>
</dependency>
</additionalPlugins>
<additionalPlugins>
<dependency>
<artifactId>org.eclipse.jdt.junit</artifactId>
<type>eclipse-plugin</type>
</dependency>
</additionalPlugins>
<additionalPlugins>
<dependency>
<artifactId>org.eclipse.jdt.junit5.runtime</artifactId>
<type>eclipse-plugin</type>
</dependency>
</additionalPlugins>
- Type:
java.util.List
- Required:
No
<additionalRepositories>
repositories
parameter must remain unused).
Example:
<additionalRepositories>
<repository>
<id>productvariants</id>
<layout>p2</layout>
<url>https://update.faktorzehn.org/faktorips/productvariants/21.6</url>
</repository>
</additionalRepositories>
- Type:
java.util.List
- Required:
No
<antScriptPath>
- Type:
java.lang.String
- Required:
No
- User Property:
ant.script
<antTarget>
- Type:
java.lang.String
- Required:
No
- User Property:
ant.target
- Default:
import
<debug>
debugPort
.- Type:
boolean
- Required:
No
- User Property:
faktorips.debug
<debugPort>
- Type:
int
- Required:
No
- User Property:
faktorips.debug.port
- Default:
8000
<eclipseRepository>
- Type:
java.lang.String
- Required:
No
- User Property:
repository.eclipse
- Default:
https://download.eclipse.org/eclipse/updates/4.11/
<executionEnvironment>
- Type:
java.lang.String
- Required:
No
- Default:
JavaSE-11
<exportHtml>
target/html
.
UI-libraries are required for the HTML export to work, so if you run this build on a CI server like Jenkins, make sure to install for example the Xvfb fake X server.
To package the generated HTML export in its own JAR, configure the maven-jar-plugin as follows:
<plugin> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <configuration> <classifier>html</classifier> <classesDirectory>${project.build.directory}/html</classesDirectory> <includes>**/*</includes> </configuration> <id>pack-html</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin>
- Type:
boolean
- Required:
No
- Default:
false
<fipsRepository>
fipsRepositoryVersion
.- Type:
java.lang.String
- Required:
No
- User Property:
repository.fips
- Default:
https://update.faktorzehn.org/faktorips/${faktorips.repository.version}/
<fipsRepositoryVersion>
fipsRepository
property.- Type:
java.lang.String
- Required:
No
- User Property:
faktorips.repository.version
<gitStatusPorcelain>
<gitStatusPorcelain>
<failBuild>false</failBuild>
<verbosity>VERBOSE</verbosity>
</gitStatusPorcelain>
- Type:
org.faktorips.maven.plugin.mojo.internal.GitStatusPorcelain
- Required:
No
<importAsMavenProject>
true
the m2e plugin will be used to import the
pom.xml of the Faktor-IPS project.- Type:
boolean
- Required:
No
- Default:
true
<jdkDir>
jdkId
will be evaluated. If
both parameters do not contain a value, the
executionEnvironment
will be used as default.- Type:
java.lang.String
- Required:
No
- User Property:
jdk.dir
<jdkId>
toolchains.xml
This parameter is only evaluated if jdkDir
is not
specified. If this parameter does not contain a value either, the
executionEnvironment
will be used as default.- Type:
java.lang.String
- Required:
No
- User Property:
jdk.id
<jvmArgs>
Example:
<jvmArgs>
<args>-javaagent:lombok.jar</args>
</jvmArgs>
- Type:
java.util.List
- Required:
No
<localRepository>
- Type:
java.lang.String
- Required:
No
- User Property:
maven.repo.local
<repositories>
additionalRepositories
parameter. The paths of the
default repositories can be changed individually using the
parameters fipsRepository
and
eclipseRepository
or the properties
repository.fips
, repository.eclipse
.
Example:
<repositories>
<repository>
<id>faktor-ips-21-6</id>
<layout>p2</layout>
<url>https://update.faktorzehn.org/faktorips/v21_6/</url>
</repository>
<repository>
<id>eclipse-2020-12</id>
<layout>p2</layout>
<url>http://download.eclipse.org/eclipse/updates/4.18/</url>
</repository>
</repositories>
- Type:
java.util.List
- Required:
No
<skip>
- Type:
boolean
- Required:
No
- User Property:
faktorips.skip
- Default:
false
<work>
- <work>/configuration: The configuration area (-configuration)
- <work>/data: The data ('workspace') area (-data)
- Type:
java.io.File
- Required:
No
- Default:
${java.io.tmpdir}/${project.name}/eclipserun-work