de.tum.ei.lkn.eces:pre-master-pom

Project with common configs from which all projects using the ECES framework should inherit. The ECES framework is implemented in the de.tum.ei.lkn.eces.core artifact.

License

License

GroupId

GroupId

de.tum.ei.lkn.eces
ArtifactId

ArtifactId

pre-master-pom
Last Version

Last Version

1.0.21
Release Date

Release Date

Type

Type

jar
Description

Description

de.tum.ei.lkn.eces:pre-master-pom
Project with common configs from which all projects using the ECES framework should inherit. The ECES framework is implemented in the de.tum.ei.lkn.eces.core artifact.
Project URL

Project URL

https://github.com/AmoVanB/eces-master-pom
Source Code Management

Source Code Management

http://github.com/amovanb/eces-master-pom/tree/master

Download pre-master-pom

How to add to project

<!-- https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/pre-master-pom/ -->
<dependency>
    <groupId>de.tum.ei.lkn.eces</groupId>
    <artifactId>pre-master-pom</artifactId>
    <version>1.0.21</version>
</dependency>
// https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/pre-master-pom/
implementation 'de.tum.ei.lkn.eces:pre-master-pom:1.0.21'
// https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/pre-master-pom/
implementation ("de.tum.ei.lkn.eces:pre-master-pom:1.0.21")
'de.tum.ei.lkn.eces:pre-master-pom:jar:1.0.21'
<dependency org="de.tum.ei.lkn.eces" name="pre-master-pom" rev="1.0.21">
  <artifact name="pre-master-pom" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.tum.ei.lkn.eces', module='pre-master-pom', version='1.0.21')
)
libraryDependencies += "de.tum.ei.lkn.eces" % "pre-master-pom" % "1.0.21"
[de.tum.ei.lkn.eces/pre-master-pom "1.0.21"]

Dependencies

compile (2)

Group / Artifact Type Version
org.aeonbits.owner : owner jar 1.0.10
log4j : log4j jar 1.2.17

test (1)

Group / Artifact Type Version
junit : junit jar 4.13.1

Project Modules

  • master-pom-commons
  • master-pom

Master POM

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.

Usage

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.

pre-master-pom

POM configuration which does not require the commons module.

This includes:

  • Java 8.
  • JAR plugin.
  • Version.java generation plugin. This plugin generates, from a Version.java template file, a Version.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).

commons

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.

master-pom

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.

Versions

Version
1.0.21
1.0.20
1.0.19