-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
85 lines (75 loc) · 3.5 KB
/
build.gradle
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
plugins {
id 'jacoco'
id 'org.springframework.boot'
id 'com.diffplug.spotless'
id 'com.github.ben-manes.versions' version '0.42.0'
id 'com.github.spotbugs' version '5.1.3'
id 'com.google.cloud.tools.jib'
id 'com.gorylenko.gradle-git-properties' version '2.4.0'
id 'io.freefair.lombok'
id 'org.hidetake.swagger.generator'
id 'org.sonarqube'
}
repositories {
mavenCentral()
maven { url 'https://broadinstitute.jfrog.io/artifactory/libs-snapshot' }
maven { url 'https://broadinstitute.jfrog.io/artifactory/libs-release' }
}
apply from: 'publishing.gradle'
apply from: 'spring.gradle'
apply from: 'generators.gradle'
apply from: 'tooling.gradle'
apply from: 'analysis.gradle'
dependencies {
// google
implementation platform('com.google.cloud:libraries-bom:25.1.0')
implementation 'com.google.cloud:google-cloud-pubsub:1.123.6'
implementation 'com.google.cloud:google-cloud-kms:2.15.0'
annotationProcessor 'org.immutables:value:2.9.2'
implementation 'bio.terra:terra-common-lib:0.1.9-SNAPSHOT'
// https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk18on
implementation 'org.bouncycastle:bcprov-jdk18on:1.76'
implementation 'org.codehaus.janino:janino:3.1.9' // Provides if/else xml parsing for logback config
implementation('org.springframework.cloud:spring-cloud-gcp-starter-logging:1.2.8.RELEASE') {
exclude group: 'org.springframework', module: 'spring-jcl'
}
// Transitive dependency constraints due to security vulnerabilities in prior versions.
// These are not directly included, they are just constrained if they are pulled in as
// transitive dependencies.
constraints {
implementation('com.google.protobuf:protobuf-java:3.21.10')
implementation('org.mozilla:rhino:1.7.12')
}
// for testing with mock web server
testImplementation('org.mock-server:mockserver-netty:5.15.0') {
// Incompatible with the version brought in as a non-test dependency
exclude group: 'com.nimbusds', module: 'nimbus-jose-jwt'
}
// https://mvnrepository.com/artifact/org.mockito/mockito-core
testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.4.0'
// OpenTelemetry
var openTelemetryVersion = '1.31.0'
implementation "io.opentelemetry:opentelemetry-api:${openTelemetryVersion}"
implementation "io.opentelemetry:opentelemetry-sdk:${openTelemetryVersion}"
implementation "io.opentelemetry:opentelemetry-sdk-metrics:${openTelemetryVersion}"
implementation "io.opentelemetry:opentelemetry-exporter-logging:${openTelemetryVersion}"
implementation "io.opentelemetry.semconv:opentelemetry-semconv:1.21.0-alpha"
implementation "io.opentelemetry.instrumentation:opentelemetry-spring-webmvc-6.0:${openTelemetryVersion}-alpha"
implementation "io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:${openTelemetryVersion}"
implementation "io.opentelemetry.instrumentation:opentelemetry-spring-boot:${openTelemetryVersion}-alpha"
implementation "com.google.cloud.opentelemetry:exporter-trace:0.25.2"
}
sonarqube {
properties {
property "sonar.projectName", "terra-external-credentials-manager-service"
property "sonar.projectKey", "DataBiosphere_terra-external-credentials-manager"
property "sonar.organization", "broad-databiosphere"
property "sonar.host.url", "https://sonarcloud.io"
property "sonar.sources", "src/main/java,src/main/resources/templates"
}
}
def googleCredentialsFile = "${rootDir}/service/src/main/resources/rendered/ecm-sa.json"
tasks.withType(Test) {
environment.put("GOOGLE_APPLICATION_CREDENTIALS", "${googleCredentialsFile}")
}
test { maxParallelForks = 1 }