Apache Software Foundation Parent POM – Apache Software Foundation Parent POM (original) (raw)

This project consists of a POM that contains settings that are likely to be useful to any Apache project that is building and releasing code with Maven. By using this project as a parent, a project gets these settings.

Most projects will want to override some of these settings.

The following is a list of the items configured in this POM:

  <properties>  
    <project.build.outputTimestamp>10</project.build.outputTimestamp>  
  </properties>  

The value will be updated by Maven Release Plugin during releases. If a project wants to disable Reproducible Builds, just define the property value with any single non-numeric character.

The apache-release Profile

As noted above, this pom configures the release plugin to enable the apache-release profile for all executions of the release plugin.

The profile includes the following plugins:

When doing a release with maven-release-plugin, this creates files in target/checkout/target ready to be copied to projects' Apache /dist/ release distribution directory:

Those files also end up in the staging repository and Maven Central.

Settings Configuration

You can have a look at the page in Apache website Publishing Maven Artifacts.

You can test your environment setup using -Papache-release with the command line.

Notices

<build>  
  <plugins>  
    <plugin>  
      <groupId>org.apache.maven.plugins</groupId>  
      <artifactId>maven-site-plugin</artifactId>  
      <inherited>false</inherited>  
      <executions>  
        <execution>  
          <id>attach-descriptor</id>  
          <goals>  
            <goal>attach-descriptor</goal>  
          </goals>  
        </execution>  
      </executions>  
    </plugin>  
  </plugins>  
</build>