blob: 6226e1a77a1a4d9a28cad51cc676663f8e992c4b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
sonarqube {
properties {
property 'sonar.projectName', "${projectTitle} :: Plugin API"
}
}
configureCompileJavaToVersion 8
apply plugin: 'com.github.johnrengelman.shadow'
dependencies {
// please keep the list grouped by configuration and ordered by name
compile 'commons-io:commons-io'
compile 'commons-lang:commons-lang'
compile 'com.google.code.gson:gson'
// shaded, but not relocated
compile project(':sonar-check-api')
compileOnly 'ch.qos.logback:logback-classic'
compileOnly 'com.google.code.findbugs:jsr305'
compileOnly 'javax.servlet:javax.servlet-api'
compileOnly 'junit:junit'
// Used by LogTesterJUnit5
compileOnly 'org.junit.jupiter:junit-jupiter-api'
compileOnly 'org.slf4j:slf4j-api'
testCompile 'com.google.guava:guava'
testCompile 'com.tngtech.java:junit-dataprovider'
testCompile 'org.assertj:assertj-core'
testCompile 'org.mockito:mockito-core'
testCompile project(':sonar-plugin-api-impl')
}
configurations {
// Make the compileOnly dependencies available when compiling/running tests
testImplementation.extendsFrom compileOnly
}
def on3Digits(version) {
def projectversion3digits = version - ~/-\w+/
projectversion3digits = projectversion3digits.tokenize('.').plus(0).take(3).join('.')
}
import org.apache.tools.ant.filters.ReplaceTokens
processResources {
filter ReplaceTokens, tokens: [
// The build version is composed of 4 fields, including the semantic version and the build number provided by Travis.
'project.buildVersion': project.version.endsWith('SNAPSHOT') ? project.version : on3Digits(project.version) + '.' + (System.getProperty("buildNumber") ?: '0'),
'project.version.3digits': project.version.endsWith('SNAPSHOT') ? project.version : on3Digits(project.version)
]
}
shadowJar {
configurations = [project.configurations.runtimeClasspath]
minimize {
exclude(project(':sonar-check-api'))
}
relocate('com.google', 'org.sonar.api.internal.google')
relocate('org.apache.commons', 'org.sonar.api.internal.apachecommons')
}
// only interested in shadowJar
jar.enabled = false
artifactoryPublish.skip = false
publishing {
publications {
mavenJava(MavenPublication) {
artifact source: shadowJar, classifier: null
if (release) {
artifact sourcesJar
artifact javadocJar
}
}
}
}
|