1
+ /*
2
+ * Copyright 2013 Chris Banes
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ apply plugin : ' maven'
18
+ apply plugin : ' signing'
19
+
20
+ def isReleaseBuild () {
21
+ return VERSION_NAME . contains(" SNAPSHOT" ) == false
22
+ }
23
+
24
+ def getReleaseRepositoryUrl () {
25
+ return hasProperty(' RELEASE_REPOSITORY_URL' ) ? RELEASE_REPOSITORY_URL
26
+ : " https://oss.sonatype.org/service/local/staging/deploy/maven2/"
27
+ }
28
+
29
+ def getSnapshotRepositoryUrl () {
30
+ return hasProperty(' SNAPSHOT_REPOSITORY_URL' ) ? SNAPSHOT_REPOSITORY_URL
31
+ : " https://oss.sonatype.org/content/repositories/snapshots/"
32
+ }
33
+
34
+ def getRepositoryUsername () {
35
+ return hasProperty(' NEXUS_USERNAME' ) ? NEXUS_USERNAME : " "
36
+ }
37
+
38
+ def getRepositoryPassword () {
39
+ return hasProperty(' NEXUS_PASSWORD' ) ? NEXUS_PASSWORD : " "
40
+ }
41
+
42
+ afterEvaluate { project ->
43
+ uploadArchives {
44
+ repositories {
45
+ mavenDeployer {
46
+ beforeDeployment { MavenDeployment deployment -> signing. signPom(deployment) }
47
+
48
+ pom. groupId = GROUP
49
+ pom. artifactId = POM_ARTIFACT_ID
50
+ pom. version = VERSION_NAME
51
+
52
+ repository(url : getReleaseRepositoryUrl()) {
53
+ authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
54
+ }
55
+ snapshotRepository(url : getSnapshotRepositoryUrl()) {
56
+ authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
57
+ }
58
+
59
+ pom. project {
60
+ name POM_NAME
61
+ packaging POM_PACKAGING
62
+ description POM_DESCRIPTION
63
+ url POM_URL
64
+
65
+ scm {
66
+ url POM_SCM_URL
67
+ connection POM_SCM_CONNECTION
68
+ developerConnection POM_SCM_DEV_CONNECTION
69
+ }
70
+
71
+ licenses {
72
+ license {
73
+ name POM_LICENCE_NAME
74
+ url POM_LICENCE_URL
75
+ distribution POM_LICENCE_DIST
76
+ }
77
+ }
78
+
79
+ developers {
80
+ developer {
81
+ id POM_DEVELOPER_ID
82
+ name POM_DEVELOPER_NAME
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ signing {
91
+ required { isReleaseBuild() && gradle. taskGraph. hasTask(" uploadArchives" ) }
92
+ sign configurations. archives
93
+ }
94
+
95
+ // task androidJavadocs(type: Javadoc) {
96
+ // source = android.sourceSets.main.allJava
97
+ // }
98
+
99
+ // task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
100
+ // classifier = 'javadoc'
101
+ // from androidJavadocs.destinationDir
102
+ // }
103
+
104
+ task androidSourcesJar(type : Jar ) {
105
+ classifier = ' sources'
106
+ from android. sourceSets. main. java. sourceFiles
107
+ }
108
+
109
+ artifacts {
110
+ archives androidSourcesJar
111
+ }
112
+ }
0 commit comments