1
1
apply plugin : ' com.jfrog.bintray'
2
+ apply plugin : ' maven-publish'
2
3
3
4
group = mavenGroup
4
5
version = mavenVersion
5
6
7
+ task sourcesJar (type : Jar ) {
8
+ from android. sourceSets. main. java. srcDirs
9
+ classifier = ' sources'
10
+ }
11
+
12
+ task javadoc (type : Javadoc ) {
13
+ source = android. sourceSets. main. java. srcDirs
14
+ classpath + = configurations. compile
15
+ classpath + = project. files(android. getBootClasspath(). join(File . pathSeparator))
16
+
17
+ failOnError = false
18
+ }
19
+
20
+ task javadocJar (type : Jar , dependsOn : javadoc) {
21
+ classifier = ' javadoc'
22
+ from javadoc. destinationDir
23
+ }
24
+
25
+ artifacts {
26
+ archives sourcesJar
27
+ archives javadocJar
28
+ }
29
+
30
+ publishing {
31
+ publications {
32
+ library(MavenPublication ) {
33
+
34
+ groupId mavenGroup
35
+ artifactId mavenArtifactId
36
+ version mavenVersion
37
+
38
+ artifact " $buildDir /outputs/aar/$mavenArtifactId -release.aar"
39
+ artifact javadocJar
40
+ artifact sourcesJar
41
+
42
+ pom. withXml {
43
+ // Name
44
+ asNode(). appendNode(' name' , " EasyPermissions" )
45
+
46
+ // Description
47
+ asNode(). appendNode(' description' , ' A wrapper library for basic Android M system permissions logic' )
48
+
49
+ // URL
50
+ asNode(). appendNode(' url' , ' https://github.com/googlesamples/easypermissions' )
51
+
52
+ // Inception Year
53
+ asNode(). appendNode(' inceptionYear' , ' 2015' )
54
+
55
+ // Licenses
56
+ def license = asNode(). appendNode(' licenses' ). appendNode(' license' )
57
+ license. appendNode(' name' , ' The Apache Software License, Version 2.0' )
58
+ license. appendNode(' url' , ' http://www.apache.org/licenses/LICENSE-2.0.txt' )
59
+ license. appendNode(' distribution' , ' repo' )
60
+
61
+ // Developers
62
+ def developer = asNode(). appendNode(' developers' ). appendNode(' developer' )
63
+ developer. appendNode(' name' , ' Google' )
64
+
65
+ // SCM
66
+ def scm = asNode(). appendNode(' scm' )
67
+ scm. appendNode(' connection' , ' https://github.com/googlesamples/easypermissions.git' )
68
+ scm. appendNode(' url' , ' https://github.com/googlesamples/easypermissions' )
69
+
70
+ // Dependencies
71
+ def dependenciesNode = asNode(). getAt(' dependencies' )[0 ]
72
+ if (dependenciesNode == null ) {
73
+ dependenciesNode = asNode(). appendNode(' dependencies' )
74
+ }
75
+
76
+ // Add all that are 'compile'
77
+ configurations. api. allDependencies. each {
78
+ def dependencyNode = dependenciesNode. appendNode(' dependency' )
79
+ dependencyNode. appendNode(' groupId' , it. group)
80
+ dependencyNode. appendNode(' artifactId' , it. name)
81
+ dependencyNode. appendNode(' version' , it. version)
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+
6
88
bintray {
7
89
user = hasProperty(' BINTRAY_USER' ) ? getProperty(' BINTRAY_USER' ) : System . getenv(' BINTRAY_USER' )
8
90
key = hasProperty(' BINTRAY_KEY' ) ? getProperty(' BINTRAY_KEY' ) : System . getenv(' BINTRAY_KEY' )
9
91
92
+ filesSpec {
93
+ from " $buildDir /publications/library/pom-default.xml"
94
+ into " pub/devrel/$mavenArtifactId /$mavenVersion /"
95
+ rename { String fileName ->
96
+ " ${ mavenArtifactId} -${ mavenVersion} .pom"
97
+ }
98
+ }
99
+
10
100
configurations = [ ' archives' ]
11
101
12
102
pkg {
@@ -22,3 +112,10 @@ bintray {
22
112
}
23
113
}
24
114
}
115
+
116
+ afterEvaluate { project ->
117
+ def pomTask = " generatePomFileForLibraryPublication"
118
+
119
+ // Convenience task to prepare everything we need for releases
120
+ task prepareArtifacts(dependsOn : [javadocJar, sourcesJar, assembleRelease, pomTask]) {}
121
+ }
0 commit comments