aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-protocol/build.gradle
blob: 4402ce004ecdcc9ce047c47e2b40b129b90c1c7f (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
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 'org.apache.commons:commons-lang3'
  api project(':sonar-core')

  compileOnlyApi 'com.github.spotbugs:spotbugs-annotations'

  testImplementation 'com.google.guava:guava'
  testImplementation 'junit:junit'
  testImplementation 'org.junit.jupiter:junit-jupiter-api'
  testImplementation 'org.junit.jupiter:junit-jupiter-params'
  testImplementation 'org.assertj:assertj-core'

  testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
  testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
}

test {
  useJUnitPlatform()
}

//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'
  dependsOn configurations.runtimeClasspath
  from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
  with jar
  duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

build.dependsOn fatJar

// Used by sonar-db-core to run DB Unit Tests
artifactoryPublish.skip = !deployCommunity
publishing {
  publications {
    mavenJava(MavenPublication) {
      from components.java
      if (release) {
        artifact sourcesJar
        artifact javadocJar
      }
    }
  }
}