You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ch...@apache.org on 2018/05/21 19:23:10 UTC

[1/4] commons-release-plugin git commit: COMMONSSITE-108: prep for velocity templates

Repository: commons-release-plugin
Updated Branches:
  refs/heads/master 4912e3d41 -> d92c25ac6


COMMONSSITE-108: prep for velocity templates


Project: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/commit/0cbef206
Tree: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/tree/0cbef206
Diff: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/diff/0cbef206

Branch: refs/heads/master
Commit: 0cbef20602226e8591e5d6aa39b6ac5a5a6daa1b
Parents: 4912e3d
Author: Rob Tompkins <ch...@apache.org>
Authored: Mon May 21 08:18:11 2018 -0400
Committer: Rob Tompkins <ch...@apache.org>
Committed: Mon May 21 08:18:11 2018 -0400

----------------------------------------------------------------------
 checkstyle-suppressions.xml                     |    2 +
 pom.xml                                         | 1313 +++++++++---------
 .../velocity/HeaderHtmlVelocityDelegate.java    |   82 ++
 .../velocity/ReadmeHtmlVelocityDelegate.java    |  149 ++
 .../release/plugin/velocity/package-info.java   |   28 +
 .../resources/META-INF/plexus/components.xml    |   42 +
 .../commons/release/plugin/velocity/HEADER.vm   |   15 +
 .../commons/release/plugin/velocity/README.vm   |   50 +
 .../ReadmeHtmlVelocityDelegateTest.java         |   45 +
 .../release/plugin/velocity/package-info.java   |   21 +
 .../compress-site/compress-site-disabled.xml    |    2 +-
 .../compress-site/compress-site-failure.xml     |    2 +-
 .../mojos/compress-site/compress-site.xml       |    2 +-
 .../detach-distributions-disabled.xml           |    2 +-
 .../detach-distributions.xml                    |    2 +-
 .../stage-distributions-disabled.xml            |    2 +-
 .../stage-distributions/stage-distributions.xml |    2 +-
 17 files changed, 1111 insertions(+), 650 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/checkstyle-suppressions.xml
----------------------------------------------------------------------
diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
index 4f31b9e..dcf3176 100644
--- a/checkstyle-suppressions.xml
+++ b/checkstyle-suppressions.xml
@@ -27,4 +27,6 @@
     <suppress checks="MagicNumber" files=".*[/\\]test[/\\].*" />
     <suppress checks="MethodName" files=".*[/\\]test[/\\].*" />
     <suppress checks="Javadoc" files=".*[/\\]test[/\\].*" />
+
+    <suppress checks="FinalClassCheck" files=".*Delegate.java" />
 </suppressions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index fb516b7..c6e5677 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,213 +17,239 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.commons</groupId>
-        <artifactId>commons-parent</artifactId>
-        <version>46</version>
-    </parent>
-    <artifactId>commons-release-plugin</artifactId>
-    <packaging>maven-plugin</packaging>
-    <version>1.3-SNAPSHOT</version>
-    <name>Apache Commons Release Plugin</name>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.commons</groupId>
+    <artifactId>commons-parent</artifactId>
+    <version>46</version>
+  </parent>
+  <artifactId>commons-release-plugin</artifactId>
+  <packaging>maven-plugin</packaging>
+  <version>1.3-SNAPSHOT</version>
+  <name>Apache Commons Release Plugin</name>
 
-    <description>
-        Apache Maven Mojo for Apache Commons Release tasks.
-    </description>
+  <description>
+    Apache Maven Mojo for Apache Commons Release tasks.
+  </description>
 
-    <url>http://commons.apache.org/proper/commons-release-plugin/</url>
+  <url>http://commons.apache.org/proper/commons-release-plugin/</url>
 
-    <issueManagement>
-        <system>jira</system>
-        <url>http://issues.apache.org/jira/browse/COMMONSSITE</url>
-    </issueManagement>
+  <issueManagement>
+    <system>jira</system>
+    <url>http://issues.apache.org/jira/browse/COMMONSSITE</url>
+  </issueManagement>
 
-    <inceptionYear>2018</inceptionYear>
+  <inceptionYear>2018</inceptionYear>
 
-    <scm>
-        <connection>scm:git:http://git-wip-us.apache.org/repos/asf/commons-release-plugin.git</connection>
-        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-release-plugin.git
-        </developerConnection>
-        <url>https://git-wip-us.apache.org/repos/asf?p=commons-release-plugin.git</url>
-    </scm>
+  <scm>
+    <connection>scm:git:http://git-wip-us.apache.org/repos/asf/commons-release-plugin.git</connection>
+    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-release-plugin.git
+    </developerConnection>
+    <url>https://git-wip-us.apache.org/repos/asf?p=commons-release-plugin.git</url>
+  </scm>
 
-    <distributionManagement>
-        <site>
-            <id>commons.site</id>
-            <name>Apache Commons Site SVN</name>
-            <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-release-plugin</url>
-        </site>
-    </distributionManagement>
+  <distributionManagement>
+    <site>
+      <id>commons.site</id>
+      <name>Apache Commons Site SVN</name>
+      <url>
+        scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-release-plugin
+      </url>
+    </site>
+  </distributionManagement>
 
-    <developers>
-        <developer>
-            <name>Rob Tompkins</name>
-            <id>chtompki</id>
-            <email>chtompki@apache.org</email>
-            <timezone>-5</timezone>
-        </developer>
-        <developer>
-            <name>Gary Gregory</name>
-            <id>ggregory</id>
-            <email>ggregory@apache.org</email>
-            <timezone>-6</timezone>
-        </developer>
-    </developers>
+  <developers>
+    <developer>
+      <name>Rob Tompkins</name>
+      <id>chtompki</id>
+      <email>chtompki@apache.org</email>
+      <timezone>-5</timezone>
+    </developer>
+    <developer>
+      <name>Gary Gregory</name>
+      <id>ggregory</id>
+      <email>ggregory@apache.org</email>
+      <timezone>-6</timezone>
+    </developer>
+  </developers>
 
-    <properties>
-        <maven.compiler.source>1.7</maven.compiler.source>
-        <maven.compiler.target>1.7</maven.compiler.target>
-        <maven.dependency.version>3.5.3</maven.dependency.version>
-        <commons.componentid>commons-release-plugin</commons.componentid>
-        <commons.jira.id>COMMONSSITE</commons.jira.id>
-        <commons.jira.pid>12310466&amp;amp;component=12312401</commons.jira.pid>
-        <commons.release.version>${project.version}</commons.release.version>
-        <commons.rc.version>RC1</commons.rc.version>
-        <commons.site.path>commons-release-plugin</commons.site.path>
-        <commons.manifestfile/>
-        <commons.scmPubUrl>
-            https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${commons.site.path}
-        </commons.scmPubUrl>
-        <commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
-        <checkstyle.plugin.version>3.0.0</checkstyle.plugin.version>
-        <checkstyle.version>6.19</checkstyle.version>
-        <maven-scm.version>1.9.5</maven-scm.version>
-        <commons.jacoco.version>0.8.0</commons.jacoco.version>
-        <commons.jacoco.classRatio>0.1</commons.jacoco.classRatio>
-        <commons.jacoco.instructionRatio>0.1</commons.jacoco.instructionRatio>
-        <commons.jacoco.methodRatio>0.1</commons.jacoco.methodRatio>
-        <commons.jacoco.branchRatio>0.1</commons.jacoco.branchRatio>
-        <commons.jacoco.lineRatio>0.1</commons.jacoco.lineRatio>
-        <commons.jacoco.complexityRatio>0.1</commons.jacoco.complexityRatio>
-        <commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure>
-        <commons.encoding>iso-8859-1</commons.encoding>
-        <!-- Provide the Javadoc HTML file encoding -->
-        <commons.docEncoding>${commons.encoding}</commons.docEncoding>
-        <!-- Define source encoding for filtering; used by general plugins -->
-        <project.build.sourceEncoding>${commons.encoding}</project.build.sourceEncoding>
-        <!-- This is used by reporting plugins -->
-        <project.reporting.outputEncoding>${commons.encoding}</project.reporting.outputEncoding>
-    </properties>
+  <properties>
+    <maven.compiler.source>1.7</maven.compiler.source>
+    <maven.compiler.target>1.7</maven.compiler.target>
+    <maven.dependency.version>3.5.3</maven.dependency.version>
+    <commons.componentid>commons-release-plugin</commons.componentid>
+    <commons.jira.id>COMMONSSITE</commons.jira.id>
+    <commons.jira.pid>12310466&amp;amp;component=12312401</commons.jira.pid>
+    <commons.release.version>${project.version}</commons.release.version>
+    <commons.rc.version>RC1</commons.rc.version>
+    <commons.site.path>commons-release-plugin</commons.site.path>
+    <commons.manifestfile/>
+    <commons.scmPubUrl>
+      https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${commons.site.path}
+    </commons.scmPubUrl>
+    <commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
+    <checkstyle.plugin.version>3.0.0</checkstyle.plugin.version>
+    <checkstyle.version>6.19</checkstyle.version>
+    <maven-scm.version>1.9.5</maven-scm.version>
+    <commons.jacoco.version>0.8.0</commons.jacoco.version>
+    <commons.jacoco.classRatio>0.1</commons.jacoco.classRatio>
+    <commons.jacoco.instructionRatio>0.1</commons.jacoco.instructionRatio>
+    <commons.jacoco.methodRatio>0.1</commons.jacoco.methodRatio>
+    <commons.jacoco.branchRatio>0.1</commons.jacoco.branchRatio>
+    <commons.jacoco.lineRatio>0.1</commons.jacoco.lineRatio>
+    <commons.jacoco.complexityRatio>0.1</commons.jacoco.complexityRatio>
+    <commons.jacoco.haltOnFailure>true</commons.jacoco.haltOnFailure>
+    <commons.encoding>iso-8859-1</commons.encoding>
+    <!-- Provide the Javadoc HTML file encoding -->
+    <commons.docEncoding>${commons.encoding}</commons.docEncoding>
+    <!-- Define source encoding for filtering; used by general plugins -->
+    <project.build.sourceEncoding>${commons.encoding}</project.build.sourceEncoding>
+    <!-- This is used by reporting plugins -->
+    <project.reporting.outputEncoding>${commons.encoding}</project.reporting.outputEncoding>
+  </properties>
 
-    <dependencies> 
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.6</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-core</artifactId>
-            <version>${maven.dependency.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>${maven.dependency.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>${maven.dependency.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.5.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>${maven.dependency.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.scm</groupId>
-            <artifactId>maven-scm-api</artifactId>
-            <version>${maven-scm.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.scm</groupId>
-            <artifactId>maven-scm-provider-svnexe</artifactId>
-            <version>${maven-scm.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.scm</groupId>
-            <artifactId>maven-scm-provider-svn-commons</artifactId>
-            <version>${maven-scm.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.11</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-compress</artifactId>
-            <version>1.16.1</version>
-        </dependency>        
-        <dependency>
-            <groupId>org.apache.maven.plugin-testing</groupId>
-            <artifactId>maven-plugin-testing-harness</artifactId>
-            <version>3.3.0</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-compat</artifactId>
-            <version>${maven.dependency.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
-        <!--  A bit of jar-hell requires this to come last. -->
-        <dependency>
-          <groupId>org.apache.maven</groupId>
-          <artifactId>maven-script-ant</artifactId>
-          <version>2.2.1</version>
-       </dependency>
-    </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.6</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+      <version>${maven.dependency.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>${maven.dependency.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>${maven.dependency.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
+      <version>3.5.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>${maven.dependency.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-api</artifactId>
+      <version>${maven-scm.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-svnexe</artifactId>
+      <version>${maven-scm.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-svn-commons</artifactId>
+      <version>${maven-scm.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <version>1.11</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-compress</artifactId>
+      <version>1.16.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugin-testing</groupId>
+      <artifactId>maven-plugin-testing-harness</artifactId>
+      <version>3.3.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-compat</artifactId>
+      <version>${maven.dependency.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>test</scope>
+    </dependency>
+    <!--  A bit of jar-hell requires this to come last. -->
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-script-ant</artifactId>
+      <version>2.2.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity-engine-core</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-velocity</artifactId>
+      <version>1.1.8</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-container-default</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>velocity</groupId>
+          <artifactId>velocity</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <defaultGoal>clean verify apache-rat:check clirr:check checkstyle:check findbugs:check javadoc:javadoc
+    </defaultGoal>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <targetPath>resources</targetPath>
+      </resource>
+      <resource>
+        <directory>${basedir}</directory>
+        <targetPath>META-INF</targetPath>
+        <includes>
+          <include>NOTICE.txt</include>
+          <include>LICENSE.txt</include>
+        </includes>
+      </resource>
+    </resources>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.rat</groupId>
+          <artifactId>apache-rat-plugin</artifactId>
+          <configuration>
+            <excludes>
+              <exclude>site-content/**</exclude>
+              <exclude>src/site/resources/download_lang.cgi</exclude>
+              <exclude>src/test/resources/stringEscapeUtilsTestData.txt</exclude>
+              <exclude>src/site/resources/release-notes/RELEASE-NOTES-*.txt</exclude>
+            </excludes>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
 
-    <build>
-        <defaultGoal>clean verify apache-rat:check clirr:check checkstyle:check findbugs:check javadoc:javadoc
-        </defaultGoal>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <targetPath>resources</targetPath>
-            </resource>
-            <resource>
-                <directory>${basedir}</directory>
-                <targetPath>META-INF</targetPath>
-                <includes>
-                    <include>NOTICE.txt</include>
-                    <include>LICENSE.txt</include>
-                </includes>
-            </resource>
-        </resources>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <configuration>
-                        <excludes>
-                            <exclude>site-content/**</exclude>
-                            <exclude>src/site/resources/download_lang.cgi</exclude>
-                            <exclude>src/test/resources/stringEscapeUtilsTestData.txt</exclude>
-                            <exclude>src/site/resources/release-notes/RELEASE-NOTES-*.txt</exclude>
-                        </excludes>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <plugins>
-        
       <plugin>
         <artifactId>maven-plugin-plugin</artifactId>
         <version>3.5.1</version>
@@ -239,456 +265,457 @@
         <configuration>
           <goalPrefix>commons-release</goalPrefix>
         </configuration>
-        
+
       </plugin>
-      
-            <plugin>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-build-plugin</artifactId>
-                <version>1.8</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>${commons.javadoc.version}</version>
-                <configuration>
-                    <!-- keep only errors and warnings -->
-                    <show>private</show>
-                    <quiet>true</quiet>
-                    <encoding>${commons.encoding}</encoding>
-                    <notimestamp>true</notimestamp>
-                    <links>
-                        <link>${commons.javadoc.java.link}</link>
-                        <link>${commons.javadoc.javaee.link}</link>
-                    </links>
-                    <archive>
-                        <manifest>
-                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>${checkstyle.plugin.version}</version>
-                <configuration>
-                    <configLocation>${basedir}/checkstyle.xml</configLocation>
-                    <headerLocation>${basedir}/license-header.txt</headerLocation>
-                    <suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
-                    <suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
-                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>validate</id>
-                        <phase>validate</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>com.puppycrawl.tools</groupId>
-                        <artifactId>checkstyle</artifactId>
-                        <version>${checkstyle.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <descriptors>
-                        <descriptor>src/assembly/bin.xml</descriptor>
-                        <descriptor>src/assembly/src.xml</descriptor>
-                    </descriptors>
-                    <tarLongFileMode>gnu</tarLongFileMode>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>findbugs-maven-plugin</artifactId>
-                <!-- Use version from parent pom as that is adjusted according to the Java version used to run Maven -->
-                <version>${commons.findbugs.version}</version>
-                <configuration>
-                    <excludeFilterFile>${basedir}/fb-excludes.xml</excludeFilterFile>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-scm-publish-plugin</artifactId>
-                <configuration>
-                    <ignorePathsToDelete>
-                        <ignorePathToDelete>javadocs</ignorePathToDelete>
-                    </ignorePathsToDelete>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${commons.jacoco.version}</version>
-                <!-- Note that since JaCoCo relies on an agent to perform tests,
-                     it changes the surefire arguments line. If a component also
-                     needs to change the argument line of maven-surefire-plugin,
-                     then it must add ${argLine} property (which is set by JaCoCo)
-                     in the argLine configuration element of maven-surefire-plugin
-                     to preserve JaCoCo settings. -->
-                <executions>
-                    <execution>
-                        <id>prepare-agent</id>
-                        <phase>process-test-classes</phase>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>report</id>
-                        <phase>site</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>check</id>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                        <configuration>
-                            <rules>
-                                <rule>
-                                    <element>BUNDLE</element>
-                                    <limits>
-                                        <limit>
-                                            <counter>CLASS</counter>
-                                            <value>COVEREDRATIO</value>
-                                            <minimum>${commons.jacoco.classRatio}</minimum>
-                                        </limit>
-                                        <limit>
-                                            <counter>INSTRUCTION</counter>
-                                            <value>COVEREDRATIO</value>
-                                            <minimum>${commons.jacoco.instructionRatio}</minimum>
-                                        </limit>
-                                        <limit>
-                                            <counter>METHOD</counter>
-                                            <value>COVEREDRATIO</value>
-                                            <minimum>${commons.jacoco.methodRatio}</minimum>
-                                        </limit>
-                                        <limit>
-                                            <counter>BRANCH</counter>
-                                            <value>COVEREDRATIO</value>
-                                            <minimum>${commons.jacoco.branchRatio}</minimum>
-                                        </limit>
-                                        <limit>
-                                            <counter>LINE</counter>
-                                            <value>COVEREDRATIO</value>
-                                            <minimum>${commons.jacoco.lineRatio}</minimum>
-                                        </limit>
-                                        <limit>
-                                            <counter>COMPLEXITY</counter>
-                                            <value>COVEREDRATIO</value>
-                                            <minimum>${commons.jacoco.complexityRatio}</minimum>
-                                        </limit>
-                                    </limits>
-                                </rule>
-                            </rules>
-                            <haltOnFailure>${commons.jacoco.haltOnFailure}</haltOnFailure>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.commons</groupId>
-                <artifactId>commons-release-plugin</artifactId>
-                <version>1.1</version>
+
+      <plugin>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-build-plugin</artifactId>
+        <version>1.8</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>${commons.javadoc.version}</version>
+        <configuration>
+          <!-- keep only errors and warnings -->
+          <show>private</show>
+          <quiet>true</quiet>
+          <encoding>${commons.encoding}</encoding>
+          <notimestamp>true</notimestamp>
+          <links>
+            <link>${commons.javadoc.java.link}</link>
+            <link>${commons.javadoc.javaee.link}</link>
+          </links>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>${checkstyle.plugin.version}</version>
+        <configuration>
+          <configLocation>${basedir}/checkstyle.xml</configLocation>
+          <headerLocation>${basedir}/license-header.txt</headerLocation>
+          <suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
+          <suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
+          <includeTestSourceDirectory>true</includeTestSourceDirectory>
+        </configuration>
+        <executions>
+          <execution>
+            <id>validate</id>
+            <phase>validate</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>com.puppycrawl.tools</groupId>
+            <artifactId>checkstyle</artifactId>
+            <version>${checkstyle.version}</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptors>
+            <descriptor>src/assembly/bin.xml</descriptor>
+            <descriptor>src/assembly/src.xml</descriptor>
+          </descriptors>
+          <tarLongFileMode>gnu</tarLongFileMode>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <!-- Use version from parent pom as that is adjusted according to the Java version used to run Maven -->
+        <version>${commons.findbugs.version}</version>
+        <configuration>
+          <excludeFilterFile>${basedir}/fb-excludes.xml</excludeFilterFile>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-scm-publish-plugin</artifactId>
+        <configuration>
+          <ignorePathsToDelete>
+            <ignorePathToDelete>javadocs</ignorePathToDelete>
+          </ignorePathsToDelete>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+        <version>${commons.jacoco.version}</version>
+        <!-- Note that since JaCoCo relies on an agent to perform tests,
+             it changes the surefire arguments line. If a component also
+             needs to change the argument line of maven-surefire-plugin,
+             then it must add ${argLine} property (which is set by JaCoCo)
+             in the argLine configuration element of maven-surefire-plugin
+             to preserve JaCoCo settings. -->
+        <executions>
+          <execution>
+            <id>prepare-agent</id>
+            <phase>process-test-classes</phase>
+            <goals>
+              <goal>prepare-agent</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>report</id>
+            <phase>site</phase>
+            <goals>
+              <goal>report</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>check</id>
+            <goals>
+              <goal>check</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <rule>
+                  <element>BUNDLE</element>
+                  <limits>
+                    <limit>
+                      <counter>CLASS</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>${commons.jacoco.classRatio}</minimum>
+                    </limit>
+                    <limit>
+                      <counter>INSTRUCTION</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>${commons.jacoco.instructionRatio}</minimum>
+                    </limit>
+                    <limit>
+                      <counter>METHOD</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>${commons.jacoco.methodRatio}</minimum>
+                    </limit>
+                    <limit>
+                      <counter>BRANCH</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>${commons.jacoco.branchRatio}</minimum>
+                    </limit>
+                    <limit>
+                      <counter>LINE</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>${commons.jacoco.lineRatio}</minimum>
+                    </limit>
+                    <limit>
+                      <counter>COMPLEXITY</counter>
+                      <value>COVEREDRATIO</value>
+                      <minimum>${commons.jacoco.complexityRatio}</minimum>
+                    </limit>
+                  </limits>
+                </rule>
+              </rules>
+              <haltOnFailure>${commons.jacoco.haltOnFailure}</haltOnFailure>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-release-plugin</artifactId>
+        <version>1.1</version>
+        <configuration>
+          <distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/commons-release-plugin
+          </distSvnStagingUrl>
+        </configuration>
+        <executions>
+          <execution>
+            <id>detatch-distributions</id>
+            <phase>verify</phase>
+            <goals>
+              <goal>detach-distributions</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>compress-site</id>
+            <phase>site</phase>
+            <goals>
+              <goal>compress-site</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>stage-distributions</id>
+            <phase>deploy</phase>
+            <goals>
+              <goal>stage-distributions</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <!-- exclude surefire report -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+        <reportSets>
+          <reportSet/>
+        </reportSets>
+      </plugin>
+
+      <!-- exclude jdepend report -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>jdepend-maven-plugin</artifactId>
+        <reportSets>
+          <reportSet/>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>${commons.javadoc.version}</version>
+        <configuration>
+          <!-- keep only errors and warnings -->
+          <show>private</show>
+          <quiet>true</quiet>
+          <encoding>${commons.encoding}</encoding>
+          <notimestamp>true</notimestamp>
+          <links>
+            <link>${commons.javadoc.java.link}</link>
+            <link>${commons.javadoc.javaee.link}</link>
+          </links>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>${checkstyle.plugin.version}</version>
+        <configuration>
+          <enableRulesSummary>false</enableRulesSummary>
+          <configLocation>${basedir}/checkstyle.xml</configLocation>
+          <headerLocation>${basedir}/license-header.txt</headerLocation>
+          <suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
+          <suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
+          <includeTestSourceDirectory>true</includeTestSourceDirectory>
+        </configuration>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>checkstyle</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <!-- Requires setting 'export MAVEN_OPTS="-Xmx512m" ' -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <!-- Use version from parent pom as that is adjusted according to the Java version used to run Maven -->
+        <version>${commons.findbugs.version}</version>
+        <configuration>
+          <excludeFilterFile>${basedir}/fb-excludes.xml</excludeFilterFile>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>clirr-maven-plugin</artifactId>
+        <configuration>
+          <minSeverity>info</minSeverity>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <version>3.9.0</version>
+        <configuration>
+          <targetJdk>${maven.compiler.target}</targetJdk>
+        </configuration>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>pmd</report>
+              <report>cpd</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>taglist-maven-plugin</artifactId>
+        <version>2.4</version>
+        <configuration>
+          <tagListOptions>
+            <tagClasses>
+              <tagClass>
+                <displayName>Needs Work</displayName>
+                <tags>
+                  <tag>
+                    <matchString>TODO</matchString>
+                    <matchType>exact</matchType>
+                  </tag>
+                  <tag>
+                    <matchString>FIXME</matchString>
+                    <matchType>exact</matchType>
+                  </tag>
+                  <tag>
+                    <matchString>XXX</matchString>
+                    <matchType>exact</matchType>
+                  </tag>
+                </tags>
+              </tagClass>
+              <tagClass>
+                <displayName>Noteable Markers</displayName>
+                <tags>
+                  <tag>
+                    <matchString>NOTE</matchString>
+                    <matchType>exact</matchType>
+                  </tag>
+                  <tag>
+                    <matchString>NOPMD</matchString>
+                    <matchType>exact</matchType>
+                  </tag>
+                  <tag>
+                    <matchString>NOSONAR</matchString>
+                    <matchType>exact</matchType>
+                  </tag>
+                </tags>
+              </tagClass>
+            </tagClasses>
+          </tagListOptions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>javancss-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.jacoco</groupId>
+        <artifactId>jacoco-maven-plugin</artifactId>
+        <version>${commons.jacoco.version}</version>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <profiles>
+    <profile>
+      <id>setup-checkout</id>
+      <activation>
+        <file>
+          <missing>site-content</missing>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>prepare-checkout</id>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <phase>pre-site</phase>
                 <configuration>
-                    <distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/commons-release-plugin</distSvnStagingUrl>
+                  <tasks>
+                    <exec executable="svn">
+                      <arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}"/>
+                    </exec>
+
+                    <exec executable="svn">
+                      <arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs"/>
+                    </exec>
+
+                    <pathconvert pathsep=" " property="dirs">
+                      <dirset dir="${commons.scmPubCheckoutDirectory}" includes="*"/>
+                    </pathconvert>
+                    <exec executable="svn">
+                      <arg line="update --set-depth infinity ${dirs}"/>
+                    </exec>
+                  </tasks>
                 </configuration>
-                <executions>
-                    <execution>
-                        <id>detatch-distributions</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>detach-distributions</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>compress-site</id>
-                        <phase>site</phase>
-                        <goals>
-                            <goal>compress-site</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>stage-distributions</id>
-                        <phase>deploy</phase>
-                        <goals>
-                            <goal>stage-distributions</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
+              </execution>
+            </executions>
+          </plugin>
         </plugins>
-    </build>
-    <reporting>
+      </build>
+    </profile>
+    <profile>
+      <id>release</id>
+      <build>
         <plugins>
-            <!-- exclude surefire report -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-report-plugin</artifactId>
-                <reportSets>
-                    <reportSet/>
-                </reportSets>
-            </plugin>
-
-            <!-- exclude jdepend report -->
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>jdepend-maven-plugin</artifactId>
-                <reportSets>
-                    <reportSet/>
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>${commons.javadoc.version}</version>
-                <configuration>
-                    <!-- keep only errors and warnings -->
-                    <show>private</show>
-                    <quiet>true</quiet>
-                    <encoding>${commons.encoding}</encoding>
-                    <notimestamp>true</notimestamp>
-                    <links>
-                        <link>${commons.javadoc.java.link}</link>
-                        <link>${commons.javadoc.javaee.link}</link>
-                    </links>
-                    <archive>
-                        <manifest>
-                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>${checkstyle.plugin.version}</version>
-                <configuration>
-                    <enableRulesSummary>false</enableRulesSummary>
-                    <configLocation>${basedir}/checkstyle.xml</configLocation>
-                    <headerLocation>${basedir}/license-header.txt</headerLocation>
-                    <suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
-                    <suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
-                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>checkstyle</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-            <!-- Requires setting 'export MAVEN_OPTS="-Xmx512m" ' -->
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>findbugs-maven-plugin</artifactId>
-                <!-- Use version from parent pom as that is adjusted according to the Java version used to run Maven -->
-                <version>${commons.findbugs.version}</version>
-                <configuration>
-                    <excludeFilterFile>${basedir}/fb-excludes.xml</excludeFilterFile>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>clirr-maven-plugin</artifactId>
-                <configuration>
-                    <minSeverity>info</minSeverity>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.9.0</version>
-                <configuration>
-                    <targetJdk>${maven.compiler.target}</targetJdk>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>pmd</report>
-                            <report>cpd</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>taglist-maven-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <tagListOptions>
-                        <tagClasses>
-                            <tagClass>
-                                <displayName>Needs Work</displayName>
-                                <tags>
-                                    <tag>
-                                        <matchString>TODO</matchString>
-                                        <matchType>exact</matchType>
-                                    </tag>
-                                    <tag>
-                                        <matchString>FIXME</matchString>
-                                        <matchType>exact</matchType>
-                                    </tag>
-                                    <tag>
-                                        <matchString>XXX</matchString>
-                                        <matchType>exact</matchType>
-                                    </tag>
-                                </tags>
-                            </tagClass>
-                            <tagClass>
-                                <displayName>Noteable Markers</displayName>
-                                <tags>
-                                    <tag>
-                                        <matchString>NOTE</matchString>
-                                        <matchType>exact</matchType>
-                                    </tag>
-                                    <tag>
-                                        <matchString>NOPMD</matchString>
-                                        <matchType>exact</matchType>
-                                    </tag>
-                                    <tag>
-                                        <matchString>NOSONAR</matchString>
-                                        <matchType>exact</matchType>
-                                    </tag>
-                                </tags>
-                            </tagClass>
-                        </tagClasses>
-                    </tagListOptions>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>javancss-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${commons.jacoco.version}</version>
-            </plugin>
+          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+          <plugin>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>sign-artifacts</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <artifactId>maven-install-plugin</artifactId>
+            <configuration>
+              <createChecksum>true</createChecksum>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-release-plugin</artifactId>
+            <configuration>
+              <!-- Pass these arguments to the deploy plugin. -->
+              <arguments>-Prelease</arguments>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>create-javadoc-jar</id>
+                <goals>
+                  <goal>javadoc</goal>
+                </goals>
+                <phase>package</phase>
+              </execution>
+            </executions>
+            <configuration>
+              <source>${maven.compiler.source}</source>
+            </configuration>
+          </plugin>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+                <!-- COMMONSSITE-87 Ensure this runs after all package phase plugins -->
+                <phase>verify</phase>
+              </execution>
+            </executions>
+          </plugin>
         </plugins>
-    </reporting>
-
-    <profiles>
-        <profile>
-            <id>setup-checkout</id>
-            <activation>
-                <file>
-                    <missing>site-content</missing>
-                </file>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-antrun-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>prepare-checkout</id>
-                                <goals>
-                                    <goal>run</goal>
-                                </goals>
-                                <phase>pre-site</phase>
-                                <configuration>
-                                    <tasks>
-                                        <exec executable="svn">
-                                            <arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}"/>
-                                        </exec>
-
-                                        <exec executable="svn">
-                                            <arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs"/>
-                                        </exec>
-
-                                        <pathconvert pathsep=" " property="dirs">
-                                            <dirset dir="${commons.scmPubCheckoutDirectory}" includes="*"/>
-                                        </pathconvert>
-                                        <exec executable="svn">
-                                            <arg line="update --set-depth infinity ${dirs}"/>
-                                        </exec>
-                                    </tasks>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>sign-artifacts</id>
-                                <phase>verify</phase>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <artifactId>maven-install-plugin</artifactId>
-                        <configuration>
-                            <createChecksum>true</createChecksum>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <artifactId>maven-release-plugin</artifactId>
-                        <configuration>
-                            <!-- Pass these arguments to the deploy plugin. -->
-                            <arguments>-Prelease</arguments>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>create-javadoc-jar</id>
-                                <goals>
-                                    <goal>javadoc</goal>
-                                </goals>
-                                <phase>package</phase>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <source>${maven.compiler.source}</source>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <inherited>true</inherited>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>single</goal>
-                                </goals>
-                                <!-- COMMONSSITE-87 Ensure this runs after all package phase plugins -->
-                                <phase>verify</phase>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>test-deploy</id>
-            <properties>
-                <altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
-            </properties>
-        </profile>
-    </profiles>
+      </build>
+    </profile>
+    <profile>
+      <id>test-deploy</id>
+      <properties>
+        <altDeploymentRepository>id::default::file:target/deploy</altDeploymentRepository>
+      </properties>
+    </profile>
+  </profiles>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java b/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
new file mode 100644
index 0000000..acdad16
--- /dev/null
+++ b/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+package org.apache.commons.release.plugin.velocity;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+
+import java.io.Writer;
+
+/**
+ * This class' purpose is to generate the <code>HEADER.html</code> that moves along with the
+ * release for the sake of downloading the release from the distribution area.
+ *
+ * @author chtompki
+ * @since 1.3
+ */
+public class HeaderHtmlVelocityDelegate {
+
+    /**
+     * The location of the velocity tempate for this class.
+     */
+    private static final String TEMPLATE = "HEADER.vm";
+
+    /**
+     * The private constructor to be used by the {@link HeaderHtmlVelocityDelegateBuilder}.
+     */
+    private HeaderHtmlVelocityDelegate() {
+        super();
+    }
+
+    /**
+     * For instantiating our {@link HeaderHtmlVelocityDelegate} using the {@link HeaderHtmlVelocityDelegateBuilder}.
+     *
+     * @return a {@link HeaderHtmlVelocityDelegateBuilder}.
+     */
+    public static HeaderHtmlVelocityDelegateBuilder builder() {
+        return new HeaderHtmlVelocityDelegateBuilder();
+    }
+
+    /**
+     * Builds the HEADER.vm velocity template to the writer passed in.
+     *
+     * @param writer any {@link Writer} that we wish to have the filled velocity template written to.
+     * @return the {@link Writer} that we've filled out the template into.
+     */
+    public Writer render(Writer writer) {
+        Velocity.init();
+        Template template = Velocity.getTemplate(TEMPLATE);
+        VelocityContext context = new VelocityContext();
+        template.merge(context, writer);
+        return writer;
+    }
+
+    /**
+     * A builder class for instantiation of the {@link HeaderHtmlVelocityDelegate}.
+     */
+    private static class HeaderHtmlVelocityDelegateBuilder {
+
+        /**
+         * Builds up the {@link ReadmeHtmlVelocityDelegate} from the previously set parameters.
+         * @return a new {@link ReadmeHtmlVelocityDelegate}.
+         */
+        public HeaderHtmlVelocityDelegate build() {
+            return new HeaderHtmlVelocityDelegate();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java b/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
new file mode 100644
index 0000000..6910323
--- /dev/null
+++ b/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+package org.apache.commons.release.plugin.velocity;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+
+import java.io.Writer;
+
+/**
+ * This class' purpose is to generate the <code>README.html</code> that moves along with the
+ * release for the sake of downloading the release from the distribution area.
+ *
+ * @author chtompki
+ * @since 1.3
+ */
+public class ReadmeHtmlVelocityDelegate {
+    /** The location of the velocity template for this class. */
+    private static final String TEMPLATE = "README.vm";
+    /** This is supposed to represent the maven artifactId. */
+    private String artifactId;
+    /** This is supposed to represent the maven version of the release. */
+    private String version;
+    /** The url of the site that gets set into the <code>README.html</code>. */
+    private String siteUrl;
+
+    /**
+     * The private constructor to be used by the {@link ReadmeHtmlVelocityDelegateBuilder}.
+     *
+     * @param artifactId sets the {@link ReadmeHtmlVelocityDelegate#artifactId}.
+     * @param version sets the {@link ReadmeHtmlVelocityDelegate#version}.
+     * @param siteUrl sets the {@link ReadmeHtmlVelocityDelegate#siteUrl}.
+     */
+    private ReadmeHtmlVelocityDelegate(String artifactId, String version, String siteUrl) {
+        this.artifactId = artifactId;
+        this.version = version;
+        this.siteUrl = siteUrl;
+    }
+
+    /**
+     * Gets the {@link ReadmeHtmlVelocityDelegateBuilder} for constructing the {@link ReadmeHtmlVelocityDelegate}.
+     *
+     * @return the {@link ReadmeHtmlVelocityDelegateBuilder}.
+     */
+    public static ReadmeHtmlVelocityDelegateBuilder builder() {
+        return new ReadmeHtmlVelocityDelegateBuilder();
+    }
+
+    /**
+     * Renders the <code>README.vm</code> velocity template with the variables constructed with the
+     * {@link ReadmeHtmlVelocityDelegateBuilder}.
+     *
+     * @param writer is the {@link Writer} to which we wish to render the <code>README.vm</code> template.
+     * @return a reference to the {@link Writer} passed in.
+     */
+    public Writer render(Writer writer) {
+        String[] splitArtifactId = artifactId.split("-");
+        String wordCommons = splitArtifactId[0];
+        String artifactShortName = splitArtifactId[1];
+        String artifactIdWithFirstLetterscapitalized =
+                StringUtils.capitalize(wordCommons)
+                        + "-"
+                        + artifactShortName.toUpperCase();
+        Velocity.init();
+        Template template = Velocity.getTemplate(TEMPLATE);
+        VelocityContext context = new VelocityContext();
+        context.internalPut("artifactIdWithFirstLetterscapitalized", artifactIdWithFirstLetterscapitalized);
+        context.internalPut("artifactShortName", artifactShortName.toUpperCase());
+        context.internalPut("artifactId", artifactId);
+        context.internalPut("version", version);
+        context.internalPut("siteUrl", siteUrl);
+        template.merge(context, writer);
+        return writer;
+    }
+
+    /**
+     * A builder class for instantiation of the {@link ReadmeHtmlVelocityDelegate}.
+     */
+    public static class ReadmeHtmlVelocityDelegateBuilder {
+        /** The maven artifactId to use in the <code>README.vm</code> template. */
+        private String artifactId;
+        /** The maven version to use in the <code>README.vm</code> template. */
+        private String version;
+        /** The site url to use in the <code>README.vm</code> template. */
+        private String siteUrl;
+
+        /**
+         * Private constructor for using the builder through the {@link ReadmeHtmlVelocityDelegate#builder()}
+         * method.
+         */
+        private ReadmeHtmlVelocityDelegateBuilder() {
+            super();
+        }
+
+        /**
+         * Adds the artifactId to the {@link ReadmeHtmlVelocityDelegate}.
+         * @param artifactId the {@link String} representing the maven artifactId.
+         * @return the builder to continue building.
+         */
+        public ReadmeHtmlVelocityDelegateBuilder withArtifactId(String artifactId) {
+            this.artifactId = artifactId;
+            return this;
+        }
+
+        /**
+         * Adds the version to the {@link ReadmeHtmlVelocityDelegate}.
+         * @param version the maven version.
+         * @return the builder to continue building.
+         */
+        public ReadmeHtmlVelocityDelegateBuilder withVersion(String version) {
+            this.version = version;
+            return this;
+        }
+
+        /**
+         * Adds the siteUrl to the {@link ReadmeHtmlVelocityDelegate}.
+         * @param siteUrl the site url to be used in the <code>README.html</code>
+         * @return the builder to continue building.
+         */
+        public ReadmeHtmlVelocityDelegateBuilder withSiteUrl(String siteUrl) {
+            this.siteUrl = siteUrl;
+            return this;
+        }
+
+        /**
+         * Builds up the {@link ReadmeHtmlVelocityDelegate} from the previously set parameters.
+         * @return a new {@link ReadmeHtmlVelocityDelegate}.
+         */
+        public ReadmeHtmlVelocityDelegate build() {
+            return new ReadmeHtmlVelocityDelegate(this.artifactId, this.version, this.siteUrl);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/main/java/org/apache/commons/release/plugin/velocity/package-info.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/velocity/package-info.java b/src/main/java/org/apache/commons/release/plugin/velocity/package-info.java
new file mode 100644
index 0000000..6983ad6
--- /dev/null
+++ b/src/main/java/org/apache/commons/release/plugin/velocity/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+/**
+ * Contains classes that take our velocity templates and render's them to a {@link java.io.Writer}
+ * class.
+ *
+ * The main reason for velocity tempates are to fill out the
+ * <ul>
+ *     <li><code>HEADER.html</code></li>
+ *     <li><code>README.html</code></li>
+ * </ul>
+ * That get deployed along side
+ */
+package org.apache.commons.release.plugin.velocity;

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/main/resources/META-INF/plexus/components.xml
----------------------------------------------------------------------
diff --git a/src/main/resources/META-INF/plexus/components.xml b/src/main/resources/META-INF/plexus/components.xml
new file mode 100644
index 0000000..e58557c
--- /dev/null
+++ b/src/main/resources/META-INF/plexus/components.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+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.
+-->
+<component-set>
+  <components>
+    <component>
+      <role>org.codehaus.plexus.velocity.VelocityComponent</role>
+      <role-hint>maven-changes-plugin</role-hint>
+      <implementation>org.codehaus.plexus.velocity.DefaultVelocityComponent</implementation>
+      <configuration>
+        <properties>
+          <property>
+            <name>resource.loader</name>
+            <value>file,class</value>
+          </property>
+          <property>
+            <name>class.resource.loader.class</name>
+            <value>org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</value>
+          </property>
+          <property>
+            <name>file.resource.loader.class</name>
+            <value>org.apache.maven.plugins.resource.loader.ProjectResourceLoader</value>
+          </property>
+        </properties>
+      </configuration>
+    </component>
+  </components>
+</component-set>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/main/resources/org/apache/commons/release/plugin/velocity/HEADER.vm
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/commons/release/plugin/velocity/HEADER.vm b/src/main/resources/org/apache/commons/release/plugin/velocity/HEADER.vm
new file mode 100644
index 0000000..a470914
--- /dev/null
+++ b/src/main/resources/org/apache/commons/release/plugin/velocity/HEADER.vm
@@ -0,0 +1,15 @@
+<h2>Apache Commons Project Distributions</h2>
+
+<p>
+    The most recent source and binary releases for the Apache Commons project are available from this
+    directory listing. For older releases, please use the
+    <a href="http://archive.apache.org/dist/commons/">archives</a>.
+</p>
+
+<h2>Important Notices</h2>
+
+<ul>
+    <li><a href="#mirrors">Download from your nearest mirror site!</a></li>
+    <li><a href="#sig">PGP/GPG Signatures</a></li>
+</ul>
+

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/main/resources/org/apache/commons/release/plugin/velocity/README.vm
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/commons/release/plugin/velocity/README.vm b/src/main/resources/org/apache/commons/release/plugin/velocity/README.vm
new file mode 100644
index 0000000..517cd7c
--- /dev/null
+++ b/src/main/resources/org/apache/commons/release/plugin/velocity/README.vm
@@ -0,0 +1,50 @@
+<h1>${artifactIdWithFirstLetterscapitalized} v${version}.</h1>
+
+<p>This is the 1.3 version of commons-text. It is available in both binary and source distributions.</p>
+
+
+<p><font color="red" size="+2">Note:</font>
+    The tar files in the distribution use GNU tar extensions
+    and must be untarred with a GNU compatible version of tar. The version
+    of tar on Solaris and Mac OS X will not work with these files</p>
+
+<a name="changes"><h2>Changes</h2></a>
+
+<p>The changes in this release are detailed in the release notes.</p>
+
+<p>Thank you for using <a href="${siteUrl}">${artifactShortName}</a>.</p>
+
+<p>From the Apache Commons Project<br><a href="http://commons.apache.org/">http://commons.apache.org/</a></p>
+
+<h2><a name="mirrors">Download from your
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">nearest mirror site!</a></a></h2>
+
+<p>
+    Do not download from www.apache.org.  Please use a mirror site
+    to help us save apache.org bandwidth.
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/">Go
+        here to find your nearest mirror.</a>
+</p>
+
+<a name="sig"><h2>Signatures</h2></a>
+
+<p>Many of the files have been digitally signed using GnuPG.  If so,
+    there will be an accompanying <samp><em>file</em>.asc</samp> signature
+    file in the same directory as the file (binaries/ or source/).  The
+    signing keys can be found in the distribution directory at &lt;<a
+            HREF="http://www.apache.org/dist/commons/KEYS"><samp>http://www.apache.org/dist/commons/KEYS</samp></a>&gt;.</p>
+
+<p><b>Always download the KEYS file directly from the Apache site, never from a mirror site.</b></p>
+
+
+<pre>Always test available signatures, <i>e.g.</i>,
+$ pgpk -a KEYS
+$ pgpv ${artifactId}-${version}-bin.tar.gz.asc
+or,
+$ pgp -ka KEYS
+$ pgp ${artifactId}-${version}-bin.tar.gz.asc
+or,
+$ gpg --import KEYS
+$ gpg --verify ${artifactId}-${version}-bin.tar.gz.asc
+</pre>
+<p>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java b/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
new file mode 100644
index 0000000..0e7c15f
--- /dev/null
+++ b/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+package org.apache.commons.release.plugin.velocity;
+
+import org.junit.Test;
+
+import java.io.StringWriter;
+import java.io.Writer;
+
+import static junit.framework.TestCase.assertTrue;
+
+/**
+ * Unit tests for {@link ReadmeHtmlVelocityDelegate}.
+ *
+ * @author chtompki
+ */
+public class ReadmeHtmlVelocityDelegateTest {
+
+    @Test
+    public void testSuccessfulRun() {
+        ReadmeHtmlVelocityDelegate delegate = ReadmeHtmlVelocityDelegate.builder()
+                .withArtifactId("commons-text")
+                .withVersion("1.4")
+                .withSiteUrl("http://commons.apache.org/text")
+                .build();
+        Writer writer = new StringWriter();
+        writer = delegate.render(writer);
+        String filledOutTemplate = writer.toString();
+        assertTrue(filledOutTemplate.contains(""));
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/java/org/apache/commons/release/plugin/velocity/package-info.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/velocity/package-info.java b/src/test/java/org/apache/commons/release/plugin/velocity/package-info.java
new file mode 100644
index 0000000..0825022
--- /dev/null
+++ b/src/test/java/org/apache/commons/release/plugin/velocity/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+/**
+ * Contains the tests for the {@link org.apache.commons.release.plugin.velocity}
+ * package.
+ */
+package org.apache.commons.release.plugin.velocity;

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/compress-site/compress-site-disabled.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/compress-site/compress-site-disabled.xml b/src/test/resources/mojos/compress-site/compress-site-disabled.xml
index 9bd1221..3fa070f 100644
--- a/src/test/resources/mojos/compress-site/compress-site-disabled.xml
+++ b/src/test/resources/mojos/compress-site/compress-site-disabled.xml
@@ -23,7 +23,7 @@
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.commons.plugin.my.unit</groupId>
-  <artifactId>compress-site-disabled-test</artifactId>
+  <artifactId>commons-compresssitedisabledtest</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>Test MyMojo</name>

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/compress-site/compress-site-failure.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/compress-site/compress-site-failure.xml b/src/test/resources/mojos/compress-site/compress-site-failure.xml
index ddfeee4..63b3fa5 100644
--- a/src/test/resources/mojos/compress-site/compress-site-failure.xml
+++ b/src/test/resources/mojos/compress-site/compress-site-failure.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.commons.plugin.my.unit</groupId>
-    <artifactId>compress-site-test-failure</artifactId>
+    <artifactId>commons-compresssitetestfailure</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>Test MyMojo</name>

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/compress-site/compress-site.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/compress-site/compress-site.xml b/src/test/resources/mojos/compress-site/compress-site.xml
index 065832e..815799d 100644
--- a/src/test/resources/mojos/compress-site/compress-site.xml
+++ b/src/test/resources/mojos/compress-site/compress-site.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.commons.plugin.my.unit</groupId>
-    <artifactId>compress-site-test</artifactId>
+    <artifactId>commons-compresssitetest</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>Test MyMojo</name>

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/detach-distributions/detach-distributions-disabled.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/detach-distributions/detach-distributions-disabled.xml b/src/test/resources/mojos/detach-distributions/detach-distributions-disabled.xml
index a825e52..007703f 100644
--- a/src/test/resources/mojos/detach-distributions/detach-distributions-disabled.xml
+++ b/src/test/resources/mojos/detach-distributions/detach-distributions-disabled.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.commons.release.plugin.unit</groupId>
-    <artifactId>detach-distributions-test</artifactId>
+    <artifactId>commons-detachdistributionstest</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>Mock Pom For Testing CommonsDistributionDetachmentMojo</name>

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/detach-distributions/detach-distributions.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/detach-distributions/detach-distributions.xml b/src/test/resources/mojos/detach-distributions/detach-distributions.xml
index a00ac0a..2a82582 100644
--- a/src/test/resources/mojos/detach-distributions/detach-distributions.xml
+++ b/src/test/resources/mojos/detach-distributions/detach-distributions.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.commons.release.plugin.unit</groupId>
-    <artifactId>detach-distributions-test</artifactId>
+    <artifactId>commons-detachdistributionstest</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>Mock Pom For Testing CommonsDistributionDetachmentMojo</name>

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/stage-distributions/stage-distributions-disabled.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/stage-distributions/stage-distributions-disabled.xml b/src/test/resources/mojos/stage-distributions/stage-distributions-disabled.xml
index eedc2be..0ca4ed8 100644
--- a/src/test/resources/mojos/stage-distributions/stage-distributions-disabled.xml
+++ b/src/test/resources/mojos/stage-distributions/stage-distributions-disabled.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.commons.release.plugin.unit</groupId>
-    <artifactId>stage-distributions-test</artifactId>
+    <artifactId>commons-stagedistributionstest</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>Mock Pom For Testing CommonsDistributionStagingMojo</name>

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0cbef206/src/test/resources/mojos/stage-distributions/stage-distributions.xml
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/stage-distributions/stage-distributions.xml b/src/test/resources/mojos/stage-distributions/stage-distributions.xml
index b37c7ec..8e63d67 100644
--- a/src/test/resources/mojos/stage-distributions/stage-distributions.xml
+++ b/src/test/resources/mojos/stage-distributions/stage-distributions.xml
@@ -23,7 +23,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.commons.release.plugin.unit</groupId>
-    <artifactId>stage-distributions-test</artifactId>
+    <artifactId>commons-stagedistributionstest</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>Mock Pom For Testing CommonsDistributionStagingMojo</name>


[3/4] commons-release-plugin git commit: COMMONSSITE-108: need some assert stattements, but mostly done

Posted by ch...@apache.org.
COMMONSSITE-108: need some assert stattements, but mostly done


Project: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/commit/0c14b25f
Tree: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/tree/0c14b25f
Diff: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/diff/0c14b25f

Branch: refs/heads/master
Commit: 0c14b25f200a6854a5912a64ff3db000b3a66158
Parents: 34bf87e
Author: Rob Tompkins <ch...@gmail.com>
Authored: Mon May 21 15:10:30 2018 -0400
Committer: Rob Tompkins <ch...@gmail.com>
Committed: Mon May 21 15:10:30 2018 -0400

----------------------------------------------------------------------
 checkstyle-suppressions.xml                     |   2 +
 .../mojos/CommonsDistributionStagingMojo.java   | 104 +++++++++++++++--
 .../CommonsDistributionDetachmentMojoTest.java  |  20 ++--
 .../DistributionDetachmentProjectStub.java      | 115 ++++++++++++++-----
 .../target/mockAttachedTar.tar.gz               | Bin 327 -> 0 bytes
 .../target/mockAttachedTar.tar.gz.asc           | Bin 566 -> 0 bytes
 .../target/mockAttachedZip.zip                  | Bin 1323 -> 0 bytes
 .../target/mockAttachedZip.zip.asc              | Bin 566 -> 0 bytes
 8 files changed, 190 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/checkstyle-suppressions.xml
----------------------------------------------------------------------
diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
index dcf3176..d5c3419 100644
--- a/checkstyle-suppressions.xml
+++ b/checkstyle-suppressions.xml
@@ -28,5 +28,7 @@
     <suppress checks="MethodName" files=".*[/\\]test[/\\].*" />
     <suppress checks="Javadoc" files=".*[/\\]test[/\\].*" />
 
+
+    <suppress checks="LineLength" files=".*CommonsDistributionDetachmentMojoTest.java" />
     <suppress checks="FinalClassCheck" files=".*Delegate.java" />
 </suppressions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
index 44a39ba..6a4839c 100644
--- a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
+++ b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
@@ -16,8 +16,18 @@
  */
 package org.apache.commons.release.plugin.mojos;
 
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.release.plugin.SharedFunctions;
+import org.apache.commons.release.plugin.velocity.HeaderHtmlVelocityDelegate;
+import org.apache.commons.release.plugin.velocity.ReadmeHtmlVelocityDelegate;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -36,12 +46,6 @@ import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.provider.svn.svnexe.SvnExeScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 /**
  * This class checks out the dev distribution location, copies the distributions into that directory
  * structure under the <code>target/commons-release-plugin/scm</code> directory. Then commits the
@@ -250,27 +254,107 @@ public class CommonsDistributionStagingMojo extends AbstractMojo {
         File copy;
         for (File file : workingDirectoryFiles) {
             if (file.getName().contains("src")) {
-                copy = new File(scmSourceRoot + "/" + file.getName());
+                copy = new File(scmSourceRoot,  file.getName());
                 SharedFunctions.copyFile(getLog(), file, copy);
                 filesForMavenScmFileSet.add(copy);
             } else if (file.getName().contains("bin")) {
-                copy = new File(scmBinariesRoot + "/" + file.getName());
+                copy = new File(scmBinariesRoot,  file.getName());
                 SharedFunctions.copyFile(getLog(), file, copy);
                 filesForMavenScmFileSet.add(copy);
             } else if (StringUtils.containsAny(file.getName(), "scm", "sha1.properties")) {
-                getLog().debug("Not copying scm directory over to the scm directory because it is the scm directory.");
+                getLog().debug("Not copying scm directory over "
+                    + "to the scm directory because it is the scm directory.");
                 //do nothing because we are copying into scm
             } else {
-                copy = new File(distCheckoutDirectory.getAbsolutePath() + "/" + file.getName());
+                copy = new File(distCheckoutDirectory.getAbsolutePath(),  file.getName());
                 SharedFunctions.copyFile(getLog(), file, copy);
                 filesForMavenScmFileSet.add(copy);
             }
         }
+        filesForMavenScmFileSet.addAll(buildReadmeAndHeaderHtmlFiles());
         filesForMavenScmFileSet.add(copiedReleaseNotes);
         return filesForMavenScmFileSet;
     }
 
     /**
+     * Builds up <code>README.html</code> and <code>HEADER.html</code> that reside in following.
+     * <ul>
+     *     <li>distRoot
+         *     <ul>
+         *         <li>binaries/HEADER.html (symlink)</li>
+         *         <li>binaries/README.html (symlink)</li>
+         *         <li>source/HEADER.html (symlink)</li>
+         *         <li>source/README.html (symlink)</li>
+         *         <li>HEADER.html</li>
+         *         <li>README.html</li>
+         *     </ul>
+     *     </li>
+     * </ul>
+     * @return the {@link List} of created files above
+     * @throws MojoExecutionException if an {@link IOException} occurs in the creation of these
+     *                                files fails.
+     */
+    private List<File> buildReadmeAndHeaderHtmlFiles() throws MojoExecutionException {
+        List<File> headerAndReadmeFiles = new ArrayList<>();
+        File headerFile = new File(distCheckoutDirectory, "HEADER.html");
+        File readmeFile = new File(distCheckoutDirectory, "README.html");
+        try {
+            Writer headerWriter = new FileWriter(headerFile);
+            Writer readmeWriter = new FileWriter(readmeFile);
+            HeaderHtmlVelocityDelegate headerHtmlVelocityDelegate = HeaderHtmlVelocityDelegate
+                .builder()
+                .build();
+            headerWriter = headerHtmlVelocityDelegate.render(headerWriter);
+            headerWriter.close();
+            headerAndReadmeFiles.add(headerFile);
+            ReadmeHtmlVelocityDelegate readmeHtmlVelocityDelegate = ReadmeHtmlVelocityDelegate
+                .builder()
+                .withArtifactId(project.getArtifactId())
+                .withVersion(project.getVersion())
+                .withSiteUrl(project.getUrl())
+                .build();
+            readmeWriter = readmeHtmlVelocityDelegate.render(readmeWriter);
+            readmeWriter.close();
+            headerAndReadmeFiles.add(readmeFile);
+            headerAndReadmeFiles.addAll(buildSymbolicLinks(headerFile, readmeFile));
+        } catch (IOException e) {
+            getLog().error("Could not build HEADER and README html files", e);
+            throw new MojoExecutionException("Could not build HEADER and README html files", e);
+        }
+        return headerAndReadmeFiles;
+    }
+
+    /**
+     * SOmething.
+     * @param headerFile something.
+     * @param readmeFile something.
+     * @return something.
+     * @throws IOException Someting.
+     */
+    private List<File> buildSymbolicLinks(File headerFile, File readmeFile) throws IOException {
+        List<File> symbolicLinkFiles = new ArrayList<>();
+        File sourceRoot = new File(buildDistSourceRoot());
+        File binariesRoot = new File(buildDistBinariesRoot());
+        File sourceHeaderFile = new File(sourceRoot, "HEADER.html");
+        File sourceReadmeFile = new File(sourceRoot, "README.html");
+        File binariesHeaderFile = new File(binariesRoot, "HEADER.html");
+        File binariesReadmeFile = new File(binariesRoot, "README.html");
+        Files.createSymbolicLink(sourceHeaderFile.toPath().toAbsolutePath(),
+            sourceRoot.toPath().toAbsolutePath().relativize(headerFile.toPath().toAbsolutePath()));
+        symbolicLinkFiles.add(sourceHeaderFile);
+        Files.createSymbolicLink(sourceReadmeFile.toPath().toAbsolutePath(),
+            sourceRoot.toPath().toAbsolutePath().relativize(readmeFile.toPath().toAbsolutePath()));
+        symbolicLinkFiles.add(sourceReadmeFile);
+        Files.createSymbolicLink(binariesHeaderFile.toPath().toAbsolutePath(),
+            binariesRoot.toPath().toAbsolutePath().relativize(headerFile.toPath().toAbsolutePath()));
+        symbolicLinkFiles.add(binariesHeaderFile);
+        Files.createSymbolicLink(binariesReadmeFile.toPath().toAbsolutePath(),
+            binariesRoot.toPath().toAbsolutePath().relativize(readmeFile.toPath().toAbsolutePath()));
+        symbolicLinkFiles.add(binariesReadmeFile);
+        return symbolicLinkFiles;
+    }
+
+    /**
      * Build the path for the distribution binaries directory.
      *
      * @return the local absolute path into the checkedout subversion repository that is where

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojoTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojoTest.java b/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojoTest.java
index 36b80b1..d5dbcf9 100644
--- a/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojoTest.java
+++ b/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionDetachmentMojoTest.java
@@ -65,16 +65,16 @@ public class CommonsDistributionDetachmentMojoTest {
         assertTrue(testPom.exists());
         mojo = (CommonsDistributionDetachmentMojo) rule.lookupMojo("detach-distributions", testPom);
         mojo.execute();
-        File detachedTarGz = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar.tar.gz");
-        File detachedTarGzAsc = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar.tar.gz.asc");
-        File detachedTarMd5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar.tar.gz.md5");
-        File detachedTarGzSha1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar.tar.gz.sha1");
-        File detachedTarGzSha256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar.tar.gz.sha256");
-        File detachedZip = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip.zip");
-        File detachedZipAsc = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip.zip.asc");
-        File detachedZipMd5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip.zip.md5");
-        File detachedZipSha1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip.zip.sha1");
-        File detachedZipSha256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip.zip.sha256");
+        File detachedTarGz = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar-src.tar.gz");
+        File detachedTarGzAsc = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar-src.tar.gz.asc");
+        File detachedTarMd5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar-src.tar.gz.md5");
+        File detachedTarGzSha1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar-src.tar.gz.sha1");
+        File detachedTarGzSha256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedTar-src.tar.gz.sha256");
+        File detachedZip = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip-src.zip");
+        File detachedZipAsc = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip-src.zip.asc");
+        File detachedZipMd5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip-src.zip.md5");
+        File detachedZipSha1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip-src.zip.sha1");
+        File detachedZipSha256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedZip-src.zip.sha256");
         File notDetachedMockAttachedFile = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/mockAttachedFile.html");
         File sha1Properties = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/sha1.properties");
         File sha256Properties = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/sha256.properties");

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/test/java/org/apache/commons/release/plugin/stubs/DistributionDetachmentProjectStub.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/stubs/DistributionDetachmentProjectStub.java b/src/test/java/org/apache/commons/release/plugin/stubs/DistributionDetachmentProjectStub.java
index 5eb68ae..7f4fb12 100644
--- a/src/test/java/org/apache/commons/release/plugin/stubs/DistributionDetachmentProjectStub.java
+++ b/src/test/java/org/apache/commons/release/plugin/stubs/DistributionDetachmentProjectStub.java
@@ -16,19 +16,20 @@
  */
 package org.apache.commons.release.plugin.stubs;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
 import org.apache.commons.release.plugin.mojos.CommonsDistributionDetachmentMojoTest;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.testing.stubs.ArtifactStub;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.project.MavenProject;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
 /**
- * Stub for {@link MavenProject} for the {@link CommonsDistributionDetachmentMojoTest}. See the testing pom,
- * <code>src/test/resources/detach-distributions/detach-distributions.xml</code> for the declared usage of
+ * Stub for {@link MavenProject} for the {@link CommonsDistributionDetachmentMojoTest}. See the
+ * testing pom,
+ * <code>src/test/resources/detach-distributions/detach-distributions.xml</code> for the declared
+ * usage of
  * this class.
  *
  * @author chtompki
@@ -39,42 +40,94 @@ public class DistributionDetachmentProjectStub extends MavenProjectStub {
     private List<Artifact> attachedArtifacts;
 
     @Override
+    public String getArtifactId() {
+        return "commons-text";
+    }
+
+    @Override
+    public String getVersion() {
+        return "1.4";
+    }
+
+    @Override
+    public String getUrl() {
+        return "http://commons.apache.org/proper/commons-text/";
+    }
+
+    @Override
     public List<Artifact> getAttachedArtifacts() {
         attachedArtifacts = new ArrayList<>();
         attachedArtifacts.add(
-                new DistributionDetachmentArtifactStub(
-                        new File("src/test/resources/mojos/detach-distributions/target/mockAttachedFile.html"),
-                        "html",
-                    "mockAttachedFile"
-                )
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedFile.html"),
+                "html",
+                "mockAttachedFile"
+            )
+        );
+        attachedArtifacts.add(
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedTar-src.tar.gz"),
+                "tar.gz",
+                "mockAttachedTar"
+            )
+        );
+        attachedArtifacts.add(
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedTar-src.tar.gz.asc"),
+                "tar.gz.asc",
+                "mockAttachedTar"
+            )
+        );
+        attachedArtifacts.add(
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedTar-bin.tar.gz"),
+                "tar.gz",
+                "mockAttachedTar"
+            )
+        );
+        attachedArtifacts.add(
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedTar-bin.tar.gz.asc"),
+                "tar.gz.asc",
+                "mockAttachedTar"
+            )
         );
         attachedArtifacts.add(
-                new DistributionDetachmentArtifactStub(
-                        new File("src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz"),
-                        "tar.gz",
-                        "mockAttachedTar"
-                )
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedZip-src.zip"),
+                "zip",
+                "mockAttachedZip"
+            )
         );
         attachedArtifacts.add(
-                new DistributionDetachmentArtifactStub(
-                        new File("src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz.asc"),
-                        "tar.gz.asc",
-                        "mockAttachedTar"
-                )
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedZip-src.zip.asc"),
+                "zip.asc",
+                "mockAttachedZip"
+            )
         );
         attachedArtifacts.add(
-                new DistributionDetachmentArtifactStub(
-                        new File("src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip"),
-                        "zip",
-                        "mockAttachedZip"
-                )
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedZip-bin.zip"),
+                "zip",
+                "mockAttachedZip"
+            )
         );
         attachedArtifacts.add(
-                new DistributionDetachmentArtifactStub(
-                        new File("src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip.asc"),
-                        "zip.asc",
-                        "mockAttachedZip"
-                )
+            new DistributionDetachmentArtifactStub(
+                new File(
+                "src/test/resources/mojos/detach-distributions/target/mockAttachedZip-bin.zip.asc"),
+                "zip.asc",
+                "mockAttachedZip"
+            )
         );
         return attachedArtifacts;
     }

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz b/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz
deleted file mode 100644
index dda7e6c..0000000
Binary files a/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz.asc
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz.asc b/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz.asc
deleted file mode 100644
index f45982f..0000000
Binary files a/src/test/resources/mojos/detach-distributions/target/mockAttachedTar.tar.gz.asc and /dev/null differ

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip b/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip
deleted file mode 100644
index 1f34188..0000000
Binary files a/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip and /dev/null differ

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/0c14b25f/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip.asc
----------------------------------------------------------------------
diff --git a/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip.asc b/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip.asc
deleted file mode 100644
index 804d188..0000000
Binary files a/src/test/resources/mojos/detach-distributions/target/mockAttachedZip.zip.asc and /dev/null differ


[4/4] commons-release-plugin git commit: COMMONSSITE-108: adding assert statements on the scm commit directory

Posted by ch...@apache.org.
COMMONSSITE-108: adding assert statements on the scm commit directory


Project: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/commit/d92c25ac
Tree: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/tree/d92c25ac
Diff: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/diff/d92c25ac

Branch: refs/heads/master
Commit: d92c25ac64cc371a447692731233479ca98b31af
Parents: 0c14b25
Author: Rob Tompkins <ch...@gmail.com>
Authored: Mon May 21 15:20:59 2018 -0400
Committer: Rob Tompkins <ch...@gmail.com>
Committed: Mon May 21 15:20:59 2018 -0400

----------------------------------------------------------------------
 checkstyle-suppressions.xml                     |  1 +
 .../mojos/CommonsDistributionStagingMojo.java   |  2 +-
 .../CommonsDistributionStagingMojoTest.java     | 54 ++++++++++++++++++++
 3 files changed, 56 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/d92c25ac/checkstyle-suppressions.xml
----------------------------------------------------------------------
diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
index d5c3419..f00b456 100644
--- a/checkstyle-suppressions.xml
+++ b/checkstyle-suppressions.xml
@@ -30,5 +30,6 @@
 
 
     <suppress checks="LineLength" files=".*CommonsDistributionDetachmentMojoTest.java" />
+    <suppress checks="LineLength" files=".*CommonsDistributionStagingMojoTest.java" />
     <suppress checks="FinalClassCheck" files=".*Delegate.java" />
 </suppressions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/d92c25ac/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
index 6a4839c..eac1289 100644
--- a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
+++ b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
@@ -261,7 +261,7 @@ public class CommonsDistributionStagingMojo extends AbstractMojo {
                 copy = new File(scmBinariesRoot,  file.getName());
                 SharedFunctions.copyFile(getLog(), file, copy);
                 filesForMavenScmFileSet.add(copy);
-            } else if (StringUtils.containsAny(file.getName(), "scm", "sha1.properties")) {
+            } else if (StringUtils.containsAny(file.getName(), "scm", "sha1.properties", "sha256.properties")) {
                 getLog().debug("Not copying scm directory over "
                     + "to the scm directory because it is the scm directory.");
                 //do nothing because we are copying into scm

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/d92c25ac/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojoTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojoTest.java b/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojoTest.java
index bf3906e..885ac3e 100644
--- a/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojoTest.java
+++ b/src/test/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojoTest.java
@@ -76,7 +76,61 @@ public class CommonsDistributionStagingMojoTest {
         mojoForTest.setBasedir(releaseNotesBasedir);
         mojoForTest.execute();
         File targetScmDirectory = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm");
+        File releaseNotes = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/RELEASE-NOTES.txt");
+        File readmeHtml = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/README.html");
+        File headerHtml = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/HEADER.html");
+        File binariesReadmeHtml = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/README.html");
+        File binariesHeaderHtml = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/HEADER.html");
+        File binTar = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedTar-bin.tar.gz");
+        File binTarASC = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedTar-bin.tar.gz.asc");
+        File binTarMD5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedTar-bin.tar.gz.md5");
+        File binTarSHA1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedTar-bin.tar.gz.sha1");
+        File binTarSHA256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedTar-bin.tar.gz.sha256");
+        File binZip = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedZip-bin.zip");
+        File binZipASC = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedZip-bin.zip.asc");
+        File binZipMD5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedZip-bin.zip.md5");
+        File binZipSHA1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedZip-bin.zip.sha1");
+        File binZipSHA256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/mockAttachedZip-bin.zip.sha256");
+        File sourcesReadmeHtml = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/README.html");
+        File sourceHeaderHtml = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/binaries/HEADER.html");
+        File srcTar = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedTar-src.tar.gz");
+        File srcTarASC = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedTar-src.tar.gz.asc");
+        File srcTarMD5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedTar-src.tar.gz.md5");
+        File srcTarSHA1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedTar-src.tar.gz.sha1");
+        File srcTarSHA256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedTar-src.tar.gz.sha256");
+        File srcZip = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedZip-src.zip");
+        File srcZipASC = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedZip-src.zip.asc");
+        File srcZipMD5 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedZip-src.zip.md5");
+        File srcZipSHA1 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedZip-src.zip.sha1");
+        File srcZipSHA256 = new File(COMMONS_RELEASE_PLUGIN_TEST_DIR_PATH + "/scm/source/mockAttachedZip-src.zip.sha256");
         assertTrue(targetScmDirectory.exists());
+        assertTrue(releaseNotes.exists());
+        assertTrue(readmeHtml.exists());
+        assertTrue(headerHtml.exists());
+        assertTrue(binariesReadmeHtml.exists());
+        assertTrue(binariesHeaderHtml.exists());
+        assertTrue(binTar.exists());
+        assertTrue(binTarASC.exists());
+        assertTrue(binTarMD5.exists());
+        assertTrue(binTarSHA1.exists());
+        assertTrue(binTarSHA256.exists());
+        assertTrue(binZip.exists());
+        assertTrue(binZipASC.exists());
+        assertTrue(binZipMD5.exists());
+        assertTrue(binZipSHA1.exists());
+        assertTrue(binZipSHA256.exists());
+        assertTrue(sourcesReadmeHtml.exists());
+        assertTrue(sourceHeaderHtml.exists());
+        assertTrue(srcTar.exists());
+        assertTrue(srcTarASC.exists());
+        assertTrue(srcTarMD5.exists());
+        assertTrue(srcTarSHA1.exists());
+        assertTrue(srcTarSHA256.exists());
+        assertTrue(srcZip.exists());
+        assertTrue(srcZipASC.exists());
+        assertTrue(srcZipMD5.exists());
+        assertTrue(srcZipSHA1.exists());
+        assertTrue(srcZipSHA256.exists());
     }
 
     @Test


[2/4] commons-release-plugin git commit: COMMONSSITE-108: finishing up the velocity delegates

Posted by ch...@apache.org.
COMMONSSITE-108: finishing up the velocity delegates


Project: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/commit/34bf87ee
Tree: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/tree/34bf87ee
Diff: http://git-wip-us.apache.org/repos/asf/commons-release-plugin/diff/34bf87ee

Branch: refs/heads/master
Commit: 34bf87ee58e6856266006051eb7e6d7d179986f0
Parents: 0cbef20
Author: Rob Tompkins <ch...@gmail.com>
Authored: Mon May 21 09:06:38 2018 -0400
Committer: Rob Tompkins <ch...@gmail.com>
Committed: Mon May 21 09:06:38 2018 -0400

----------------------------------------------------------------------
 .../velocity/HeaderHtmlVelocityDelegate.java    | 36 ++++++++++-------
 .../velocity/ReadmeHtmlVelocityDelegate.java    | 17 +++++---
 .../resources/META-INF/plexus/components.xml    | 42 --------------------
 .../HeaderHtmlVelocityDelegateTest.java         | 22 ++++++++++
 .../ReadmeHtmlVelocityDelegateTest.java         |  2 +-
 5 files changed, 55 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/34bf87ee/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java b/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
index acdad16..3852451 100644
--- a/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
+++ b/src/main/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegate.java
@@ -16,11 +16,12 @@
  */
 package org.apache.commons.release.plugin.velocity;
 
+import java.io.Writer;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.Velocity;
-
-import java.io.Writer;
+import org.apache.velocity.app.VelocityEngine;
+import org.apache.velocity.runtime.RuntimeConstants;
+import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
 
 /**
  * This class' purpose is to generate the <code>HEADER.html</code> that moves along with the
@@ -30,15 +31,10 @@ import java.io.Writer;
  * @since 1.3
  */
 public class HeaderHtmlVelocityDelegate {
-
-    /**
-     * The location of the velocity tempate for this class.
-     */
-    private static final String TEMPLATE = "HEADER.vm";
-
-    /**
-     * The private constructor to be used by the {@link HeaderHtmlVelocityDelegateBuilder}.
-     */
+    /** The location of the velocity tempate for this class. */
+    private static final String TEMPLATE = "resources/org/apache/commons/release/plugin"
+                                         + "/velocity/HEADER.vm";
+    /** The private constructor to be used by the {@link HeaderHtmlVelocityDelegateBuilder}. */
     private HeaderHtmlVelocityDelegate() {
         super();
     }
@@ -59,8 +55,11 @@ public class HeaderHtmlVelocityDelegate {
      * @return the {@link Writer} that we've filled out the template into.
      */
     public Writer render(Writer writer) {
-        Velocity.init();
-        Template template = Velocity.getTemplate(TEMPLATE);
+        VelocityEngine ve = new VelocityEngine();
+        ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
+        ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
+        ve.init();
+        Template template = ve.getTemplate(TEMPLATE);
         VelocityContext context = new VelocityContext();
         template.merge(context, writer);
         return writer;
@@ -69,7 +68,14 @@ public class HeaderHtmlVelocityDelegate {
     /**
      * A builder class for instantiation of the {@link HeaderHtmlVelocityDelegate}.
      */
-    private static class HeaderHtmlVelocityDelegateBuilder {
+    public static class HeaderHtmlVelocityDelegateBuilder {
+
+        /**
+         * Private constructor so that we can have a proper builder pattern.
+         */
+        private HeaderHtmlVelocityDelegateBuilder() {
+            super();
+        }
 
         /**
          * Builds up the {@link ReadmeHtmlVelocityDelegate} from the previously set parameters.

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/34bf87ee/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java b/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
index 6910323..2524a11 100644
--- a/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
+++ b/src/main/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegate.java
@@ -16,12 +16,13 @@
  */
 package org.apache.commons.release.plugin.velocity;
 
+import java.io.Writer;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.Velocity;
-
-import java.io.Writer;
+import org.apache.velocity.app.VelocityEngine;
+import org.apache.velocity.runtime.RuntimeConstants;
+import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
 
 /**
  * This class' purpose is to generate the <code>README.html</code> that moves along with the
@@ -32,7 +33,8 @@ import java.io.Writer;
  */
 public class ReadmeHtmlVelocityDelegate {
     /** The location of the velocity template for this class. */
-    private static final String TEMPLATE = "README.vm";
+    private static final String TEMPLATE = "resources/org/apache/commons/release/plugin"
+                                         + "/velocity/README.vm";
     /** This is supposed to represent the maven artifactId. */
     private String artifactId;
     /** This is supposed to represent the maven version of the release. */
@@ -70,6 +72,11 @@ public class ReadmeHtmlVelocityDelegate {
      * @return a reference to the {@link Writer} passed in.
      */
     public Writer render(Writer writer) {
+        VelocityEngine ve = new VelocityEngine();
+        ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
+        ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
+        ve.init();
+        Template template = ve.getTemplate(TEMPLATE);
         String[] splitArtifactId = artifactId.split("-");
         String wordCommons = splitArtifactId[0];
         String artifactShortName = splitArtifactId[1];
@@ -77,8 +84,6 @@ public class ReadmeHtmlVelocityDelegate {
                 StringUtils.capitalize(wordCommons)
                         + "-"
                         + artifactShortName.toUpperCase();
-        Velocity.init();
-        Template template = Velocity.getTemplate(TEMPLATE);
         VelocityContext context = new VelocityContext();
         context.internalPut("artifactIdWithFirstLetterscapitalized", artifactIdWithFirstLetterscapitalized);
         context.internalPut("artifactShortName", artifactShortName.toUpperCase());

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/34bf87ee/src/main/resources/META-INF/plexus/components.xml
----------------------------------------------------------------------
diff --git a/src/main/resources/META-INF/plexus/components.xml b/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index e58557c..0000000
--- a/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-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.
--->
-<component-set>
-  <components>
-    <component>
-      <role>org.codehaus.plexus.velocity.VelocityComponent</role>
-      <role-hint>maven-changes-plugin</role-hint>
-      <implementation>org.codehaus.plexus.velocity.DefaultVelocityComponent</implementation>
-      <configuration>
-        <properties>
-          <property>
-            <name>resource.loader</name>
-            <value>file,class</value>
-          </property>
-          <property>
-            <name>class.resource.loader.class</name>
-            <value>org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</value>
-          </property>
-          <property>
-            <name>file.resource.loader.class</name>
-            <value>org.apache.maven.plugins.resource.loader.ProjectResourceLoader</value>
-          </property>
-        </properties>
-      </configuration>
-    </component>
-  </components>
-</component-set>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/34bf87ee/src/test/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegateTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegateTest.java b/src/test/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegateTest.java
new file mode 100644
index 0000000..6da2c53
--- /dev/null
+++ b/src/test/java/org/apache/commons/release/plugin/velocity/HeaderHtmlVelocityDelegateTest.java
@@ -0,0 +1,22 @@
+package org.apache.commons.release.plugin.velocity;
+
+import static junit.framework.TestCase.assertTrue;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import org.junit.Test;
+
+/**
+ * Unit tests for {@link HeaderHtmlVelocityDelegate}
+ */
+public class HeaderHtmlVelocityDelegateTest {
+
+    @Test
+    public void testSuccess() {
+        HeaderHtmlVelocityDelegate subject = HeaderHtmlVelocityDelegate.builder().build();
+        Writer writer = new StringWriter();
+        writer = subject.render(writer);
+        assertTrue(writer.toString().contains("<h2>Apache Commons Project Distributions</h2>"));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/commons-release-plugin/blob/34bf87ee/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java b/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
index 0e7c15f..b005d3f 100644
--- a/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
+++ b/src/test/java/org/apache/commons/release/plugin/velocity/ReadmeHtmlVelocityDelegateTest.java
@@ -40,6 +40,6 @@ public class ReadmeHtmlVelocityDelegateTest {
         Writer writer = new StringWriter();
         writer = delegate.render(writer);
         String filledOutTemplate = writer.toString();
-        assertTrue(filledOutTemplate.contains(""));
+        assertTrue(filledOutTemplate.contains("<h1>Commons-TEXT v1.4.</h1>"));
     }
 }