Browse Source

Add publishing task.

Yao Wei Tjong 姚伟忠 7 years ago
parent
commit
e8e0068681

+ 1 - 1
android/launcher-app/build.gradle.kts

@@ -35,7 +35,7 @@ android {
         targetSdkVersion(27)
         applicationId = "com.github.urho3d.launcher"
         versionCode = 1
-        versionName = "1.8-SNAPSHOT"
+        versionName = project.version.toString()
         testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
         externalNativeBuild {
             cmake {

+ 25 - 3
android/urho3d-lib/build.gradle.kts

@@ -26,6 +26,7 @@ plugins {
     id("com.android.library")
     id("kotlin-android")
     id("kotlin-android-extensions")
+    `maven-publish`
 }
 
 android {
@@ -34,7 +35,7 @@ android {
         minSdkVersion(17)
         targetSdkVersion(27)
         versionCode = 1
-        versionName = "1.8-SNAPSHOT"
+        versionName = project.version.toString()
         testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
         externalNativeBuild {
             cmake {
@@ -134,7 +135,7 @@ afterEvaluate {
                 val externalNativeBuildDir = File(buildDir, "tree/$config")
                 doLast {
                     tasks.getByName<Zip>("zipBuildTree$config") {
-                        onlyIf { tasks["assemble$config"].state.executed }
+                        onlyIf { tasks["bundle${config}Aar"].state.executed }
                         externalNativeBuildDir.list()?.forEach { abi ->
                             listOf("include", "lib").forEach {
                                 from(File(externalNativeBuildDir, "$abi/$it")) {
@@ -145,7 +146,28 @@ afterEvaluate {
                     }
                 }
             }
-            "assemble$config" { finalizedBy("zipBuildTree$config") }
+            "bundle${config}Aar" { finalizedBy("zipBuildTree$config") }
+        }
+    }
+}
+
+tasks {
+    create<Jar>("sourcesJar") {
+        from(android.sourceSets.getByName("main").java.srcDirs)
+        classifier = "sources"
+    }
+}
+
+publishing {
+    (publications) {
+        create<MavenPublication>("mavenAndroid") {
+            afterEvaluate {
+                android.buildTypes.forEach {
+                    artifact(tasks.getByName("bundle${it.name.capitalize()}Aar"))
+                            .classifier = it.name
+                }
+            }
+            artifact(tasks.getByName("sourcesJar"))
         }
     }
 }

+ 2 - 0
build.gradle.kts

@@ -41,6 +41,8 @@ buildscript {
 }
 
 allprojects {
+    group = "com.github.urho3d"
+    version = "1.8-SNAPSHOT"
     repositories {
         google()
         jcenter()

+ 3 - 0
settings.gradle.kts

@@ -20,4 +20,7 @@
 // THE SOFTWARE.
 //
 
+// See https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:deferred_configuration
+enableFeaturePreview("STABLE_PUBLISHING")
+
 include(":android:urho3d-lib", ":android:launcher-app")