This is an automated email from the ASF dual-hosted git repository.

nihaljain pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase-thirdparty.git


The following commit(s) were added to refs/heads/master by this push:
     new 06062de  HBASE-29465 [hbase-thirdparty] Update yetus to a newer 
version(#144)
06062de is described below

commit 06062dec5b70d0c46740215017160bd8d2ef019e
Author: Nihal Jain <nihalj...@apache.org>
AuthorDate: Mon Jul 28 10:13:58 2025 +0530

    HBASE-29465 [hbase-thirdparty] Update yetus to a newer version(#144)
    
    - Upgrades yetus to `0.15.0`, making required changes in sync with hbase 
main repo
    - Improves error handling and logging of wrapper maven script
    - Unrelated changes: Fix typos and git urls
    
    Signed-off-by: Duo Zhang <zhang...@apache.org>
---
 dev-support/jenkins/Dockerfile                     | 54 ++++++++++++++++++++--
 dev-support/jenkins/Jenkinsfile                    | 26 ++++++++---
 .../jenkins/jenkins_precommit_github_yetus.sh      |  8 ++--
 hbase-shaded-jetty-12-plus-core/pom.xml            |  2 +-
 hbase-shaded-jetty-12-plus-ee8/pom.xml             |  2 +-
 hbase-shaded-jetty/pom.xml                         |  2 +-
 pom.xml                                            | 13 ++----
 7 files changed, 80 insertions(+), 27 deletions(-)

diff --git a/dev-support/jenkins/Dockerfile b/dev-support/jenkins/Dockerfile
index 5ebc37d..5f76407 100644
--- a/dev-support/jenkins/Dockerfile
+++ b/dev-support/jenkins/Dockerfile
@@ -36,6 +36,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -qq update && \
     wget='1.21.2-*' \
     shellcheck='0.8.0-*' \
     patch='2.7.6-*' \
+    libxml2-dev='2.9.13+dfsg-*' \
+    libxml2-utils='2.9.13+dfsg-*' \
     && \
     apt-get clean && \
     rm -rf /var/lib/apt/lists/* \
@@ -110,14 +112,56 @@ ENV MAVEN_HOME='/opt/maven'
 RUN mv /opt/maven/bin/mvn /opt/maven/bin/mvn-original && \
     cat > /opt/maven/bin/mvn <<'EOF'
 #!/bin/bash
-TOOLCHAIN="${BASEDIR}/dev-support/toolchains-jenkins.xml"
-if [ -f "$TOOLCHAIN" ]; then
+
+echo "Maven wrapper called with args: $@"
+echo "Current working directory: $(pwd)"
+echo "BASEDIR environment variable: ${BASEDIR:-'(not set)'}"
+echo "MAVEN_HOME: ${MAVEN_HOME:-'(not set)'}"
+
+# Ensure Maven home exists
+if [ ! -d "${MAVEN_HOME}" ]; then
+  echo "ERROR: MAVEN_HOME directory does not exist: ${MAVEN_HOME}"
+  exit 1
+fi
+
+if [ ! -f "${MAVEN_HOME}/bin/mvn-original" ]; then
+  echo "ERROR: mvn-original not found at: ${MAVEN_HOME}/bin/mvn-original"
+  exit 1
+fi
+
+# Try multiple possible locations for the toolchains file
+TOOLCHAIN_LOCATIONS=(
+  "${BASEDIR}/dev-support/toolchains-jenkins.xml"
+  "$(pwd)/dev-support/toolchains-jenkins.xml"
+  "./dev-support/toolchains-jenkins.xml"
+  "../dev-support/toolchains-jenkins.xml"
+)
+
+TOOLCHAIN=""
+for location in "${TOOLCHAIN_LOCATIONS[@]}"; do
+  echo "Checking for toolchains file at: $location"
+  if [ -f "$location" ]; then
+    TOOLCHAIN="$location"
+    echo "Found toolchains file at: $TOOLCHAIN"
+    break
+  fi
+done
+
+if [ -n "$TOOLCHAIN" ]; then
   echo "Added: -t ${TOOLCHAIN} to mvn flags!"
-  exec ${MAVEN_HOME}/bin/mvn-original "$@" -t "$TOOLCHAIN"
+  echo "Executing: ${MAVEN_HOME}/bin/mvn-original $@ -t $TOOLCHAIN"
+  "${MAVEN_HOME}/bin/mvn-original" "$@" -t "$TOOLCHAIN"
+  exit_code=$?
 else
-  echo "Unexpected: ${TOOLCHAIN} file is missing!"
-  exec ${MAVEN_HOME}/bin/mvn-original "$@"
+  echo "Error: toolchains-jenkins.xml file not found in any expected location, 
please fix the build environment!"
+  echo "Proceeding without toolchains configuration..."
+  echo "Executing: ${MAVEN_HOME}/bin/mvn-original $@"
+  "${MAVEN_HOME}/bin/mvn-original" "$@"
+  exit_code=$?
 fi
+
+echo "Maven execution completed with exit code: $exit_code"
+exit $exit_code
 EOF
 RUN chmod +x /opt/maven/bin/mvn && cat /opt/maven/bin/mvn
 
diff --git a/dev-support/jenkins/Jenkinsfile b/dev-support/jenkins/Jenkinsfile
index e6d9b97..0de41d9 100644
--- a/dev-support/jenkins/Jenkinsfile
+++ b/dev-support/jenkins/Jenkinsfile
@@ -49,7 +49,7 @@ pipeline {
         PATCH_REL = 'output'
         YETUS_REL = 'yetus'
         // Branch or tag name.  Yetus release tags are 'rel/X.Y.Z'
-        YETUS_VERSION = 'rel/0.12.0'
+        YETUS_VERSION = '0.15.0'
         DOCKERFILE_REL = "${SRC_REL}/dev-support/jenkins/Dockerfile"
         YETUS_DRIVER_REL = 
"${SRC_REL}/dev-support/jenkins/jenkins_precommit_github_yetus.sh"
         ARCHIVE_PATTERN_LIST = '*.dump'
@@ -71,6 +71,7 @@ pipeline {
                 SOURCEDIR = "${WORKDIR}/${SRC_REL}"
                 PATCHDIR = "${WORKDIR}/${PATCH_REL}"
                 DOCKERFILE = "${WORKDIR}/${DOCKERFILE_REL}"
+                CACHE_APACHE_ARTIFACT = 
"${WORKDIR}/tools/cache-apache-project-artifact.sh"
                 YETUS_DRIVER = "${WORKDIR}/${YETUS_DRIVER_REL}"
                 YETUSDIR = "${WORKDIR}/${YETUS_REL}"
                 BUILD_URL_ARTIFACTS = "artifact/${WORKDIR_REL}/${PATCH_REL}"
@@ -79,12 +80,25 @@ pipeline {
                 dir("${SOURCEDIR}") {
                     checkout scm
                 }
+                dir("${WORKDIR}") {
+                    sh'''#!/usr/bin/env bash
+                      set -e
+                      mkdir -p tools
+                      curl -L -O 
https://raw.githubusercontent.com/apache/hbase/HEAD/dev-support/jenkins-scripts/cache-apache-project-artifact.sh
+                      mv cache-apache-project-artifact.sh tools/
+                      chmod +x tools/cache-apache-project-artifact.sh
+                    '''
+                }
                 dir("${YETUSDIR}") {
-                    checkout([
-                      $class           : 'GitSCM',
-                      branches         : [[name: "${YETUS_VERSION}"]],
-                      userRemoteConfigs: [[url: 
'https://github.com/apache/yetus.git']]]
-                    )
+                    sh'''#!/usr/bin/env bash
+                      "${CACHE_APACHE_ARTIFACT}" \
+                        --keys 'https://downloads.apache.org/yetus/KEYS' \
+                        --verify-tar-gz \
+                        ./apache-yetus-${YETUS_VERSION}-bin.tar.gz \
+                        
yetus/${YETUS_VERSION}/apache-yetus-${YETUS_VERSION}-bin.tar.gz && \
+                      tar --strip-components=1 -xzf 
apache-yetus-${YETUS_VERSION}-bin.tar.gz && \
+                      rm apache-yetus-${YETUS_VERSION}-bin.tar.gz
+                    '''
                 }
                 dir("${WORKDIR}") {
                     withCredentials([
diff --git a/dev-support/jenkins/jenkins_precommit_github_yetus.sh 
b/dev-support/jenkins/jenkins_precommit_github_yetus.sh
index c4b449c..79cc8a0 100755
--- a/dev-support/jenkins/jenkins_precommit_github_yetus.sh
+++ b/dev-support/jenkins/jenkins_precommit_github_yetus.sh
@@ -29,7 +29,7 @@ fi
 
 declare -i missing_env=0
 declare -a required_envs=(
-  # these ENV variables define the required API with Jenkinsfile_GitHub
+  # these ENV variables define the required API with Jenkinsfile
   "ARCHIVE_PATTERN_LIST"
   "BUILD_URL_ARTIFACTS"
   "DOCKERFILE"
@@ -56,7 +56,7 @@ if [ ${missing_env} -gt 0 ]; then
 fi
 
 # TODO (HBASE-23900): cannot assume test-patch runs directly from sources
-TESTPATCHBIN="${YETUSDIR}/precommit/src/main/shell/test-patch.sh"
+TESTPATCHBIN="${YETUSDIR}/bin/test-patch"
 
 # this must be clean for every run
 rm -rf "${PATCHDIR}"
@@ -88,8 +88,8 @@ YETUS_ARGS+=("--basedir=${SOURCEDIR}")
 # lots of different output formats
 YETUS_ARGS+=("--console-report-file=${PATCHDIR}/console.txt")
 # enable writing back to Github
-YETUS_ARGS+=("--github-password=${GITHUB_PASSWORD}")
-YETUS_ARGS+=("--github-user=${GITHUB_USER}")
+YETUS_ARGS+=("--github-token=${GITHUB_PASSWORD}")
+YETUS_ARGS+=("--github-write-comment")
 # auto-kill any surefire stragglers during unit test runs
 YETUS_ARGS+=("--reapermode=kill")
 # set relatively high limits for ASF machines
diff --git a/hbase-shaded-jetty-12-plus-core/pom.xml 
b/hbase-shaded-jetty-12-plus-core/pom.xml
index 5756391..d8173d5 100644
--- a/hbase-shaded-jetty-12-plus-core/pom.xml
+++ b/hbase-shaded-jetty-12-plus-core/pom.xml
@@ -37,7 +37,7 @@
   </parent>
   <artifactId>hbase-shaded-jetty-12-plus-core</artifactId>
   <name>Apache HBase Relocated (Shaded) Jetty 12+ Libs: Core</name>
-  <description>Pulls down Jetty core, relocates it and makes a far 
jar.</description>
+  <description>Pulls down Jetty 12 core, relocates it and makes a fat 
jar.</description>
   <properties>
     <!-- Override bytecode enforcement for jetty modules -->
     <skipJdk8BytecodeCheck>true</skipJdk8BytecodeCheck>
diff --git a/hbase-shaded-jetty-12-plus-ee8/pom.xml 
b/hbase-shaded-jetty-12-plus-ee8/pom.xml
index 750ed72..fd12c98 100644
--- a/hbase-shaded-jetty-12-plus-ee8/pom.xml
+++ b/hbase-shaded-jetty-12-plus-ee8/pom.xml
@@ -37,7 +37,7 @@
   </parent>
   <artifactId>hbase-shaded-jetty-12-plus-ee8</artifactId>
   <name>Apache HBase Relocated (Shaded) Jetty 12+ Libs: EE8</name>
-  <description>Pulls down Jetty EE8, relocates it and makes a far 
jar.</description>
+  <description>Pulls down Jetty 12 EE8, relocates it and makes a fat 
jar.</description>
   <properties>
     <!-- Override bytecode enforcement for jetty modules -->
     <skipJdk8BytecodeCheck>true</skipJdk8BytecodeCheck>
diff --git a/hbase-shaded-jetty/pom.xml b/hbase-shaded-jetty/pom.xml
index 859dbff..9cc8a18 100644
--- a/hbase-shaded-jetty/pom.xml
+++ b/hbase-shaded-jetty/pom.xml
@@ -37,7 +37,7 @@
   </parent>
   <artifactId>hbase-shaded-jetty</artifactId>
   <name>Apache HBase Relocated (Shaded) Jetty Libs</name>
-  <description>Pulls down Jetty, relocates it and makes a far 
jar.</description>
+  <description>Pulls down Jetty 9, relocates it and makes a fat 
jar.</description>
   <dependencies>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
diff --git a/pom.xml b/pom.xml
index d90b68a..5e6db1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -108,20 +108,15 @@
     <module>hbase-unsafe</module>
   </modules>
   <scm>
-    <connection>scm:git:git://git.apache.org/hbase-thirdparty.git</connection>
-    
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hbase-thirdparty.git</developerConnection>
-    <url>https://git-wip-us.apache.org/repos/asf?p=hbase-thirdparty.git</url>
+    
<connection>scm:git:git://gitbox.apache.org/repos/asf/hbase-thirdparty.git</connection>
+    
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/hbase-thirdparty.git</developerConnection>
+    <url>https://gitbox.apache.org/repos/asf?p=hbase-thirdparty.git</url>
   </scm>
   <issueManagement>
     <!--File issues for this project against Apache HBase JIRA-->
     <system>JIRA</system>
-    <url>http://issues.apache.org/jira/browse/HBASE</url>
+    <url>https://issues.apache.org/jira/browse/HBASE</url>
   </issueManagement>
-  <ciManagement>
-    <system>hudson</system>
-    
<url>http://hudson.zones.apache.org/hudson/view/HBase/job/HBase-TRUNK/</url>
-  </ciManagement>
-  <!--TODO-->
   <properties>
     <revision>4.1.12-SNAPSHOT</revision>
     <maven.javadoc.skip>true</maven.javadoc.skip>

Reply via email to