-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild-maven-publish.gradle
97 lines (87 loc) · 4.03 KB
/
build-maven-publish.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
apply plugin: 'maven-publish'
apply plugin: 'signing'
task androidSwrveMParticleJavadoc(type: Javadoc) {
description "Generates Javadoc for SwrveGeoSDK."
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath += files(ext.androidJar)
exclude '**/BuildConfig.java'
exclude '**/R.java'
exclude '**/README.md'
failOnError true
// Use the release variant classpath
android.libraryVariants.all { variant ->
if (variant.name == "release") {
source = variant.sourceSets.collect { it.java.sourceFiles }.inject { t, fc -> t + fc }
doFirst {
classpath += files(variant.javaCompileProvider.get().classpath.files)
}
}
}
}
task androidSwrveMParticleJavadocsJar(type: Jar) {
description "Package Javadoc for SwrveGeoSDK."
archiveClassifier = 'javadoc'
from androidSwrveMParticleJavadoc
}
if (System.getenv('GPG_KEY_ID') != null) {
project.ext['signing.keyId'] = System.getenv('GPG_KEY_ID')
project.ext['signing.password'] = System.getenv('GPG_KEY_PASSPHRASE')
project.ext['signing.secretKeyRingFile'] = System.getenv('GPG_KEYRING_FILE')
}
publishing {
repositories {
maven {
if (System.getenv('PUBLISH_TO_SONATYPE') != null) {
url = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
name = "sonatype"
credentials {
username System.getenv('SONATYPE_USER')
password System.getenv('SONATYPE_PASSWORD')
}
} else {
url "$buildDir/../publish"
}
}
}
publications {
mparticle(MavenPublication) {
artifactId project.SWRVE_MPARTICLE_ARTIFACT_ID
groupId project.SWRVE_MPARTICLE_GROUP_ID
version project.SWRVE_MPARTICLE_VERSION
artifacts = ["$buildDir/outputs/aar/${project.name}-release.aar", androidSwrveMParticleJavadocsJar]
pom.withXml {
def root = asNode()
root.appendNode('name', 'mparticle-android-integration-swrve')
root.appendNode('description', 'mParticle Kit integration for Swrve Android SDK')
root.appendNode('url', 'https://github.com/swrve-services/mparticle-android-integration-swrve')
def dependenciesNode = root.appendNode('dependencies')
configurations.getByName("releaseCompileClasspath").allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
dependencyNode.appendNode('scope', 'compile')
}
def scm = root.appendNode('scm')
scm.appendNode('url', 'scm:git@github.com:Swrve/swrve-android-sdk.git')
scm.appendNode('connection', 'scm:git@github.com:Swrve/swrve-android-sdk.git')
scm.appendNode('developerConnection', 'scm:git@github.com:Swrve/swrve-android-sdk.git')
def license = root.appendNode('licenses').appendNode('license')
license.appendNode('name', 'The Apache Software License, Version 2.0')
license.appendNode('url', 'http://www.apache.org/licenses/LICENSE-2.0.txt')
def developer = root.appendNode('developers').appendNode('developer')
developer.appendNode('id', 'sdkdev')
developer.appendNode('name', 'Swrve SDK Developer')
}
}
}
}
String isSignAndroidRelease = System.getenv('SIGN_ANDROID_RELEASE')
if (isSignAndroidRelease != null && isSignAndroidRelease.toBoolean()) {
project.logger.lifecycle('Swrve: Setting sign publishing.publications')
signing {
sign publishing.publications
}
} else {
project.logger.lifecycle('Swrve: Not setting sign publishing.publications')
}