[MPOM-255] Enforce local property "project.build.outputTimestamp" for reproducible builds (2)
This closes #33
diff --git a/.maven-apache-parent.marker b/.maven-apache-parent.marker
new file mode 100644
index 0000000..864fd14
--- /dev/null
+++ b/.maven-apache-parent.marker
@@ -0,0 +1,17 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+This is just a marker file to make sure that profile "enforce-output-timestamp-property" is not active for builds of this project.
diff --git a/pom.xml b/pom.xml
index d0ee211..6cd826e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -323,7 +323,7 @@
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
- <id>enforce-maven-version-and-timestamp-property</id>
+ <id>enforce-maven-version</id>
<goals>
<goal>enforce</goal>
</goals>
@@ -332,10 +332,6 @@
<requireMavenVersion>
<version>3.1.1</version>
</requireMavenVersion>
- <requireProperty>
- <property>project.build.outputTimestamp</property>
- <message>The property "project.build.outputTimestamp" must be set on the reactor's root pom.xml to make the build reproducible. Further information at "https://maven.apache.org/guides/mini/guide-reproducible-builds.html".</message>
- </requireProperty>
</rules>
</configuration>
</execution>
@@ -472,5 +468,37 @@
</build>
</profile>
<!-- END SNIPPET: release-profile -->
+ <profile>
+ <id>enforce-output-timestamp-property</id>
+ <activation>
+ <file>
+ <missing>${basedir}/.maven-apache-parent.marker</missing>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-output-timestamp-property</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProperty>
+ <property>project.build.outputTimestamp</property>
+ <message>The property "project.build.outputTimestamp" must be set on the reactor's root pom.xml to make the build reproducible. Further information at "https://maven.apache.org/guides/mini/guide-reproducible-builds.html".</message>
+ </requireProperty>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
</project>