Apache Source Release Assembly Descriptor

Apache Source Release Assembly Descriptor helps creating a source-release artifact that contains the fully buildable project directory source structure. This is the artifact which is the official subject of any release vote.

To use it, configure maven-assembly-plugin:

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.apache.apache.resources</groupId>
            <artifactId>apache-source-release-assembly-descriptor</artifactId>
            <version>1.5</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>source-release-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <!--
              use this flag to generate source release assembly from the top of a multi modules
              maven project.

              <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
              -->
              <descriptorRefs>
                <!--
                  There are 3 descriptors available, choose one of them:
                  * source-release (zip only, this one is used in the ASF parent POM) 
                  * source-release-zip-tar (both zip and tar) 
                  * source-release-tar (tar only) 
                -->
                <descriptorRef>source-release</descriptorRef>
              </descriptorRefs>
              <tarLongFileMode>gnu</tarLongFileMode>
            </configuration>
          </execution>
        </executions>
      </plugin>