spine-runtimes/spine-android/build.gradle.kts

56 lines
2.0 KiB
Plaintext

buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath("org.jreleaser:jreleaser-gradle-plugin:1.18.0")
}
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.jetbrainsKotlinAndroid) apply false
alias(libs.plugins.androidLibrary) apply false
id("org.jreleaser") version "1.17.0" apply false
}
// Read version from spine-libgdx gradle.properties to ensure consistency
fun getSpineVersion(): String {
val spineLibgdxPropsFile = File(project.projectDir, "../spine-libgdx/gradle.properties")
if (!spineLibgdxPropsFile.exists()) {
throw GradleException("spine-libgdx gradle.properties file not found at ${spineLibgdxPropsFile.absolutePath}")
}
val lines = spineLibgdxPropsFile.readLines()
for (line in lines) {
if (line.startsWith("version=")) {
return line.split("=")[1].trim()
}
}
throw GradleException("version property not found in spine-libgdx gradle.properties")
}
// Placeholder functions - you need to implement these correctly!
fun getRepositoryUsername(): String {
// Example: return project.findProperty("mavenCentralUsername") as? String ?: System.getenv("MAVEN_CENTRAL_USERNAME") ?: ""
return project.findProperty("sonatypeUsername") as? String ?: System.getenv("SONATYPE_USERNAME") ?: throw GradleException("Sonatype username not set")
}
fun getRepositoryPassword(): String {
// Example: return project.findProperty("mavenCentralPassword") as? String ?: System.getenv("MAVEN_CENTRAL_PASSWORD") ?: ""
return project.findProperty("sonatypePassword") as? String ?: System.getenv("SONATYPE_PASSWORD") ?: throw GradleException("Sonatype password not set")
}
allprojects {
group = "com.esotericsoftware.spine"
version = getSpineVersion()
}
// Add a clean task for JReleaser
tasks.register("clean") {
description = "Clean root project"
}