From 0e65c12dd2843dd005d18b31b102aec7056b905d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kautler?= Date: Mon, 19 Aug 2024 17:07:54 +0200 Subject: [PATCH] fix(abg): provide a checksum for maven metadata or consumers are unhappy --- .../workflows/mavenbinding/Md5Checksum.kt | 11 +++++++++++ .../mavenbinding/PackageArtifactsBuilding.kt | 1 + .../mavenbinding/VersionArtifactsBuilding.kt | 9 --------- 3 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/Md5Checksum.kt diff --git a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/Md5Checksum.kt b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/Md5Checksum.kt new file mode 100644 index 0000000000..fa9bee4123 --- /dev/null +++ b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/Md5Checksum.kt @@ -0,0 +1,11 @@ +package io.github.typesafegithub.workflows.mavenbinding + +import java.security.MessageDigest + +internal fun ByteArray.md5Checksum(): String { + val md5 = MessageDigest.getInstance("MD5") + val hashBytes = md5.digest(this) + return hashBytes.joinToString("") { "%02x".format(it) } +} + +internal fun String.md5Checksum(): String = this.toByteArray(charset = Charsets.UTF_8).md5Checksum() diff --git a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/PackageArtifactsBuilding.kt b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/PackageArtifactsBuilding.kt index d26cad6de4..9f1bb4ed8c 100644 --- a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/PackageArtifactsBuilding.kt +++ b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/PackageArtifactsBuilding.kt @@ -6,5 +6,6 @@ suspend fun ActionCoords.buildPackageArtifacts(githubToken: String): Map? { "$name-$version.module.md5" to TextArtifact(module.md5Checksum()), ) } - -private fun ByteArray.md5Checksum(): String { - val md5 = MessageDigest.getInstance("MD5") - val hashBytes = md5.digest(this) - return hashBytes.joinToString("") { "%02x".format(it) } -} - -private fun String.md5Checksum(): String = this.toByteArray(charset = Charsets.UTF_8).md5Checksum()