1
1
apply plugin : ' com.android.library'
2
+ apply plugin : ' digital.wup.android-maven-publish'
3
+ apply plugin : ' signing'
2
4
3
5
android {
4
6
compileSdkVersion 28
@@ -22,20 +24,78 @@ dependencies {
22
24
api ' cz.msebera.android:httpclient:4.5.8'
23
25
}
24
26
25
- android. libraryVariants. all { variant ->
26
- def name = variant. buildType. name
27
- def task = project. tasks. create " jar${ name.capitalize()} " , Jar
28
- task. dependsOn variant. javaCompile
29
- task. from variant. javaCompile. destinationDir
30
- artifacts. add(' archives' , task)
31
- }
32
-
33
- apply from : ' ../maven_push.gradle'
27
+ project. afterEvaluate { project ->
34
28
35
- afterEvaluate { project ->
36
29
android. libraryVariants. all { variant ->
37
- tasks. androidJavadocs. doFirst {
38
- classpath + = files(variant. javaCompile. classpath. files)
30
+ def name = variant. buildType. name
31
+ def task = project. tasks. create " jar${ name.capitalize()} " , Jar
32
+ task. dependsOn variant. javaCompileProvider. get()
33
+ task. from variant. javaCompileProvider. get(). destinationDir
34
+ }
35
+
36
+ task sourcesJar(type : Jar ) {
37
+ from android. sourceSets. main. java. srcDirs
38
+ archiveClassifier = ' sources'
39
+ }
40
+
41
+ task javadocJar(type : Jar , dependsOn : tasks. findAll { task -> task. name. contains(' Javadoc' ) }) {
42
+ archiveClassifier = ' javadoc'
43
+ from ' build/docs/javadoc/release/'
44
+ }
45
+
46
+ publishing {
47
+ publications {
48
+ maven(MavenPublication ) {
49
+ artifactId = POM_ARTIFACT_ID
50
+ artifact javadocJar
51
+ artifact sourcesJar
52
+ artifact jarRelease
53
+ from components. android
54
+
55
+ pom {
56
+ name = POM_NAME
57
+ description = POM_DESCRIPTION
58
+ packaging = POM_PACKAGING
59
+ url = POM_URL
60
+
61
+ scm {
62
+ connection = POM_SCM_CONNECTION
63
+ developerConnection = POM_SCM_DEV_CONNECTION
64
+ url = POM_SCM_URL
65
+ }
66
+
67
+ licenses {
68
+ license {
69
+ name = POM_LICENCE_NAME
70
+ url = POM_LICENCE_URL
71
+ distribution = POM_LICENCE_DIST
72
+ }
73
+ }
74
+ }
75
+
76
+ pom. name = POM_NAME
77
+ pom. description = POM_DESCRIPTION
78
+ pom. url = POM_URL
79
+ pom. packaging = POM_PACKAGING
80
+ }
39
81
}
82
+ repositories {
83
+ maven {
84
+ def releaseUrl = " https://oss.sonatype.org/service/local/staging/deploy/maven2/"
85
+ def snapshotUrl = " https://oss.sonatype.org/content/repositories/snapshots/"
86
+ url = version. endsWith(' SNAPSHOT' ) ? snapshotUrl : releaseUrl
87
+ credentials {
88
+ def NexusUsername = project. hasProperty(' NEXUS_USERNAME' ) ? NEXUS_USERNAME : ' '
89
+ def NexusPassword = project. hasProperty(' NEXUS_PASSWORD' ) ? NEXUS_PASSWORD : ' '
90
+ username NexusUsername
91
+ password NexusPassword
92
+ }
93
+ }
94
+ }
95
+ }
96
+
97
+ signing {
98
+ sign publishing. publications. maven
40
99
}
41
100
}
101
+
0 commit comments