Skip to content
This repository was archived by the owner on Oct 3, 2024. It is now read-only.

Commit 06a8357

Browse files
authored
Rewrite POM generation (#188)
2 parents fd4d351 + 771fdc2 commit 06a8357

File tree

4 files changed

+98
-62
lines changed

4 files changed

+98
-62
lines changed

build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ buildscript {
66

77
dependencies {
88
classpath 'com.android.tools.build:gradle:3.0.1'
9-
10-
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
119
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
1210
}
1311
}
@@ -31,7 +29,7 @@ ext {
3129

3230
mavenGroup = 'pub.devrel'
3331
mavenArtifactId = 'easypermissions'
34-
mavenVersion = '1.1.0'
32+
mavenVersion = '1.1.1-SNAPSHOT'
3533

3634
bintrayOrg = 'easygoogle'
3735

easypermissions/bintray.gradle

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,102 @@
11
apply plugin: 'com.jfrog.bintray'
2+
apply plugin: 'maven-publish'
23

34
group = mavenGroup
45
version = mavenVersion
56

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+
688
bintray {
789
user = hasProperty('BINTRAY_USER') ? getProperty('BINTRAY_USER') : System.getenv('BINTRAY_USER')
890
key = hasProperty('BINTRAY_KEY') ? getProperty('BINTRAY_KEY') : System.getenv('BINTRAY_KEY')
991

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+
10100
configurations = [ 'archives' ]
11101

12102
pkg {
@@ -22,3 +112,10 @@ bintray {
22112
}
23113
}
24114
}
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+
}

easypermissions/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,4 @@ dependencies {
2727
testImplementation 'org.robolectric:robolectric:3.5.1'
2828
}
2929

30-
apply from: 'maven.gradle'
3130
apply from: 'bintray.gradle'

easypermissions/maven.gradle

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)