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


The following commit(s) were added to refs/heads/main by this push:
     new 4048c78  HADOOP-19018. moving to asf-managed module
4048c78 is described below

commit 4048c78983f358add529a5b8c8885d176440ed5a
Author: Steve Loughran <ste...@cloudera.com>
AuthorDate: Wed Feb 21 15:00:47 2024 +0000

    HADOOP-19018. moving to asf-managed module
---
 README.md                                          | 142 +++++++--
 build.xml                                          |  25 +-
 pom.xml                                            | 331 ++++++++++++---------
 release.properties                                 |   2 +-
 ....0.properties => release-info-3.4.0.properties} |   8 +-
 5 files changed, 335 insertions(+), 173 deletions(-)

diff --git a/README.md b/README.md
index 9b4c3fd..81ed6b1 100644
--- a/README.md
+++ b/README.md
@@ -1,23 +1,119 @@
-# Validate Hadoop Release Artifacts
+<!---
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
 
-This project helps validate hadoop release candidates
+   http://www.apache.org/licenses/LICENSE-2.0
 
-It has an ant `build.xml` file to help with preparing the release,
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License. See accompanying LICENSE file.
+-->
+
+# Hadoop Release Support
+
+This project helps create validate hadoop release candidates
+
+It has an Apache Ant `build.xml` file to help with preparing the release,
+validating gpg signatures, creating release messages and other things.
+
+There is a maven `pom.xml` file. This is used to validate the dependencies
+from staging repositories as well as run some basic tests to validate
+the classpath.
+
+
+## Files
+
+###  `/build.xml`
+
+It has an Apache Ant `build.xml` file to help with preparing the release,
 validating gpg signatures, creating release messages and other things.
 
+###  `/pom.xml`
+
+There is a maven `pom.xml` file. This is used to validate the dependencies
+from staging repositories as well as run some basic tests to validate
+the classpath.
+
+
+###  `/build.properties`
+
+This is an optional property file which contains all user-specific 
customizations
+and options to assist in the release process.
+
+This file is *not* SCM-managed.
+
+It is read before all other property files are read/ant properties
+set, so can override any subsequent declarations.
+
+
+### Release index file: `/release.properties`
+
+This is a single-entry property file which provides a relative
+path to the latest release being worked on in this branch.
+
+1. It is SCM-managed.
+2. It is read after `build.properties`
+
+```properties
+release.info.file=src/releases/release-info-3.4.0.properties
+```
+
+### Release info file `src/releases/release-info-*.properties`
+
+Definition files of base properties for the active RC.
+
+* SCM-managed
+* Defines properties which are common to everyone building/validating
+  an RC.
+
+As an example, here is the value `src/releases/release-info-3.4.0.properties` 
for the RC2
+release candidate
+
+```properties
+hadoop.version=3.4.0
+rc=RC2
+previous.version=3.3.6
+release.branch=3.4
+git.commit.id=88fbe62f27e
+
+jira.id=HADOOP-19018
+jira.title=Release 3.4.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
+```
+
+
+
 # workflow for preparing an RC
 
 Build the RC using the docker process on whichever host is set to do it.
 
-### set up `build.properties`
+
+### Create a `src/releases/release-X.Y.X.properties`
+
+Create a new release properties file, using an existing one as a template.
+Update as a appropriate.
+
+### Update `/release.properties`
+
+Update the value of `release.info.file` in `/release.properties` to
+point to the newly created file.
 
 ```properties
-hadoop.version=3.3.5
-# RC for emails, staging dir names
-rc=0
+release.info.file=src/releases/release-info-X.Y.Z.properties
+```
 
-# id of commit built; used for email
-git.commit.id=3262495904d
+### set up `build.properties`
+
+```properties
 
 # info for copying down the RC from the build host
 scp.hostname=stevel-ubuntu
@@ -200,11 +296,9 @@ locally.
 
 # How to download and build a staged release candidate
 
-In build properties, declare `hadoop.version`, `rc` and `http.source`
+This relies on the release-info file pointing to the source directory
 
 ```properties
-hadoop.version=3.3.5
-rc=3
 
http.source=https://dist.apache.org/repos/dist/dev/hadoop/hadoop-${hadoop.version}-RC${rc}/
 ```
 
@@ -280,20 +374,21 @@ A lot of the targets build maven projects from the staged 
maven artifacts.
 
 For this to work
 
-1. Check out the relevant projects somewhere
+1. Check out the relevant projects in your local system.
 2. Set their location in the `build.properties` file
 3. Make sure that the branch checked out is the one you want to build.
    This matters for anyone who works on those other projects
    on their own branches.
-4. Some projects need java11.
+4. Some projects need java11 or later. 
 
-First, purge your maven repo
+First, purge your maven repository of all hadoop- JAR files of the
+pending release version
 
 ```bash
 ant purge-from-maven
 ```
 
-## client validator maven
+## execute the maven test.
 
 Download the artifacts from maven staging repositories and compile/test a 
minimal application
 
@@ -301,18 +396,15 @@ Download the artifacts from maven staging repositories 
and compile/test a minima
 ant mvn-test
 ```
 
-## Cloudstore
+## Build and test Cloudstore diagnostics
 
 [cloudstore](https://github.com/steveloughran/cloudstore).
 
-No tests, sorry.
-
 ```bash
 ant cloudstore.build
 ```
 
-## Google GCS
-
+## Build and test Google GCS
 
 [Big Data Interop](https://github.com/GoogleCloudPlatform/bigdata-interop).
 
@@ -328,7 +420,7 @@ Do this only if you aren't running the tests.
 ant gcs.build
 ```
 
-## Apache Spark
+## Build Apache Spark
 
 Validates hadoop client artifacts; the cloud tests cover hadoop cloud storage 
clients.
 
@@ -336,7 +428,7 @@ Validates hadoop client artifacts; the cloud tests cover 
hadoop cloud storage cl
 ant spark.build
 ```
 
-And to to run the hadoop-cloud tests
+And to to run the `hadoop-cloud` tests
 
 ```bash
 ant spark.test.hadoop-cloud
@@ -366,7 +458,7 @@ The test run is fairly tricky to get running; don't try and 
do this while
   (s3a, abfs, gcs)
 
 
-## HBase filesystem
+## Build and test HBase filesystem
 
 [hbase-filesystem](https://github.com/apache/hbase-filesystem.git)
 
@@ -421,7 +513,7 @@ ant release.site.untar
 ant release.site.docs
 ```
 
-Review the announcement.
+## Review the announcement.
 
 ### Manually link the site current/stable symlinks to the new release
 
diff --git a/build.xml b/build.xml
index 3b9c948..22148c1 100644
--- a/build.xml
+++ b/build.xml
@@ -16,15 +16,15 @@
   ~ limitations under the License.
   -->
 
-<project name="hadoop-release" default="init" basedir=".">
+<project name="hadoop-release-support" default="init" basedir=".">
   <description>
-    build file to manage release and validation of artifacts.
+    Module to manage release and validation of artifacts.
     Maven is simply one of the targets here.
 
     It loads three property files in order:
     * build.properties: custom deployment options. User managed.
     * release.properties: pointer to the real release file. SCM-managed.
-    * src/releases/${release.property.file}: the actual release properties
+    * src/releases/${release.info.file}: the actual release properties
       which contains things like git tag, release and RC version etc.
       SCM-managed.
     
@@ -63,6 +63,7 @@
       <show name="@{p}" />
     </sequential>
   </macrodef>
+
   <!--  set: set a property and print its value-->
   <macrodef name="set">
     <attribute name="name" />
@@ -102,17 +103,17 @@
   
   <!--
    Load the release.properties file
-   This MUST contain an absolute/relative path to the release.properties
-   file if not set in build.properties.
+   This MUST contain an absolute/relative path to the release-info
+   properties file if not set in build.properties.
    -->
   <loadproperties srcFile="release.properties"/>
-  <require p="release.property.file"/>
-  <!-- and load the file it referencves.-->
-  <loadproperties srcFile="${release.property.file}"/>
+  <require p="release.info.file"/>
+  <!-- and load the file it references.-->
+  <loadproperties srcFile="${release.info.file}"/>
 
 
   <!--
-   Load all property files, validate the settings, build the ant
+   Validate the settings, build the ant
    properties, define macros etc.
   -->
   
@@ -294,6 +295,12 @@
       <arg value="-Dhadoop.version=${hadoop.version}"/>
       <arg value="-U"/>
     </mvn>
+    <mvn>
+      <arg value="dependency:tree"/>
+      <arg value="-Pstaging"/>
+      <arg value="-Dverbose"/>
+      <arg value="-Dhadoop.version=${hadoop.version}"/>
+    </mvn>
   </target>
 
 
diff --git a/pom.xml b/pom.xml
index 13dffbc..58fd7f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,32 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   <modelVersion>4.0.0</modelVersion>
 
-  <groupId>com.github.steveloughran</groupId>
-  <artifactId>client-validator</artifactId>
+  <groupId>org.apache.hadoop</groupId>
+  <artifactId>hadoop-release-support</artifactId>
   <version>1.0-SNAPSHOT</version>
 
-  <name>client-validator</name>
+  <name>hadoop-release-support</name>
 
-  <url>https://github.com/steveloughran/validate-hadoop-client-artifacts</url>
+  <url>https://github.com/apache/hadoop-release-support</url>
 
   <description>
-    Project to verify hadoop client jars are good.
-
-    To build with the client API
-
-    mvn clean test
-
-    to force an update
-
-    mvn clean test  -Pstaging -U
-
-    This imports a lot so that the artifacts can
-    all be retrieved from staging and stored locally so that
-    other projects can find them.
-
+    Support for creating/validating Hadoop releases.
+    Most of the work here is in the Ant build.xml files,
+    which invokes the maven module from some of its targets.
 
   </description>
 
@@ -64,133 +54,206 @@
     </dependency>
 
     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-common</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-common</artifactId>
-       <version>${hadoop.version}</version>
-       <type>test-jar</type>
-     </dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-common</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-common</artifactId>
+      <version>${hadoop.version}</version>
+      <type>test-jar</type>
+    </dependency>
     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-mapreduce-client-core</artifactId>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-core</artifactId>
       <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-yarn-server-common</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-yarn-server-tests</artifactId>
+      <version>${hadoop.version}</version>
+      <type>test-jar</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-yarn-server-tests</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-hs</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-examples</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-hdfs</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-hdfs</artifactId>
+      <version>${hadoop.version}</version>
+      <type>test-jar</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-distcp</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-distcp</artifactId>
+      <version>${hadoop.version}</version>
+      <type>test-jar</type>
+    </dependency>
+    <!-- artifacts needed to bring up a Mini MR Yarn cluster-->
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-app</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-app</artifactId>
+      <type>test-jar</type>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
+      <version>${hadoop.version}</version>
+      <type>test-jar</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-minikdc</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-cloud-storage</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+<!-- why not?
 
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-yarn-server-tests</artifactId>
-       <version>${hadoop.version}</version>
-       <type>test-jar</type>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-        <artifactId>hadoop-mapreduce-client-hs</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-mapreduce-examples</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-hdfs</artifactId>
-       <version>${hadoop.version}</version>
-       <type>test-jar</type>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-distcp</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-distcp</artifactId>
-       <version>${hadoop.version}</version>
-       <type>test-jar</type>
-     </dependency>
-     <!-- artifacts needed to bring up a Mini MR Yarn cluster-->
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-mapreduce-client-app</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-mapreduce-client-app</artifactId>
-       <type>test-jar</type>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
-       <version>${hadoop.version}</version>
-       <type>test-jar</type>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-minikdc</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
-     <dependency>
-       <groupId>org.apache.hadoop</groupId>
-       <artifactId>hadoop-cloud-storage</artifactId>
-       <version>${hadoop.version}</version>
-     </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>federation-balance</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+-->
 
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-resourceestimator</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
 
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.13.2</version>
-      <scope>test</scope>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-sls</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-archive-logs</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-datajoin</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-rumen</artifactId>
+      <version>${hadoop.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-dynamometer-blockgen</artifactId>
+      <version>${hadoop.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>${slf4j.version}</version>
+
+    <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-dynamometer-infra</artifactId>
+      <version>${hadoop.version}</version>
     </dependency>
+
     <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-reload4j</artifactId>
-      <version>${slf4j.version}</version>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-yarn-common</artifactId>
+      <version>${hadoop.version}</version>
     </dependency>
+
+
+
     <dependency>
-      <groupId>ch.qos.reload4j</groupId>
-      <artifactId>reload4j</artifactId>
-      <version>${reload4j.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>com.sun.jdmk</groupId>
-          <artifactId>jmxtools</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>com.sun.jmx</groupId>
-          <artifactId>jmxri</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.mail</groupId>
-          <artifactId>mail</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.jms</groupId>
-          <artifactId>jmx</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.jms</groupId>
-          <artifactId>jms</artifactId>
-        </exclusion>
-      </exclusions>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.13.2</version>
+      <scope>test</scope>
     </dependency>
+    <!--
+        <dependency>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-api</artifactId>
+          <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+          <groupId>org.slf4j</groupId>
+          <artifactId>slf4j-reload4j</artifactId>
+          <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+          <groupId>ch.qos.reload4j</groupId>
+          <artifactId>reload4j</artifactId>
+          <version>${reload4j.version}</version>
+          <exclusions>
+            <exclusion>
+              <groupId>com.sun.jdmk</groupId>
+              <artifactId>jmxtools</artifactId>
+            </exclusion>
+            <exclusion>
+              <groupId>com.sun.jmx</groupId>
+              <artifactId>jmxri</artifactId>
+            </exclusion>
+            <exclusion>
+              <groupId>javax.mail</groupId>
+              <artifactId>mail</artifactId>
+            </exclusion>
+            <exclusion>
+              <groupId>javax.jms</groupId>
+              <artifactId>jmx</artifactId>
+            </exclusion>
+            <exclusion>
+              <groupId>javax.jms</groupId>
+              <artifactId>jms</artifactId>
+            </exclusion>
+          </exclusions>
+        </dependency>
+    -->
 
   </dependencies>
   <!--
@@ -332,7 +395,7 @@
               <configuration>
                 <rules>
                   <requireMavenVersion>
-                    <version>3.4.0</version>
+                    <version>3.3.6</version>
                   </requireMavenVersion>
                 </rules>
               </configuration>
diff --git a/release.properties b/release.properties
index bb7dbf4..56de776 100644
--- a/release.properties
+++ b/release.properties
@@ -15,4 +15,4 @@
 # limitations under the License.
 
 # File to git-managed release info.
-release.property.file=src/releases/release-3.4.0.properties
\ No newline at end of file
+release.info.file=src/releases/release-info-3.4.0.properties
diff --git a/src/releases/release-3.4.0.properties 
b/src/releases/release-info-3.4.0.properties
similarity index 100%
rename from src/releases/release-3.4.0.properties
rename to src/releases/release-info-3.4.0.properties
index f8e758a..999f8ed 100644
--- a/src/releases/release-3.4.0.properties
+++ b/src/releases/release-info-3.4.0.properties
@@ -15,18 +15,18 @@
 # limitations under the License.
 
 # property file for 3.4.0
-jira.id=HADOOP-19018
-jira.title=Release 3.4.0
 hadoop.version=3.4.0
 rc=RC2
 previous.version=3.3.6
 release.branch=3.4
 git.commit.id=88fbe62f27e
+
+jira.id=HADOOP-19018
+jira.title=Release 3.4.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


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to