sonarqube/sonar-scanner-protocol/build.gradle

54 lines
1.4 KiB
Groovy

sonar {
properties {
property 'sonar.projectName', "${projectTitle} :: Scanner :: Protocol"
property 'sonar.exclusions', 'src/main/java/org/sonar/scanner/protocol/viewer/**'
}
}
dependencies {
// please keep the list ordered
api 'com.google.code.gson:gson'
api 'com.google.protobuf:protobuf-java'
api 'commons-io:commons-io'
api 'commons-lang:commons-lang'
api project(':sonar-core')
compileOnlyApi 'com.google.code.findbugs:jsr305'
testImplementation 'com.google.guava:guava'
testImplementation 'junit:junit'
testImplementation 'org.assertj:assertj-core'
}
//create a single Jar with all dependencies
task fatJar(type: Jar) {
manifest {
attributes 'Main-Class': 'org.sonar.scanner.protocol.viewer.ScannerReportViewerApp'
}
archiveBaseName = project.name + '-all'
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
build.dependsOn fatJar
// Produce Java 11 bytecode while making sure the code does not use any APIs from Java 17
tasks.withType(JavaCompile) {
options.release = 11
}
// Used by sonar-db-core to run DB Unit Tests
artifactoryPublish.skip = false
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
if (release) {
artifact sourcesJar
artifact javadocJar
}
}
}
}