Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions BUILDING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Requirements:

* Unix System
* JDK 17
* Maven 3.3 or later
* Maven 3.9.11 or later
* Boost 1.86.0 (if compiling native code)
* Protocol Buffers 3.25.5 (if compiling native code)
* CMake 3.19 or newer (if compiling native code)
Expand Down Expand Up @@ -63,7 +63,11 @@ Refer to dev-support/docker/Dockerfile):
$ sudo apt-get update
$ sudo apt-get -y install openjdk-17-jdk
* Maven
$ sudo apt-get -y install maven
Most package managers do not install required version of Maven i.e. 3.9.11 or later.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with

Do not as of January 2026 install an up to date version of Maven.

Following commands download and install Maven manually
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the following commands to download and install Maven manually

$ curl -L https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.tar.gz > apache-maven-3.9.11-bin.tar.gz
$ tar -zxvf apache-maven-3.9.11-bin.tar.gz -C /opt
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add a checksum/signature validation stage if we are putting in code for people to run, or at least recommend it.

curl -L https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.tar.gz.asc > apache-maven-3.9.11-bin.tar.gz.asc
curl -L https://downloads.apache.org/maven/KEYS > KEYS
gpg --import KEYS
gpg --verify apache-maven-3.9.11-bin.tar.gz.asc

Copy link
Member

@pan3793 pan3793 Jan 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@steveloughran, if you look at the context, no installation does such verification. can we make the guide simple to match the context for now?

later we can consider Maven Wrapper https://maven.apache.org/tools/wrapper/, then ./mvnw would automatically trigger the requested version of Maven downloading, which is a much simpler way. (my previous try was abandoned because I didn't figure out how to let Yetus invoke ./mvnw instead of mvn under $PATH, but it's simple if we keep mvn for Yetus and add a ./mvnw as an alternative for developers)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, if mvnw is listed as the install mechanism, it's a lot simpler to detail as it does the validation. Docs can just say "use an up to date version of maven; the mvnw command will download one and validate it before execution"

$ sudo ln -s /opt/apache-maven-3.9.11/bin/mvn /usr/bin
* Native libraries
$ sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev libsasl2-dev
* GCC 9.3.0
Expand Down Expand Up @@ -583,7 +587,7 @@ Requirements:

* Windows 10
* JDK 17
* Maven 3.3 or later (maven.apache.org)
* Maven 3.9.11 or later (maven.apache.org)
* Boost 1.86.0 (boost.org)
* Protocol Buffers 3.25.5 (https://github.com/protocolbuffers/protobuf/tags)
* CMake 3.19 or newer (cmake.org)
Expand Down
2 changes: 1 addition & 1 deletion dev-support/win-paths-eg.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ SET MAVEN_OPTS=-Dmaven.repo.local=C:\Tools\m2
@REM command path
@REM

SET MAVEN_HOME=C:\Tools\apache-maven-3.5.0
SET MAVEN_HOME=C:\Tools\apache-maven-3.9.11
SET JAVA_HOME=C:\Tools\jdk
SET MSVS=C:\Program Files (x86)\Microsoft Visual Studio 12.0
SET PROTO_BIN=C:\Tools\protobuf-2.5.0
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x
for an open-ended enforcement
-->
<enforced.java.version>[${javac.version},)</enforced.java.version>
<enforced.maven.version>[3.3.0,)</enforced.maven.version>
<enforced.maven.version>[3.9.11,)</enforced.maven.version>
</properties>

<modules>
Expand Down