faktorips:faktorips-build
Full name:
org.faktorips:faktorips-maven-plugin:22.6.8-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 . |
<buildIpsOnly> |
boolean |
- |
Whether to only start the IpsBuilder or all configured
builders. The default is to use only the IpsBuilder as
it creates the Java source files before the Maven compiler plugin
compiles the entire project.Default value is: true . |
<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 . |
<debugLogOptions> |
String |
- |
The full path to a custom trace-options file. This option can
significantly increase the logging output. Per default an extensive
list of trace-options is added when maven is started with
-X or -debug .
For more information see FAQ How do I use the platform debug tracing facility User property is: faktorips.debuglog.options . |
<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". User property is: faktorips.executionEnvironment . |
<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 . |
<gitFailBuild> |
Boolean |
- |
Overrides the GitStatusPorcelain.getFailBuild()
parameter. Specially helpful when debugging builds.User property is: git.fail.build . |
<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 . |
<loggingMode> |
LoggingMode |
- |
There are three different logging modes available for this plugin.
original: will redirect everything to STDOUT. perThread: will redirect the STDOUT of every thread to it's own file, and output one file after the other. perThreadFiltered: additionally to the
The fastest mode is obviously the When maven is started with Default value is: perThreadFiltered . |
<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:
|
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
<buildIpsOnly>
IpsBuilder
or all configured
builders. The default is to use only the IpsBuilder
as
it creates the Java source files before the Maven compiler plugin
compiles the entire project.- Type:
boolean
- Required:
No
- Default:
true
<debug>
debugPort
.- Type:
boolean
- Required:
No
- User Property:
faktorips.debug
<debugLogOptions>
-X
or -debug
.
For more information see FAQ How do I use the platform debug tracing facility
- Type:
java.lang.String
- Required:
No
- User Property:
faktorips.debuglog.options
<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
- User Property:
faktorips.executionEnvironment
<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
<gitFailBuild>
GitStatusPorcelain.getFailBuild()
parameter. Specially helpful when debugging builds.- Type:
java.lang.Boolean
- Required:
No
- User Property:
git.fail.build
<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
<loggingMode>
- original
- perThread
- perThreadFiltered
original: will redirect everything to STDOUT.
perThread: will redirect the STDOUT of every thread to it's own file, and output one file after the other.
perThreadFiltered: additionally to the
perThread
mode this mode will filter the thread's
output for well known exceptions e.g. FileNotFoundException of the
junit eclipse plugin.
The fastest mode is obviously the original
mode
while the slowest is the perThreadFiltered
one. The
overhead added to the build time by the
perThreadFiltered
is about 5% but will produce a clean
and continuous log output even in multi-threaded builds.
When maven is started with -X
or
-debug
, extensive log output is created and therefore
the original
mode is chosen automatically.
- Type:
org.faktorips.maven.plugin.mojo.internal.LoggingMode
- Required:
No
- Default:
perThreadFiltered
<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