This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-indexer.git
The following commit(s) were added to refs/heads/master by this push:
new d6e23c1 [MINDEXER-171] Support SHA256 and SHA512 HashType (#253)
d6e23c1 is described below
commit d6e23c1c5209aefb4083b929e89fb8e8ab1b752f
Author: Grzegorz Smardzewski
<[email protected]>
AuthorDate: Fri Oct 14 17:03:58 2022 +0200
[MINDEXER-171] Support SHA256 and SHA512 HashType (#253)
Adds support for .sha256 and .sha512 checksum files
---
.../java/org/apache/maven/index/artifact/Gav.java | 2 +-
.../maven/index/artifact/M2GavCalculator.java | 12 ++++++++
.../maven/index/artifact/M2GavCalculatorTest.java | 35 ++++++++++++++++++++++
3 files changed, 48 insertions(+), 1 deletion(-)
diff --git
a/indexer-core/src/main/java/org/apache/maven/index/artifact/Gav.java
b/indexer-core/src/main/java/org/apache/maven/index/artifact/Gav.java
index fa9c72e..7d87df8 100644
--- a/indexer-core/src/main/java/org/apache/maven/index/artifact/Gav.java
+++ b/indexer-core/src/main/java/org/apache/maven/index/artifact/Gav.java
@@ -34,7 +34,7 @@ public class Gav
*/
public enum HashType
{
- sha1, md5
+ sha1, md5, sha256, sha512
}
/**
diff --git
a/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
b/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
index 383283f..809b628 100644
---
a/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
+++
b/indexer-core/src/main/java/org/apache/maven/index/artifact/M2GavCalculator.java
@@ -83,6 +83,18 @@ public class M2GavCalculator
checksumType = Gav.HashType.sha1;
s = s.substring( 0, s.length() - 5 );
}
+ else if ( s.endsWith( ".sha256" ) )
+ {
+ checksum = true;
+ checksumType = Gav.HashType.sha256;
+ s = s.substring( 0, s.length() - 7 );
+ }
+ else if ( s.endsWith( ".sha512" ) )
+ {
+ checksum = true;
+ checksumType = Gav.HashType.sha512;
+ s = s.substring( 0, s.length() - 7 );
+ }
if ( s.endsWith( ".asc" ) )
{
diff --git
a/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
b/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
index b12f49f..7021c9b 100644
---
a/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
+++
b/indexer-core/src/test/java/org/apache/maven/index/artifact/M2GavCalculatorTest.java
@@ -560,6 +560,41 @@ public class M2GavCalculatorTest
path = gavCalculator.gavToPath( gav );
assertEquals( "/foo/artifact/SNAPSHOT/artifact-20080623.175436-1.jar",
path );
+ gav = gavCalculator.pathToGav(
"/org/jruby/jruby/1.0/jruby-1.0-javadoc.jar.sha256" );
+
+ assertEquals( "org.jruby", gav.getGroupId() );
+ assertEquals( "jruby", gav.getArtifactId() );
+ assertEquals( "1.0", gav.getVersion() );
+ assertEquals( "1.0", gav.getBaseVersion() );
+ assertEquals( "javadoc", gav.getClassifier() );
+ assertEquals( "jar", gav.getExtension() );
+ assertEquals( null, gav.getSnapshotBuildNumber() );
+ assertEquals( null, gav.getSnapshotTimeStamp() );
+ assertEquals( "jruby-1.0-javadoc.jar.sha256", gav.getName() );
+ assertEquals( false, gav.isSnapshot() );
+ assertEquals( true, gav.isHash() );
+ assertEquals( Gav.HashType.sha256, gav.getHashType() );
+
+ path = gavCalculator.gavToPath( gav );
+ assertEquals( "/org/jruby/jruby/1.0/jruby-1.0-javadoc.jar.sha256",
path );
+
+ gav = gavCalculator.pathToGav(
"/org/jruby/jruby/1.0/jruby-1.0-javadoc.jar.sha512" );
+ assertEquals( "org.jruby", gav.getGroupId() );
+ assertEquals( "jruby", gav.getArtifactId() );
+ assertEquals( "1.0", gav.getVersion() );
+ assertEquals( "1.0", gav.getBaseVersion() );
+ assertEquals( "javadoc", gav.getClassifier() );
+ assertEquals( "jar", gav.getExtension() );
+ assertEquals( null, gav.getSnapshotBuildNumber() );
+ assertEquals( null, gav.getSnapshotTimeStamp() );
+ assertEquals( "jruby-1.0-javadoc.jar.sha512", gav.getName() );
+ assertEquals( false, gav.isSnapshot() );
+ assertEquals( true, gav.isHash() );
+ assertEquals( Gav.HashType.sha512, gav.getHashType() );
+
+ path = gavCalculator.gavToPath( gav );
+ assertEquals( "/org/jruby/jruby/1.0/jruby-1.0-javadoc.jar.sha512",
path );
+
gav = gavCalculator.pathToGav(
"/dev/mbien/hintmod/1.0-SNAPSHOT/hintmod-1.0-SNAPSHOT.pom" );
assertEquals( "dev.mbien", gav.getGroupId() );
assertEquals( "hintmod", gav.getArtifactId() );