[
https://issues.apache.org/jira/browse/MNGSITE-548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17907887#comment-17907887
]
ASF GitHub Bot commented on MNGSITE-548:
----------------------------------------
elharo commented on code in PR #593:
URL: https://github.com/apache/maven-site/pull/593#discussion_r1895839799
##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,183 @@
+# 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 subprojects 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
Review Comment:
delete "setup"
##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,183 @@
+# 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 subprojects 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 each 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
depend 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.
Review Comment:
use a bulleted list here
##########
content/markdown/guides/mini/guide-multiple-subprojects-4.md:
##########
@@ -0,0 +1,183 @@
+# 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.
Review Comment:
Subproject collection
> 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)