1- apply plugin : ' maven'
2- apply plugin : ' signing'
3-
4- def isReleaseBuild () {
5- return VERSION_NAME . contains(" SNAPSHOT" ) == false
6- }
7-
8- static def isLocalBuild () {
9- if (System . getenv(' IS_LOCAL_DEVELOPMENT' ) != null ) {
10- return System . getenv(' IS_LOCAL_DEVELOPMENT' ). toBoolean()
11- }
12- return true
13- }
14-
15- def getReleaseRepositoryUrl () {
16- return hasProperty(' RELEASE_REPOSITORY_URL' ) ? RELEASE_REPOSITORY_URL
17- : " https://oss.sonatype.org/service/local/staging/deploy/maven2/"
18- }
19-
20- def getSnapshotRepositoryUrl () {
21- return hasProperty(' SNAPSHOT_REPOSITORY_URL' ) ? SNAPSHOT_REPOSITORY_URL
22- : " https://oss.sonatype.org/content/repositories/snapshots/"
23- }
24-
25- def obtainMavenLocalUrl () {
26- return getRepositories(). mavenLocal(). getUrl()
27- }
28-
29- def getRepositoryUsername () {
30- return hasProperty(' NEXUS_USERNAME' ) ? NEXUS_USERNAME : " "
31- }
32-
33- def getRepositoryPassword () {
34- return hasProperty(' NEXUS_PASSWORD' ) ? NEXUS_PASSWORD : " "
35- }
36-
37- afterEvaluate { project ->
38- uploadArchives {
39- repositories {
40- mavenDeployer {
41- beforeDeployment { MavenDeployment deployment -> signing. signPom(deployment) }
42-
43- pom. groupId = GROUP
44- pom. artifactId = POM_ARTIFACT_ID
45- pom. version = VERSION_NAME
46-
47- if (isLocalBuild()) {
48- repository(url : obtainMavenLocalUrl())
49- } else {
50- repository(url : getReleaseRepositoryUrl()) {
51- authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
52- }
53- snapshotRepository(url : getSnapshotRepositoryUrl()) {
54- authentication(userName : getRepositoryUsername(), password : getRepositoryPassword())
55- }
56- }
57-
58- pom. project {
59- name POM_NAME
60- packaging POM_PACKAGING
61- description POM_DESCRIPTION
62- url POM_URL
63-
64- scm {
65- url POM_SCM_URL
66- connection POM_SCM_CONNECTION
67- developerConnection POM_SCM_DEV_CONNECTION
68- }
69-
70- licenses {
71- license {
72- name POM_LICENCE_NAME
73- url POM_LICENCE_URL
74- distribution POM_LICENCE_DIST
1+ apply plugin : ' digital.wup.android-maven-publish'
2+ apply plugin : ' maven-publish'
3+ apply plugin : ' com.mapbox.sdkRegistry'
4+ apply from : file(' ../gradle/artifact-settings.gradle' )
5+
6+ version = project. ext. versionName
7+ group = project. ext. mapboxArtifactGroupId
8+
9+ publishing {
10+ publications {
11+ ModularMapboxMapsSdkRegistryPublication (MavenPublication ) {
12+ from components. android
13+ groupId this . group
14+ artifactId project. ext. mapboxArtifactId
15+ version this . version
16+ afterEvaluate {
17+ artifact(androidSourcesJar)
18+ artifact(androidJavadocsJar)
7519 }
76- }
7720
78- developers {
79- developer {
80- id POM_DEVELOPER_ID
81- name POM_DEVELOPER_NAME
21+ pom. withXml {
22+ final mainNode = asNode()
23+ mainNode. appendNode(' name' , project. ext. mapboxArtifactTitle)
24+ mainNode. appendNode(' description' , project. ext. mapboxArtifactTitle)
25+ mainNode. appendNode(' url' , project. ext. mapboxArtifactUrl)
26+
27+ final licenseNode = mainNode. appendNode(' licenses' ). appendNode(' license' )
28+ licenseNode. appendNode(' name' , project. ext. mapboxArtifactLicenseName)
29+ licenseNode. appendNode(' url' , project. ext. mapboxArtifactLicenseUrl)
30+ licenseNode. appendNode(' distribution' , " repo" )
31+
32+ final developerNode = mainNode. appendNode(' developers' ). appendNode(' developer' )
33+ developerNode. appendNode(' id' , project. ext. mapboxDeveloperId)
34+ developerNode. appendNode(' name' , project. ext. mapboxDeveloperName)
35+
36+ final scmNode = mainNode. appendNode(" scm" )
37+ scmNode. appendNode(" connection" , project. ext. mapboxArtifactScmUrl)
38+ scmNode. appendNode(" developerConnection" , project. ext. mapboxArtifactScmUrl)
39+ scmNode. appendNode(" url" , project. ext. mapboxArtifactUrl)
8240 }
83- }
8441 }
85- }
8642 }
87- }
43+ }
8844
89- signing {
90- required { isReleaseBuild() && gradle. taskGraph. hasTask(" uploadArchives" ) }
91- sign configurations. archives
92- }
45+ registry {
46+ sdkName = project. ext. mapboxRegistrySdkName
47+ override = project. ext. versionName. endsWith(" -SNAPSHOT" )
48+ dryRun = false
49+ publish = true
50+ snapshot = project. ext. versionName. endsWith(" -SNAPSHOT" )
51+ publishMessage = " cc @mapbox/maps-android"
52+ publications = [" ModularMapboxMapsSdkRegistryPublication" ]
53+ }
9354
94- task androidJavadocs(type : Javadoc ) {
95- source = android. sourceSets. main. java. srcDirs
96- classpath + = project. files(android. getBootClasspath(). join(File . pathSeparator))
97- }
55+ task androidJavadocs (type : Javadoc ) {
56+ source = android. sourceSets. main. java. sourceFiles
57+ classpath = files(android. bootClasspath)
58+ failOnError = false
59+ }
9860
99- task androidJavadocsJar(type : Jar , dependsOn : androidJavadocs) {
61+ task androidJavadocsJar (type : Jar , dependsOn : androidJavadocs) {
10062 classifier = ' dokka'
10163 from androidJavadocs. destinationDir
102- }
64+ }
10365
104- task androidSourcesJar(type : Jar ) {
66+ task androidSourcesJar (type : Jar ) {
10567 classifier = ' sources'
10668 from android. sourceSets. main. java. sourceFiles
107- }
108-
109- artifacts {
110- archives androidSourcesJar
111- archives androidJavadocsJar
112- }
11369}
11470
11571// See: https://github.com/chrisbanes/gradle-mvn-push/issues/43#issuecomment-84140513
11672afterEvaluate { project ->
117- android. libraryVariants. all { variant ->
118- tasks. androidJavadocs. doFirst {
119- classpath + = files(variant. javaCompile. classpath. files)
120- classpath + = configurations. javadocDeps
73+ android. libraryVariants. all { variant ->
74+ tasks. androidJavadocs. doFirst {
75+ classpath + = files(variant. javaCompile. classpath. files)
76+ classpath + = configurations. javadocDeps
77+ }
12178 }
122- }
123- }
79+ }
0 commit comments