diff --git a/publish.sh b/publish.sh index 4eeee45..37e4c67 100755 --- a/publish.sh +++ b/publish.sh @@ -202,6 +202,10 @@ if [ "$PROJECT" == "orm" ] || [ "$PROJECT" == "reactive" ] || [ "$PROJECT" == "m --no-scan --no-daemon --no-build-cache --stacktrace $EXTRA_ARGS \ -PreleaseVersion=$RELEASE_VERSION -PdevelopmentVersion=$DEVELOPMENT_VERSION \ -PdocPublishBranch=production -PgitRemote=origin -PgitBranch=$BRANCH + + if [ "$PROJECT" == "orm" ] || [ "$PROJECT" == "reactive" ]; then + exec_or_dry_run bash -xe "$SCRIPTS_DIR/update-available-versions-json.sh" "$PROJECT" "$RELEASE_VERSION_FAMILY" + fi else EXTRA_ARGS="" if [ "$USE_JRELEASER_RELEASE" == "true" ]; then @@ -213,6 +217,7 @@ else if [[ "$PROJECT" != "tools" && "$PROJECT" != "hcann" && ! $PROJECT =~ ^infra-.+ ]]; then exec_or_dry_run bash -xe "$SCRIPTS_DIR/upload-distribution.sh" "$PROJECT" "$RELEASE_VERSION" exec_or_dry_run bash -xe "$SCRIPTS_DIR/upload-documentation.sh" "$PROJECT" "$RELEASE_VERSION" "$RELEASE_VERSION_FAMILY" + exec_or_dry_run bash -xe "$SCRIPTS_DIR/update-available-versions-json.sh" "$PROJECT" "$RELEASE_VERSION_FAMILY" fi bash -xe "$SCRIPTS_DIR/update-version.sh" "$PROJECT" "$DEVELOPMENT_VERSION" diff --git a/update-available-versions-json.sh b/update-available-versions-json.sh new file mode 100755 index 0000000..1a709fe --- /dev/null +++ b/update-available-versions-json.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env -S bash -e + +PROJECT=$1 +VERSION_FAMILY=$2 +WORKSPACE=${WORKSPACE:-'.'} + +if [ -z "$PROJECT" ]; then + echo "ERROR: Project not supplied" + exit 1 +fi +if [ -z "$VERSION_FAMILY" ]; then + echo "ERROR: Version family argument not supplied" + exit 1 +fi + +pushd ${WORKSPACE} + +wget -q http://docs.jboss.org/hibernate/_available-versions/${PROJECT}.json -O "available-${PROJECT}.json" +if [ ! -s ${PROJECT}.json ]; then + echo "Error downloading the ${PROJECT}.json descriptor. Exiting." + exit 1 +fi + +if jq -e "contains([\"$VERSION_FAMILY\"])" "available-${PROJECT}.json" >/dev/null; then + echo "Version '$VERSION_FAMILY' already exists." +else + echo "Version '$VERSION_FAMILY' not found. Adding..." + + if jq ". + [\"$VERSION_FAMILY\"]" "available-${PROJECT}.json" > "available-${PROJECT}-updated.json"; then + echo "Uploading updated file..." + rsync -z --progress "available-${PROJECT}-updated.json" "filemgmt-prod-sync.jboss.org:/docs_htdocs/hibernate/_available-versions/${PROJECT}.json" + rm -f "available-${PROJECT}-updated.json" + else + echo "Error: Failed to add available version '$VERSION_FAMILY'..." + exit 1 + fi +fi + +popd