[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)

2021-02-01 Thread stoty
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)

2021-01-28 Thread stoty
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)

2021-01-17 Thread stoty
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

2021-01-14 Thread stoty
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, ".."))
-