The parent POM enables the following profiles:
-
publication
: generates sources and javadoc JARs. -
gpg
: signs all attached artifacts. -
local-deploy
: deploys all artifacts to a target directory defined by${local.repository.path}
Children projects must define values for the following properties
Given a project named foo
located at dlsc/foo
:
<properties>
<project.identifier>foo</project.identifier>
<project.github.repository>dlsc/foo</project.github.repository>
<local.repository.path>/tmp/repository</local.repository.path>
<sonar.projectKey>dlsc-software-consulting-gmbh_Foo</sonar.projectKey>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
The <scm>
block must be defined explicitly at the root of the child project, otherwise the URLs will be set to the wrong
paths. Given a project named foo
located at dlsc/foo
:
<scm>
<connection>scm:git:${repository.url}</connection>
<developerConnection>scm:git:${repository.url}</developerConnection>
<url>${repository.url}</url>
<tag>HEAD</tag>
</scm>
The license-maven-plugin
must be defined at the root of the child in order to find the license header template at the
right location
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration combine.self="override">
<header>${rootdir}/etc/license.txt</header>
<strictCheck>true</strictCheck>
<excludes>
<exclude>README.md</exclude>
<exclude>LICENSE</exclude>
<exclude>mvnw</exclude>
<exclude>mvnw.cmd</exclude>
<exclude>.mvn/wrapper/*</exclude>
<exclude>...</exclude>
</excludes>
</configuration>
</plugin>