[ 
https://issues.apache.org/jira/browse/MNGSITE-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17907875#comment-17907875
 ] 

ASF GitHub Bot commented on MNGSITE-548:
----------------------------------------

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





> Guide to work with subprojects uses old term of modules
> -------------------------------------------------------
>
>                 Key: MNGSITE-548
>                 URL: https://issues.apache.org/jira/browse/MNGSITE-548
>             Project: Maven Project Web Site
>          Issue Type: Bug
>            Reporter: Matthias Bünger
>            Priority: Major
>
> Some months ago it was decided on the mailing list that with Maven 4 the 
> terms (and the XML element) "{{module}}" will be replaced by subproject.
> The Maven 4 guide should represent that to match this.
> The https://maven.apache.org/guides/mini/guide-multiple-modules-4.html 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to