forked from libgdx/gdx-pay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
publish_android.gradle
113 lines (99 loc) · 3.61 KB
/
publish_android.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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
* Copyright 2013 Chris Banes
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*
*/
/**
* GDX-PAY remarks:
*
* Downloaded from https://raw.githubusercontent.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle
* with small modifications:
* GROUP --> GROUPID
* VERSIONCODE --> VERSION
* POM_ARTIFACT_ID --> ${project.name}
* added getRepositoryUrl(), isLocalBuild()
*/
apply plugin: 'maven-publish'
apply plugin: 'maven'
apply plugin: 'signing'
apply from: rootProject.file('publish_to_maven_repo.gradle')
ext.mavenDeploymentVersion = version
afterEvaluate { project ->
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.sourceFiles
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
}
def getRepositoryUrl() {
if (isLocalBuild()) {
return getLocalRepositoryUrl()
}
if (isReleaseBuild()) {
return getReleaseRepositoryUrl()
}
return getSnapshotRepositoryUrl()
}
publishing {
publications {
maven(MavenPublication) {
artifact "${project.buildDir}/outputs/aar/${project.name}-release.aar"
artifactId = project.name
groupId = project.group
version = project.version
//The publication doesn't know about our dependencies, so we have to manually add them to the pom
// See also: http://stackoverflow.com/questions/28827593/android-library-dependencies-missing-from-pom-with-gradle
pom.withXml {
// for dependencies and exclusions
def dependenciesNode = asNode().appendNode('dependencies')
configurations.compile.allDependencies.each { ModuleDependency dp ->
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dp.group)
dependencyNode.appendNode('artifactId', dp.name)
dependencyNode.appendNode('version', dp.version)
// for exclusions
if (dp.excludeRules.size() > 0) {
def exclusions = dependencyNode.appendNode('exclusions')
dp.excludeRules.each { ExcludeRule ex ->
def exclusion = exclusions.appendNode('exclusion')
exclusion.appendNode('groupId', ex.group)
exclusion.appendNode('artifactId', ex.module)
}
}
}
}
}
}
repositories {
maven {
credentials {
username getRepositoryUsername()
password getRepositoryPassword()
}
url getRepositoryUrl()
}
}
}