Skip to content

Commit 34aca4a

Browse files
Introduce cache for Maven dependencies. (#9807)
1 parent b42a4cb commit 34aca4a

File tree

4 files changed

+50
-16
lines changed

4 files changed

+50
-16
lines changed

.gitlab-ci.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ default:
138138
KUBERNETES_CPU_REQUEST: 8
139139
KUBERNETES_MEMORY_REQUEST: 8Gi
140140
KUBERNETES_MEMORY_LIMIT: 8Gi
141-
CACHE_TYPE: lib #default
141+
CACHE_TYPE: "lib" #default
142142
FF_USE_FASTZIP: "true"
143143
CACHE_COMPRESSION_LEVEL: "slowest"
144144

@@ -148,10 +148,11 @@ default:
148148
cache:
149149
- key: dependency-$CACHE_TYPE # Dependencies cache
150150
paths:
151-
# Cached dependencies and wrappers for gradle
151+
# Cached dependencies and wrappers for Gradle and Maven:
152152
- .gradle/wrapper
153153
- .gradle/caches
154154
- .gradle/notifications
155+
- .mvn/caches
155156
policy: $DEPENDENCY_CACHE_POLICY
156157
unprotect: true
157158
fallback_keys: # Use fallback keys because all cache types are not populated. See note under: populate_dep_cache
@@ -174,6 +175,7 @@ default:
174175
- export GRADLE_USER_HOME=$(pwd)/.gradle
175176
# replace maven central part by MAVEN_REPOSITORY_PROXY in .mvn/wrapper/maven-wrapper.properties
176177
- sed -i "s|https://repo.maven.apache.org/maven2/|$MAVEN_REPOSITORY_PROXY|g" .mvn/wrapper/maven-wrapper.properties
178+
- mkdir -p .mvn/caches
177179
- export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xms$GRADLE_MEM -Xmx$GRADLE_MEM -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'"
178180
- export GRADLE_ARGS=" --build-cache --stacktrace --no-daemon --parallel --max-workers=$GRADLE_WORKERS"
179181
- *normalize_node_index
@@ -246,7 +248,7 @@ build:
246248
extends: .gradle_build
247249
variables:
248250
BUILD_CACHE_POLICY: push
249-
CACHE_TYPE: lib
251+
CACHE_TYPE: "lib"
250252
DEPENDENCY_CACHE_POLICY: pull
251253
script:
252254
- if [ $CI_PIPELINE_SOURCE == "schedule" ] ; then ./gradlew resolveAndLockAll --write-locks $GRADLE_ARGS; fi
@@ -365,7 +367,7 @@ test_published_artifacts:
365367
stage: tests
366368
needs: [ build ]
367369
variables:
368-
CACHE_TYPE: lib
370+
CACHE_TYPE: "lib"
369371
script:
370372
- mvn_local_repo=$(./mvnw help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)
371373
- rm -rf "${mvn_local_repo}/com/datadoghq"
@@ -393,7 +395,7 @@ test_published_artifacts:
393395
needs: [ build ]
394396
stage: tests
395397
variables:
396-
CACHE_TYPE: lib
398+
CACHE_TYPE: "lib"
397399
script:
398400
- *gitlab_base_ref_params
399401
- ./gradlew --version
@@ -429,6 +431,7 @@ check_inst:
429431
parallel: 4
430432
variables:
431433
GRADLE_TARGET: ":instrumentationCheck"
434+
CACHE_TYPE: "inst"
432435

433436
check_smoke:
434437
extends: .check_job
@@ -454,7 +457,7 @@ muzzle:
454457
matrix:
455458
- CI_SPLIT: ["1/8", "2/8", "3/8", "4/8", "5/8", "6/8", "7/8", "8/8"]
456459
variables:
457-
CACHE_TYPE: inst
460+
CACHE_TYPE: "inst"
458461
script:
459462
- export SKIP_BUILDSCAN="true"
460463
- ./gradlew --version
@@ -476,7 +479,7 @@ muzzle-dep-report:
476479
needs: [ build_tests ]
477480
stage: tests
478481
variables:
479-
CACHE_TYPE: inst
482+
CACHE_TYPE: "inst"
480483
script:
481484
- export SKIP_BUILDSCAN="true"
482485
- ./gradlew --version
@@ -809,7 +812,7 @@ deploy_to_maven_central:
809812
stage: publish
810813
needs: [ build ]
811814
variables:
812-
CACHE_TYPE: lib
815+
CACHE_TYPE: "lib"
813816
rules:
814817
- if: '$POPULATE_CACHE'
815818
when: never

dd-java-agent/instrumentation/mule-4.5/build.gradle

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,30 @@ tasks.register('extractLatestMuleServices', Sync) {
221221

222222
// build the mule application via maven
223223
tasks.register('mvnPackage', Exec) {
224-
workingDir "$appDir"
224+
workingDir("$appDir")
225225
environment.JAVA_HOME = System.getenv("JAVA_8_HOME")
226-
commandLine "$rootDir/mvnw", "-Ddatadog.builddir=$buildDir", "-Ddatadog.name=mule-test-application", "-Ddatadog.version=$version", 'package'
226+
227+
List<String> mvnArgs = [
228+
"$rootDir/mvnw",
229+
"-Ddatadog.builddir=$buildDir",
230+
"-Ddatadog.name=mule-test-application",
231+
"-Ddatadog.version=$version",
232+
"package"
233+
]
234+
235+
// Specify caches folder on CI.
236+
if (providers.environmentVariable("CI").isPresent()) {
237+
mvnArgs.add(1, "-Dmaven.repo.local=$rootDir/.mvn/caches")
238+
}
239+
240+
commandLine(mvnArgs)
241+
227242
outputs.dir("$buildDir/target")
228243
inputs.dir("$appDir/src")
229244
inputs.file("$appDir/pom.xml")
230245
inputs.file("$appDir/mule-artifact.json")
231246
}
232247

233-
234248
// generate a properties file so the test knows where to run mule, and what jar to deploy
235249
tasks.register('generateAppResources') {
236250
createAppResourceTask(it, "test")

dd-smoke-tests/springboot-openliberty-20/build.gradle

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
apply from: "$rootDir/gradle/java.gradle"
32
description = 'SpringBoot Open Liberty 20-22 Smoke Tests'
43

@@ -14,9 +13,18 @@ def mvnwCommand = isWindows ? 'mvnw.cmd' : 'mvnw'
1413

1514
// compile the Open liberty spring boot server
1615
tasks.register('mvnStage', Exec) {
17-
workingDir "$appDir"
16+
workingDir("$appDir")
1817
environment.JAVA_HOME = System.getenv("JAVA_8_HOME")
19-
commandLine "$rootDir/${mvnwCommand}", 'package', "-Dtarget.dir=${buildDir}/application/target"
18+
19+
List<String> mvnArgs = ["$rootDir/${mvnwCommand}", "-Dtarget.dir=${buildDir}/application/target", "package"]
20+
21+
// Specify caches folder on CI.
22+
if (providers.environmentVariable("CI").isPresent()) {
23+
mvnArgs.add(1, "-Dmaven.repo.local=$rootDir/.mvn/caches")
24+
}
25+
26+
commandLine(mvnArgs)
27+
2028
inputs.dir "$appDir/src"
2129
inputs.file "$appDir/pom.xml"
2230
outputs.file jarPath

dd-smoke-tests/springboot-openliberty-23/build.gradle

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,18 @@ def mvnwCommand = isWindows ? 'mvnw.cmd' : 'mvnw'
1313

1414
// compile the Open liberty spring boot server
1515
tasks.register('mvnStage', Exec) {
16-
workingDir "$appDir"
16+
workingDir("$appDir")
1717
environment.JAVA_HOME = System.getenv("JAVA_8_HOME")
18-
commandLine "$rootDir/${mvnwCommand}", 'package', "-Dtarget.dir=${buildDir}/application/target"
18+
19+
List<String> mvnArgs = ["$rootDir/${mvnwCommand}", "-Dtarget.dir=${buildDir}/application/target", "package"]
20+
21+
// Specify caches folder on CI.
22+
if (providers.environmentVariable("CI").isPresent()) {
23+
mvnArgs.add(1, "-Dmaven.repo.local=$rootDir/.mvn/caches")
24+
}
25+
26+
commandLine(mvnArgs)
27+
1928
inputs.dir "$appDir/src"
2029
inputs.file "$appDir/pom.xml"
2130
outputs.file jarPath

0 commit comments

Comments
 (0)