aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-application/build.gradle
diff options
context:
space:
mode:
authorAlain Kermis <alain.kermis@sonarsource.com>2024-02-19 13:36:47 +0100
committersonartech <sonartech@sonarsource.com>2024-02-20 20:02:45 +0000
commit91841b996da676b769a45dc831d6104465e2fc41 (patch)
tree38e0867097fc130141cd9fbd6b8d8f16e0ef02c3 /sonar-application/build.gradle
parent172288cc06ac9da7918f99ed217ddb3c0382679a (diff)
downloadsonarqube-91841b996da676b769a45dc831d6104465e2fc41.tar.gz
sonarqube-91841b996da676b769a45dc831d6104465e2fc41.zip
SONAR-19498 Backport handling ElasticSearch as a regular gradle dependency
Diffstat (limited to 'sonar-application/build.gradle')
-rw-r--r--sonar-application/build.gradle37
1 files changed, 14 insertions, 23 deletions
diff --git a/sonar-application/build.gradle b/sonar-application/build.gradle
index 34aceda221c..df7fe0ad391 100644
--- a/sonar-application/build.gradle
+++ b/sonar-application/build.gradle
@@ -16,6 +16,7 @@ sonar {
}
configurations {
+ zipDist
zip
scanner
web
@@ -73,6 +74,14 @@ dependencies {
jdbc_h2 'com.h2database:h2'
jdbc_mssql 'com.microsoft.sqlserver:mssql-jdbc'
jdbc_postgresql 'org.postgresql:postgresql'
+
+ def artifactoryUsername = System.env.'ARTIFACTORY_PRIVATE_USERNAME' ?: (project.hasProperty('artifactoryUsername') ? project.getProperty('artifactoryUsername') : '')
+ def artifactoryPassword = System.env.'ARTIFACTORY_PRIVATE_PASSWORD' ?: (project.hasProperty('artifactoryPassword') ? project.getProperty('artifactoryPassword') : '')
+ if (artifactoryUsername && artifactoryPassword) {
+ zipDist "sonarqube:elasticsearch:${elasticsearchVersion}-no-jdk-linux-x86_64@tar.gz"
+ } else {
+ zipDist "sonarqube:elasticsearch:${elasticsearchVersion}-linux-x86_64@tar.gz"
+ }
}
// declare dependencies in configuration bundledPlugin to be packaged in lib/extensions
@@ -91,32 +100,11 @@ task verifySonarProperties(type: Verify) {
}
}
-task verifyElasticSearchDownload(type: Verify) {
- src new File(buildDir, "$elasticsearchDownloadUrlFile")
- algorithm 'SHA-512'
- checksum elasticsearchDownloadSha512
-}
-
-task downloadElasticSearch(type: Download) {
- def artifactoryUsername = System.env.'ARTIFACTORY_PRIVATE_USERNAME' ?: (project.hasProperty('artifactoryUsername') ? project.getProperty('artifactoryUsername') : '')
- def artifactoryPassword = System.env.'ARTIFACTORY_PRIVATE_PASSWORD' ?: (project.hasProperty('artifactoryPassword') ? project.getProperty('artifactoryPassword') : '')
- if (artifactoryUsername && artifactoryPassword) {
- src "$elasticsearchDownloadRepoxUrlPath$elasticsearchDownloadUrlFile"
- username artifactoryUsername
- password artifactoryPassword
- } else {
- src "$elasticsearchDownloadUrlPath$elasticsearchDownloadUrlFile"
- }
- dest "$buildDir/$elasticsearchDownloadUrlFile"
- onlyIfModified true
- finalizedBy verifyElasticSearchDownload
-}
-
downloadLicenses {
dependencyConfiguration = 'appLicenses'
}
-task zip(type: Zip, dependsOn: [configurations.compileClasspath, downloadElasticSearch, verifyElasticSearchDownload]) {
+task zip(type: Zip, dependsOn: [configurations.compileClasspath]) {
duplicatesStrategy DuplicatesStrategy.EXCLUDE
def archiveDir = "sonarqube-$project.version"
@@ -155,7 +143,10 @@ task zip(type: Zip, dependsOn: [configurations.compileClasspath, downloadElastic
}
- from(tarTree(downloadElasticSearch.dest)) {
+ ResolvedArtifact elasticSearchArtifact = configurations.zipDist.resolvedConfiguration.resolvedArtifacts.find {
+ it.moduleVersion.id.name == "elasticsearch"
+ }
+ from(tarTree(elasticSearchArtifact.file)) {
eachFile { fcd ->
def path = fcd.relativePath.segments - fcd.relativeSourcePath.segments + fcd.relativeSourcePath.segments.drop(1)
fcd.relativePath = new RelativePath(true, *path)