Skip to content

Commit c411207

Browse files
authored
feat(server): provide all checksums Maven Central provides too (#1840)
1 parent c13dbe4 commit c411207

File tree

4 files changed

+42
-11
lines changed

4 files changed

+42
-11
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package io.github.typesafegithub.workflows.mavenbinding
2+
3+
import java.security.MessageDigest
4+
5+
internal fun ByteArray.md5Checksum() = checksum("MD5")
6+
7+
internal fun String.md5Checksum() = checksum("MD5")
8+
9+
internal fun ByteArray.sha1Checksum() = checksum("SHA-1")
10+
11+
internal fun String.sha1Checksum() = checksum("SHA-1")
12+
13+
internal fun ByteArray.sha256Checksum() = checksum("SHA-256")
14+
15+
internal fun String.sha256Checksum() = checksum("SHA-256")
16+
17+
internal fun ByteArray.sha512Checksum() = checksum("SHA-512")
18+
19+
internal fun String.sha512Checksum() = checksum("SHA-512")
20+
21+
private fun ByteArray.checksum(algorithm: String): String {
22+
val digest = MessageDigest.getInstance(algorithm)
23+
val hashBytes = digest.digest(this)
24+
return hashBytes.joinToString("") { "%02x".format(it) }
25+
}
26+
27+
private fun String.checksum(algorithm: String) = toByteArray(charset = Charsets.UTF_8).checksum(algorithm)

maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/Md5Checksum.kt

Lines changed: 0 additions & 11 deletions
This file was deleted.

maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/PackageArtifactsBuilding.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,8 @@ suspend fun ActionCoords.buildPackageArtifacts(githubToken: String): Map<String,
77
return mapOf(
88
"maven-metadata.xml" to mavenMetadata,
99
"maven-metadata.xml.md5" to mavenMetadata.md5Checksum(),
10+
"maven-metadata.xml.sha1" to mavenMetadata.sha1Checksum(),
11+
"maven-metadata.xml.sha256" to mavenMetadata.sha256Checksum(),
12+
"maven-metadata.xml.sha512" to mavenMetadata.sha512Checksum(),
1013
)
1114
}

maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/VersionArtifactsBuilding.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,23 @@ fun ActionCoords.buildVersionArtifacts(): Map<String, Artifact>? {
1919
return mapOf(
2020
"$mavenName-$version.jar" to JarArtifact(jars.mainJar),
2121
"$mavenName-$version.jar.md5" to TextArtifact { jars.mainJar().md5Checksum() },
22+
"$mavenName-$version.jar.sha1" to TextArtifact { jars.mainJar().sha1Checksum() },
23+
"$mavenName-$version.jar.sha256" to TextArtifact { jars.mainJar().sha256Checksum() },
24+
"$mavenName-$version.jar.sha512" to TextArtifact { jars.mainJar().sha512Checksum() },
2225
"$mavenName-$version-sources.jar" to JarArtifact(jars.sourcesJar),
2326
"$mavenName-$version-sources.jar.md5" to TextArtifact { jars.sourcesJar().md5Checksum() },
27+
"$mavenName-$version-sources.jar.sha1" to TextArtifact { jars.sourcesJar().sha1Checksum() },
28+
"$mavenName-$version-sources.jar.sha256" to TextArtifact { jars.sourcesJar().sha256Checksum() },
29+
"$mavenName-$version-sources.jar.sha512" to TextArtifact { jars.sourcesJar().sha512Checksum() },
2430
"$mavenName-$version.pom" to TextArtifact { pom },
2531
"$mavenName-$version.pom.md5" to TextArtifact { pom.md5Checksum() },
32+
"$mavenName-$version.pom.sha1" to TextArtifact { pom.sha1Checksum() },
33+
"$mavenName-$version.pom.sha256" to TextArtifact { pom.sha256Checksum() },
34+
"$mavenName-$version.pom.sha512" to TextArtifact { pom.sha512Checksum() },
2635
"$mavenName-$version.module" to TextArtifact { module },
2736
"$mavenName-$version.module.md5" to TextArtifact { module.md5Checksum() },
37+
"$mavenName-$version.module.sha1" to TextArtifact { module.sha1Checksum() },
38+
"$mavenName-$version.module.sha256" to TextArtifact { module.sha256Checksum() },
39+
"$mavenName-$version.module.sha512" to TextArtifact { module.sha512Checksum() },
2840
)
2941
}

0 commit comments

Comments
 (0)