diff --git a/build-logic/src/main/kotlin/extensions.kt b/build-logic/src/main/kotlin/extensions.kt index d78525996..47b104719 100644 --- a/build-logic/src/main/kotlin/extensions.kt +++ b/build-logic/src/main/kotlin/extensions.kt @@ -24,6 +24,7 @@ */ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import net.kyori.indra.git.IndraGitExtension import org.gradle.api.DefaultTask import org.gradle.api.Project import org.gradle.api.artifacts.MinimalExternalModuleDependency @@ -33,6 +34,7 @@ import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction import org.gradle.kotlin.dsl.named +import org.gradle.kotlin.dsl.the import java.io.File import java.net.URL @@ -114,6 +116,16 @@ open class DownloadFilesTask : DefaultTask() { } } +fun Project.branchName(): String = + the().branchName() ?: System.getenv("BRANCH_NAME") ?: "local/dev" + +fun Project.shouldAddBranchName(): Boolean { + return branchName() !in arrayOf("master", "local/dev") +} + +fun Project.versionWithBranchName(): String = + branchName().replace(Regex("[^0-9A-Za-z-_]"), "-") + '-' + version + private fun calcExclusion(section: String, bit: Int, excludedOn: Int): String = if (excludedOn and bit > 0) section else "" diff --git a/build-logic/src/main/kotlin/geyser.publish-conventions.gradle.kts b/build-logic/src/main/kotlin/geyser.publish-conventions.gradle.kts index eca587721..753b24531 100644 --- a/build-logic/src/main/kotlin/geyser.publish-conventions.gradle.kts +++ b/build-logic/src/main/kotlin/geyser.publish-conventions.gradle.kts @@ -4,6 +4,12 @@ plugins { } indra { + configurePublications { + if (shouldAddBranchName()) { + version = versionWithBranchName() + } + } + publishSnapshotsTo("geysermc", "https://repo.opencollab.dev/maven-snapshots") publishReleasesTo("geysermc", "https://repo.opencollab.dev/maven-releases") } @@ -12,4 +18,4 @@ publishing { // skip shadow jar from publishing. Workaround for https://github.com/johnrengelman/shadow/issues/651 val javaComponent = project.components["java"] as AdhocComponentWithVariants javaComponent.withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) { skip() } -} \ No newline at end of file +}