errose28 commented on code in PR #100:
URL: https://github.com/apache/ozone-site/pull/100#discussion_r1830206664


##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages

Review Comment:
   Let's see if we can finalize this as part of this change as well. The only 
thing I'm not sure about is the maven version. Really Ozone should define this 
in its pom probably using something like the [Maven enforcer 
plugin](https://maven.apache.org/enforcer/maven-enforcer-plugin/index.html). 
Maybe we should raise a PR to add this to the main Ozone repo and then update 
the docs.



##########
cspell.yaml:
##########
@@ -99,3 +99,7 @@ words:
 - UX
 - devs
 - CLI
+- xzf
+- Dskip
+- Pdist
+- Pnative

Review Comment:
   Since these are more specific to the build page, let's add them as an 
[inline directive](https://cspell.org/configuration/document-settings/) for 
that page only. For example, it's not clear to someone looking at this file out 
of context why `xzf` needs to be allowed.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">
+    ```bash
+    curl -OL https://dlcdn.apache.org/ozone/1.4.0/ozone-1.4.0-src.tar.gz
+    tar xzf ozone-1.4.0-src.tar.gz
+    cd ozone-1.4.0-src
+    ```
+  </TabItem>
+</Tabs>
+
+### 2. Build the Project
+
+#### Basic Build
+
+For a basic build that skips tests:
+
+```bash
+mvn clean package -DskipTests=true
+```
+
+This command will:
+
+- Clean previous build artifacts
+- Compile the source code
+- Package the compiled code into JAR files
+- Create a distribution in `hadoop-ozone/dist/target/ozone-<version>`
+
+#### Build with Tests
+
+To run unit tests during the build:
+
+```bash
+mvn clean package
+```
+
+#### Create Distribution Tarball
+
+To create a distribution tarball for deployment:
+
+```bash
+mvn clean package -DskipTests=true -Pdist
+```
+
+This creates a tarball in `hadoop-ozone/dist/target` that contains all 
necessary files for deployment.
+
+### Maven Build Options

Review Comment:
   As mentioned above, I think we can consolidate this section and the previous 
one into a single `Build Options` section to avoid duplicating information 
between them.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">

Review Comment:
   We should also clarify that the published tarballs correspond to official 
releases only. We don't publish snapshots so if an intermediate build is 
desired it will have to be done from source.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">

Review Comment:
   For pre-built tarballs it is probably better to link to the downloads page 
in case our hosting domain changes. This also makes it clear which versions are 
available to download.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites

Review Comment:
   I'm ok with having pre-requisites built in to this page instead of in a 
stand-alone page, since I think each build page like docker and intellij will 
have their own pre-requisites. Let's remove the existing pre-requisites page 
stub in this case.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">
+    ```bash
+    curl -OL https://dlcdn.apache.org/ozone/1.4.0/ozone-1.4.0-src.tar.gz
+    tar xzf ozone-1.4.0-src.tar.gz
+    cd ozone-1.4.0-src
+    ```
+  </TabItem>
+</Tabs>
+
+### 2. Build the Project
+
+#### Basic Build
+
+For a basic build that skips tests:
+
+```bash
+mvn clean package -DskipTests=true
+```
+
+This command will:
+
+- Clean previous build artifacts
+- Compile the source code
+- Package the compiled code into JAR files
+- Create a distribution in `hadoop-ozone/dist/target/ozone-<version>`
+
+#### Build with Tests
+
+To run unit tests during the build:
+
+```bash
+mvn clean package
+```
+
+#### Create Distribution Tarball
+
+To create a distribution tarball for deployment:
+
+```bash
+mvn clean package -DskipTests=true -Pdist
+```
+
+This creates a tarball in `hadoop-ozone/dist/target` that contains all 
necessary files for deployment.
+
+### Maven Build Options
+
+Several Maven options are available to customize the build process:
+
+- `-DskipTests=true`: Skip all tests
+- `-Pdist`: Enable the distribution profile to create deployment tarballs
+- `-Pnative`: Build native libraries (requires additional system dependencies)

Review Comment:
   I'm not super familiar with this option. Is this for the native snapshot lib 
or hadoop native? Lets try to clarify in the docs which native libraries this 
applies to, what happens if they are skipped, and what is meant by "requires 
additional system dependences". This might need its own section on the page.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">
+    ```bash
+    curl -OL https://dlcdn.apache.org/ozone/1.4.0/ozone-1.4.0-src.tar.gz
+    tar xzf ozone-1.4.0-src.tar.gz
+    cd ozone-1.4.0-src
+    ```
+  </TabItem>
+</Tabs>
+
+### 2. Build the Project
+
+#### Basic Build
+
+For a basic build that skips tests:
+
+```bash
+mvn clean package -DskipTests=true
+```
+
+This command will:
+
+- Clean previous build artifacts
+- Compile the source code
+- Package the compiled code into JAR files
+- Create a distribution in `hadoop-ozone/dist/target/ozone-<version>`
+
+#### Build with Tests
+
+To run unit tests during the build:
+
+```bash
+mvn clean package
+```
+
+#### Create Distribution Tarball
+
+To create a distribution tarball for deployment:
+
+```bash
+mvn clean package -DskipTests=true -Pdist
+```
+
+This creates a tarball in `hadoop-ozone/dist/target` that contains all 
necessary files for deployment.
+
+### Maven Build Options
+
+Several Maven options are available to customize the build process:
+
+- `-DskipTests=true`: Skip all tests
+- `-Pdist`: Enable the distribution profile to create deployment tarballs
+- `-Pnative`: Build native libraries (requires additional system dependencies)
+- `-T 4`: Use 4 threads for parallel building (adjust number based on your CPU)

Review Comment:
   This option also supports a multiplier on CPU cores. I have `2C` in my usual 
build command.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone

Review Comment:
   Looking at the sidebar in the rendered docs I think we should layout the 
headings like this:
   ```
   Prerequisites
   Obtain the Source Code
   Build the Project
     Build Options
     Build Output
   Next Steps  
   ```



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">
+    ```bash
+    curl -OL https://dlcdn.apache.org/ozone/1.4.0/ozone-1.4.0-src.tar.gz
+    tar xzf ozone-1.4.0-src.tar.gz
+    cd ozone-1.4.0-src
+    ```
+  </TabItem>
+</Tabs>
+
+### 2. Build the Project
+
+#### Basic Build
+
+For a basic build that skips tests:
+
+```bash
+mvn clean package -DskipTests=true
+```
+
+This command will:
+
+- Clean previous build artifacts
+- Compile the source code
+- Package the compiled code into JAR files
+- Create a distribution in `hadoop-ozone/dist/target/ozone-<version>`
+
+#### Build with Tests
+
+To run unit tests during the build:
+
+```bash
+mvn clean package
+```
+
+#### Create Distribution Tarball
+
+To create a distribution tarball for deployment:
+
+```bash
+mvn clean package -DskipTests=true -Pdist
+```
+
+This creates a tarball in `hadoop-ozone/dist/target` that contains all 
necessary files for deployment.
+
+### Maven Build Options
+
+Several Maven options are available to customize the build process:
+
+- `-DskipTests=true`: Skip all tests
+- `-Pdist`: Enable the distribution profile to create deployment tarballs
+- `-Pnative`: Build native libraries (requires additional system dependencies)
+- `-T 4`: Use 4 threads for parallel building (adjust number based on your CPU)
+- `-am -pl module-name`: Build a specific module and its dependencies
+
+### Build Output
+
+The build process creates several important artifacts:
+
+- **Distribution Directory**: `hadoop-ozone/dist/target/ozone-<version>/`
+- **Distribution Tarball**: `hadoop-ozone/dist/target/ozone-<version>.tar.gz` 
(when using `-Pdist`)
+- **Individual Module JARs**: Found in `target/` directories within each module

Review Comment:
   These are also copied to `share/ozone/lib` in the final artifact along with 
all dependency jars.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">
+    ```bash
+    curl -OL https://dlcdn.apache.org/ozone/1.4.0/ozone-1.4.0-src.tar.gz
+    tar xzf ozone-1.4.0-src.tar.gz
+    cd ozone-1.4.0-src
+    ```
+  </TabItem>
+</Tabs>
+
+### 2. Build the Project
+
+#### Basic Build
+
+For a basic build that skips tests:
+
+```bash
+mvn clean package -DskipTests=true
+```
+
+This command will:
+
+- Clean previous build artifacts
+- Compile the source code
+- Package the compiled code into JAR files
+- Create a distribution in `hadoop-ozone/dist/target/ozone-<version>`
+
+#### Build with Tests
+
+To run unit tests during the build:
+
+```bash
+mvn clean package
+```
+
+#### Create Distribution Tarball
+
+To create a distribution tarball for deployment:
+
+```bash
+mvn clean package -DskipTests=true -Pdist
+```
+
+This creates a tarball in `hadoop-ozone/dist/target` that contains all 
necessary files for deployment.
+
+### Maven Build Options
+
+Several Maven options are available to customize the build process:
+
+- `-DskipTests=true`: Skip all tests
+- `-Pdist`: Enable the distribution profile to create deployment tarballs
+- `-Pnative`: Build native libraries (requires additional system dependencies)
+- `-T 4`: Use 4 threads for parallel building (adjust number based on your CPU)
+- `-am -pl module-name`: Build a specific module and its dependencies
+
+### Build Output

Review Comment:
   Also worth noting that the Ozone executable will be at `bin/ozone` in the 
output. It should be executable and you can use `ozone version` to check your 
build information.



##########
docs/08-developer-guide/01-build/02-maven.md:
##########
@@ -8,3 +8,99 @@ sidebar_label: Maven
 
 - Cover basic Maven commands to build and run tests.
 - Document all the Ozone specific Maven flags we use to speed up or skip parts 
of the build, and when they are useful.
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+This guide explains how to build Apache Ozone from source using Maven and 
prepare it for deployment.
+
+## Prerequisites
+
+**TODO** : [HDDS-11625](https://issues.apache.org/jira/browse/HDDS-11625) 
Finalize the version numbers of prerequisite packages
+
+Before you begin, ensure you have the following installed on your build 
machine:
+
+- Java 1.8 or higher
+- Apache Maven 3.6.3 or higher
+- Git (if building from source repository)
+
+## Building Ozone
+
+You can build Apache Ozone either by cloning the source code from Git or by 
downloading the official source tarball.
+
+### 1. Obtain the Source Code
+
+Choose one of the following methods to get the source code:
+
+<Tabs>
+  <TabItem value="Git" label="Git" default>
+    ```bash
+    git clone https://github.com/apache/ozone.git
+    cd ozone
+    ```
+  </TabItem>
+  <TabItem value="Tarball" label="Tarball">
+    ```bash
+    curl -OL https://dlcdn.apache.org/ozone/1.4.0/ozone-1.4.0-src.tar.gz
+    tar xzf ozone-1.4.0-src.tar.gz
+    cd ozone-1.4.0-src
+    ```
+  </TabItem>
+</Tabs>
+
+### 2. Build the Project
+
+#### Basic Build
+
+For a basic build that skips tests:
+
+```bash
+mvn clean package -DskipTests=true
+```
+
+This command will:
+
+- Clean previous build artifacts
+- Compile the source code
+- Package the compiled code into JAR files
+- Create a distribution in `hadoop-ozone/dist/target/ozone-<version>`
+
+#### Build with Tests
+
+To run unit tests during the build:
+
+```bash
+mvn clean package
+```
+
+#### Create Distribution Tarball
+
+To create a distribution tarball for deployment:
+
+```bash
+mvn clean package -DskipTests=true -Pdist
+```
+
+This creates a tarball in `hadoop-ozone/dist/target` that contains all 
necessary files for deployment.
+
+### Maven Build Options
+
+Several Maven options are available to customize the build process:
+
+- `-DskipTests=true`: Skip all tests
+- `-Pdist`: Enable the distribution profile to create deployment tarballs
+- `-Pnative`: Build native libraries (requires additional system dependencies)
+- `-T 4`: Use 4 threads for parallel building (adjust number based on your CPU)
+- `-am -pl module-name`: Build a specific module and its dependencies

Review Comment:
   I think this needs `install` to work correctly, otherwise it will try to 
download the dependencies and for source builds from an arbitrary commit this 
will not be present. The previous build commands here have only mentioned 
`package`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to