@@ -6,24 +6,6 @@ set -euo pipefail
66# I could not figure out how to use a protoc Maven plugin to use the shaded module,
77# so I ran this command to generate the sources manually.
88
9- # Use gsed on macOS (requires: brew install gnu-sed) for in-place edits
10- # BSD sed requires -i '' for in-place with no backup; GNU sed uses -i alone.
11- if [[ " $OSTYPE " == " darwin" * ]] && command -v gsed > /dev/null 2>&1 ; then
12- SED=' gsed'
13- SED_I=(-i)
14- else
15- SED=' sed'
16- # BSD sed: -i requires backup extension; '' = no backup
17- [[ " $OSTYPE " == " darwin" * ]] && SED_I=(-i ' ' ) || SED_I=(-i)
18- fi
19-
20- # Use mise-provided protoc if available
21- if command -v mise > /dev/null 2>&1 ; then
22- PROTOC=" mise exec -- protoc"
23- else
24- PROTOC=' protoc'
25- fi
26-
279TARGET_DIR=$1
2810PROTO_DIR=src/main/protobuf
2911PROTOBUF_VERSION_STRING=$2
@@ -36,23 +18,22 @@ mkdir -p "$TARGET_DIR"
3618rm -rf $PROTO_DIR || true
3719mkdir -p $PROTO_DIR
3820
39- OLD_PACKAGE=$( $SED -nE ' s/import (io.prometheus.metrics.expositionformats.generated.*).Metrics;/\1/p' src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java)
21+ OLD_PACKAGE=$( sed -nE ' s/import (io.prometheus.metrics.expositionformats.generated.*).Metrics;/\1/p' src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java)
4022PACKAGE=" io.prometheus.metrics.expositionformats.generated.com_google_protobuf_${PROTOBUF_VERSION_STRING} "
4123
4224if [[ $OLD_PACKAGE != " $PACKAGE " ]]; then
4325 echo " Replacing package $OLD_PACKAGE with $PACKAGE in all java files"
44- find .. -type f -name " *.java" -exec " ${SED} " " ${SED_I[@]} " " s/$OLD_PACKAGE /$PACKAGE /g" {} +
26+ find .. -type f -name " *.java" -exec sed -i " s/$OLD_PACKAGE /$PACKAGE /g" {} +
4527fi
4628
4729curl -sL https://raw.githubusercontent.com/prometheus/client_model/master/io/prometheus/client/metrics.proto -o $PROTO_DIR /metrics.proto
4830
49- " ${SED} " " ${SED_I[@]} " " s/java_package = \" io.prometheus.client\" /java_package = \" $PACKAGE \" /" $PROTO_DIR /metrics.proto
50- $PROTOC --java_out " $TARGET_DIR " $PROTO_DIR /metrics.proto
51- find src/main/generated/io -type f -exec " ${SED} " " ${SED_I[@]} " ' 1 i\
52- //CHECKSTYLE:OFF: checkstyle' {} \;
53- find src/main/generated/io -type f -exec " ${SED} " " ${SED_I[@]} " -e $' $a\\\n //CHECKSTYLE:ON: checkstyle' {} \;
31+ sed -i " s/java_package = \" io.prometheus.client\" /java_package = \" $PACKAGE \" /" $PROTO_DIR /metrics.proto
32+ protoc --java_out " $TARGET_DIR " $PROTO_DIR /metrics.proto
33+ sed -i ' 1 i\//CHECKSTYLE:OFF: checkstyle' " $( find src/main/generated/io -type f) "
34+ sed -i -e $' $a\\\n //CHECKSTYLE:ON: checkstyle' " $( find src/main/generated/io -type f) "
5435
55- GENERATED_WITH=$( $SED -n ' s/.* \/\/ Protobuf Java Version: \(.*\)/\1/p ' " $TARGET_DIR /${PACKAGE// \. // } " /Metrics.java)
36+ GENERATED_WITH=$( grep -oP ' \/\/ Protobuf Java Version: \K.* ' " $TARGET_DIR /${PACKAGE// \. // } " /Metrics.java)
5637
5738function help() {
5839 echo " Please use https://mise.jdx.dev/ - this will use the version specified in mise.toml"
0 commit comments