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
}
configurations {
+ zipDist
zip
scanner
web
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
}
}
-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"
}
- 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)