gradle upload: list files on error

This commit is contained in:
Moritz Zwerger 2024-06-11 19:36:57 +02:00
parent fa9981204b
commit 25ad7a1abb
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -14,12 +14,12 @@
import de.bixilon.kutil.array.ByteArrayUtil.toHex import de.bixilon.kutil.array.ByteArrayUtil.toHex
import de.bixilon.kutil.base64.Base64Util.fromBase64 import de.bixilon.kutil.base64.Base64Util.fromBase64
import de.bixilon.kutil.base64.Base64Util.toBase64 import de.bixilon.kutil.base64.Base64Util.toBase64
import de.bixilon.kutil.buffer.BufferDefinition
import de.bixilon.kutil.hash.HashUtil import de.bixilon.kutil.hash.HashUtil
import de.bixilon.kutil.os.Architectures import de.bixilon.kutil.os.Architectures
import de.bixilon.kutil.os.OSTypes import de.bixilon.kutil.os.OSTypes
import de.bixilon.kutil.os.PlatformInfo import de.bixilon.kutil.os.PlatformInfo
import de.bixilon.kutil.primitive.BooleanUtil.toBoolean import de.bixilon.kutil.primitive.BooleanUtil.toBoolean
import de.bixilon.kutil.stream.InputStreamUtil.copy
import de.bixilon.kutil.time.TimeUtil import de.bixilon.kutil.time.TimeUtil
import org.ajoberstar.grgit.Commit import org.ajoberstar.grgit.Commit
import org.ajoberstar.grgit.Grgit import org.ajoberstar.grgit.Grgit
@ -30,6 +30,7 @@ import org.gradle.configurationcache.extensions.capitalized
import org.gradle.jvm.tasks.Jar import org.gradle.jvm.tasks.Jar
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.io.FileInputStream import java.io.FileInputStream
import java.io.FileNotFoundException
import java.io.IOException import java.io.IOException
import java.net.URI import java.net.URI
import java.net.URLEncoder import java.net.URLEncoder
@ -557,24 +558,15 @@ task("upload") {
doLast { doLast {
val path = "${project.name}-fat-${os.name.lowercase()}-${architecture.name.lowercase()}-${project.version}.jar" val path = "${project.name}-fat-${os.name.lowercase()}-${architecture.name.lowercase()}-${project.version}.jar"
val file = File("build/libs/$path") val file = File("build/libs/$path")
if (!file.exists()) throw FileNotFoundException("Release file to upload was not found???: $file, available: ${file.parentFile.listFiles()}")
val key = KeyFactory.getInstance("RSA").generatePrivate(PKCS8EncodedKeySpec(System.getenv("RELEASE_KEY").fromBase64())) val key = KeyFactory.getInstance("RSA").generatePrivate(PKCS8EncodedKeySpec(System.getenv("RELEASE_KEY").fromBase64()))
// TODO: get from kutil 1.26
val digest = MessageDigest.getInstance(HashUtil.SHA_512) val digest = MessageDigest.getInstance(HashUtil.SHA_512)
val sign = Signature.getInstance("SHA512withRSA") val sign = Signature.getInstance("SHA512withRSA")
sign.initSign(key) sign.initSign(key)
val stream = FileInputStream(file) val stream = FileInputStream(file)
stream.copy(digest = digest, signature = sign)
val buffer = ByteArray(BufferDefinition.DEFAULT_BUFFER_SIZE)
var length: Int
while (true) {
length = stream.read(buffer, 0, buffer.size)
if (length < 0) {
break
}
digest.update(buffer, 0, length)
sign.update(buffer, 0, length)
}
val sha512 = digest.digest().toHex() val sha512 = digest.digest().toHex()
val signature = sign.sign().toBase64() val signature = sign.sign().toBase64()