]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-19498 Backport handling ElasticSearch as a regular gradle dependency
authorAlain Kermis <alain.kermis@sonarsource.com>
Mon, 19 Feb 2024 12:36:47 +0000 (13:36 +0100)
committersonartech <sonartech@sonarsource.com>
Tue, 20 Feb 2024 20:02:45 +0000 (20:02 +0000)
gradle.properties
sonar-application/build.gradle

index 90e03b1cbf43e20b2d24d1fab1a06995a737d1a1..2a0e987ed24bc7af66406b9988faa997cba6c3cc 100644 (file)
@@ -5,9 +5,5 @@ projectTitle=SonarQube
 org.gradle.jvmargs=-Xmx2048m
 org.gradle.caching=true
 org.gradle.vfs.watch=true
-# https://www.elastic.co/downloads/elasticsearch-no-jdk
-elasticsearchDownloadUrlPath=https://artifacts.elastic.co/downloads/elasticsearch/
-elasticsearchDownloadRepoxUrlPath=https://repox.jfrog.io/artifactory/sonarsource-bucket/sonarqube/elasticsearch/
-elasticsearchDownloadUrlFile=elasticsearch-7.17.15-no-jdk-linux-x86_64.tar.gz
-elasticsearchDownloadSha512=554869c7b420ae25a21477962d9edc0d6f4c256247c03a59927282f6a908639c3aec30b27237c1fd8bd496b31d1027056fbdf83b3eaaa6d002b0e1eddf02a232
+elasticsearchVersion=7.17.15
 projectType=application
index 34aceda221c2321f2971f4009eb0b81d573b914d..df7fe0ad39163284332cd548057f983cc363255b 100644 (file)
@@ -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)