-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdevelocity-maven.yml
43 lines (39 loc) · 1.82 KB
/
develocity-maven.yml
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
spec:
inputs:
# Develocity server URL
url:
default: 'https://scans.gradle.com'
# Maven remote repository to download extension jars from
mavenRepo:
default: 'https://repo1.maven.org/maven2'
# Gradle Enterprise Maven extension version
mavenExtensionVersion:
default: '1.20'
# Common Custom User Data Maven extension version (see https://github.com/gradle/common-custom-user-data-maven-extension)
ccudMavenExtensionVersion:
default: '1.12.5'
# Allow untrusted server
allowUntrustedServer:
default: 'false'
---
.injectDevelocityForMaven: &injectDevelocityForMaven |
function create_tmp() {
export TMP_GE=$(mktemp -d ge.XXXXXX --tmpdir="${CI_PROJECT_DIR}")
}
function download_ge_ccud_ext() {
local ext_path="${TMP_GE}/common-custom-user-data-maven-extension.jar"
curl -s $[[ inputs.mavenRepo ]]/com/gradle/common-custom-user-data-maven-extension/$[[ inputs.ccudMavenExtensionVersion ]]/common-custom-user-data-maven-extension-$[[ inputs.ccudMavenExtensionVersion ]].jar -o "${ext_path}"
export CCUD_EXT_PATH="${ext_path}"
}
function download_ge_maven_ext() {
local ext_path="${TMP_GE}/gradle-enterprise-maven-extension.jar"
curl -s $[[ inputs.mavenRepo ]]/com/gradle/gradle-enterprise-maven-extension/$[[ inputs.mavenExtensionVersion ]]/gradle-enterprise-maven-extension-$[[ inputs.mavenExtensionVersion ]].jar -o "${ext_path}"
export DEVELOCITY_EXT_PATH="${ext_path}"
}
function inject_develocity_for_maven() {
export "MAVEN_OPTS=-Dmaven.ext.class.path=${DEVELOCITY_EXT_PATH}:${CCUD_EXT_PATH} -Dgradle.scan.uploadInBackground=false -Dgradle.enterprise.url=$[[ inputs.url ]] -Dgradle.enterprise.allowUntrustedServer=$[[ inputs.allowUntrustedServer ]]"
}
create_tmp
download_ge_ccud_ext
download_ge_maven_ext
inject_develocity_for_maven