diff --git a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/ModuleBuilding.kt b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/ModuleBuilding.kt index 76dbbda41..e2dda2ba8 100644 --- a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/ModuleBuilding.kt +++ b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/ModuleBuilding.kt @@ -2,8 +2,18 @@ package io.github.typesafegithub.workflows.mavenbinding import io.github.typesafegithub.workflows.actionbindinggenerator.domain.ActionCoords -internal fun ActionCoords.buildModuleFile() = - """ +internal fun ActionCoords.buildModuleFile( + mainJarSize: Int, + mainJarMd5Checksum: String, + mainJarSha1Checksum: String, + mainJarSha256Checksum: String, + mainJarSha512Checksum: String, + sourcesJarSize: Int, + sourcesJarMd5Checksum: String, + sourcesJarSha1Checksum: String, + sourcesJarSha256Checksum: String, + sourcesJarSha512Checksum: String, +) = """ { "formatVersion": "1.1", "component": { @@ -31,12 +41,15 @@ internal fun ActionCoords.buildModuleFile() = "org.gradle.usage": "java-api", "org.jetbrains.kotlin.platform.type": "jvm" }, - "dependencies": [], "files": [ { "name": "$mavenName-$version.jar", "url": "$mavenName-$version.jar", - "size": 1 + "size": $mainJarSize, + "sha512": "$mainJarSha512Checksum", + "sha256": "$mainJarSha256Checksum", + "sha1": "$mainJarSha1Checksum", + "md5": "$mainJarMd5Checksum" } ] }, @@ -51,12 +64,44 @@ internal fun ActionCoords.buildModuleFile() = "org.gradle.usage": "java-runtime", "org.jetbrains.kotlin.platform.type": "jvm" }, - "dependencies": [], + "dependencies": [ + { + "group": "io.github.typesafegithub", + "module": "github-workflows-kt", + "version": { + "requires": "$LATEST_RELASED_LIBRARY_VERSION" + } + } + ], "files": [ { "name": "$mavenName-$version.jar", "url": "$mavenName-$version.jar", - "size": 1 + "size": $mainJarSize, + "sha512": "$mainJarSha512Checksum", + "sha256": "$mainJarSha256Checksum", + "sha1": "$mainJarSha1Checksum", + "md5": "$mainJarMd5Checksum" + } + ] + }, + { + "name": "sourcesElements", + "attributes": { + "org.gradle.category": "documentation", + "org.gradle.dependency.bundling": "external", + "org.gradle.docstype": "sources", + "org.gradle.usage": "java-runtime" + }, + "files": [ + { + "name": "$mavenName-$version-sources.jar", + "url": "$mavenName-$version-sources.jar", + "size": $sourcesJarSize, + "sha512": "$sourcesJarSha512Checksum", + "sha256": "$sourcesJarSha256Checksum", + "sha1": "$sourcesJarSha1Checksum", + "md5": "$sourcesJarMd5Checksum" } ] } diff --git a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/VersionArtifactsBuilding.kt b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/VersionArtifactsBuilding.kt index ae051b624..ba4252370 100644 --- a/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/VersionArtifactsBuilding.kt +++ b/maven-binding-builder/src/main/kotlin/io/github/typesafegithub/workflows/mavenbinding/VersionArtifactsBuilding.kt @@ -12,22 +12,45 @@ data class JarArtifact( val data: () -> ByteArray, ) : Artifact -fun buildVersionArtifacts(actionCoords: ActionCoords): Map? = +fun buildVersionArtifacts(actionCoords: ActionCoords): Map? { with(actionCoords) { val jars = buildJars() ?: return null val pom = buildPomFile() - val module = buildModuleFile() + val mainJarSize by lazy { jars.mainJar().size } + val mainJarMd5Checksum by lazy { jars.mainJar().md5Checksum() } + val mainJarSha1Checksum by lazy { jars.mainJar().sha1Checksum() } + val mainJarSha256Checksum by lazy { jars.mainJar().sha256Checksum() } + val mainJarSha512Checksum by lazy { jars.mainJar().sha512Checksum() } + val sourcesJarSize by lazy { jars.sourcesJar().size } + val sourcesJarMd5Checksum by lazy { jars.sourcesJar().md5Checksum() } + val sourcesJarSha1Checksum by lazy { jars.sourcesJar().sha1Checksum() } + val sourcesJarSha256Checksum by lazy { jars.sourcesJar().sha256Checksum() } + val sourcesJarSha512Checksum by lazy { jars.sourcesJar().sha512Checksum() } + val module by lazy { + buildModuleFile( + mainJarSize, + mainJarMd5Checksum, + mainJarSha1Checksum, + mainJarSha256Checksum, + mainJarSha512Checksum, + sourcesJarSize, + sourcesJarMd5Checksum, + sourcesJarSha1Checksum, + sourcesJarSha256Checksum, + sourcesJarSha512Checksum, + ) + } return mapOf( "$mavenName-$version.jar" to JarArtifact(jars.mainJar), - "$mavenName-$version.jar.md5" to TextArtifact { jars.mainJar().md5Checksum() }, - "$mavenName-$version.jar.sha1" to TextArtifact { jars.mainJar().sha1Checksum() }, - "$mavenName-$version.jar.sha256" to TextArtifact { jars.mainJar().sha256Checksum() }, - "$mavenName-$version.jar.sha512" to TextArtifact { jars.mainJar().sha512Checksum() }, + "$mavenName-$version.jar.md5" to TextArtifact { mainJarMd5Checksum }, + "$mavenName-$version.jar.sha1" to TextArtifact { mainJarSha1Checksum }, + "$mavenName-$version.jar.sha256" to TextArtifact { mainJarSha256Checksum }, + "$mavenName-$version.jar.sha512" to TextArtifact { mainJarSha512Checksum }, "$mavenName-$version-sources.jar" to JarArtifact(jars.sourcesJar), - "$mavenName-$version-sources.jar.md5" to TextArtifact { jars.sourcesJar().md5Checksum() }, - "$mavenName-$version-sources.jar.sha1" to TextArtifact { jars.sourcesJar().sha1Checksum() }, - "$mavenName-$version-sources.jar.sha256" to TextArtifact { jars.sourcesJar().sha256Checksum() }, - "$mavenName-$version-sources.jar.sha512" to TextArtifact { jars.sourcesJar().sha512Checksum() }, + "$mavenName-$version-sources.jar.md5" to TextArtifact { sourcesJarMd5Checksum }, + "$mavenName-$version-sources.jar.sha1" to TextArtifact { sourcesJarSha1Checksum }, + "$mavenName-$version-sources.jar.sha256" to TextArtifact { sourcesJarSha256Checksum }, + "$mavenName-$version-sources.jar.sha512" to TextArtifact { sourcesJarSha512Checksum }, "$mavenName-$version.pom" to TextArtifact { pom }, "$mavenName-$version.pom.md5" to TextArtifact { pom.md5Checksum() }, "$mavenName-$version.pom.sha1" to TextArtifact { pom.sha1Checksum() }, @@ -40,3 +63,4 @@ fun buildVersionArtifacts(actionCoords: ActionCoords): Map? = "$mavenName-$version.module.sha512" to TextArtifact { module.sha512Checksum() }, ) } +}