1
+ // Build Script Classpath
2
+ buildscript {
3
+ ext {
4
+ springBootVersion = ' 3.1.7'
5
+ springDependencyManagementVersion = ' 1.1.4'
6
+ }
7
+ }
8
+
1
9
plugins {
2
10
id ' idea'
3
11
id ' jacoco'
@@ -10,7 +18,8 @@ plugins {
10
18
id ' de.undercouch.download' version ' 5.2.1'
11
19
id ' org.hidetake.swagger.generator' version ' 2.19.2'
12
20
id ' org.sonarqube' version ' 4.0.0.2929'
13
- id ' org.springframework.boot' version ' 2.7.17'
21
+ id " org.springframework.boot" version " ${ springBootVersion} "
22
+ id " io.spring.dependency-management" version " ${ springDependencyManagementVersion} "
14
23
}
15
24
16
25
allprojects {
@@ -54,63 +63,72 @@ repositories {
54
63
}
55
64
56
65
dependencies {
57
- ext {
58
- jerseyVersion = ' 2.35'
59
- springVersion = ' 2.7.17'
60
- }
61
66
// Common utils
62
- implementation group : ' org.apache.commons' , name : ' commons-dbcp2' , version : ' 2.9.0 '
63
- implementation group : ' org.apache.commons' , name : ' commons-lang3' , version : ' 3.12.0 '
64
- implementation group : ' org.apache.commons' , name : ' commons-pool2' , version : ' 2.11.1 '
67
+ implementation group : ' org.apache.commons' , name : ' commons-dbcp2'
68
+ implementation group : ' org.apache.commons' , name : ' commons-lang3'
69
+ implementation group : ' org.apache.commons' , name : ' commons-pool2'
65
70
66
71
// Spring
67
- implementation group : ' org.springframework.boot' , name : ' spring-boot-starter-data-jdbc' , version : springVersion
68
- implementation group : ' org.springframework.boot' , name : ' spring-boot-starter-web' , version : springVersion
69
- annotationProcessor group : ' org.springframework.boot' , name : ' spring-boot-configuration-processor' , version : springVersion
72
+ implementation group : ' org.springframework.boot' , name : ' spring-boot-starter-data-jdbc'
73
+ implementation group : ' org.springframework.boot' , name : ' spring-boot-starter-web'
74
+ annotationProcessor group : ' org.springframework.boot' , name : ' spring-boot-configuration-processor'
70
75
71
76
// Misc. Services
72
77
implementation group : ' org.webjars' , name : ' webjars-locator-core' , version : ' 0.52'
73
- implementation group : ' javax.validation' , name : ' validation-api' , version : ' 2.0.1.Final'
78
+ implementation group : ' jakarta.validation' , name : ' jakarta.validation-api'
79
+ implementation group : ' io.projectreactor' , name : ' reactor-core' , version : ' 3.4.34'
74
80
75
81
// Google dependencies
76
82
constraints {
77
83
implementation group : ' com.google.guava' , name : ' guava' , version : ' 31.1-jre' // '-jre' for Java 8 or higher
78
84
}
79
- implementation platform(' com.google.cloud:libraries-bom:26.0.0' ) // use common bom
80
-
81
- implementation group : ' com.google.auto.value' , name : ' auto-value-annotations' , version : ' 1.9'
82
- implementation group : ' com.google.cloud' , name : ' google-cloud-billing' , version : ' 2.3.0'
83
- implementation group : ' com.google.cloud' , name : ' google-cloud-core-http' , version : ' 2.8.0'
84
- implementation group : ' com.google.cloud' , name : ' google-cloud-pubsub' , version : ' 1.120.0'
85
- implementation group : ' com.google.cloud' , name : ' google-cloud-storage' , version : ' 2.9.2'
86
- implementation group : ' com.google.cloud' , name : ' google-cloud-iamcredentials' , version : ' 2.17.0'
85
+ implementation platform(' com.google.cloud:libraries-bom:26.28.0' ) // use common bom
86
+ implementation group : ' com.google.auto.value' , name : ' auto-value-annotations'
87
+ implementation group : ' com.google.cloud' , name : ' google-cloud-pubsub'
88
+ implementation group : ' com.google.cloud' , name : ' google-cloud-iamcredentials'
87
89
annotationProcessor group : ' com.google.auto.value' , name : ' auto-value' , version : ' 1.9'
88
90
89
91
// Database
90
- implementation group : ' org.liquibase' , name : ' liquibase-core' , version : ' 4.17.2 '
92
+ implementation group : ' org.liquibase' , name : ' liquibase-core' , version : ' 4.22.0 '
91
93
runtimeOnly group : ' org.postgresql' , name : ' postgresql' , version : ' 42.5.0'
92
94
93
95
// Terra libraries
94
- implementation group : ' bio.terra' , name : ' terra-common-lib' , version : ' 0.0.89 -SNAPSHOT'
95
- implementation group : ' bio.terra' , name : ' terra-cloud-resource-lib' , version : ' 1.2.27 -SNAPSHOT'
96
- implementation group : ' bio.terra' , name : ' workspace-manager-client' , version : ' 0.254.575 -SNAPSHOT'
96
+ implementation group : ' bio.terra' , name : ' terra-common-lib' , version : ' 0.1.9 -SNAPSHOT'
97
+ implementation group : ' bio.terra' , name : ' terra-cloud-resource-lib' , version : ' 1.2.30 -SNAPSHOT'
98
+ implementation group : ' bio.terra' , name : ' workspace-manager-client' , version : ' 0.254.997 -SNAPSHOT'
97
99
98
100
// hk2 is required to use WSM client, but not correctly exposed by the client
99
- implementation group : ' org.glassfish.jersey.inject' , name : ' jersey-hk2' , version : jerseyVersion
101
+ implementation group : ' org.glassfish.jersey.inject' , name : ' jersey-hk2'
100
102
101
103
// Kubernetes client
102
104
implementation group : ' io.kubernetes' , name : ' client-java' , version : ' 18.0.0'
103
105
104
- // Metrics & Tracing
105
- implementation group : ' io.opencensus' , name : ' opencensus-exporter-stats-stackdriver' , version : ' 0.31.1'
106
+ // OpenTelemetry
107
+ var openTelemetryVersion = ' 1.32.0'
108
+ implementation " io.opentelemetry:opentelemetry-api:${ openTelemetryVersion} "
109
+ implementation " io.opentelemetry:opentelemetry-sdk:${ openTelemetryVersion} "
110
+ implementation " io.opentelemetry:opentelemetry-sdk-common:${ openTelemetryVersion} "
111
+ implementation " io.opentelemetry:opentelemetry-sdk-metrics:${ openTelemetryVersion} "
112
+ implementation " io.opentelemetry:opentelemetry-exporter-logging:${ openTelemetryVersion} "
113
+ implementation " io.opentelemetry:opentelemetry-semconv:1.30.1-alpha"
114
+ implementation " io.opentelemetry.instrumentation:opentelemetry-spring-webmvc-6.0:${ openTelemetryVersion} -alpha"
115
+ implementation " io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:${ openTelemetryVersion} "
116
+ implementation " io.opentelemetry.instrumentation:opentelemetry-spring-boot:${ openTelemetryVersion} -alpha"
117
+ implementation " io.opentelemetry:opentelemetry-exporter-prometheus:${ openTelemetryVersion} -alpha"
118
+
119
+ // Google cloud open telemetry exporters
120
+ var gcpOpenTelemetryExporterVersion = ' 0.25.2'
121
+ implementation " com.google.cloud.opentelemetry:exporter-trace:${ gcpOpenTelemetryExporterVersion} "
122
+ implementation " com.google.cloud.opentelemetry:exporter-metrics:${ gcpOpenTelemetryExporterVersion} "
106
123
107
124
// Swagger deps
108
125
implementation group : ' io.swagger.core.v3' , name : ' swagger-annotations' , version : ' 2.2.2'
109
126
runtimeOnly group : ' org.webjars.npm' , name : ' swagger-ui-dist' , version : ' 3.36.2'
110
- swaggerCodegen group : ' io.swagger.codegen.v3' , name : ' swagger-codegen-cli' , version : ' 3.0.35 '
127
+ swaggerCodegen group : ' io.swagger.codegen.v3' , name : ' swagger-codegen-cli' , version : ' 3.0.47 '
111
128
112
129
// Test deps
113
- testImplementation(" org.springframework.boot:spring-boot-starter-test:$springVersion " ) {
130
+ testImplementation ' org.awaitility:awaitility:4.2.0'
131
+ testImplementation(" org.springframework.boot:spring-boot-starter-test" ) {
114
132
exclude group : ' org.junit.vintage' , module : ' junit-vintage-engine'
115
133
}
116
134
// Allows us to mock final classes
@@ -120,38 +138,7 @@ dependencies {
120
138
// These are not directly included, they are just constrained if they are pulled in as
121
139
// transitive dependencies.
122
140
constraints {
123
- implementation(' com.google.protobuf:protobuf-java:3.21.10' )
124
- implementation(' org.yaml:snakeyaml' ) {
125
- version {
126
- strictly ' 1.33'
127
- }
128
- }
129
- implementation(' io.projectreactor.netty:reactor-netty-http:1.0.38' )
130
- implementation(' com.fasterxml.jackson:jackson-bom:2.14.2' )
131
- implementation(' org.bouncycastle:bcpkix-jdk15on:1.70' )
132
- implementation(' org.bouncycastle:bcprov-jdk15on:1.70' )
133
141
spotbugs(' org.apache.bcel:bcel:6.6.1' )
134
- // TODO(PF-2299): Remove these once all dependencies are using >3.0.0. This
135
- // is forced to version 2.1.6 here to paper over a breaking change in the
136
- // underlying library (the move from javax.ws... to jakarta.ws... package).
137
- implementation(' jakarta.ws.rs:jakarta.ws.rs-api' ) {
138
- version {
139
- strictly ' 2.1.6'
140
- }
141
- }
142
- implementation(' org.glassfish.jersey.core:jersey-common' ) {
143
- version {
144
- strictly jerseyVersion
145
- }
146
- }
147
- // slf4j-api is pulled in via TCL, Janitor cannot go to version 2.0 until
148
- // TCL does.
149
- implementation(' org.slf4j:slf4j-api' ) {
150
- version {
151
- strictly ' 1.7.36'
152
- }
153
- }
154
-
155
142
}
156
143
}
157
144
0 commit comments