From bdbd7db843758d9ba5b11acd0cbb7d41e0b91dda Mon Sep 17 00:00:00 2001 From: YOUNG HO CHA Date: Tue, 21 Apr 2020 13:28:39 +0900 Subject: [PATCH 1/2] Add 'third_party_licenses' directory contents when generate licenses --- .../gms/oss/licenses/plugin/LicensesTask.groovy | 13 +++++++++++++ .../oss/licenses/plugin/OssLicensesPlugin.groovy | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy index 7041cf94..4a7279a4 100644 --- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy +++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy @@ -22,6 +22,7 @@ import org.gradle.api.artifacts.component.ModuleComponentIdentifier import org.gradle.api.artifacts.result.ResolvedArtifactResult import org.gradle.api.internal.artifacts.DefaultModuleIdentifier import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction @@ -59,6 +60,9 @@ class LicensesTask extends DefaultTask { @InputFile public File dependenciesJson + @InputFiles + public File[] thirdPartyLicenses + @OutputDirectory public File outputDir @@ -102,6 +106,10 @@ class LicensesTask extends DefaultTask { } } + for (filename in thirdPartyLicenses) { + addLicensesFromFile(filename) + } + writeMetadata() } @@ -229,6 +237,11 @@ class LicensesTask extends DefaultTask { } } + private void addLicensesFromFile(File filename) { + String licenseName = filename.getName() + appendLicense(licenseName, filename.getBytes()) + } + private File resolvePomFileArtifact(String group, String name, String version) { def moduleComponentIdentifier = createModuleComponentIdentifier(group, name, version) diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/OssLicensesPlugin.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/OssLicensesPlugin.groovy index 20926c50..2b8d303c 100644 --- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/OssLicensesPlugin.groovy +++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/OssLicensesPlugin.groovy @@ -37,13 +37,17 @@ class OssLicensesPlugin implements Plugin { def licensesMetadataFile = new File(outputDir, "third_party_license_metadata") def licenseTask = project.tasks.create("generateLicenses", LicensesTask) + def thirdPartyLicensesDir = new File(project.rootProject.projectDir, "third_party_licenses") + def thirdPartyLicenses = thirdPartyLicensesDir.exists() ? thirdPartyLicensesDir.listFiles() : [] licenseTask.dependenciesJson = generatedJson + licenseTask.thirdPartyLicenses = thirdPartyLicenses licenseTask.outputDir = outputDir licenseTask.licenses = licensesFile licenseTask.licensesMetadata = licensesMetadataFile licenseTask.inputs.file(generatedJson) + licenseTask.inputs.files(thirdPartyLicenses) licenseTask.outputs.dir(outputDir) licenseTask.outputs.files(licensesFile, licensesMetadataFile) From 24ab3c0bdf0d15a90ae149d68bc62a2847890047 Mon Sep 17 00:00:00 2001 From: YOUNG HO CHA Date: Tue, 21 Apr 2020 16:56:52 +0900 Subject: [PATCH 2/2] Put third party licenses with sorted --- .../google/android/gms/oss/licenses/plugin/LicensesTask.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy index 4a7279a4..b2eb0ba6 100644 --- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy +++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/LicensesTask.groovy @@ -106,7 +106,7 @@ class LicensesTask extends DefaultTask { } } - for (filename in thirdPartyLicenses) { + for (filename in thirdPartyLicenses.sort{it.getName().toLowerCase()}) { addLicensesFromFile(filename) }