COMMONSSITE-138: add signature-validator.sh to staged directory
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 f7df5dd..f65b6fd 100755
--- a/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
+++ b/src/main/java/org/apache/commons/release/plugin/mojos/CommonsDistributionStagingMojo.java
@@ -71,6 +71,8 @@
     private static final String README_FILE_NAME = "README.html";
     /** The name of file generated from the HEADER.vm velocity template to be checked into the dist svn repo. */
     private static final String HEADER_FILE_NAME = "HEADER.html";
+    /** The name of the signature validation shell script to be checked into the dist svn repo. */
+    private static final String SIGNATURE_VALIDATOR_FILE_NAME = "signature-validator.sh";
 
     /**
      * The {@link MavenProject} object is essentially the context of the maven build at
@@ -363,11 +365,33 @@
             }
         }
         filesForMavenScmFileSet.addAll(buildReadmeAndHeaderHtmlFiles());
+        filesForMavenScmFileSet.addAll(copySignatureValidatorScriptToScmDirectory());
         filesForMavenScmFileSet.addAll(copySiteToScmDirectory());
         return filesForMavenScmFileSet;
     }
 
     /**
+     * Copies our <code>signature-validator.sh</code> into
+     * <code>${basedir}/target/commons-release-plugin/scm/signature-validator.sh</code>.
+     *
+     * @return the {@link List} of {@link File} containing just the signature-validator.sh
+     * @throws MojoExecutionException
+     */
+    private List<File> copySignatureValidatorScriptToScmDirectory() throws MojoExecutionException {
+        final File signatureValidatorFileInScm = new File(distVersionRcVersionDirectory, "signature-validator.sh");
+        try {
+            final File signatureValidatorFileInJar =
+                    new File(this.getClass().getResource("/resources/signature-validator.sh").getFile());
+            FileUtils.copyFile(signatureValidatorFileInJar, signatureValidatorFileInScm);
+        } catch (final Exception e) {
+            throw new MojoExecutionException("Failed to copy signature-validator.sh", e);
+        }
+        final List<File> signatureFileInList = new ArrayList<>();
+        signatureFileInList.add(signatureValidatorFileInScm);
+        return signatureFileInList;
+    }
+
+    /**
      * Copies <code>${basedir}/target/site</code> to <code>${basedir}/target/commons-release-plugin/scm/site</code>.
      *
      * @return the {@link List} of {@link File}'s contained in
@@ -441,6 +465,9 @@
             throw new MojoExecutionException(message, e);
         }
         headerAndReadmeFiles.add(readmeFile);
+        //
+        // signature-validator.sh file copy
+        //
         headerAndReadmeFiles.addAll(copyHeaderAndReadmeToSubdirectories(headerFile, readmeFile));
         return headerAndReadmeFiles;
     }