You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2018/08/25 21:34:07 UTC

[maven-dist-tool] branch master updated: require now .sha1 or .sha512 checksum file

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-dist-tool.git


The following commit(s) were added to refs/heads/master by this push:
     new 7a2af46  require now .sha1 or .sha512 checksum file
7a2af46 is described below

commit 7a2af460217518d4148d2200d8e3e8f26f54cec6
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sat Aug 25 23:34:06 2018 +0200

    require now .sha1 or .sha512 checksum file
---
 .../maven/dist/tools/ConfigurationLineInfo.java    | 14 ----------
 .../tools/source/DistCheckSourceReleaseMojo.java   | 32 ++++++++++++++++------
 2 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java b/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java
index 0a95c37..5c02af4 100644
--- a/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java
+++ b/src/main/java/org/apache/maven/dist/tools/ConfigurationLineInfo.java
@@ -22,8 +22,6 @@ package org.apache.maven.dist.tools;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
 
 import org.apache.maven.artifact.repository.metadata.Metadata;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
@@ -173,16 +171,4 @@ public class ConfigurationLineInfo
         return artifactId + "-" + version
             + ( srcBin && ( dist || !"maven-ant-tasks".equals( artifactId ) ) ? "-src" : "-source-release" ) + ".zip";
     }
-
-    public List<String> getExpectedFilenames( String version, boolean dist )
-    {
-        String sourceReleaseFilename = getSourceReleaseFilename( version, dist );
-
-        List<String> expectedFiles = new LinkedList<>();
-        expectedFiles.add( sourceReleaseFilename );
-        expectedFiles.add( sourceReleaseFilename + ".asc" );
-        expectedFiles.add( sourceReleaseFilename + ".sha1" );
-
-        return expectedFiles;
-    }
 }
diff --git a/src/main/java/org/apache/maven/dist/tools/source/DistCheckSourceReleaseMojo.java b/src/main/java/org/apache/maven/dist/tools/source/DistCheckSourceReleaseMojo.java
index 04add1c..1967f7d 100644
--- a/src/main/java/org/apache/maven/dist/tools/source/DistCheckSourceReleaseMojo.java
+++ b/src/main/java/org/apache/maven/dist/tools/source/DistCheckSourceReleaseMojo.java
@@ -21,10 +21,12 @@ package org.apache.maven.dist.tools.source;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
+import java.util.Set;
 
 import org.apache.maven.dist.tools.AbstractDistCheckMojo;
 import org.apache.maven.dist.tools.ConfigurationLineInfo;
@@ -292,7 +294,7 @@ public class DistCheckSourceReleaseMojo
         sink.section1();
         sink.paragraph();
         sink.text( "Check Source Release"
-            + " (= <artifactId>-<version>-source-release.zip + .asc + .sha1) availability in:" );
+            + " (= <artifactId>-<version>-source-release.zip + .asc + .sha1 or .sha512) availability in:" );
         sink.paragraph_();
         sink.list();
         sink.listItem();
@@ -490,19 +492,33 @@ public class DistCheckSourceReleaseMojo
     private List<String> checkDirectoryIndex( String url, ConfigurationLineInfo cli, String version, boolean dist )
         throws IOException
     {
-        List<String> retrievedFile = new LinkedList<>();
+        Set<String> retrievedFiles = new HashSet<>();
         Elements links = selectLinks( url );
         for ( Element e : links )
         {
-            retrievedFile.add( e.attr( "href" ) );
+            retrievedFiles.add( e.attr( "href" ) );
         }
 
-        List<String> missingFiles;
-        // initialize missing files with expected release file names
-        missingFiles = cli.getExpectedFilenames( version, dist );
+        String sourceReleaseFilename = cli.getSourceReleaseFilename( version, dist );
 
-        // removed retrieved files
-        missingFiles.removeAll( retrievedFile );
+        List<String> missingFiles = new ArrayList<>();
+
+        // require source release file
+        if ( !retrievedFiles.contains( sourceReleaseFilename ) )
+        {
+            missingFiles.add( sourceReleaseFilename );
+        }
+        // require source release file signature (.asc)
+        if ( !retrievedFiles.contains( sourceReleaseFilename + ".asc" ) )
+        {
+            missingFiles.add( sourceReleaseFilename + ".asc" );
+        }
+        // require source release file checksum (.sha1 or .sha512)
+        if ( !( retrievedFiles.contains( sourceReleaseFilename + ".sha1" )
+            || retrievedFiles.contains( sourceReleaseFilename + ".sha512" ) ) )
+        {
+            missingFiles.add( sourceReleaseFilename + ".sha1 or .sha512" );
+        }
 
         if ( !missingFiles.isEmpty() )
         {