11package xyz.srnyx.gradlegalaxy.utility
22
3+ import kotlinx.serialization.json.JsonObject
4+ import kotlinx.serialization.json.contentOrNull
5+ import kotlinx.serialization.json.jsonArray
6+ import kotlinx.serialization.json.jsonObject
7+ import kotlinx.serialization.json.jsonPrimitive
38import me.modmuss50.mpp.ModPublishExtension
49import me.modmuss50.mpp.PublishModTask
510import me.modmuss50.mpp.ReleaseType
11+ import me.modmuss50.mpp.networking.RequestContext.Default.json
612import me.modmuss50.mpp.platforms.curseforge.Curseforge
713import me.modmuss50.mpp.platforms.modrinth.Modrinth
814import org.gradle.api.Action
@@ -39,6 +45,7 @@ import xyz.srnyx.gradlegalaxy.data.platforms.PluginPlatform
3945import xyz.srnyx.gradlegalaxy.data.pom.DeveloperData
4046import xyz.srnyx.gradlegalaxy.enums.Repository
4147import xyz.srnyx.gradlegalaxy.enums.repository
48+ import java.io.File
4249
4350import kotlin.String
4451
@@ -469,17 +476,26 @@ fun Project.setupPublishingPlatforms(
469476 check(hasModPublishPlugin()) { " Mod Publish plugin is not applied!" }
470477
471478 val minecraftVersionEnd = config.minecraftVersionEnd ? : " latest"
472- val jarTask = tasks.named<Jar >(if (hasShadowPlugin()) " shadowJar" else " jar" )
473479
474480 // Setup publishing
475481 extensions.configure<ModPublishExtension >(" publishMods" ) {
476482 // Dry run
477483 dryRun.set(config.dryRun)
478484
479- // Metadata
480- displayName.set(project.version.toString())
485+ // Mod loaders
481486 modLoaders.set(config.loaders)
482487
488+ // Display name
489+ val event = getEnvironmentVariable(" GITHUB_EVENT_PATH" )
490+ ?.let { json.decodeFromString<JsonObject >(File (it).readText()) }
491+ displayName.set(event
492+ // Release name
493+ ?.get(" release" )?.jsonObject?.get(" name" )?.jsonPrimitive?.contentOrNull
494+ // Commit name
495+ ? : event?.get(" commits" )?.jsonArray?.firstOrNull()?.jsonObject?.get(" message" )?.jsonPrimitive?.contentOrNull
496+ // Project version
497+ ? : project.version.toString())
498+
483499 // Type
484500 type.set(when {
485501 inGitHubPublish -> ReleaseType .STABLE
@@ -488,7 +504,7 @@ fun Project.setupPublishingPlatforms(
488504 })
489505
490506 // Primary file (shadowJar or jar)
491- file.set(jarTask .flatMap { it.archiveFile })
507+ file.set(tasks.named< Jar >( if (hasShadowPlugin()) " shadowJar " else " jar " ) .flatMap { it.archiveFile })
492508
493509 // Additional files (javadocJar and sourcesJar)
494510 tasks.findByName(" javadocJar" )?.let { additionalFiles.from(it) }
0 commit comments