summaryrefslogtreecommitdiffstats
path: root/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle157
1 files changed, 69 insertions, 88 deletions
diff --git a/build.gradle b/build.gradle
index 18051ec7d05..f2a5dc8b6d4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,26 +7,38 @@ buildscript {
dependencies {
// Ordered alphabeticly to avoid duplication
classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
- classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.2'
+ classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.6'
classpath 'com.moowork.gradle:gradle-node-plugin:1.2.0'
classpath "gradle.plugin.nl.javadude.gradle.plugins:license-gradle-plugin:0.14.0"
classpath 'io.spring.gradle:dependency-management-plugin:1.0.4.RELEASE'
- // BuildInfo plugin is broken for 4.7.2 :
- // https://github.com/gradle/gradle/issues/4783#issuecomment-386720873
- // https://github.com/JFrogDev/build-info/issues/165
- // https://www.jfrog.com/jira/browse/GAP-288
- // https://www.jfrog.com/jira/browse/GAP-289
- classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.6.2'
+ classpath 'net.rdrei.android.buildtimetracker:gradle-plugin:0.11.0'
+ classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.7.5'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2'
}
}
+// display a summary of task durations at the end of the build
+if (project.hasProperty('time-tracker')) {
+ apply plugin: 'build-time-tracker'
+ buildtimetracker {
+ reporters {
+ summary {
+ ordered true
+ threshold 1000
+ barstyle 'ascii'
+ }
+ }
+ }
+}
+
// Analyze SonarQube with SonarQube!
+ext.versionInSources = version
apply plugin: 'org.sonarqube'
sonarqube {
properties {
property 'sonar.projectName', projectTitle
+ property 'sonar.projectVersion', versionInSources
}
}
@@ -48,7 +60,7 @@ allprojects {
}
repositories {
- def repository = project.hasProperty('cix') ? 'sonarsource-qa' : 'sonarsource'
+ def repository = project.hasProperty('qa') ? 'sonarsource-qa' : 'sonarsource'
maven {
url "https://repox.sonarsource.com/${repository}"
// The environment variables ARTIFACTORY_PRIVATE_USERNAME and ARTIFACTORY_PRIVATE_PASSWORD are used on QA env (Jenkins)
@@ -211,7 +223,7 @@ subprojects {
dependency 'org.postgresql:postgresql:42.2.5'
dependency 'org.reflections:reflections:0.9.9'
dependency 'org.simpleframework:simple:4.1.21'
- dependency 'org.sonarsource.orchestrator:sonar-orchestrator:3.21.0.1721'
+ dependency 'org.sonarsource.orchestrator:sonar-orchestrator:3.22.0.1754'
dependency('org.sonarsource:sonar-persistit:3.3.2') {
exclude 'commons-logging:commons-logging'
}
@@ -248,15 +260,30 @@ subprojects {
// when needed (see protobuf modules for example)
}
+
test {
+ jvmArgs '-Dfile.encoding=UTF8'
+ maxHeapSize = '1G'
systemProperty 'java.awt.headless', true
- jacoco.enabled = project.hasProperty('jacocoEnabled')
testLogging {
- exceptionFormat 'full' // log the full stack trace (default is the 1st line of the stack trace)
events "skipped", "failed" // verbose log for failed and skipped tests (by default the name of the tests are not logged)
+ exceptionFormat 'full' // log the full stack trace (default is the 1st line of the stack trace)
+ }
+ jacoco {
+ append = false
+ enabled = project.hasProperty('jacocoEnabled')
+ includes = ['com.sonarsource.*', 'org.sonar.*', 'org.sonarsource.*']
+ }
+ if (project.hasProperty('maxParallelTests')) {
+ // WARNING this is not compatible with jacocoEnabled
+ maxParallelForks = project.maxParallelTests as int
+ }
+ if (project.hasProperty('parallelTests')) {
+ // WARNING this is not compatible with jacocoEnabled
+ // See https://guides.gradle.org/performance/#parallel_test_execution
+ maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}
- if (project.hasProperty('maxParallelTests'))
- maxParallelForks = project.maxParallelTests as int
+
}
def protoMainSrc = 'src/main/protobuf'
@@ -269,7 +296,7 @@ subprojects {
sourceSets.test.proto.srcDir protoTestSrc // in addition to the default 'src/test/proto'
protobuf {
protoc {
- artifact = "com.google.protobuf:protoc:${protobufVersion}"
+ artifact = "com.google.protobuf:protoc:3.5.1"
}
}
jar {
@@ -302,7 +329,7 @@ subprojects {
manifest {
attributes(
'Version': "${version}",
- 'Implementation-Build': 'git rev-parse HEAD'.execute().text.trim(),
+ 'Implementation-Build': System.getenv('GIT_SHA1'),
'Build-Time': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
)
}
@@ -326,76 +353,30 @@ subprojects {
publishing {
publications {
mavenJava(MavenPublication) {
- pom.withXml {
- asNode().appendNode('name', projectTitle)
- asNode().appendNode('description', description)
- asNode().appendNode('url', 'http://www.sonarqube.org/')
-
- def organization = asNode().appendNode('organization')
- organization.appendNode('name', 'SonarSource')
- organization.appendNode('url', 'http://www.sonarsource.com')
-
- def licenses = asNode().appendNode('licenses')
- def license = licenses.appendNode('license')
- license.appendNode('name', 'GNU LGPL 3')
- license.appendNode('url', 'http://www.gnu.org/licenses/lgpl.txt')
- license.appendNode('distribution', 'repo')
-
- def scm = asNode().appendNode('scm')
- scm.appendNode('url', 'https://github.com/SonarSource/sonarqube')
-
- def developers = asNode().appendNode('developers')
- def developer = developers.appendNode('developer')
- developer.appendNode('id', 'bellingard')
- developer.appendNode('name', 'Fabrice Bellingard')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'dbolkensteyn')
- developer.appendNode('name', 'Dinesh Bolkensteyn')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'ehartmann')
- developer.appendNode('name', 'Eric Hartmann')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'fmallet')
- developer.appendNode('name', 'Freddy Mallet')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'Godin')
- developer.appendNode('name', 'Evgeny Mandrikov')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'henryju')
- developer.appendNode('name', 'Julien Henry')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'jblievremont')
- developer.appendNode('name', 'Jean-Baptiste Lievremont')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'julienlancelot')
- developer.appendNode('name', 'Julien Lancelot')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'olivier.gaudin')
- developer.appendNode('name', 'Olivier Gaudin')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'simonbrandhof')
- developer.appendNode('name', 'Simon Brandhof')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'sns-seb')
- developer.appendNode('name', 'Sebastien Lesaint')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'stas-vilchik')
- developer.appendNode('name', 'Stas Vilchik')
-
- developer = developers.appendNode('developer')
- developer.appendNode('id', 'teryk')
- developer.appendNode('name', 'Teryk Bellahsene')
+ pom {
+ name = 'SonarQube'
+ description = project.description
+ url = 'http://www.sonarqube.org/'
+ organization {
+ name = 'SonarSource'
+ url = 'http://www.sonarsource.com'
+ }
+ licenses {
+ license {
+ name = 'GNU LGPL 3'
+ url = 'http://www.gnu.org/licenses/lgpl.txt'
+ distribution = 'repo'
+ }
+ }
+ scm {
+ url = 'https://github.com/SonarSource/sonarqube'
+ }
+ developers {
+ developer {
+ id = 'sonarsource-team'
+ name = 'SonarSource Team'
+ }
+ }
}
}
}
@@ -415,10 +396,10 @@ artifactory {
defaults {
properties = [
'build.name': 'sonar-enterprise',
- 'build.number': (System.getenv('BUILD_ID') ?: System.getenv('BUILD_NUMBER')),
- 'pr.branch.target': System.getenv('GITHUB_TARGET_BRANCH'),
+ 'build.number': System.getenv('BUILD_NUMBER'),
+ 'pr.branch.target': System.getenv('GITHUB_BASE_BRANCH'),
'pr.number': System.getenv('PULL_REQUEST'),
- 'vcs.branch': System.getenv('GITHUB_BASE_BRANCH') ?: System.getenv('GITHUB_BRANCH'),
+ 'vcs.branch': System.getenv('GITHUB_BRANCH'),
'vcs.revision': System.getenv('GIT_SHA1'),
'version': version
]