From 7b119beffb3e72ed2c5f2f1e23bea25749385e8b Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Thu, 18 Feb 2021 12:10:48 +0000 Subject: [PATCH] Add Maven publishing support The release AAR and Android sources are included for each published artifact. Issue: #5246 Issue: #8353 #minor-release PiperOrigin-RevId: 358146555 --- publish.gradle | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/publish.gradle b/publish.gradle index 8cfc2b2ea1..f44573fc84 100644 --- a/publish.gradle +++ b/publish.gradle @@ -11,6 +11,9 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. + +// For publishing to Bintray. + if (project.ext.has("exoplayerPublishEnabled") && project.ext.exoplayerPublishEnabled) { apply plugin: 'bintray-release' @@ -66,3 +69,50 @@ static void addLicense(File pom) { printer.print(xml) writer.close() } + +// For publishing to a Maven repository. + +task androidSourcesJar(type: Jar) { + archiveClassifier.set('sources') + from android.sourceSets.main.java.srcDirs +} + +apply plugin: 'maven-publish' +afterEvaluate { + publishing { + repositories { + maven { + url = findProperty('mavenRepo') ?: "${buildDir}/repo" + } + } + publications { + release(MavenPublication) { + from components.release + artifact androidSourcesJar + groupId = 'com.google.android.exoplayer' + artifactId = releaseArtifact + version releaseVersion + pom { + name = releaseArtifact + description = releaseDescription + licenses { + license { + name = 'The Apache Software License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution = 'repo' + } + } + developers { + developer { + name = 'The Android Open Source Project' + } + } + scm { + connection = 'scm:git:https://github.com/google/ExoPlayer.git' + url = 'https://github.com/google/ExoPlayer' + } + } + } + } + } +}