1212// See the License for the specific language governing permissions and
1313// limitations under the License.
1414
15- import com.google.maps.android.rx.androidExtension
1615import com.google.maps.android.rx.artifactId
16+ import com.vanniktech.maven.publish.MavenPublishBaseExtension
17+ import org.gradle.api.tasks.testing.Test
18+ import org.gradle.testing.jacoco.plugins.JacocoPluginExtension
19+ import org.gradle.testing.jacoco.plugins.JacocoTaskExtension
20+
1721
18- // Top-level build file where you can add configuration options common to all sub-projects/modules.
1922buildscript {
2023 repositories {
2124 google()
@@ -32,12 +35,11 @@ buildscript {
3235}
3336
3437plugins {
35- `maven- publish`
36- signing
3738 id(" org.jetbrains.dokka" ) version " 2.0.0"
39+ id(" com.vanniktech.maven.publish" ) version " 0.34.0" apply false
3840}
3941
40- // Shared configs across subprojects
42+ // Shared configs
4143allprojects {
4244 group = " com.google.maps.android"
4345 version = " 1.0.0"
@@ -54,21 +56,13 @@ subprojects {
5456
5557 apply (plugin = " com.android.library" )
5658 apply (plugin = " kotlin-android" )
57- apply (plugin = " maven-publish" )
5859 apply (plugin = " org.jetbrains.dokka" )
59- apply (plugin = " signing " )
60+ apply (plugin = " com.vanniktech.maven.publish " )
6061 apply (plugin = " com.mxalbert.gradle.jacoco-android" )
6162
62-
63- val sourcesJar = task<Jar >(" sourcesJar" ) {
64- archiveClassifier.set(" sources" )
65- val libraryExtension = (project.androidExtension as com.android.build.gradle.LibraryExtension )
66- from(libraryExtension.sourceSets[" main" ].java.srcDirs)
67- }
68-
63+ // Jacoco setup
6964 configure<JacocoPluginExtension > {
7065 toolVersion = " 0.8.7"
71-
7266 }
7367
7468 tasks.withType<Test >().configureEach {
@@ -78,77 +72,40 @@ subprojects {
7872 }
7973 }
8074
75+ extensions.configure<MavenPublishBaseExtension > {
76+ publishToMavenCentral()
77+ signAllPublications()
8178
82- val dokkaHtml = tasks.named< org.jetbrains.dokka.gradle.DokkaTask > (" dokkaHtml" )
83- val dokkaJavadoc = tasks.named< org.jetbrains.dokka.gradle.DokkaTask > (" dokkaJavadoc" )
84- val javadocJar = task<Jar >(" javadocJar" ) {
85- dependsOn(dokkaHtml)
86- dependsOn(dokkaJavadoc)
87- archiveClassifier.set(" javadoc" )
88- from(buildDir.resolve(" dokka/javadoc" ))
89- }
79+ pom {
80+ name.set(project.name)
81+ description.set(" RxJava bindings for the Maps SDK for Android" )
82+ url.set(" https://github.com/googlemaps/android-maps-rx" )
9083
91- publishing {
92- publications {
93- create<MavenPublication >(" aar" ) {
94- groupId = project.group as String
95- artifactId = project.artifactId
96- version = project.version as String
97-
98- pom {
99- name.set(project.name)
100- description.set(" RxJava bindings for the Maps SDK for Android" )
101- url.set(" https://github.com/googlemaps/android-maps-rx" )
102-
103- scm {
104- connection.set(
" scm:[email protected] :googlemaps/android-maps-rx.git" )
105- developerConnection.set(
" scm:[email protected] :googlemaps/android-maps-rx.git" )
106- url.set(" https://github.com/googlemaps/android-maps-rx" )
107- }
108-
109- licenses {
110- license {
111- name.set(" The Apache Software License, Version 2.0" )
112- url.set(" http://www.apache.org/licenses/LICENSE-2.0.txt" )
113- distribution.set(" repo" )
114- }
115- }
116-
117- organization {
118- name.set(" Google Inc." )
119- url.set(" https://developers.google.com/maps" )
120- }
121-
122- developers {
123- developer {
124- name.set(" Google Inc." )
125- }
126- }
84+ licenses {
85+ license {
86+ name.set(" The Apache Software License, Version 2.0" )
87+ url.set(" http://www.apache.org/licenses/LICENSE-2.0.txt" )
88+ distribution.set(" repo" )
12789 }
90+ }
12891
129- afterEvaluate {
130- artifact(buildDir.resolve(" outputs/aar/${project.name} -release.aar" ))
92+ scm {
93+ connection.set(
" scm:[email protected] :googlemaps/android-maps-rx.git" )
94+ developerConnection.set(
" scm:[email protected] :googlemaps/android-maps-rx.git" )
95+ url.set(" https://github.com/googlemaps/android-maps-rx" )
96+ }
13197
132- artifact(javadocJar)
133- artifact(sourcesJar )
134- }
98+ organization {
99+ name.set( " Google Inc. " )
100+ url.set( " https://developers.google.com/maps " )
135101 }
136- }
137102
138- repositories {
139- maven {
140- name = " mavencentral"
141- url = uri(" https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/" )
142- credentials {
143- username = properties[" sonatypeUsername" ] as String?
144- password = properties[" sonatypePassword" ] as String
103+ developers {
104+ developer {
105+ id.set(" google" )
106+ name.set(" Google Inc." )
145107 }
146108 }
147109 }
148110 }
149-
150- // Signing
151- signing {
152- sign(publishing.publications.findByName(" aar" ))
153- }
154111}
0 commit comments