zhipeng пре 3 година
родитељ
комит
4c2de76ef0
4 измењених фајлова са 87 додато и 15 уклоњено
  1. 2 12
      build.gradle
  2. 0 3
      consumer-rules.pro
  3. 22 0
      jar.gradle
  4. 63 0
      publish.gradle

+ 2 - 12
build.gradle

@@ -1,6 +1,7 @@
 plugins {
     id 'com.android.library'
 }
+apply from: './publish.gradle'
 
 android {
     compileSdkVersion 30
@@ -11,12 +12,11 @@ android {
         versionCode 100
         versionName "1.0.0"
 
-        consumerProguardFiles "consumer-rules.pro"
     }
 
     buildTypes {
         release {
-            minifyEnabled true
+            minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
     }
@@ -24,16 +24,6 @@ android {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
-
-    libraryVariants.all { variant ->
-        variant.outputs.all {
-            def fileName = "AtmobChannelReader" +
-                    "-v${defaultConfig.versionName}" +
-                    "-${variant.buildType.name}" +
-                    ".aar"
-            outputFileName = fileName
-        }
-    }
 }
 
 dependencies {

+ 0 - 3
consumer-rules.pro

@@ -1,3 +0,0 @@
--keep class com.atmob.channelreader.ChannelReader {
-    public <methods>;
-}

+ 22 - 0
jar.gradle

@@ -0,0 +1,22 @@
+// query for all (non-test) variants and inject a new step in the builds
+android.libraryVariants.all { variant ->
+    def jarTask = project.tasks.create(name:"jar${variant.name.capitalize()}", type: Jar) {
+        from            variant.getJavaCompileProvider().get().destinationDir
+        exclude         "**/R.class"
+        exclude          "**/BuildConfig.class"
+    }
+    jarTask.dependsOn variant.getJavaCompileProvider().get()
+    artifacts.add('archives', jarTask)
+}
+
+//android.libraryVariants.all { variant ->
+//    def name = variant.buildType.name
+//
+//    // Only attach a jar for non-debug build types.
+//    if (!name.equals(com.android.builder.BuilderConstants.DEBUG)) {
+//        def task = project.tasks.create "jar${name.capitalize()}", Jar
+//        task.dependsOn variant.javaCompile
+//        task.from variant.javaCompile.destinationDir
+//        artifacts.add('archives', task);
+//    }
+//}

+ 63 - 0
publish.gradle

@@ -0,0 +1,63 @@
+apply plugin: 'maven'
+apply plugin: 'signing'
+apply from: './jar.gradle'
+
+signing {
+    required { hasProperty("release") && gradle.taskGraph.hasTask("uploadArchives") }
+    sign configurations.archives
+}
+
+String ver = '1.0.0-SNAPSHOT'
+
+String publishUrl = ver.endsWith("-SNAPSHOT") ? "http://192.168.10.99:8081/repository/android-snapshot/"
+        : "http://192.168.10.99:8081/repository/android-release/"
+
+uploadArchives {
+    configuration = configurations.archives
+    repositories.mavenDeployer {
+        beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
+
+        repository(url: 'http://192.168.10.99:8081/repository/android-release/') {
+            //仓库地址
+            authentication(userName: "android",   //用户名
+                    password: "xingmeng@android")    //密码
+        }
+
+        snapshotRepository(url: 'http://192.168.10.99:8081/repository/android-snapshot/') {
+            //仓库地址
+            authentication(userName: "android",   //用户名
+                    password: "xingmeng@android")    //密码
+        }
+
+        pom.project {
+            name 'channel'    //仓库命名
+            packaging 'jar'    //打包类型
+            description '设备相关'     //描述
+            url publishUrl  //仓库地址
+            groupId "extra.pack"    //仓库分组(最好用自己的包名)
+            artifactId "channel"     //项目名称(随意)
+            version ver
+        }
+    }
+}
+
+task androidJavadocs(type: Javadoc) {
+    source = android.sourceSets.main.java.sourceFiles
+    ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
+    classpath += files(ext.androidJar)
+}
+
+task androidJavadocsJar(type: Jar) {
+    getArchiveClassifier().set("javadoc")
+    from androidJavadocs.destinationDir
+}
+
+task androidSourcesJar(type: Jar) {
+    getArchiveClassifier().set("sources")
+    from android.sourceSets.main.java.srcDirs
+}
+
+artifacts {
+    archives androidSourcesJar
+    archives androidJavadocsJar
+}