|
15 | 15 | # |
16 | 16 | ################################################################################ |
17 | 17 |
|
18 | | -# Build protoc with default options. |
| 18 | +# Get the latest protoc binary release |
19 | 19 | unset CFLAGS CXXFLAGS |
20 | | -cd $SRC/protobuf/ |
21 | | -bazel build :protoc |
22 | | -cp $SRC/protobuf/bazel-bin/protoc $SRC/protobuf/protoc |
23 | | -export PROTOC="$SRC/protobuf/bazel-bin/protoc" |
| 20 | +mkdir -p $SRC/protobuf |
| 21 | +VERSION=$(curl --silent --fail "https://api.github.com/repos/protocolbuffers/protobuf/releases/latest" | jq -r '.tag_name' | sed 's/v//') |
| 22 | +PROTOC_ZIP="protoc-$VERSION-linux-x86_64.zip" |
| 23 | +curl --silent --fail -L -o "$SRC/$PROTOC_ZIP" "https://github.com/protocolbuffers/protobuf/releases/download/v$VERSION/$PROTOC_ZIP" |
| 24 | +unzip -o $PROTOC_ZIP -d $SRC/protobuf |
| 25 | +export PROTOC=$SRC/protobuf/bin/protoc |
24 | 26 |
|
25 | | - |
26 | | -# Build protobuf-java (requires protoc in source tree). |
27 | | -cd $SRC/protobuf/java/ |
28 | | -cp $PROTOC $SRC/protobuf/src/ |
29 | | -MAVEN_ARGS="-Dmaven.test.skip=true -Djavac.src.version=15 -Djavac.target.version=15" |
30 | | -$MVN package $MAVEN_ARGS |
31 | | -CURRENT_VERSION=$($MVN org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \ |
32 | | - -Dexpression=project.version -q -DforceStdout) |
33 | | -cp "core/target/protobuf-java-$CURRENT_VERSION.jar" $OUT/protobuf-java.jar |
| 27 | +# Get the latest protobuf-java release |
| 28 | +JAVA_VERSION=$(curl -s "https://search.maven.org/solrsearch/select?q=g:com.google.protobuf+AND+a:protobuf-java&rows=1&wt=json" \ |
| 29 | + | jq -r '.response.docs[0].latestVersion') |
| 30 | +JAR_FILE="protobuf-java-$JAVA_VERSION.jar" |
| 31 | +curl --silent -L -o "$SRC/$JAR_FILE" "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/$JAVA_VERSION/$JAR_FILE" |
| 32 | +cp $JAR_FILE $OUT/protobuf-java.jar |
34 | 33 |
|
35 | 34 | # Compile test protos with protoc. |
36 | 35 | cd $SRC/ |
|
0 commit comments