elharo commented on code in PR #593:
URL: https://github.com/apache/maven-site/pull/593#discussion_r1895782709


##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,184 @@
+# Guide to Working with Multiple Subprojects in Maven 4
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+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.
+-->
+
+(If you're working with Maven 3, please refer to the [Maven 3 edition of this 
guide](./guide-multiple-modules.html))
+
+As seen in the introduction to the POM, Maven supports project aggregation in 
addition to project inheritance.
+This section outlines how Maven processes projects with multiple subprojects, 
and how you can work with them more
+effectively.
+
+## The Reactor
+
+The mechanism in Maven that handles projects with multiple subprojects is 
referred to as the _reactor_.
+This part of the Maven core does the following:
+
+* Collects all the available subprojects to build
+* Sorts the subprojects into the correct build order
+* Selects which subprojects to build
+* Builds the selected subprojects in order
+
+### Collecting subprojects
+
+Subprojects collection starts from one aggregator project.
+That project defines the subprojects of which it consists using the 
`<subproject>` element.
+This is a recursive process, so aggregators can have child subproject which 
are aggregators themselves.
+
+For this process to work, it does not matter which POM you start with.
+Maven attempts to find the root of a multi-project setup, by traversing 
upwards in the directory structure until it
+either finds a POM with a `.mvn` sibling directory or a POM with the `root` 
attribute set to true.
+This allows Maven to resolve dependencies on subprojects from the same 
project, regardless of the location of
+the starting POM.
+When Maven fails to find the root, it assumes that the starting POM is the 
root.
+For consistent behaviour, create a `.mvn` directory in the root directory of 
the project or set the `root` attribute in
+the POM of the root project to true.
+
+There are two ways to point at a starting POM.
+By default, Maven reads the `pom.xml` file in the working directory.
+Using the file parameter (`--file` or `-f`), you can point to another POM.
+
+### Sorting subprojects
+
+Because subprojects within a multi-project setup build can depend on each 
other, it is important that the reactor sorts
+all the
+projects in a way that guarantees any project is built before it is required.
+
+The following relationships are honoured when sorting projects:
+
+* a project dependency on another subproject in the build
+* a plugin declaration where the plugin is another subproject in the build
+* a plugin dependency on another subproject in the build
+* a build extension declaration on another subproject in the build
+* the order declared in the `<subprojects>` element (if no other rule applies)
+
+Note that only "instantiated" references are used - `dependencyManagement` and 
`pluginManagement` elements do not cause
+a change to the reactor sort order.
+
+### Selecting subprojects
+
+By default, Maven builds all subprojects it has collected.
+However, you can select a subset of these subprojects to build using command 
line flags.
+These flags come in three categories:
+
+* Inclusion and exclusion
+* Relationships between subprojects
+* Dealing with failures
+
+This section ends with how these flags relate to each other.
+
+#### Inclusion and exclusion
+
+Using `--projects` you can specify which subprojects to build.
+You can do this by specifying a comma-delimited list of project selectors.
+A project selector is a string that is composed of the `groupId:artifactId`, 
only `:artifactId` or the relative path to
+a subproject.
+
+A subproject can be selected (default), or excluded from the build.
+You exclude a subproject by prefixing the selector with a `!` or `-`.
+To explicitly select a subproject, prefix it with a `+`.
+
+When a selector does not resolve to an existing subproject, Maven fails the 
build.
+You can prevent this by adding the `?` prefix.
+This prefix should always go after the other prefixes.
+
+#### Relationships between subprojects
+
+Subprojects inside a project can have two types of relationships: parent/child 
and dependency/dependent.
+
+When selecting a parent (aggregator), Maven automatically selects the child 
subprojects as well.
+Similarly, Maven excludes child subprojects of an excluded parent (aggregator).
+To prevent this recursive behaviour, combine `--projects` with 
`--non-recursive`.
+
+Maven knows about the dependencies between subprojects inside the 
multi-project setup.
+Using `--also-make`, Maven includes all dependencies of the selected projects 
in the build.
+Similarly, `--also-make-dependents` lets Maven include all subprojects which 
are dependent on the selected projects.

Review Comment:
   are dependent --> depend



##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,184 @@
+# Guide to Working with Multiple Subprojects in Maven 4
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+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.
+-->
+
+(If you're working with Maven 3, please refer to the [Maven 3 edition of this 
guide](./guide-multiple-modules.html))
+
+As seen in the introduction to the POM, Maven supports project aggregation in 
addition to project inheritance.
+This section outlines how Maven processes projects with multiple subprojects, 
and how you can work with them more
+effectively.
+
+## The Reactor
+
+The mechanism in Maven that handles projects with multiple subprojects is 
referred to as the _reactor_.
+This part of the Maven core does the following:
+
+* Collects all the available subprojects to build
+* Sorts the subprojects into the correct build order
+* Selects which subprojects to build
+* Builds the selected subprojects in order
+
+### Collecting subprojects
+
+Subprojects collection starts from one aggregator project.
+That project defines the subprojects of which it consists using the 
`<subproject>` element.
+This is a recursive process, so aggregators can have child subproject which 
are aggregators themselves.

Review Comment:
   child subprojects



##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,184 @@
+# Guide to Working with Multiple Subprojects in Maven 4
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+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.
+-->
+
+(If you're working with Maven 3, please refer to the [Maven 3 edition of this 
guide](./guide-multiple-modules.html))
+
+As seen in the introduction to the POM, Maven supports project aggregation in 
addition to project inheritance.
+This section outlines how Maven processes projects with multiple subprojects, 
and how you can work with them more
+effectively.
+
+## The Reactor
+
+The mechanism in Maven that handles projects with multiple subprojects is 
referred to as the _reactor_.
+This part of the Maven core does the following:
+
+* Collects all the available subprojects to build
+* Sorts the subprojects into the correct build order
+* Selects which subprojects to build
+* Builds the selected subprojects in order
+
+### Collecting subprojects
+
+Subprojects collection starts from one aggregator project.
+That project defines the subprojects of which it consists using the 
`<subproject>` element.
+This is a recursive process, so aggregators can have child subproject which 
are aggregators themselves.
+
+For this process to work, it does not matter which POM you start with.
+Maven attempts to find the root of a multi-project setup, by traversing 
upwards in the directory structure until it
+either finds a POM with a `.mvn` sibling directory or a POM with the `root` 
attribute set to true.
+This allows Maven to resolve dependencies on subprojects from the same 
project, regardless of the location of
+the starting POM.
+When Maven fails to find the root, it assumes that the starting POM is the 
root.
+For consistent behaviour, create a `.mvn` directory in the root directory of 
the project or set the `root` attribute in
+the POM of the root project to true.
+
+There are two ways to point at a starting POM.
+By default, Maven reads the `pom.xml` file in the working directory.
+Using the file parameter (`--file` or `-f`), you can point to another POM.
+
+### Sorting subprojects
+
+Because subprojects within a multi-project setup build can depend on each 
other, it is important that the reactor sorts
+all the
+projects in a way that guarantees any project is built before it is required.

Review Comment:
   any --> each



##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,184 @@
+# Guide to Working with Multiple Subprojects in Maven 4
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+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.
+-->
+
+(If you're working with Maven 3, please refer to the [Maven 3 edition of this 
guide](./guide-multiple-modules.html))
+
+As seen in the introduction to the POM, Maven supports project aggregation in 
addition to project inheritance.
+This section outlines how Maven processes projects with multiple subprojects, 
and how you can work with them more
+effectively.
+
+## The Reactor
+
+The mechanism in Maven that handles projects with multiple subprojects is 
referred to as the _reactor_.
+This part of the Maven core does the following:
+
+* Collects all the available subprojects to build
+* Sorts the subprojects into the correct build order
+* Selects which subprojects to build
+* Builds the selected subprojects in order
+
+### Collecting subprojects
+
+Subprojects collection starts from one aggregator project.
+That project defines the subprojects of which it consists using the 
`<subproject>` element.
+This is a recursive process, so aggregators can have child subproject which 
are aggregators themselves.
+
+For this process to work, it does not matter which POM you start with.
+Maven attempts to find the root of a multi-project setup, by traversing 
upwards in the directory structure until it
+either finds a POM with a `.mvn` sibling directory or a POM with the `root` 
attribute set to true.
+This allows Maven to resolve dependencies on subprojects from the same 
project, regardless of the location of
+the starting POM.
+When Maven fails to find the root, it assumes that the starting POM is the 
root.
+For consistent behaviour, create a `.mvn` directory in the root directory of 
the project or set the `root` attribute in
+the POM of the root project to true.
+
+There are two ways to point at a starting POM.
+By default, Maven reads the `pom.xml` file in the working directory.
+Using the file parameter (`--file` or `-f`), you can point to another POM.
+
+### Sorting subprojects
+
+Because subprojects within a multi-project setup build can depend on each 
other, it is important that the reactor sorts
+all the
+projects in a way that guarantees any project is built before it is required.
+
+The following relationships are honoured when sorting projects:
+
+* a project dependency on another subproject in the build
+* a plugin declaration where the plugin is another subproject in the build
+* a plugin dependency on another subproject in the build
+* a build extension declaration on another subproject in the build
+* the order declared in the `<subprojects>` element (if no other rule applies)
+
+Note that only "instantiated" references are used - `dependencyManagement` and 
`pluginManagement` elements do not cause
+a change to the reactor sort order.
+
+### Selecting subprojects
+
+By default, Maven builds all subprojects it has collected.
+However, you can select a subset of these subprojects to build using command 
line flags.
+These flags come in three categories:
+
+* Inclusion and exclusion
+* Relationships between subprojects
+* Dealing with failures
+
+This section ends with how these flags relate to each other.
+
+#### Inclusion and exclusion
+
+Using `--projects` you can specify which subprojects to build.
+You can do this by specifying a comma-delimited list of project selectors.
+A project selector is a string that is composed of the `groupId:artifactId`, 
only `:artifactId` or the relative path to
+a subproject.
+
+A subproject can be selected (default), or excluded from the build.
+You exclude a subproject by prefixing the selector with a `!` or `-`.
+To explicitly select a subproject, prefix it with a `+`.
+
+When a selector does not resolve to an existing subproject, Maven fails the 
build.
+You can prevent this by adding the `?` prefix.
+This prefix should always go after the other prefixes.
+
+#### Relationships between subprojects
+
+Subprojects inside a project can have two types of relationships: parent/child 
and dependency/dependent.
+
+When selecting a parent (aggregator), Maven automatically selects the child 
subprojects as well.
+Similarly, Maven excludes child subprojects of an excluded parent (aggregator).
+To prevent this recursive behaviour, combine `--projects` with 
`--non-recursive`.
+
+Maven knows about the dependencies between subprojects inside the 
multi-project setup.
+Using `--also-make`, Maven includes all dependencies of the selected projects 
in the build.
+Similarly, `--also-make-dependents` lets Maven include all subprojects which 
are dependent on the selected projects.
+
+#### Dealing with failures
+
+There are several ways to customize how the reactor deals with failures.
+`--fail-at-end` fails the build after building as many subprojects as possible.
+In this case, subprojects that do not depend on a failed subproject, will 
still be built.

Review Comment:
   subproject, will --> subproject will



-- 
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: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to