sonarqube {
  properties {
    property 'sonar.projectName', "${projectTitle} :: Scanner Engine"
  }
}

// Excluding scanner files in order to benefit of incremental build support
sourceSets.test.resources {
  exclude '**/.sonar/**'
}

configurations {
  testImplementation.extendsFrom(compileOnly)
}

dependencies {
  // please keep the list ordered

  compile 'ch.qos.logback:logback-classic'
  compile 'ch.qos.logback:logback-core'
  compile 'commons-codec:commons-codec'
  compile 'commons-io:commons-io'
  compile 'commons-lang:commons-lang'
  compile 'com.google.code.gson:gson'
  compile 'org.apache.commons:commons-csv'
  compile 'com.google.protobuf:protobuf-java'
  compile 'com.squareup.okhttp3:okhttp'
  compile 'com.fasterxml.staxmate:staxmate'
  compile 'javax.annotation:javax.annotation-api'
  compile 'org.eclipse.jgit:org.eclipse.jgit'
  compile 'org.tmatesoft.svnkit:svnkit'
  compile 'org.slf4j:jcl-over-slf4j'
  compile 'org.slf4j:jul-to-slf4j'
  compile 'org.slf4j:log4j-over-slf4j'
  compile 'org.slf4j:slf4j-api'
  compile 'org.sonarsource.api.plugin:sonar-plugin-api'
  compile 'org.sonarsource.update-center:sonar-update-center-common'
  compile 'org.springframework:spring-context'


  compile project(':sonar-core')
  compile project(':sonar-scanner-protocol')
  compile project(':sonar-ws')
  compile project(':sonar-duplications')
  compile project(':sonar-plugin-api-impl')

  compileOnly 'com.google.code.findbugs:jsr305'

  testCompile 'com.squareup.okhttp3:mockwebserver'
  testCompile 'com.squareup.okhttp3:okhttp'
  testCompile 'com.squareup.okio:okio'
  testCompile 'com.tngtech.java:junit-dataprovider'
  testCompile 'commons-io:commons-io'
  testCompile 'junit:junit'
  testCompile 'org.assertj:assertj-core'
  testCompile 'com.fasterxml.staxmate:staxmate'
  testCompile 'org.hamcrest:hamcrest-core'
  testCompile 'org.mockito:mockito-core'
  testCompile project(':plugins:sonar-xoo-plugin')
}

license {
  excludes(["**/Fake.java", "**/Fake.groovy", "org/sonar/scanner/cpd/ManyStatements.java"])
}

artifactoryPublish.skip = false

// Used by core plugins
publishing {
  publications {
    mavenJava(MavenPublication) {
      from components.java
      if (release) {
        artifact sourcesJar
        artifact javadocJar
      }
    }
  }
}