Skip to content

Commit ff7acd5

Browse files
Extract a function to install custom jars for the java tracer (#5776)
1 parent 5f748ca commit ff7acd5

File tree

2 files changed

+44
-23
lines changed

2 files changed

+44
-23
lines changed

utils/build/docker/java/install_ddtrace.sh

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,30 @@ set -eu
44

55
mkdir /dd-tracer
66

7+
install_custom_jar() {
8+
local jar_pattern="$1"
9+
local artifact_id="$2"
10+
local jar_count
11+
jar_count=$(find /binaries/ -name "${jar_pattern}" 2>/dev/null | wc -l)
12+
13+
if [ "$jar_count" = 0 ]; then
14+
echo "Using default $artifact_id"
15+
elif [ "$jar_count" = 1 ]; then
16+
[[ "$#" -lt 3 ]] && MVN_OPTS= || MVN_OPTS="$3"
17+
local custom_jar
18+
custom_jar=$(find /binaries/ -name "${jar_pattern}")
19+
echo "Using custom $artifact_id: ${custom_jar}"
20+
mvn -Dfile="$custom_jar" -DgroupId=com.datadoghq -DartifactId="$artifact_id" -Dversion=9999 -Dpackaging=jar $MVN_OPTS install:install-file
21+
else
22+
echo "Too many $artifact_id within binaries folder"
23+
exit 1
24+
fi
25+
}
26+
27+
[[ "$#" -eq 0 ]] && MVN_OPTS= || MVN_OPTS="$1"
28+
729
# Look for custom dd-trace-api jar in custom binaries folder
8-
CUSTOM_DD_TRACE_API_COUNT=$(find /binaries/dd-trace-api*.jar 2>/dev/null | wc -l)
9-
if [ "$CUSTOM_DD_TRACE_API_COUNT" = 0 ]; then
10-
echo "Using default dd-trace-api"
11-
elif [ "$CUSTOM_DD_TRACE_API_COUNT" = 1 ]; then
12-
[[ "$#" -eq 0 ]] && MVN_OPTS= || MVN_OPTS="$1"
13-
CUSTOM_DD_TRACE_API=$(find /binaries/dd-trace-api*.jar)
14-
echo "Using custom dd-trace-api: ${CUSTOM_DD_TRACE_API}"
15-
mvn -Dfile="$CUSTOM_DD_TRACE_API" -DgroupId=com.datadoghq -DartifactId=dd-trace-api -Dversion=9999 -Dpackaging=jar $MVN_OPTS install:install-file
16-
else
17-
echo "Too many dd-trace-api within binaries folder"
18-
exit 1
19-
fi
30+
install_custom_jar "dd-trace-api*.jar" "dd-trace-api" "$MVN_OPTS"
2031

2132
# Look for custom dd-trace-java jar in custom binaries folder
2233
if [ $(ls /binaries/dd-java-agent*.jar | wc -l) = 0 ]; then

utils/build/docker/java/parametric/install_ddtrace.sh

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,28 @@
22

33
MAVEN_PROFILES=
44

5+
configure_custom_jar() {
6+
local jar_pattern="$1"
7+
local artifact_name="$2"
8+
local maven_property="$3"
9+
local jar_count
10+
jar_count=$(find /binaries/ -name "${jar_pattern}" 2>/dev/null | wc -l)
11+
12+
if [ "$jar_count" = 0 ]; then
13+
echo "Using default $artifact_name"
14+
elif [ "$jar_count" = 1 ]; then
15+
local custom_jar
16+
custom_jar=$(find /binaries/ -name "${jar_pattern}")
17+
echo "Using custom $artifact_name: ${custom_jar}"
18+
MAVEN_PROFILES="$MAVEN_PROFILES -D${maven_property}=${custom_jar}"
19+
else
20+
echo "Too many $artifact_name within binaries folder"
21+
exit 1
22+
fi
23+
}
24+
525
# Look for custom dd-trace-api jar in custom binaries folder
6-
CUSTOM_DD_TRACE_API_COUNT=$(find /binaries/dd-trace-api*.jar 2>/dev/null | wc -l)
7-
if [ "$CUSTOM_DD_TRACE_API_COUNT" = 0 ]; then
8-
echo "Using default dd-trace-api"
9-
elif [ "$CUSTOM_DD_TRACE_API_COUNT" = 1 ]; then
10-
CUSTOM_DD_TRACE_API=$(find /binaries/dd-trace-api*.jar)
11-
echo "Using custom dd-trace-api: ${CUSTOM_DD_TRACE_API}"
12-
MAVEN_PROFILES="$MAVEN_PROFILES -DcustomDdTraceApi=${CUSTOM_DD_TRACE_API}"
13-
else
14-
echo "Too many dd-trace-api within binaries folder"
15-
exit 1
16-
fi
26+
configure_custom_jar "dd-trace-api*.jar" "dd-trace-api" "customDdTraceApi"
1727

1828
# Look for custom dd-java-agent jar in custom binaries folder
1929
CUSTOM_DD_JAVA_AGENT_COUNT=$(find /binaries/dd-java-agent*.jar 2>/dev/null | wc -l)

0 commit comments

Comments
 (0)