[phoenix] branch master updated: PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: fix changelog merging, improve mvn deploy dry run)
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git The following commit(s) were added to refs/heads/master by this push: new c817ff7 PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: fix changelog merging, improve mvn deploy dry run) c817ff7 is described below commit c817ff73807f5205617dd7877b18daba8725f984 Author: Istvan Toth AuthorDate: Mon Feb 1 08:42:30 2021 +0100 PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: fix changelog merging, improve mvn deploy dry run) --- dev/create-release/release-build.sh | 4 ++-- dev/create-release/release-util.sh | 29 - 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/dev/create-release/release-build.sh b/dev/create-release/release-build.sh index 1d609c8..c98267a 100755 --- a/dev/create-release/release-build.sh +++ b/dev/create-release/release-build.sh @@ -140,9 +140,9 @@ if [[ "$1" == "tag" ]]; then # Create release version maven_set_version "$RELEASE_VERSION" - git add RELEASENOTES.md CHANGES.md + git add --ignore-errors RELEASENOTES.md CHANGES.md - git commit -a -m "Preparing ${PROJECT} release $RELEASE_TAG; tagging and updates to CHANGES.md and RELEASENOTES.md" + git commit --allow-empty -a -m "Preparing ${PROJECT} release $RELEASE_TAG; tagging and updates to CHANGES.md and RELEASENOTES.md" echo "Creating tag $RELEASE_TAG at the head of $GIT_BRANCH" git tag "$RELEASE_TAG" diff --git a/dev/create-release/release-util.sh b/dev/create-release/release-util.sh index d830591..5663c1b 100755 --- a/dev/create-release/release-util.sh +++ b/dev/create-release/release-util.sh @@ -522,18 +522,19 @@ function update_releasenotes { # The releasedocmaker call above generates RELEASENOTES.X.X.X.md and CHANGELOG.X.X.X.md. if [ -f "${project_dir}/CHANGES.md" ]; then # To insert into project's CHANGES.md...need to cut the top off the -# CHANGELOG.X.X.X.md file removing license and first line and then -# insert it after the license comment closing where we have a -# DO NOT REMOVE marker text! -sed -i -e '/## Release/,$!d' "CHANGELOG.${jira_fix_version}.md" -sed -i -e "/DO NOT REMOVE/r CHANGELOG.${jira_fix_version}.md" "${project_dir}/CHANGES.md" +# CHANGELOG.X.X.X.md file removing license and then +# insert it after the license comment closing +sed -i -e '/^# .* Changelog$/,$!d' "CHANGELOG.${jira_fix_version}.md" +sed -i -e '1d' "CHANGELOG.${jira_fix_version}.md" +sed -i -e "/^# .* Changelog$/r CHANGELOG.${jira_fix_version}.md" "${project_dir}/CHANGES.md" else mv "CHANGELOG.${jira_fix_version}.md" "${project_dir}/CHANGES.md" fi if [ -f "${project_dir}/RELEASENOTES.md" ]; then # Similar for RELEASENOTES but slightly different. -sed -i -e '/Release Notes/,$!d' "RELEASENOTES.${jira_fix_version}.md" -sed -i -e "/DO NOT REMOVE/r RELEASENOTES.${jira_fix_version}.md" \ +sed -i -e '/-->/,$!d' "RELEASENOTES.${jira_fix_version}.md" +sed -i -e '1d' "RELEASENOTES.${jira_fix_version}.md" +sed -i -e "/^-->$/r RELEASENOTES.${jira_fix_version}.md" \ "${project_dir}/RELEASENOTES.md" else mv "RELEASENOTES.${jira_fix_version}.md" "${project_dir}/RELEASENOTES.md" @@ -544,7 +545,7 @@ function update_releasenotes { # Make src release. # Takes as arguments first the project name -- e.g. hbase or hbase-operator-tools # -- and then the version string. Expects to find checkout adjacent to this script -# named for 'project', the first arg passed. +# named for 'project', the first arg passed.q # Expects the following three defines in the environment: # - GPG needs to be defined, with the path to GPG: defaults 'gpg'. # - GIT_REF which is the tag to create the tgz from: defaults to 'master'. @@ -697,9 +698,11 @@ function maven_deploy { #inputs: # Coerce the requested version maven_set_version "$RELEASE_VERSION" - declare -a mvn_goals=(clean install) - if ! is_dry_run; then -mvn_goals=("${mvn_goals[@]}" deploy) + declare -a mvn_goals=( clean deploy ) + if is_dry_run; then +echo "Dry run: Deployed artifacts are available as ${PROJECT}.deploy in the output directory." +DRY_DEPLOY_DIR="${BASE_DIR}/${PROJECT}.deploy" + dry_deploy="-DaltDeploymentRepository=dryrun::default::file://${DRY_DEPLOY_DIR}" fi # Omid needs to be deployed twice for HBase 1 and 2 if [[ "$PROJECT" == "phoenix-omid" ]]; then @@ -716,7 +719,7 @@ function maven_deploy { #inputs: fi rm -f "$mvn_log_file" for variant in "${variants[@]}"; do -echo "${MVN[@]}" -DskipTests -Dcheckstyle.skip=true "${PUBLISH_PROFILES[@]}" ${variant:+"$variant"} \ +echo "${MVN[@]}" -DskipTests -Dcheckstyle.skip=true ${dry_deploy:+"$dry_deploy"} "${PUBLISH_PROFILES[@]}" ${variant:+"$variant"} \
[phoenix] branch master updated: PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: reset repo before mvn deploy to avoid rat check errors)
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git The following commit(s) were added to refs/heads/master by this push: new c9e05f0 PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: reset repo before mvn deploy to avoid rat check errors) c9e05f0 is described below commit c9e05f0dc96e4322be26a2cf8aadb28e122f415e Author: Istvan Toth AuthorDate: Thu Jan 28 13:05:10 2021 +0100 PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: reset repo before mvn deploy to avoid rat check errors) --- dev/create-release/release-util.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/create-release/release-util.sh b/dev/create-release/release-util.sh index 7ac8375..d830591 100755 --- a/dev/create-release/release-util.sh +++ b/dev/create-release/release-util.sh @@ -719,6 +719,7 @@ function maven_deploy { #inputs: echo "${MVN[@]}" -DskipTests -Dcheckstyle.skip=true "${PUBLISH_PROFILES[@]}" ${variant:+"$variant"} \ "${mvn_goals[@]}" echo "Logging to ${mvn_log_file}. This will take a while..." +git clean -d -f -x # Prepare for signing kick_gpg_agent # The tortuous redirect in the next command allows mvn's stdout and stderr to go to mvn_log_file,
[phoenix] branch master updated: PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: remove hbase-compat exclusion from phoenix-server)
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git The following commit(s) were added to refs/heads/master by this push: new 50df995 PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: remove hbase-compat exclusion from phoenix-server) 50df995 is described below commit 50df9957a62b49172859dd1013d4e9e9344f4b52 Author: Istvan Toth AuthorDate: Mon Jan 18 05:29:44 2021 +0100 PHOENIX-6307 Build and release official binary distributions with each HBase profile (addendum: remove hbase-compat exclusion from phoenix-server) --- phoenix-server/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/phoenix-server/pom.xml b/phoenix-server/pom.xml index 8e108ba..18f406a 100644 --- a/phoenix-server/pom.xml +++ b/phoenix-server/pom.xml @@ -120,7 +120,6 @@ log4j:log4j org.slf4j:slf4j-api org.slf4j:slf4j-log4j12 - org.apache.phoenix:phoenix-hbase-compat*
[phoenix] branch master updated: PHOENIX-6307 Build and release official binary distributions with each HBase profile
This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git The following commit(s) were added to refs/heads/master by this push: new c2fbab1 PHOENIX-6307 Build and release official binary distributions with each HBase profile c2fbab1 is described below commit c2fbab1715dc41c78debb175ce9ecd2089ca0ff5 Author: Istvan Toth AuthorDate: Mon Jan 11 09:33:40 2021 +0100 PHOENIX-6307 Build and release official binary distributions with each HBase profile --- BUILDING.md| 4 +- bin/phoenix_utils.py | 24 + .../cache-apache-project-artifact.sh | 1 + dev/create-release/do-release-docker.sh| 1 - dev/create-release/rebuild_hbase.sh| 1 + dev/create-release/release-build.sh| 8 +- dev/create-release/release-util.sh | 115 ++--- dev/rebuild_hbase.sh | 6 +- phoenix-assembly/pom.xml | 26 ++--- .../build/components/all-common-dependencies.xml | 9 -- .../src/build/components/all-common-jars.xml | 4 +- .../phoenix-client-embedded/pom.xml| 7 +- phoenix-client-parent/phoenix-client/pom.xml | 7 +- phoenix-core/pom.xml | 15 +++ phoenix-server/pom.xml | 22 +++- pom.xml| 69 ++--- 16 files changed, 192 insertions(+), 127 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 9433aed..707b467 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -71,7 +71,7 @@ As Phoenix uses *limited public* HBase APIs, which sometimes change even within Phoenix may not build or work with older releases of HBase, or ones that were released after Phoenix, even within the same HBase minor release. -By default, Phoenix will be built for the latest known patch level of the earliest HBase 2.x +By default, Phoenix will be built for the latest known patch level of the latest HBase 2.x minor release that Phoenix supports. You can specify the targeted HBase minor release by setting the `hbase.profile` system property for @@ -80,7 +80,7 @@ maven. You can also specify the exact HBase release to build Phoenix with by additionally setting the `hbase.version` system property. - * `mvn clean install` will use the latest known patch release of the the earliest supported HBase 2 minor relese + * `mvn clean install` will use the latest known patch release of the the latest supported HBase 2 minor relese * `mvn clean install -Dhbase.profile=2.1` will use the latest known patch release of HBase 2.1 * `mvn clean install -Dhbase.profile=2.1 -Dhbase.version=2.1.7` will build with HBase 2.1.7 diff --git a/bin/phoenix_utils.py b/bin/phoenix_utils.py index cf675d0..84f228d 100755 --- a/bin/phoenix_utils.py +++ b/bin/phoenix_utils.py @@ -77,10 +77,7 @@ def findClasspath(command_name): return tryDecode(subprocess.Popen(command, shell=True, stdout=subprocess.PIPE).stdout.read()) def setPath(): -PHOENIX_CLIENT_JAR_PATTERN = "phoenix-client*[!s].jar" -PHOENIX_THIN_CLIENT_JAR_PATTERN = "phoenix-*-thin-client.jar" -PHOENIX_QUERYSERVER_JAR_PATTERN = "phoenix-*-queryserver.jar" -PHOENIX_LOADBALANCER_JAR_PATTERN = "phoenix-load-balancer-*[!t][!e][!s][!t][!s].jar" +PHOENIX_CLIENT_JAR_PATTERN = "phoenix-client-hbase-*[!s].jar" PHOENIX_TRACESERVER_JAR_PATTERN = "phoenix-tracing-webapp-*-runnable.jar" PHOENIX_TESTS_JAR_PATTERN = "phoenix-core-*-tests*.jar" PHOENIX_PHERF_JAR_PATTERN = "phoenix-pherf-*-minimal*.jar" @@ -165,20 +162,6 @@ def setPath(): if testjar == "": testjar = find(PHOENIX_TESTS_JAR_PATTERN, phoenix_class_path) -global phoenix_queryserver_jar -phoenix_queryserver_jar = find(PHOENIX_QUERYSERVER_JAR_PATTERN, os.path.join(current_dir, "..", "phoenix-queryserver", "target", "*")) -if phoenix_queryserver_jar == "": -phoenix_queryserver_jar = findFileInPathWithoutRecursion(PHOENIX_QUERYSERVER_JAR_PATTERN, os.path.join(current_dir, "..", "lib")) -if phoenix_queryserver_jar == "": -phoenix_queryserver_jar = findFileInPathWithoutRecursion(PHOENIX_QUERYSERVER_JAR_PATTERN, os.path.join(current_dir, "..")) - -global phoenix_loadbalancer_jar -phoenix_loadbalancer_jar = find(PHOENIX_LOADBALANCER_JAR_PATTERN, os.path.join(current_dir, "..", "phoenix-loadbalancer", "target", "*")) -if phoenix_loadbalancer_jar == "": -phoenix_loadbalancer_jar = findFileInPathWithoutRecursion(PHOENIX_LOADBALANCER_JAR_PATTERN, os.path.join(current_dir, "..", "lib")) -if phoenix_loadbalancer_jar == "": -phoenix_loadbalancer_jar = findFileInPathWithoutRecursion(PHOENIX_LOADBALANCER_JAR_PATTERN, os.path.join(current_dir, "..")) - globa