diff --git a/build.gradle.kts b/build.gradle.kts index 9111e7cd7..78cfd4f9c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -60,20 +60,26 @@ var licenseReportDir = "$projectDir/doc/licenses" val configBuildDir = "$buildDir/config" mkdir(configBuildDir) -val normalizerLocalPath = "$configBuildDir/license-normalizer-bundle.json" -val fn = file(normalizerLocalPath); uri("https://raw.githubusercontent.com/Cosmo-Tech/cosmotech-license/main/config/license-normalizer-bundle.json").toURL().openStream().use { it.copyTo( - FileOutputStream(fn) -) } -val allowedPath = "$configBuildDir/allowed-licenses.json" -val fa = file(allowedPath); uri("https://raw.githubusercontent.com/Cosmo-Tech/cosmotech-license/main/config/allowed-licenses.json").toURL().openStream().use { it.copyTo( - FileOutputStream(fa) -) } + +fun downloadLicenseConfigFile(name: String): String { + val localPath = "$configBuildDir/$name" + val f = file(localPath) + f.delete() + uri("https://raw.githubusercontent.com/Cosmo-Tech/cosmotech-license/main/config/$name").toURL().openStream().use { it.copyTo( + FileOutputStream(f) + ) } + return localPath +} + +val licenseNormalizerPath = downloadLicenseConfigFile("license-normalizer-bundle.json") +val licenseAllowedPath = downloadLicenseConfigFile("allowed-licenses.json") +val licenseEmptyPath = downloadLicenseConfigFile("empty-dependencies-resume.json") licenseReport { outputDir = licenseReportDir - allowedLicensesFile = file(allowedPath) + allowedLicensesFile = file(licenseAllowedPath) renderers = arrayOf(InventoryHtmlReportRenderer("index.html"), JsonReportRenderer("report.json")) - filters = arrayOf(LicenseBundleNormalizer(normalizerLocalPath, true)) + filters = arrayOf(LicenseBundleNormalizer(licenseNormalizerPath, true)) } allprojects { @@ -540,7 +546,9 @@ tasks.register("validateLicense") { tasks.withType { // Run licensing tasks before compiling - dependsOn("generateLicenseDoc") + if (project.properties["skipLicenses"] != "true") { + dependsOn("generateLicenseDoc") + } } tasks.register("displayLicensesNotAllowed") { @@ -548,17 +556,17 @@ tasks.register("displayLicensesNotAllowed") { append(licenseReportDir) append("/dependencies-without-allowed-license.json") }) - val dependenciesEmptyResumeTemplate = file(buildString { - append(licenseReportDir) - append("/empty-dependencies-resume.json") - }) + val dependenciesEmptyResumeTemplate = file(licenseEmptyPath) if (notAllowedFile.readText() != dependenciesEmptyResumeTemplate.readText()) { println("Licenses not allowed:") println(notAllowedFile.readText()) + println("Please review licenses and add new license check rules in https://github.com/Cosmo-Tech/cosmotech-license") } } gradle.buildFinished { - val displayTask = tasks.getByName("displayLicensesNotAllowed") - displayTask.run {} + if (project.properties["skipLicenses"] != "true") { + val displayTask = tasks.getByName("displayLicensesNotAllowed") + displayTask.run {} + } } diff --git a/doc/licenses/empty-dependencies-resume.json b/doc/licenses/empty-dependencies-resume.json deleted file mode 100644 index c0b8fb089..000000000 --- a/doc/licenses/empty-dependencies-resume.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependenciesWithoutAllowedLicenses": [ - - ] -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 2a7db1fcd..7da09fa61 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,4 @@ org.gradle.parallel=true org.gradle.jvmargs=-Xmx2g -detekt.ignoreFailures=false +detekt.ignoreFailures=false \ No newline at end of file