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 1c53594 HADOOP-19087 3.4.1 RC2 validation 1c53594 is described below commit 1c53594d76ec6e62bfd74481c8b7a26aabab1e0f Author: Steve Loughran <ste...@cloudera.com> AuthorDate: Wed Oct 2 15:38:51 2024 +0100 HADOOP-19087 3.4.1 RC2 validation support for -Pnative in builds; docs --- README.md | 31 ++++++++++++++++++++++++++++++- build.xml | 7 +++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 969718e..889700d 100644 --- a/README.md +++ b/README.md @@ -493,6 +493,25 @@ do not do this while building/testing downstream projects ant release.src.untar release.src.build ``` +This build does not attempt to build the native binaries. +The `Pnative` profile can be enabled (or any other maven arguments) +in by declaring them in the property `source.compile.maven.args` + +```properties +source.compile.maven.args=-Pnative +``` +These are added at the end of the hard-coded arguments (`clean install -DskipTests`) + +Testing is also possible through the target `release.src.test` + +``` +ant release.src.test +``` +Again, the options set in `source.compile.maven.args` are passed down. + +These targets are simply invoking maven in the source subdirectory +of `downloads/untar/source`, for example `downloads/untar/source/hadoop-3.4.1-src` + ### untar site and validate. @@ -540,6 +559,7 @@ The and build itself is successful. ## Testing ARM binaries ```bash +# untars the `-aarch64.tar.gz` binary ant release.arm.untar ant release.arm.commands ``` @@ -558,7 +578,7 @@ git clone https://github.com/apache/hadoop-release-support.git A lot of the targets build maven projects from the staged maven artifacts. -For this to work +For this to work: 1. Check out the relevant projects in your local system. 2. Set their location in the `build.properties` file @@ -587,6 +607,15 @@ Download the artifacts from maven staging repositories and compile/test a minima ant mvn-test ``` +Note: setting up on linux needs a number of dependencies installed (at least on an arm64 ubuntu system): + +```bash +sudo apt-get install libssl-dev openssl subversion maven gpgv openjdk-17-jdk libjsch-java ant ant-optional ant-contrib cmake + +# add to .bashrc +export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64/ +``` + ## Validating maven dependencies To see the dependencies of the maven project: diff --git a/build.xml b/build.xml index 8edbb3d..6921428 100644 --- a/build.xml +++ b/build.xml @@ -168,6 +168,9 @@ <set name="scp.source" value="${scp.user}@${scp.hostname}:${scp.hadoop.dir}/target/artifacts"/> + <!-- maven compilation args for building source --> + <set name="source.compile.maven.args" value=""/> + <!-- execute --> <set name="check.native.binaries" value="true"/> @@ -1120,9 +1123,11 @@ Message is in file ${message.out} <target name="release.src.build" depends="init" description="build the release; call release.src.untar if needed"> <mvn dir="${release.source.dir}/${release}-src"> + <arg line="-T 1C"/> <arg value="clean"/> <arg value="install"/> <arg value="-DskipTests"/> + <arg line="${source.compile.maven.args}"/> </mvn> </target> @@ -1131,6 +1136,7 @@ Message is in file ${message.out} <mvn dir="${release.source.dir}/${release}-src"> <arg value="clean"/> <arg value="test"/> + <arg line="${source.compile.maven.args}"/> </mvn> </target> @@ -1153,6 +1159,7 @@ Message is in file ${message.out} <target name="release.bin.commands" depends="init" description="run test hadoop commands "> + <echo>Executing hadoop commands from directory target/bin-untar/${release}</echo> <!-- hadoop with errors--> <presetdef name="hadoop"> --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org