aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/build.gradle
blob: e2785bd783d0088d6c2a274966babe7bff2e8d22 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
sonar {
  properties {
    property 'sonar.projectName', "${projectTitle} :: DAO"
  }
}

dependencies {
  // please keep the list grouped by configuration and ordered by name

  api 'com.google.guava:guava'
  api 'com.google.protobuf:protobuf-java'
  api 'commons-io:commons-io'
  api 'org.apache.commons:commons-lang3'
  api 'org.lz4:lz4-java'
  api 'org.mybatis:mybatis'
  api 'org.sonarsource.api.plugin:sonar-plugin-api'

  api project(':server:sonar-db-core')
  api project(':server:sonar-db-migration')
  api project(':sonar-core')

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

  testImplementation 'commons-dbutils:commons-dbutils'
  testImplementation 'org.assertj:assertj-core'
  testImplementation 'org.assertj:assertj-guava'
  testImplementation 'org.junit.jupiter:junit-jupiter-api'
  testImplementation 'org.junit.jupiter:junit-jupiter-params'
  testImplementation 'org.mockito:mockito-core'
  testImplementation 'org.sonarsource.orchestrator:sonar-orchestrator-junit4'
  testImplementation 'org.sonarsource.api.plugin:sonar-plugin-api-test-fixtures'
  testImplementation project(':sonar-testing-harness')
  testImplementation project(':sonar-plugin-api-impl')

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

  testRuntimeOnly 'com.h2database:h2'
  testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
  testRuntimeOnly 'org.junit.vintage:junit-vintage-engine'
  testRuntimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
  testRuntimeOnly 'com.oracle.database.jdbc:ojdbc11'
  testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
  testRuntimeOnly 'org.postgresql:postgresql'

  testFixturesApi 'org.junit.jupiter:junit-jupiter-api'
  testFixturesApi testFixtures(project(':server:sonar-db-core'))
  testFixturesApi testFixtures(project(':server:sonar-db-migration'))

  testFixturesImplementation 'com.h2database:h2'

  testFixturesCompileOnly 'com.github.spotbugs:spotbugs-annotations'
}

test {
  systemProperty 'orchestrator.configUrl', System.getProperty('orchestrator.configUrl')
  // Enabling the JUnit Platform (see https://github.com/junit-team/junit5-samples/tree/master/junit5-migration-gradle)
  useJUnitPlatform()
}

task dumpSchema(type:JavaExec) {
    mainClass = 'org.sonar.db.dump.DumpSQSchema'
    classpath = sourceSets.test.runtimeClasspath
}

tasks.check.dependsOn dumpSchema

task createDB(type:JavaExec) {
    mainClass = 'org.sonar.db.createdb.CreateDb'
    classpath = sourceSets.test.runtimeClasspath
    systemProperty 'orchestrator.configUrl', System.getProperty('orchestrator.configUrl')
    if (!project.version.endsWith("-SNAPSHOT")) {
        systemProperty 'sonar.runtimeVersion', project.version
    }
}

task populateDB(type: JavaExec) {
  mainClass = 'org.sonar.db.createdb.PopulateDb'
  classpath = sourceSets.test.runtimeClasspath
}

task testJar(type: Jar) {
  archiveClassifier = 'tests'
  from sourceSets.test.output
}

configurations {
  tests
}

artifacts {
   tests testJar
}

jar {
    // remove exclusion on proto files so that they can be included by other modules
    setExcludes([])
}