23
23
* For faster runs add: -x check when building Glide.
24
24
*/
25
25
26
- apply plugin : ' maven'
26
+ apply plugin : ' maven-publish '
27
27
apply plugin : ' signing'
28
28
29
29
version = VERSION_NAME
@@ -62,29 +62,23 @@ afterEvaluate { project ->
62
62
def isAndroidProject = project. plugins. hasPlugin(' com.android.application' ) || project. plugins. hasPlugin(' com.android.library' )
63
63
// To avoid uploading the default empty jar artifact in the project root directory, we use a custom
64
64
// configuration to specify which artifacts we want to upload.
65
- uploadArchives {
66
- repositories {
67
- mavenDeployer {
68
- // allow uploading through FTP protocol with the following command:
69
- // gradle uploadArchives -PSNAPSHOT_REPOSITORY_URL=ftp://host/repo/path -PUSERNAME=uname -PPASSWORD=passwd
70
- configuration = configurations. create(' deployerJars' )
71
- configuration. dependencies. add dependencies. create(' org.apache.maven.wagon:wagon-ftp:2.2' )
72
-
73
- beforeDeployment { MavenDeployment deployment -> signing. signPom(deployment) }
74
-
75
- pom. groupId = GROUP
76
- pom. artifactId = POM_ARTIFACT_ID
77
- pom. version = VERSION_NAME
78
-
79
- repository(url : getReleaseRepositoryUrl()) {
80
- authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
81
- }
82
- snapshotRepository(url : getSnapshotRepositoryUrl()) {
83
- authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
84
- }
65
+ publishing {
66
+ publications {
67
+ mavenJava(MavenPublication ) {
68
+ groupId = GROUP
69
+ artifactId = POM_ARTIFACT_ID
70
+ version = VERSION_NAME
71
+
72
+ repositories {
73
+ maven {
74
+ url = isReleaseBuild() ? getReleaseRepositoryUrl() : getSnapshotRepositoryUrl()
85
75
86
- pom. whenConfigured { pom ->
87
- pom. packaging = POM_PACKAGING
76
+ credentials {
77
+ username = getRepositoryUsername()
78
+ password = getRepositoryPassword()
79
+
80
+ }
81
+ }
88
82
}
89
83
90
84
// Dependencies are only automatically included by the release plugin if the release
@@ -115,15 +109,16 @@ afterEvaluate { project ->
115
109
}
116
110
}
117
111
118
- pom. project {
112
+ pom {
119
113
name = POM_NAME
114
+ packaging = POM_PACKAGING
120
115
description = POM_DESCRIPTION
121
116
url = POM_URL
122
117
123
118
scm {
124
- url POM_SCM_URL
125
- connection POM_SCM_CONNECTION
126
- developerConnection POM_SCM_DEV_CONNECTION
119
+ connection = POM_SCM_CONNECTION
120
+ developerConnection = POM_SCM_DEV_CONNECTION
121
+ url = POM_SCM_URL
127
122
}
128
123
129
124
licenses {
@@ -147,93 +142,86 @@ afterEvaluate { project ->
147
142
}
148
143
}
149
144
}
150
- }
151
- }
152
- }
153
145
154
- signing {
155
- required { isReleaseBuild() && gradle . taskGraph . hasTask( ' uploadArchives ' ) }
156
- sign configurations . archives
157
- }
146
+ if (isAndroidProject) {
147
+ def variants = project . android . libraryVariants . findAll {
148
+ it . buildType . name . equalsIgnoreCase( ' debug ' )
149
+ }
158
150
151
+ def getAndroidSdkDirectory = project. android. sdkDirectory
159
152
160
- if (isAndroidProject) {
161
- def variants = project. android. libraryVariants. findAll {
162
- it. buildType. name. equalsIgnoreCase(' debug' )
163
- }
153
+ def getAndroidJar = " ${ getAndroidSdkDirectory} /platforms/${ project.android.compileSdkVersion} /android.jar"
164
154
165
- def getAndroidSdkDirectory = project. android. sdkDirectory
166
-
167
- def getAndroidJar = " ${ getAndroidSdkDirectory} /platforms/${ project.android.compileSdkVersion} /android.jar"
155
+ task androidJavadocs(type : Javadoc , dependsOn : assembleDebug) {
156
+ source = variants. collect { it. getJavaCompileProvider(). get(). source }
157
+ classpath = files(
158
+ getAndroidJar,
159
+ project. file(" build/intermediates/classes/debug" )
160
+ )
161
+ doFirst {
162
+ classpath + = files(variants. collect { it. getJavaCompileProvider(). get(). classpath. files })
163
+ }
164
+ options {
165
+ links(" http://docs.oracle.com/javase/7/docs/api/" )
166
+ links(" http://d.android.com/reference" )
167
+ }
168
168
169
- task androidJavadocs(type : Javadoc , dependsOn : assembleDebug) {
170
- source = variants. collect { it. getJavaCompileProvider(). get(). source }
171
- classpath = files(
172
- getAndroidJar,
173
- project. file(" build/intermediates/classes/debug" )
174
- )
175
- doFirst {
176
- classpath + = files(variants. collect { it. javaCompile. classpath. files })
177
- }
178
- options {
179
- links(" http://docs.oracle.com/javase/7/docs/api/" )
180
- linksOffline(" http://d.android.com/reference" ,
181
- " ${ getAndroidSdkDirectory} /docs/reference" )
182
- }
169
+ exclude ' **/R.java'
170
+ }
183
171
184
- exclude ' **/R.java'
185
- }
172
+ def cleanJavadocTask = task(" cleanJavadocTask" , type : Delete ) {
173
+ delete androidJavadocs. destinationDir
174
+ } as Task
175
+ project. clean. dependsOn(cleanJavadocTask)
186
176
187
- def cleanJavadocTask = task(" cleanJavadocTask" , type : Delete ) {
188
- delete androidJavadocs. destinationDir
189
- } as Task
190
- project. clean. dependsOn(cleanJavadocTask)
177
+ task androidJavadocsJar(type : Jar , dependsOn : androidJavadocs) {
178
+ classifier = ' javadoc'
179
+ from androidJavadocs. destinationDir
180
+ baseName " ${ JAR_PREFIX}${ project.name}${ JAR_POSTFIX} "
181
+ }
191
182
192
- task androidJavadocsJar (type : Jar , dependsOn : androidJavadocs ) {
193
- classifier = ' javadoc '
194
- from androidJavadocs . destinationDir
195
- baseName " ${ JAR_PREFIX}${ project.name}${ JAR_POSTFIX} "
196
- }
183
+ task androidSourcesJar (type : Jar ) {
184
+ classifier = ' sources '
185
+ from project . android . sourceSets . main . java . source
186
+ baseName " ${ JAR_PREFIX}${ project.name}${ JAR_POSTFIX} "
187
+ }
197
188
198
- task androidSourcesJar(type : Jar ) {
199
- classifier = ' sources'
200
- from project. android. sourceSets. main. java. source
201
- baseName " ${ JAR_PREFIX}${ project.name}${ JAR_POSTFIX} "
202
- }
189
+ task androidLibraryJar(type : Jar , dependsOn : compileDebugJavaWithJavac /* == variant.javaCompile */ ) {
190
+ from compileDebugJavaWithJavac. destinationDir
191
+ exclude ' **/R.class'
192
+ exclude ' **/R$*.class'
193
+ baseName " ${ JAR_PREFIX}${ project.name}${ JAR_POSTFIX} "
194
+ }
203
195
204
- task androidLibraryJar(type : Jar , dependsOn : compileDebugJavaWithJavac /* == variant.javaCompile */ ) {
205
- from compileDebugJavaWithJavac. destinationDir
206
- exclude ' **/R.class'
207
- exclude ' **/R$*.class'
208
- baseName " ${ JAR_PREFIX}${ project.name}${ JAR_POSTFIX} "
209
- }
196
+ artifact androidLibraryJar
197
+ artifact androidSourcesJar
198
+ artifact androidJavadocsJar
199
+ // This is unnecessary with a release variant because by default the release variant
200
+ // includes the release aar in archives. Since we've disabled our release variants and
201
+ // want to include an aar, we need to manually specify the task that produces the aar
202
+ // here.
203
+ artifact project. tasks. bundleDebugAar
204
+ } else if (project. plugins. hasPlugin(' java' )) {
205
+ task sourcesJar(type : Jar , dependsOn : classes) {
206
+ classifier = ' sources'
207
+ from sourceSets. main. allSource
208
+ }
210
209
211
- artifacts {
212
- archives androidLibraryJar
213
- archives androidSourcesJar
214
- archives androidJavadocsJar
215
- // This is unnecessary with a release variant because by default the release variant
216
- // includes the release aar in archives. Since we've disabled our release variants and
217
- // want to include an aar, we need to manually specify the task that produces the aar
218
- // here.
219
- archives project. tasks. bundleDebugAar
220
- }
221
- } else if (project. plugins. hasPlugin(' java' )) {
222
- task sourcesJar(type : Jar , dependsOn : classes) {
223
- classifier = ' sources'
224
- from sourceSets. main. allSource
225
- }
210
+ task javadocsJar(type : Jar , dependsOn : javadoc) {
211
+ classifier = ' javadoc'
212
+ from javadoc. destinationDir
213
+ }
226
214
227
- task javadocsJar(type : Jar , dependsOn : javadoc) {
228
- classifier = ' javadoc'
229
- from javadoc. destinationDir
215
+ from components. java
216
+ artifact sourcesJar
217
+ artifact javadocsJar
218
+ }
219
+ }
230
220
}
221
+ }
231
222
232
- artifacts {
233
- archives sourcesJar
234
- archives javadocsJar
235
- }
223
+ signing {
224
+ required { isReleaseBuild() && gradle. taskGraph. hasTask(' uploadArchives' ) }
225
+ sign publishing. publications. mavenJava
236
226
}
237
- logger. info(" Published artifacts in ${ configurations.archives} :" )
238
- configurations. archives. artifacts. files. files. each { logger. info(" \t $it " ) }
239
227
}
0 commit comments