The project defines the configuration from which all projects using the ECES framework should inherit. More details about the ECES framework can be found in the ECES core repository.
A project willing to use the ECES framework must use this master pom as parent pom.
This can be done by adding the following tag in the pom.xml
file of the project:
<parent>
<groupId>de.tum.ei.lkn.eces</groupId>
<artifactId>master-pom</artifactId>
<version>1.0.19</version>
</parent>
Additionally, the project must define a Java template file (under src/main/java-templates/package/name/
) with the following content:
public final class Version {
public static final String VERSION = "${project.version}";
public static final String GROUPID = "${project.groupId}";
public static final String ARTIFACTID = "${project.artifactId}";
public static final String FQID = GROUPID + "." + ARTIFACTID;
}
See other ECES repositories, e.g., the ECES core repository, for examples.
POM configuration which does not require the commons
module.
This includes:
- Java 8.
- JAR plugin.
Version.java
generation plugin. This plugin generates, from aVersion.java
template file, aVersion.java
containing the group ID, artifact ID and version of the compiled project.- Gitflow plugin.
- Configuration framework dependency (
org.aeonbits.owner
). - Logging framework dependency (
log4j
). - Testing framework dependency (
junit
).
Common Java code files for all the projects.
This includes:
- Configuration of the configuration framework (
CommonConfig.java
). - JUnit classes for separating tests in unit, integration and performance tests. The
master-pom
then configures when each type of test should be run.
POM configuration which requires the commons
module.
This includes:
commons
dependency for configuration of the tests and configuration frameworks.- Configuration of when which type of test should be run.