diff --git a/spine-android/app/build.gradle.kts b/spine-android/app/build.gradle.kts index 586da8e28..de1569259 100644 --- a/spine-android/app/build.gradle.kts +++ b/spine-android/app/build.gradle.kts @@ -71,6 +71,5 @@ dependencies { debugImplementation(libs.androidx.ui.test.manifest) implementation(project(":spine-android")) - // Run `./gradlew publishToMavenLocal` in `spine-android` to use from local maven repo. -// implementation("com.esotericsoftware:spine-android:4.2") + // implementation("com.esotericsoftware.spine:spine-android:4.2.2-SNAPSHOT") } diff --git a/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt b/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt index df8350a39..c1b507b52 100644 --- a/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt +++ b/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt @@ -62,7 +62,7 @@ fun AnimationState(nav: NavHostController) { controller.skeleton.setScaleX(0.5f) controller.skeleton.setScaleY(0.5f) - controller.skeleton.findSlot("gun")?.color = Color(1f, 0f, 0f, 1f) + controller.skeleton.findSlot("gun")?.color?.set(Color(1f, 0f, 0f, 1f)) controller.animationStateData.setDefaultMix(0.2f) controller.animationState.setAnimation(0, "walk", true).setListener(object : AnimationState.AnimationStateListener { diff --git a/spine-android/settings.gradle.kts b/spine-android/settings.gradle.kts index 8f1932fa2..749b05767 100644 --- a/spine-android/settings.gradle.kts +++ b/spine-android/settings.gradle.kts @@ -24,11 +24,11 @@ dependencyResolutionManagement { } rootProject.name = "Spine Android Examples" -includeBuild("../spine-libgdx") { - dependencySubstitution { - substitute(module("com.esotericsoftware.spine:spine-libgdx")).using(project(":spine-libgdx")) - } -} +//includeBuild("../spine-libgdx") { +// dependencySubstitution { +// substitute(module("com.esotericsoftware.spine:spine-libgdx")).using(project(":spine-libgdx")) +// } +//} //includeBuild("../../libgdx") { // dependencySubstitution { // substitute(module("com.badlogicgames.gdx:gdx")).using(project(":gdx")) diff --git a/spine-android/spine-android/build.gradle.kts b/spine-android/spine-android/build.gradle.kts index 9d77b1661..9aed02929 100644 --- a/spine-android/spine-android/build.gradle.kts +++ b/spine-android/spine-android/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.androidLibrary) `maven-publish` + signing } android { @@ -39,16 +40,47 @@ dependencies { androidTestImplementation(libs.androidx.espresso.core) } +val libraryVersion = "4.2.2-SNAPSHOT" // Update this as needed + +tasks.register("sourceJar") { + archiveClassifier.set("sources") + from(android.sourceSets["main"].java.srcDirs) +} + afterEvaluate { publishing { publications { - create("mavenLocal") { - groupId = "com.esotericsoftware" - artifactId = "spine-android" - version = "4.2" + create("release") { artifact(tasks.getByName("bundleReleaseAar")) + artifact(tasks.getByName("sourceJar")) + + groupId = "com.esotericsoftware.spine" + artifactId = "spine-android" + version = libraryVersion pom { + packaging = "aar" + name.set("spine-android") + description.set("Spine Runtime for Android") + url.set("https://github.com/esotericsoftware/spine-runtimes") + licenses { + license { + name.set("Spine Runtimes License") + url.set("http://esotericsoftware.com/spine-runtimes-license") + } + } + developers { + developer { + name.set("Esoteric Software") + email.set("contact@esotericsoftware.com") + } + } + scm { + url.set(pom.url.get()) + connection.set("scm:git:${url.get()}.git") + developerConnection.set("scm:git:${url.get()}.git") + } + withXml { val dependenciesNode = asNode().appendNode("dependencies") configurations.api.get().dependencies.forEach { dependency -> @@ -68,8 +100,30 @@ afterEvaluate { } } } + + } + } + } + + repositories { + maven { + name = "SonaType" + url = uri(if (libraryVersion.endsWith("-SNAPSHOT")) { + "https://oss.sonatype.org/content/repositories/snapshots" + } else { + "https://oss.sonatype.org/service/local/staging/deploy/maven2" + }) + + credentials { + username = project.findProperty("ossrhUsername") as String? + password = project.findProperty("ossrhPassword") as String? } } } } + + signing { + useGpgCmd() + sign(publishing.publications["release"]) + } }