diff --git a/api/build.gradle b/api/build.gradle index 92a343f..aeaa29b 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -23,6 +23,8 @@ android { } } +apply from: "../gradle/androidJars.gradle" + afterEvaluate { publishing { publications { @@ -55,6 +57,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) { diff --git a/client/build.gradle b/client/build.gradle index 6dc9375..88ad456 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -28,9 +28,8 @@ android { targetCompatibility = 1.8 } } -repositories { - mavenCentral() -} + +apply from: "../gradle/androidJars.gradle" dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion" @@ -69,6 +68,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) { diff --git a/geocode-v1/build.gradle b/geocode-v1/build.gradle index a543c2f..73bed05 100644 --- a/geocode-v1/build.gradle +++ b/geocode-v1/build.gradle @@ -23,6 +23,8 @@ android { } } +apply from: "../gradle/androidJars.gradle" + dependencies { implementation project(':client') compileOnly project(':compat') @@ -60,6 +62,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) { diff --git a/gradle/androidJars.gradle b/gradle/androidJars.gradle new file mode 100644 index 0000000..a42359b --- /dev/null +++ b/gradle/androidJars.gradle @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: 2020, microG Project Team + * SPDX-License-Identifier: Apache-2.0 + */ + +task androidSourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.source +} + +task androidJavadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + excludes = ["**/*.aidl", "**/*.kt"] + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + classpath += configurations.compile + if (JavaVersion.current().isJava8Compatible()) { + allprojects { + tasks.withType(Javadoc) { + options.addStringOption('Xdoclint:none', '-quiet') + } + } + } +} + +task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { + classifier = 'javadoc' + from androidJavadocs.destinationDir +} + +artifacts { + archives androidSourcesJar + archives androidJavadocsJar +} \ No newline at end of file diff --git a/location-v2/build.gradle b/location-v2/build.gradle index 88d16f4..8fd336f 100644 --- a/location-v2/build.gradle +++ b/location-v2/build.gradle @@ -23,6 +23,8 @@ android { } } +apply from: "../gradle/androidJars.gradle" + dependencies { implementation project(':client') compileOnly project(':compat') @@ -60,6 +62,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) { diff --git a/location-v3/build.gradle b/location-v3/build.gradle index d52914d..cc83f9c 100644 --- a/location-v3/build.gradle +++ b/location-v3/build.gradle @@ -23,6 +23,8 @@ android { } } +apply from: "../gradle/androidJars.gradle" + dependencies { implementation project(':location-v2') } @@ -59,6 +61,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) { diff --git a/service/build.gradle b/service/build.gradle index 13a272f..51dc92c 100644 --- a/service/build.gradle +++ b/service/build.gradle @@ -30,6 +30,8 @@ android { } } +apply from: "../gradle/androidJars.gradle" + dependencies { implementation project(':api') implementation project(':client') @@ -71,6 +73,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) { diff --git a/ui/build.gradle b/ui/build.gradle index 87505e5..b1ba32a 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -38,6 +38,8 @@ android { } } +apply from: "../gradle/androidJars.gradle" + dependencies { implementation project(':api') implementation project(':client') @@ -95,6 +97,8 @@ afterEvaluate { } from components.release + artifact androidSourcesJar + artifact androidJavadocsJar } } if (project.hasProperty('sonatype.username')) {