From 6fd235f95a7393675a1ed63ebac1bbf2cec08a91 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Tue, 9 Jul 2019 08:50:01 +0100 Subject: [PATCH] Merge pull request #5732 from ToxicBakery:feature/add-license-to-pom PiperOrigin-RevId: 257138448 --- build.gradle | 1 + publish.gradle | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/build.gradle b/build.gradle index a0e8fcf20a..bc538ead68 100644 --- a/build.gradle +++ b/build.gradle @@ -44,6 +44,7 @@ allprojects { } buildDir = "${externalBuildDir}/${project.name}" } + group = 'com.google.android.exoplayer' } apply from: 'javadoc_combined.gradle' diff --git a/publish.gradle b/publish.gradle index 85cf87aa85..96ec3d2f10 100644 --- a/publish.gradle +++ b/publish.gradle @@ -23,6 +23,21 @@ if (project.ext.has("exoplayerPublishEnabled") groupId = 'com.google.android.exoplayer' website = 'https://github.com/google/ExoPlayer' } + + gradle.taskGraph.whenReady { taskGraph -> + project.tasks + .findAll { task -> task.name.contains("generatePomFileFor") } + .forEach { task -> + task.doLast { + task.outputs.files + .filter { File file -> + file.path.contains("publications") + && file.name.matches("^pom-.+\\.xml\$") + } + .forEach { File file -> addLicense(file) } + } + } + } } def getBintrayRepo() { @@ -30,3 +45,23 @@ def getBintrayRepo() { property('publicRepo').toBoolean() return publicRepo ? 'exoplayer' : 'exoplayer-test' } + +static void addLicense(File pom) { + def licenseNode = new Node(null, "license") + licenseNode.append( + new Node(null, "name", "The Apache Software License, Version 2.0")) + licenseNode.append( + new Node(null, "url", "http://www.apache.org/licenses/LICENSE-2.0.txt")) + licenseNode.append(new Node(null, "distribution", "repo")) + def licensesNode = new Node(null, "licenses") + licensesNode.append(licenseNode) + + def xml = new XmlParser().parse(pom) + xml.append(licensesNode) + + def writer = new PrintWriter(new FileWriter(pom)) + def printer = new XmlNodePrinter(writer) + printer.preserveWhitespace = true + printer.print(xml) + writer.close() +}