This is an automated email from the ASF dual-hosted git repository. yihua pushed a commit to branch release-1.1.0 in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 719de6a4981479f51ce984ae9bdd05304849ff99 Author: Y Ethan Guo <[email protected]> AuthorDate: Fri Oct 3 23:33:24 2025 -0700 chore: Add jar deploy script for Spark 4.0 and Java 17 --- scripts/release/deploy_staging_jars_java17.sh | 85 +++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/scripts/release/deploy_staging_jars_java17.sh b/scripts/release/deploy_staging_jars_java17.sh new file mode 100755 index 000000000000..02cd8984e9d1 --- /dev/null +++ b/scripts/release/deploy_staging_jars_java17.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +## +## Variables with defaults (if not overwritten by environment) +## +MVN=${MVN:-mvn} +# fail immediately +set -o errexit +set -o nounset + +CURR_DIR=$(pwd) +if [ ! -d "$CURR_DIR/packaging" ] ; then + echo "You have to call the script from the repository root dir that contains 'packaging/'" + exit 1 +fi + +if [ "$#" -gt "1" ]; then + echo "Only accept 0 or 1 argument. Use -h to see examples." + exit 1 +fi + +declare -a ALL_VERSION_OPTS=( +# For Spark 4.0, Scala 2.13: +# hudi-spark4-common +# hudi-spark4.0.x_2.13 +# hudi-spark4.0-bundle_2.13 +"-Djava17 -Djava.version=17 -Dscala-2.13 -Dspark4.0 -pl hudi-spark-datasource/hudi-spark4-common,hudi-spark-datasource/hudi-spark4.0.x,packaging/hudi-spark-bundle -am" +) +printf -v joined "'%s'\n" "${ALL_VERSION_OPTS[@]}" + +if [ "${1:-}" == "-h" ]; then + echo " +Usage: $(basename "$0") [OPTIONS] + +Options: +<version option> One of the version options below +${joined} +-h, --help +" + exit 0 +fi + +VERSION_OPT=${1:-} +valid_version_opt=false +for v in "${ALL_VERSION_OPTS[@]}"; do + [[ $VERSION_OPT == "$v" ]] && valid_version_opt=true +done + +if [ "$valid_version_opt" = true ]; then + # run deploy for only specified version option + ALL_VERSION_OPTS=("$VERSION_OPT") +elif [ "$#" == "1" ]; then + echo "Version option $VERSION_OPT is invalid. Use -h to see examples." + exit 1 +fi + +COMMON_OPTIONS="-DdeployArtifacts=true -DskipTests -DretryFailedDeploymentCount=10" +for v in "${ALL_VERSION_OPTS[@]}" +do + echo "Cleaning everything before any deployment" + $MVN clean $COMMON_OPTIONS ${v} + echo "Building with options ${v}" + $MVN install $COMMON_OPTIONS ${v} + + echo "Deploying to repository.apache.org with version options ${v%-am}" + # remove `-am` option to only deploy intended modules + $MVN deploy $COMMON_OPTIONS ${v%-am} +done
