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

stevel pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hadoop-release-support.git

commit d03be24f2b2c2761f2dc5e4e60279100e8768a17
Author: Steve Loughran <[email protected]>
AuthorDate: Tue Oct 21 11:18:24 2025 +0100

    HADOOP-19727. hadoop-thirdparty 1.5.0 RC0
---
 build.xml                                          | 53 ++++++++++++++++++++--
 doc/thirdparty.md                                  | 50 +++++++++++++++++---
 .../org/apache/hadoop/validator/CompileFS.java     |  3 ++
 .../3p-release-1.5.0.properties}                   | 29 +++++-------
 src/releases/release-info-3.5.0.properties         |  4 +-
 src/text/3p.vote.txt                               |  3 ++
 6 files changed, 112 insertions(+), 30 deletions(-)

diff --git a/build.xml b/build.xml
index ce473bd..bfc1712 100644
--- a/build.xml
+++ b/build.xml
@@ -142,9 +142,10 @@
     <!-- commit id of the RC -->
     <require p="git.commit.id"/>
     <!-- JIRA ID of the release -->
-    <require p="http.source"/>
     <require p="jira.id"/>
 
+    <require p="http.source"/>
+
 
     <!--  previous version, used in announcements -->
     <require p="previous.version"/>
@@ -1684,6 +1685,8 @@ ${arm.asc}
 
     <!-- paths for downloading -->
     <setpath name="3p.dist.dir" 
location="${downloads.dir}/hadoop-thirdparty/dist"/>
+    <set name="3p.scp.source"
+      
value="${scp.user}@${scp.hostname}:${3p.scp.hadoop-thirdparty.dir}/target/artifacts"/>
     <setpath name="3p.incoming.dir" 
location="${downloads.dir}/hadoop-thirdparty/incoming"/>
 
     <!-- the actual staging/release paths are in the same svn repo as hadoop 
main -->
@@ -1705,6 +1708,7 @@ ${arm.asc}
     <set name="3p.jira.url"
       value="https://issues.apache.org/jira/browse/${3p.jira.id}"; />
 
+
   </target>
 
 
@@ -1760,7 +1764,9 @@ ${arm.asc}
   <target name="3p.git-tag-source"
     description="tag the HEAD of thirdparty source with the current RC version"
     depends="3p.init">
+    <require p="3p.jira.id" />
     <require p="3p.local.repo.path" />
+    <require p="3p.tag.name" />
     <require-dir path="${3p.local.repo.path}" />
     <git dir="${3p.local.repo.path}">
       <arg value="tag" />
@@ -1796,7 +1802,7 @@ ${arm.asc}
   -->
 
   <target name="3p.release.git-actions"
-    description="Release action in the soruce tree"
+    description="Release action in the source tree"
     depends="3p.init">
     <property name="3p.release.tag" value="rel/release-${3p.version}"/>
 
@@ -1866,7 +1872,7 @@ Message is in file ${3p.message.out}
 
     <delete dir="${3p.staged.artifacts.dir}"/>
     <echo>
-      copying dir "${3p.local.artifacts.dir}"
+      Moving dir "${3p.local.artifacts.dir}"
               to "${3p.staged.artifacts.dir}"
     </echo>
     <move
@@ -1874,6 +1880,40 @@ Message is in file ${3p.message.out}
       todir="${3p.staged.artifacts.dir}"/>
   </target>
 
+
+  <target name="3p.scp-artifacts" depends="3p.init"
+    description="scp the third party artifacts from a remote host. may be 
slow">
+    <fail unless="scp.hostname"/>
+    <fail unless="scp.user"/>
+    <fail unless="3p.scp.hadoop-thirdparty.dir"/>
+
+    <delete dir="${3p.incoming.dir}"/>
+    <mkdir dir="${3p.incoming.dir}/.."/>
+    <echo>Downloading ${3p.scp.source} to ${3p.incoming.dir}; may take a 
while</echo>
+    <!-- scp -r $srv:hadoop-thirdparty/target/artifacts 
downloads/hadoop-thirdparty/incoming
+    -->
+    <x executable="scp">
+      <arg value="-r"/>
+      <arg value="${3p.scp.source}"/>
+      <arg value="${3p.incoming.dir}"/>
+    </x>
+
+  </target>
+
+  <target name="3p.incoming-to-local-staging"
+    description="move downloaded 3P artifacts to the staging area"
+    depends="3p.init">
+    <delete dir="${3p.staged.artifacts.dir}"/>
+    <echo>
+      moving dir "${3p.incoming.dir}"
+              to "${3p.staged.artifacts.dir}"
+    </echo>
+    <copy
+      todir="${3p.staged.artifacts.dir}">
+      <fileset dir="${3p.incoming.dir}" includes="*" />
+    </copy>
+  </target>
+
   <!--
   After the local artifacts are in the staging dir,
   add them to svn and then commit
@@ -1890,7 +1930,7 @@ Message is in file ${3p.message.out}
       <arg value="add" />
       <arg value="${3p.staged.artifacts.dir}" />
     </svn>
-    <echo>Comitting with message ${staging.commit.msg}. Please wait</echo>
+    <echo>Comitting with message ${3p.staging.commit.msg}. Please wait</echo>
     <svn dir="${staging.dir}">
       <arg value="commit" />
       <arg value="-m" />
@@ -1968,4 +2008,7 @@ Message is in file ${3p.message.out}
       location="${target}/3p.email-announcement.txt"/>
 
     <echo>${3p.email-announcement.txt}</echo>
-    <echo 
file="${3p.email-announcement.out}">${3p.email-announcement.txt}</echo></target></project>
+    <echo 
file="${3p.email-announcement.out}">${3p.email-announcement.txt}</echo>
+  </target>
+
+</project>
diff --git a/doc/thirdparty.md b/doc/thirdparty.md
index c00b3c2..d53f1cb 100644
--- a/doc/thirdparty.md
+++ b/doc/thirdparty.md
@@ -20,7 +20,7 @@ See wiki page [How To Release 
Hadoop-Thirdparty](https://cwiki.apache.org/conflu
 Support for this release workflow is pretty minimal, but releasing it is 
simpler
 than a manual build.
 
-1. Update the branches and maven artifact versions
+1. Update the branches and maven artifact versions.
 2. build and test. This can be done with the help of a (draft) PR to upgrade 
hadoop from the RC.
 3. Create the vote message.
 
@@ -45,7 +45,7 @@ targets in the build to validate the third party release
 ```properties
 3p.rc=RC1
 3p.branch=https://github.com/apache/hadoop-thirdparty/commits/release-1.3.0-RC1
-3p.git.commit.id=0fd62903b071b5186f31b7030ce42e1c00f6bb6a 
+3p.git.commit.id=0fd62903b071b5186f31b7030ce42e1c00f6bb6a
 3p.jira.id=HADOOP-19252
 
3p.nexus.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1420
 
3p.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-thirdparty-1.3.0-RC1
@@ -53,29 +53,57 @@ targets in the build to validate the third party release
 3p.tag.name=release-1.3.0-RC1
 ```
 
-## Targets:
+## Targets
 
 All targets are prefixed `3p.`
 
 ```
-> ant -p | grep 3p
+> ant -p | grep 3p | sort
 
  3p.git-tag-push                  push the 3p tag to apache repo
  3p.git-tag-source                tag the HEAD of thirdparty source with the 
current RC version
+ 3p.incoming-to-local-staging     move downloaded 3P artifacts to the staging 
area
  3p.mvn-purge                     purge all local hadoop-thirdparty 
  3p.print-tag-command             print the git command to tag the rc
+ 3p.release.announcement          build site announcement
+ 3p.release.git-actions           Release action in the source tree
+ 3p.scp-artifacts                 scp the third party artifacts from a remote 
host. may be slow
  3p.stage                         move artifacts of the local build to the 
staging area
  3p.stage-move-to-production      promote the staged the thirdparty RC into 
dist
  3p.stage-svn-rollback            rollback a thirdparty version staged to RC
  3p.stage-to-svn                  stage the RC into svn
  3p.vote-message                  build the vote message
-
 ```
 
 Third party artifacts must be staged to the same svn repository as for
 staging full hadoop releases, as set in `staging.dir`
 
-### Tag and push RC
+## Creating the RC
+
+### Download artifacts you have built on a remote host: ` 3p.scp-artifacts`
+
+The target `3p.scp-artifacts` copies remote artifacts down to 
`/downloads/hadoop-thirdparty/incoming/`;
+it requires the scp binding information to have been set up.
+
+```properties
+scp.hostname=HOSTNAME
+scp.user=USER
+# path from user home dir to where hadoop-thirdparty is
+3p.scp.hadoop-thirdparty.dir=hadoop-thirdparty
+```
+
+Once downloaded, they can be moved to staging with the 
`3p.incoming-to-local-staging` target.
+```bash
+ant 3p.scp-artifacts
+ant 3p.incoming-to-local-staging
+```
+### Commit the staged RC
+
+```bash
+ant 3p.stage-to-svn
+```
+
+### Tag the RC commit push that tag to github
 
 This is automated by two targets:
 ```bash
@@ -85,9 +113,17 @@ ant 3p.git-tag-push
 
 If you just want the commands to enter yourself, run the target 
`3p.print-tag-command`
 
+### Generate the vote message
+
+```bash
+ant 3p.vote-message 
+```
+
+## Validating artifact
+
 ### Download the Staged RC files from the Apache http servers
 
-Downloads under `downloads/incoming`
+Download the release refereced in`3p.staging.url` under `downloads/incoming`
 ```bash
 ant 3p.release.fetch
 ```
diff --git a/src/main/java/org/apache/hadoop/validator/CompileFS.java 
b/src/main/java/org/apache/hadoop/validator/CompileFS.java
index f57f0e8..4b05a1a 100644
--- a/src/main/java/org/apache/hadoop/validator/CompileFS.java
+++ b/src/main/java/org/apache/hadoop/validator/CompileFS.java
@@ -25,6 +25,9 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
+import 
org.apache.hadoop.thirdparty.com.google.common.util.concurrent.FutureCallback;
+import 
org.apache.hadoop.thirdparty.com.google.common.util.concurrent.ListenableScheduledFuture;
+import 
org.apache.hadoop.thirdparty.org.checkerframework.checker.nullness.qual.Nullable;
 
 /**
  *
diff --git a/src/releases/release-info-3.5.0.properties 
b/src/releases/3p/3p-release-1.5.0.properties
similarity index 55%
copy from src/releases/release-info-3.5.0.properties
copy to src/releases/3p/3p-release-1.5.0.properties
index d425b88..38edbf4 100644
--- a/src/releases/release-info-3.5.0.properties
+++ b/src/releases/3p/3p-release-1.5.0.properties
@@ -14,21 +14,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# property file for 3.5.0 release
-# this is more to test the release process than to actually release 3.5.0
-hadoop.version=3.5.0
-rc=RC0
-previous.version=3.3.6
-release.branch=trunk
-git.commit.id=trunk
-
-jira.id=HADOOP-TBD
-jira.title=Release 3.5.0
-
-#amd.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-3.4.0-RC2
-#arm.src.dir=${amd.src.dir}
-#http.source=${amd.src.dir}
-#asf.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1402
-
-cloudstore.profile=sdk2
+# Release Info for thirdparty-1.5.0
+#3p.version=1.5.0
+3p.rc=RC0
+3p.branch=https://github.com/apache/hadoop-thirdparty/commits/release-1.5.0-RC0
+3p.git.commit.id=f38cd43
+3p.jira.id=HADOOP-19727
+3p.nexus.staging.url=https://repository.apache.org/content/repositories/orgapachehadoop-1446
+3p.src.dir=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-thirdparty-1.5.0-RC0
+3p.staging.url=https://dist.apache.org/repos/dist/dev/hadoop/thirdparty-1.5.0-${3p.rc}
+3p.tag.name=release-1.5.0-RC0
 
+# 3p.local.repo.path=<location of third party source repo>
+# 3p.local.target.dir=<target/ directory of your local (or scp'd over /target) 
dir)
diff --git a/src/releases/release-info-3.5.0.properties 
b/src/releases/release-info-3.5.0.properties
index d425b88..85ec771 100644
--- a/src/releases/release-info-3.5.0.properties
+++ b/src/releases/release-info-3.5.0.properties
@@ -16,7 +16,7 @@
 
 # property file for 3.5.0 release
 # this is more to test the release process than to actually release 3.5.0
-hadoop.version=3.5.0
+hadoop.version=3.5.0-SNAPSHOT
 rc=RC0
 previous.version=3.3.6
 release.branch=trunk
@@ -32,3 +32,5 @@ jira.title=Release 3.5.0
 
 cloudstore.profile=sdk2
 
+http.source=TODO
+asf.staging.url=TODO
diff --git a/src/text/3p.vote.txt b/src/text/3p.vote.txt
index fa6f602..a732c7b 100644
--- a/src/text/3p.vote.txt
+++ b/src/text/3p.vote.txt
@@ -15,6 +15,9 @@ ${3p.nexus.staging.url}
 
 Please try the release and vote. The vote will run for 5 days.
 
+Note: to test through a hadoop build, run maven with the options
+  -Dhadoop-thirdparty.version=1.5.0 -Pasf-staging
+
 Here is my vote:
 
 +1 (binding)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to