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 <hbout...@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() ) {