This is an automated email from the ASF dual-hosted git repository.
kunni pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git
The following commit(s) were added to refs/heads/master by this push:
new e663b0091 [build] Add update_version.sh to help build connector jars
with FLINK_VERSION suffix version. (#4325)
e663b0091 is described below
commit e663b00912737bd98003dfaf071999be6b5010ad
Author: Kunni <[email protected]>
AuthorDate: Fri Mar 20 22:28:42 2026 +0800
[build] Add update_version.sh to help build connector jars with
FLINK_VERSION suffix version. (#4325)
---
tools/releasing/deploy_staging_jars.sh | 48 +++++++++++++++++++++-
.../deploy_staging_jars.sh => update_version.sh} | 46 ++++++++++++++++++---
2 files changed, 88 insertions(+), 6 deletions(-)
diff --git a/tools/releasing/deploy_staging_jars.sh
b/tools/releasing/deploy_staging_jars.sh
index 93d2da20f..b187aa350 100755
--- a/tools/releasing/deploy_staging_jars.sh
+++ b/tools/releasing/deploy_staging_jars.sh
@@ -39,9 +39,55 @@ fi
###########################
+function get_pom_version {
+ set +u
+ echo $(${MVN} help:evaluate -Dexpression="project.version" -q -DforceStdout)
+ set -u
+}
+
+function set_pom_version {
+ new_version=$1
+
+ ${MVN} org.codehaus.mojo:versions-maven-plugin:2.8.1:set
-DnewVersion=${new_version} -DgenerateBackupPoms=false --quiet
+}
+
+###########################
+
cd ${PROJECT_ROOT}
+# Build Maven options
+MVN_OPTIONS="-Papache-release -DskipTests -DretryFailedDeploymentCount=10"
+
+# If FLINK_VERSION is set, pass it to Maven
+if [ -n "${FLINK_VERSION:-}" ]; then
+ echo "Using Flink version: ${FLINK_VERSION}"
+
+ # Extract and set flink.major.version (e.g., "1.20" from "1.20.3")
+ flink_major_version=$(echo "${FLINK_VERSION}" | cut -d. -f1,2)
+ MVN_OPTIONS="${MVN_OPTIONS} -Dflink.major.version=${flink_major_version}"
+
+ # Update project version: base_version-FLINK_VERSION
+ current_version=$(get_pom_version)
+ echo "Current version: ${current_version}"
+
+ # Skip if version already ends with FLINK_VERSION
+ if [[ "${current_version}" == *"-${FLINK_VERSION}" ]]; then
+ echo "Version already ends with -${FLINK_VERSION}, skipping version
update"
+ else
+ base_version=${current_version%-SNAPSHOT}
+ new_version="${base_version}-${FLINK_VERSION}"
+ echo "Updating version to: ${new_version}"
+ set_pom_version "${new_version}"
+ fi
+
+ # Add -Pflink2 profile if FLINK_VERSION starts with "2"
+ if [[ "${FLINK_VERSION}" == 2* ]]; then
+ echo "Enabling flink2 profile"
+ MVN_OPTIONS="${MVN_OPTIONS} -Pflink2"
+ fi
+fi
+
echo "Deploying to repository.apache.org"
-${MVN} clean deploy -Papache-release -DskipTests
-DretryFailedDeploymentCount=10 $CUSTOM_OPTIONS
+${MVN} clean deploy ${MVN_OPTIONS} ${CUSTOM_OPTIONS}
cd ${CURR_DIR}
\ No newline at end of file
diff --git a/tools/releasing/deploy_staging_jars.sh b/tools/update_version.sh
similarity index 54%
copy from tools/releasing/deploy_staging_jars.sh
copy to tools/update_version.sh
index 93d2da20f..5741f7751 100755
--- a/tools/releasing/deploy_staging_jars.sh
+++ b/tools/update_version.sh
@@ -21,7 +21,6 @@
## Variables with defaults (if not overwritten by environment)
##
MVN=${MVN:-mvn}
-CUSTOM_OPTIONS=${CUSTOM_OPTIONS:-}
# fail immediately
set -o errexit
@@ -29,7 +28,7 @@ set -o nounset
CURR_DIR=`pwd`
BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
-PROJECT_ROOT="${BASE_DIR}/../../"
+PROJECT_ROOT="${BASE_DIR}/../"
# Sanity check to ensure that resolved paths are valid; a LICENSE file should
always exist in project root
if [ ! -f ${PROJECT_ROOT}/LICENSE ]; then
@@ -39,9 +38,46 @@ fi
###########################
+function get_pom_version {
+ set +u
+ echo $(${MVN} help:evaluate -Dexpression="project.version" -q -DforceStdout)
+ set -u
+}
+
+function set_pom_version {
+ new_version=$1
+
+ ${MVN} org.codehaus.mojo:versions-maven-plugin:2.8.1:set
-DnewVersion=${new_version} -DgenerateBackupPoms=false --quiet
+}
+
+###########################
+
cd ${PROJECT_ROOT}
-echo "Deploying to repository.apache.org"
-${MVN} clean deploy -Papache-release -DskipTests
-DretryFailedDeploymentCount=10 $CUSTOM_OPTIONS
+# Check if FLINK_VERSION is set
+if [ -z "${FLINK_VERSION:-}" ]; then
+ echo "Error: FLINK_VERSION environment variable is not set."
+ echo "Usage: FLINK_VERSION=1.20 $0"
+ exit 1
+fi
+
+echo "FLINK_VERSION: ${FLINK_VERSION}"
+
+# Get current version
+current_version=$(get_pom_version)
+echo "Current version: ${current_version}"
+
+# Extract base version (remove -SNAPSHOT suffix if present)
+base_version=${current_version%-SNAPSHOT}
+echo "Base version: ${base_version}"
+
+# Build new version: base_version-FLINK_VERSION
+new_version="${base_version}-${FLINK_VERSION}"
+echo "New version: ${new_version}"
+
+# Set new version
+set_pom_version "${new_version}"
+
+echo "Version updated successfully: ${current_version} -> ${new_version}"
-cd ${CURR_DIR}
\ No newline at end of file
+cd ${CURR_DIR}