From: Zipeng WU Date: Mon, 25 Oct 2021 11:33:30 +0000 (+0200) Subject: SONAR-15485 handle Elastic license and prettify json X-Git-Tag: 9.2.0.49834~108 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d609879b84b61b8aa9c9c7c4bf95c10a07288823;p=sonarqube.git SONAR-15485 handle Elastic license and prettify json --- diff --git a/sonar-application/build.gradle b/sonar-application/build.gradle index 578835e42da..2a70c75b0a4 100644 --- a/sonar-application/build.gradle +++ b/sonar-application/build.gradle @@ -1,3 +1,5 @@ +import groovy.json.JsonOutput +import groovy.json.JsonSlurper import org.apache.tools.ant.filters.ReplaceTokens plugins { @@ -104,6 +106,20 @@ task zip(type: Zip, dependsOn: [configurations.compileClasspath, tasks.downloadL into("${archiveDir}/") { from(tasks.downloadLicenses.outputs) { include 'dependency-license.json' + eachFile { jsonFile -> + def json = new JsonSlurper().parse(jsonFile.file) + json.dependencies.each { dependency -> + if (dependency.licenses.size() > 1) { + def idx = dependency.licenses.findIndexOf { it.name == "Elastic License 2.0" } + if (idx >= 0) { + dependency.licenses = [dependency.licenses[idx]] + } + } + } + json.dependencies.sort { it.name } + def jsonText = JsonOutput.toJson(json) + jsonFile.file.text = JsonOutput.prettyPrint(jsonText) + } } from(file('src/main/assembly')) { exclude 'conf/sonar.properties' @@ -178,7 +194,7 @@ task zip(type: Zip, dependsOn: [configurations.compileClasspath, tasks.downloadL 'sqversion': version ]) } - + into("${archiveDir}/elasticsearch/") { from file('src/main/assembly/elasticsearch-patch') include 'bin/elasticsearch'