This is an automated email from the ASF dual-hosted git repository. sivabalan pushed a commit to branch release-1.1.1 in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 90612bfa1ee00256fda0890713615e4b52edb149 Author: sivabalan <[email protected]> AuthorDate: Thu Dec 11 20:08:17 2025 -0800 Fixing scripts for release --- hudi-client/hudi-spark-client/pom.xml | 4 ++ hudi-spark-datasource/hudi-spark-common/pom.xml | 1 + scripts/release/create_source_release.sh | 2 +- scripts/release/download_staged_bundles.sh | 77 ++++++++++++++++++++++ scripts/release/reupload-bundles.sh | 85 +++++++++++++++++++++++++ 5 files changed, 168 insertions(+), 1 deletion(-) diff --git a/hudi-client/hudi-spark-client/pom.xml b/hudi-client/hudi-spark-client/pom.xml index 1ebfacc1b791..b07d0f500955 100644 --- a/hudi-client/hudi-spark-client/pom.xml +++ b/hudi-client/hudi-spark-client/pom.xml @@ -29,6 +29,10 @@ <name>hudi-spark-client</name> <packaging>jar</packaging> + <properties> + <maven.javadoc.skip>true</maven.javadoc.skip> + </properties> + <dependencies> <!-- Scala --> <dependency> diff --git a/hudi-spark-datasource/hudi-spark-common/pom.xml b/hudi-spark-datasource/hudi-spark-common/pom.xml index e2a7bb5e76c7..31f9998fcb5c 100644 --- a/hudi-spark-datasource/hudi-spark-common/pom.xml +++ b/hudi-spark-datasource/hudi-spark-common/pom.xml @@ -29,6 +29,7 @@ <properties> <main.basedir>${project.parent.parent.basedir}</main.basedir> + <maven.javadoc.skip>true</maven.javadoc.skip> </properties> <build> diff --git a/scripts/release/create_source_release.sh b/scripts/release/create_source_release.sh index 93dde1bab8a0..7fcc7223c9a7 100755 --- a/scripts/release/create_source_release.sh +++ b/scripts/release/create_source_release.sh @@ -69,7 +69,7 @@ cd ${CLONE_DIR} $CURR_DIR/release/create_source_directory.sh hudi-$RELEASE_VERSION tar czf ${RELEASE_DIR}/hudi-${RELEASE_VERSION}.src.tgz hudi-$RELEASE_VERSION -gpg --armor --detach-sig ${RELEASE_DIR}/hudi-${RELEASE_VERSION}.src.tgz +gpg --local-user ACD52A06633DB3B2C7D0EA5642CA2D3ED5895122 --armor --detach-sig ${RELEASE_DIR}/hudi-${RELEASE_VERSION}.src.tgz cd ${RELEASE_DIR} $SHASUM hudi-${RELEASE_VERSION}.src.tgz > hudi-${RELEASE_VERSION}.src.tgz.sha512 diff --git a/scripts/release/download_staged_bundles.sh b/scripts/release/download_staged_bundles.sh new file mode 100755 index 000000000000..0d43fa5c986b --- /dev/null +++ b/scripts/release/download_staged_bundles.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ $# -ne 3 ]]; then + echo "Usage: $0 <BASE_URL> <MODULE_NAME> <TARGET_ROOT_DIR>" + echo " BASE_URL = e.g. https://repository.apache.org/service/local/repositories/orgapachehudi-1168/content/org/apache/hudi/" + echo " MODULE_NAME = e.g. hudi-flink2.0-bundle" + echo " TARGET_ROOT = e.g. ./target_folder" + exit 1 +fi + +BASE_URL="${1%/}" # strip trailing / +MODULE_NAME="$2" +TARGET_ROOT="${3%/}" # strip trailing / +VERSION="1.1.1-rc1" # <-- change this if needed, or turn into another arg later + +# -------------------------------------------------------------------- +# Directory layout +# -------------------------------------------------------------------- +MODULE_DIR="${TARGET_ROOT}/${MODULE_NAME}" +VERSION_DIR="${MODULE_DIR}/${VERSION}" + +mkdir -p "${MODULE_DIR}" +mkdir -p "${VERSION_DIR}" + +# -------------------------------------------------------------------- +# 1) Download maven-metadata.* under: +# <TARGET_ROOT>/<MODULE_NAME>/ +# -------------------------------------------------------------------- +META_BASE_URL="${BASE_URL}/${MODULE_NAME}" + +metadata_files=( + "maven-metadata.xml" + "maven-metadata.xml.md5" + "maven-metadata.xml.sha1" +) + +for f in "${metadata_files[@]}"; do + url="${META_BASE_URL}/${f}" + echo "Downloading metadata: ${url}" + wget -q -P "${MODULE_DIR}" "${url}" +done + +# -------------------------------------------------------------------- +# 2) Download all artifact variants for the given version under: +# <TARGET_ROOT>/<MODULE_NAME>/<VERSION>/ +# -------------------------------------------------------------------- +VERSION_BASE_URL="${META_BASE_URL}/${VERSION}" +PREFIX="${MODULE_NAME}-${VERSION}" + +suffixes=( + "-javadoc.jar" + "-javadoc.jar.asc" + "-javadoc.jar.md5" + "-javadoc.jar.sha1" + "-sources.jar" + "-sources.jar.asc" + "-sources.jar.md5" + "-sources.jar.sha1" + ".jar" + ".jar.asc" + ".jar.md5" + ".jar.sha1" + ".pom" + ".pom.asc" + ".pom.md5" + ".pom.sha1" +) + +for suf in "${suffixes[@]}"; do + url="${VERSION_BASE_URL}/${PREFIX}${suf}" + echo "Downloading artifact: ${url}" + wget -q -P "${VERSION_DIR}" "${url}" +done + +echo "Done. Files downloaded under: ${MODULE_DIR}" + diff --git a/scripts/release/reupload-bundles.sh b/scripts/release/reupload-bundles.sh new file mode 100755 index 000000000000..6bb7cf069044 --- /dev/null +++ b/scripts/release/reupload-bundles.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +set -euo pipefail + +DRY_RUN=false + +# Check for optional --dry-run flag +if [[ "${1-}" == "--dry-run" ]]; then + DRY_RUN=true + shift +fi + +if [[ $# -ne 5 ]]; then + echo "Usage: $0 [--dry-run] <USERNAME> <PASSWORD> <TMP_FOLDER> <STAGING_REPO_NUM> <HUDI_VERSION>" + echo + echo "Example:" + echo " $0 --dry-run abc pswd1 /tmp/downloaded-target 1170 1.1.1-rc1" + exit 1 +fi + +USERNAME="$1" +PASSWORD="$2" +TMP_FOLDER="${3%/}" +STAGING_REPO_NUM="$4" +HUDI_VERSION="$5" + +BASE_DEPLOY_URL="https://repository.apache.org/service/local/staging/deployByRepositoryId/orgapachehudi-${STAGING_REPO_NUM}" + +echo "==============================================================" +echo " Uploading artifacts under: $TMP_FOLDER" +echo " Staging Repo ID : orgapachehudi-${STAGING_REPO_NUM}" +echo " HUDI Version : $HUDI_VERSION" +echo " Dry-run mode : $DRY_RUN" +echo "==============================================================" +echo + +content_type_for() { + local f="$1" + case "$f" in + *.jar|*.jar.asc|*.jar.md5|*.jar.sha1) + echo "application/java-archive" + ;; + *.pom|*.pom.asc|*.pom.md5|*.pom.sha1) + echo "text/xml" + ;; + *.xml|*.xml.md5|*.xml.sha1) + echo "application/xml" + ;; + *) + echo "application/octet-stream" + ;; + esac +} + +find "$TMP_FOLDER" -type f | while read -r file; do + rel_path="${file#$TMP_FOLDER/}" + remote_path="org/apache/hudi/${rel_path}" + url="${BASE_DEPLOY_URL}/${remote_path}" + ctype=$(content_type_for "$file") + + echo "→ Preparing upload:" + echo " Local : $file" + echo " Remote: $url" + echo " Type : $ctype" + echo + + if [[ "$DRY_RUN" == true ]]; then + echo "DRY RUN: curl --upload-file \"$file\" -u \"$USERNAME:*****\" -H \"Content-Type: $ctype\" \"$url\"" + echo + continue + fi + + curl -v --fail --upload-file "$file" \ + -u "$USERNAME:$PASSWORD" \ + -H "Content-Type: ${ctype}" \ + "$url" + + echo +done + +echo "==============================================================" +echo " Completed processing TMP_FOLDER=${TMP_FOLDER}" +echo " Dry-run mode was: $DRY_RUN" +echo "==============================================================" + +
