You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2021/10/10 11:39:45 UTC

[maven] branch MNG-6727 updated (b665ae9 -> 7b7dc65)

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a change to branch MNG-6727
in repository https://gitbox.apache.org/repos/asf/maven.git.


 discard b665ae9  [MNG-6727] Changed check to project.version and project.parent.version
     add 9166805  [MNG-6967] Improve the command line output from maven-artifact. - Clearly separate version from tokens in command line output.
     add eb43b9b  Fix Checkstyle violation.
     add 83dc690  [MNG-7071] Remove the profiles.xml warning, since the functionality is ignored since Maven 3.
     add bb916d0  [MNG-7035] Migrate unit tests to Unit 5
     add ceb08cf  Test for empty locations and avoid printing them
     add 8df10f9  Test for empty value and avoid needless space
     add 8defd16  [MNG-7051] Optionally skip non-existing profiles and break on missing required profiles.
     add 1e575a2  [MNG-7068] Active dependency management for Google Guice/Guava
     add eae3074  [MNG-7029] Remove super POM release profile
     add ab20190  Update ant from 1.10.8 to 1.10.9 in /maven-wrapper
     add 48fc108  [MNG-7077] Use JUnit 5 extension
     add f820b41  [MNG-7095] Fix resume for parallel builds
     add 619973b  [MNG-7063] Infinite loop using Shade plugin and JUnit 5 dependency
     add 84a1ff2  [MNG-7063] Add unittest to ensure rereading a pom won't return the cached Model
     add 441cf73  improve documentation
     add 9b5b8d4  extract AbstractMavenLifecycleParticipant dispatch methods
     add a515fbe  [MNG-7035] remove duplicate dependency (causing warning on build)
     add 8ceb6c6  [MNG-7063] Infinite loop using Shade plugin and JUnit 5 dependency
     add d740200  [MNG-7107] relax profile id validation, different from coordinate id
     add b23116d  [MNG-6114] Elements from the global settings should be ordered before elements from the user settings
     add a242c1a  [MNG-6471] Parallel builder should use the module name as thread name
     add c3dba0e  [MNG-6113] Rename the 'Central Repository' to 'Maven Central Repository' in the 4.0.0 super POM
     add 0e75baa  improve and fix javadoc
     add 9643ac6  [MNG-7051] When an optional profile could not be found, an info message should be thrown instead of a warning.
     add ad24f59  [MNG-7051] Return unmodifiable profile lists
     add aa90370  [MNG-7110] Different behavior of extensions restore configuration of importRequest
     add 9e19b57  [MNG-7111] Deadlock when reading pom
     add a5c68f7  Revert "[MNG-7046] Revert MNG-5639 and make repo config static only"
     add d5f77a3  [MNG-6399] - Lift JDK minimum to JDK 8
     add d87a1f5  [MNG-7119] Upgrade Maven Wagon to 3.4.3
     add 612dfdd  [MNG-3220] fix doc: dependencyManagement import require scope import
     add acd61cc  use Maven Resolver 1.6.2
     add 3b21386  [MNG-7116] add support for mirrorOf external:http:*
     add 28b4ea9  [MNG-7117] add support for blocked mirror
     add 6712567  [MNG-7118] block HTTP repositories by default
     add 1e19805  [MNG-6075] Increase the model validation level to the next minor level version
     add 3e65637  [MNG-6808] Provide Maven BOM
     add a028346  [MNG-7102] The child modules of excluded projects are now excluded as well, making the behavior consistent with MNG-6981.
     add c3cf294  [MNG-6511] Optional project selection
     add 1ab29f5  [MNG-7128] keep blocked attribute from mirrors in artifact repositories
     add c4cd93d  [MNG-7102] Exclude all children of aggregators, even if the aggregator was already removed from the reactor.
     add 276c6a8  [MNG-7127] fix MavenCliTest.testStyleColors test in JDK 16
     add 7c742c2  [MNG-7112] Do not select child modules when --non-recursive is given.
     add b6461a5  [MNG-6806] fix typo
     add 4612956  [MNG-6806] use ${project.version} to avoid rewriting on release
     add 87cd496  [MNG-6656] add reference documentation on build/consumer transformers
     add 22954a0  [MNG-6656] rename maven-xml module to maven-model-transform
     add aa6b88c  Maven 3.8.1 released
     add e25cf17  [MNG-6656] move to o.a.m.model.transform + .sax
     add 1b6caed  [MNG-6656] rename build+consumer filters to buildToRaw+rawToConsumer
     add 9decf53  [MNG-6806] configure site for BOM reference documentation
     add 521c4c2  Run GitHub actions integration tests with Java 16 (#456)
     add b79d708  [MNG-6806] improve documentation
     add 86b96bf  fix SCM url
     add 2e51e10  update staging site to https://maven.apache.org/ref/4-LATEST
     add c4df060  fix javadoc
     add a88d3f0  [MNG-7136] update Maven 4 dependencies schema
     add da34c1e  [MNG-7136] crop image to fit content
     add 53dead3  [MNG-7136] add forgotten maven-slf4j-wrapper
     add 1524af8  [MNG-5937] init site for Maven Wrapper reference documentation
     add 57b006f  [MNG-7035] add menu
     add 9c631ab  Extend mvn -h for various features of Maven 4
     add b08e4d2  [MNG-6917] add wrapper lifecycle to reference documentation
     add d6e70e2  [MNG-6917] Update maven-wrapper-plugin to 3.0.2
     add f4009a1  Run GitHub actions integration tests with Java 17-ea (#466)
     add 1a65351  Revert "[MNG-6772] Prevent Super POM central entry from overriding"
     add 32cdc2e  [MNG-7090] mvnDebug does not work on Java 11+ Submitted by: Guillaume Dufour
     add 9ba84aa  [MNG-7149] Introduce MAVEN_DEBUG_ADDRESS in mvnDebug scripts
     add 83e3664  [MNG-6294] Convert MavenPluginValidator into a JSR 330 component
     add 195fb62  [MNG-7079] Upgrade to jansi 2.2.0 and mave-shared-utils 3.3.4
     add 5d6c6e2  [MNG-6915] Format help according to the terminal width
     add 59c5466  [MNG-7080] Add a --color option to simplify color support
     add 3e91767  [MNG-7032] Evaluate --help and --version after configuring the logging/color
     add fc806a2  [MNG-7151] Upgrade Maven Resolver to 1.7.0
     add 3fabb63  [MNG-6802] Fix bug in FileProfileActivator  (#347)
     add a202308  [MNG-6915] Adapt the logging width to the terminal width, including sensible limits.
     add 5c45b3f  [MNG-7117] update link to settings xsd for version 1.2.0
     add 12f3e7e  Remove maven-test-support in favor of plexus-testing
     add ab95197  Fix Checkstyle reported issues with maven-shared-resources 3
     add 706826e  Upgrade Checkstyle Plugin to 3.1.2/Checkstyle to 8.41.1
     add 371faf7  [MNG-7165] Upgrade JAnsi to 2.3.3
     add f5d19f4  Run Maven ITs with more JDKs
     add 6b56fc8  [MNG-7175] Upgrade Maven Resolver to 1.7.1
     add 6bed162  [MNG-7172] Remove expansion of Jansi native libraries
     add 73e00ed  [MNG-6843] Parallel build fails due to missing JAR artifacts in compilePath
     add cbaf7f7  Change @since from 3.7.0 to 4.0.0
     add b551be7  Document hacks as such
     add 78fc373  Trim trailing whitespace
     add 3670933  Add new ignores
     add d8be2f0  Add RAT exclude
     add a70828c  [MNG-7180] Make --color option behave more like BSD/GNU grep's --color option
     add 1fc605d  [MNG-7181] Make --version support -q
     add a7010c5  [MNG-6840] Upgrade commons-lang3 to 3.12.0
     add 46410d3  Improve the use of checkstyle in the build (#477)
     add 1052ec5  [MNG-7184] document .mavenrc/mavenrc_pre.bat|cmd and MAVEN_SKIP_RC
     add e29a661  [MNG-7185] Describe explicit and recommended version for VersionRange.createFromVersionSpec()
     add e8b9cad  Wrap line in consistency with Command script
     add e9a54c6  Use proper term: directory
     add 94df4a8  Apply consistent formatting
     add 8712063  [MNG-7190] Load mavenrc from /usr/local/etc also in Bourne shell script
     add 2321e03  [MNG-7190] add /usr/local/etc/mavenrc to reference documentation
     add f582ce8  [MNG-7047] Validate that repo configuration does not contain any expression
     add 0696cf1  [MNG-7131] maven.config doesn't handle arguments with spaces in them
     add b8cdac5  [MNG-7189] Remove undocumented environment variable MAVEN_BASEDIR in startup scripts
     add 6b37fcb  [MNG-7191] Remove undocumented environment variable MAVEN_CONFIG in startup scripts
     add 1328d6e  [MNG-7192] Remove unsed MAVEN_CMD_LINE_ARGS environment variable in startup scripts
     add a2f8106  [MNG-6656] Features must use userProperties instead of systemProperties
     add f7a775b  [MNG-6648] 'mavenrc_pre' script does not receive arguments like mavenrc in Bourne shell does
     add a2ab329  Warn also on Windows when JAVA_HOME isn't set
     add 9c69c78  remove unused property
     add 5fa834f  [MNG-7010] Omit "NB: JAVA_HOME should point to a JDK not a JRE"
     add 021e53f  [MNG-7196] Upgrade Jansi to 2.3.4
     add 6c67c9d  [MNG-7197] Simplify exit code handling in Windows command startup script
     add a21be1d  [MNG-7195] Rework JAVA_HOME handling
     add 52c12da  [MNG-7195] Rework JAVA_HOME handling
     add 06bc508  [MNG-7198] Upgrade SLF4J to 1.7.32
     add 43eb189  [chore] Update CI environment
     add ef62d7a  Merge pull request #516 from aheritier/ci-maven
     add 750cb6c  [MNG-7199] MAVENHOME_CONFIG var in mvnlauncher script improperly handles two options at once
     add a2a3df3  [MNG-7203] Introduce a long option --verbose and deprecate --debug
     add 5acdfb6  [MNG-7205] Simplify/unify Cygwin/MingGW handling in startup scripts
     add 0137f35  Document Maven 3.8.2 release
     add f594c0b  Add ModelSource test for MNG-5669
     add 48a9e04  [MNG-7209] Introduce a user mavenrc.cmd in Windows command script
     add 0682a1c  [MNG-7208] Introduce a system-wide mavenrc.cmd in Windows command script
     add b20bfb1  [MNG-7208] Document system-wide mavenrc.cmd in Windows command script
     add 92d2c2e  [MNG-7209] Document user mavenrc.cmd in Windows command script
     add 76d7f58  [MNG-7226] DefaultModelBuilder.buildRawModel fails (#528)
     add 067171d  [MNG-7246] Upgrade Plexus Cipher and Sec Dispatcher to 2.0
     add aa30d96  [MNG-7247] Upgrade Maven Resolver to 1.7.2
     add 406c525  [MNG-7250] Upgrade Sisu Inject/Plexus to 0.3.5
     add a6e462b  [MNG-7251] Fix threadLocalArtifactsHolder leaking into cloned project
     add 6b6589b  [MNG-7219] [Regression] plexus-cipher missing from transitive dependencies
     add 23ffe33  [MNG-7236] The DefaultPluginVersionResolver should cache results for the session
     add 8c297e9  [MNG-7254] Expand Windows native libraries for Jansi due to JDK-8195129 (workaround)
     add a1ba330  [MNG-7253] Display relocation message defined in model
     add f50de4c  [MNG-7210] Deprecate mavenrc_{pre,post}.{bat,cmd} scripts
     add 5fd5368  [MNG-7248] Fix warnings issued by dependency:analyze
     add ad2e084  [MNG-7164] Add constructor MojoExecutionException(Throwable)
     add 9735fff  added an "ignore" option for checksumPolicy in documents
     add 9539227  set "fail" as a default option for checksumPolicy in documents
     add 98b69be  deleted duplication in checksum description
     add b718287  Default value of checksumPolicy depends on the Maven version
     add 2926f03  [MNG-7265] Convert maven-core artifact-handlers.xml to Providers
     add 4cb8909  Convert maven-core components XML to Providers
     add c647dbc  Get rid of guava
     add 9f348e9  PlexusCipher should be injected
     add 6c34313  Merge pull request #549 from apache/drop-components-xml
     add 6c7d105  [MNG-7264] Convert maven-core default-bindings to Providers (#550)
     add c8d5ba3  [MNG-7235] Speed improvements when calculating the sorted project graph
     add 25cf157  [MNG-7271] - Code Improvement
     add 038201e  [MNG-7274] - JUnit Jupiter via BOM
     add 5c9512f  [MNG-7275] - fixing resource leak due to Files.list
     add edbf133  [MNG-7277] - Remove useless Test - testNonNumericVersionRepresentationReturnsANumberFormatException
     add e30c1bf  Add a unit test for MavenRepositorySystemUtils#newSession
     add 1ab49b3  Remove deprecated usage of ServiceLocator/Service
     add 35e5a4d  [MNG-5577] Use JSR 330 constructor injection
     add 71a0a49  [MNG-7272] - Code Improvement - II
     add d141957  [MNG-7055] Fix G level metadata handling (#555)
     add af9c64f  [MNG-6898] Drop plexus-component-metadata plugin from maven-core (#554)
     add c3962c1  [MNG-7278] Clean up core logging (#562)
     add 7934f73  Update DOAP with Maven 3.8.3 release
     add 69ee0c8  [MNG-7103] VersionScheme provider (#563)
     add d75bea4  [MNG-7279] Drop deprecated constructor (#564)
     add 3017b85  Refactor MavenSession#getPluginContext to be thread safe (#575)
     add e50d65d  MNG-7295 - Remove redundant/unused import statements.
     add 4fafe44  MNG-7296 - Remove redundant 'if' statement
     add c825b97  (doc) Update GH build config - bump 17-ea to 17, use new setup-java@2 action
     add ccb76b0  (doc) Update dead link for Github PR docs
     add fbb9d95  MNG-7293:fix resource leak due to Files.walk
     add b9fb762  [MNG-7292] Unnecessarily escaped character
     add d61fcf7  [MNG-7288] Remove redundant local variables
     add 16afe06  [MNG-7290] Java8 improvements
     new 7b7dc65  [MNG-6727] Changed check to project.version and project.parent.version

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (b665ae9)
            \
             N -- N -- N   refs/heads/MNG-6727 (7b7dc65)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/maven.yml                        |   24 +-
 .gitignore                                         |    3 +-
 .mvn/readme.txt                                    |    1 +
 CONTRIBUTING.md                                    |   10 +-
 Jenkinsfile                                        |    8 +-
 README.md                                          |   20 +-
 apache-maven/README.txt                            |   12 +-
 apache-maven/pom.xml                               |    6 +-
 apache-maven/src/assembly/maven/bin/mvnDebug       |    9 +-
 apache-maven/src/assembly/maven/bin/mvnDebug.cmd   |   23 +-
 apache-maven/src/assembly/maven/component.xml      |   15 +-
 apache-maven/src/assembly/maven/conf/settings.xml  |   11 +-
 .../src/assembly/maven/lib/jansi-native/README.txt |   11 +-
 apache-maven/src/assembly/shared/init              |   82 +-
 apache-maven/src/assembly/shared/init.cmd          |    7 +-
 apache-maven/src/assembly/shared/mvnlauncher       |    3 +-
 apache-maven/src/assembly/shared/mvnlauncher.cmd   |    1 -
 apache-maven/src/assembly/shared/mvnwDebug         |    9 +-
 apache-maven/src/assembly/shared/mvnwDebug.cmd     |   23 +-
 apache-maven/src/assembly/shared/mvnwlauncher      |    1 -
 apache-maven/src/assembly/shared/mvnwlauncher.cmd  |    1 -
 apache-maven/src/assembly/shared/run               |   28 +-
 apache-maven/src/assembly/shared/run.cmd           |   12 +-
 apache-maven/src/assembly/shared/validate          |   28 +-
 apache-maven/src/assembly/shared/validate.cmd      |   31 +-
 apache-maven/src/assembly/wrapper/script/download  |    2 +-
 .../main/appended-resources/META-INF/LICENSE.vm    |    6 +-
 .../src/main/appended-resources/META-INF/NOTICE.vm |    2 +-
 .../main/appended-resources/licenses/CDDL-1.0.txt  |  384 -------
 ...f4j-api-1.7.30.txt => MIT-slf4j-api-1.7.32.txt} |    0
 .../unrecognized-javax.annotation-api-1.3.2.txt    |  759 ++++++++++++++
 apache-maven/src/site/apt/index.apt.vm             |   43 +
 .../apache/maven/settings/GlobalSettingsTest.java  |   12 +-
 .../checkstyle-suppressions.xml                    |   18 +-
 doap_Maven.rdf                                     |   27 +
 .../org/apache/maven/artifact/ArtifactUtils.java   |    4 +-
 .../org/apache/maven/artifact/DefaultArtifact.java |    6 +-
 .../maven/artifact/handler/ArtifactHandler.java    |    1 +
 .../artifact/repository/ArtifactRepository.java    |    6 +
 .../artifact/versioning/ComparableVersion.java     |    3 +-
 .../maven/artifact/versioning/Restriction.java     |    5 +-
 .../maven/artifact/versioning/VersionRange.java    |    3 +-
 .../apache/maven/artifact/ArtifactUtilsTest.java   |    8 +-
 .../apache/maven/artifact/DefaultArtifactTest.java |   23 +-
 .../artifact/versioning/ComparableVersionIT.java   |   12 +-
 .../artifact/versioning/ComparableVersionTest.java |   41 +-
 .../versioning/DefaultArtifactVersionTest.java     |   58 +-
 .../artifact/versioning/VersionRangeTest.java      |  655 ++++++------
 maven-bom/pom.xml                                  |  149 +++
 .../src/site/apt/index.apt                         |   15 +-
 maven-bom/src/site/site.xml                        |   50 +
 .../org/apache/maven/building/DefaultProblem.java  |    8 +-
 .../building/DefaultProblemCollectorTest.java      |    7 +-
 .../apache/maven/building/DefaultProblemTest.java  |    8 +-
 .../org/apache/maven/building/FileSourceTest.java  |   22 +-
 .../building/ProblemCollectorFactoryTest.java      |    8 +-
 .../apache/maven/building/StringSourceTest.java    |    6 +-
 .../org/apache/maven/building/UrlSourceTest.java   |   22 +-
 maven-compat/pom.xml                               |   11 +-
 .../repository/DefaultArtifactRepository.java      |   12 +
 .../maven/profiles/DefaultProfileManager.java      |    6 +-
 .../profiles/activation/FileProfileActivator.java  |    2 +-
 .../java/org/apache/maven/project/ModelUtils.java  |    4 +-
 .../StringSearchModelInterpolator.java             |   14 +-
 .../maven/repository/DefaultMirrorSelector.java    |   53 +-
 .../legacy/DefaultUpdateCheckManager.java          |    2 +-
 .../repository/legacy/LegacyRepositorySystem.java  |   13 +-
 .../legacy/WagonConfigurationException.java        |    4 +-
 .../metadata/DefaultGraphConflictResolver.java     |    3 +-
 maven-compat/src/main/mdo/profiles.mdo             |    6 +-
 .../AbstractArtifactComponentTestCase.java         |  103 +-
 .../artifact/deployer/ArtifactDeployerTest.java    |   40 +-
 .../deployer/SimpleArtifactMetadataSource.java     |    1 -
 .../factory/DefaultArtifactFactoryTest.java        |   37 +-
 .../artifact/installer/ArtifactInstallerTest.java  |   30 +-
 .../repository/MavenArtifactRepositoryTest.java    |    7 +-
 .../resolver/ArtifactResolutionExceptionTest.java  |    6 +-
 .../artifact/resolver/ArtifactResolverTest.java    |   46 +-
 .../resolver/DefaultArtifactResolverTest.java      |   23 +-
 .../resolver/filter/AndArtifactFilterTest.java     |    8 +-
 .../resolver/filter/FilterHashEqualsTest.java      |    6 +-
 .../resolver/filter/OrArtifactFilterTest.java      |    8 +-
 .../resolver/filter/ScopeArtifactFilterTest.java   |   10 +-
 .../maven/artifact/testutils/TestFileManager.java  |   11 +-
 .../transform/TransformationManagerTest.java       |   38 +-
 .../manager/DefaultProfileManagerTest.java         |   43 +-
 .../project/AbstractMavenProjectTestCase.java      |   64 +-
 .../org/apache/maven/project/ModelUtilsTest.java   |   30 +-
 .../apache/maven/project/ProjectClasspathTest.java |   78 +-
 .../maven/project/TestMavenRepositorySystem.java   |    2 -
 .../apache/maven/project/TestProjectBuilder.java   |   16 +
 .../AbstractProjectInheritanceTestCase.java        |    2 +
 .../inheritance/t00/ProjectInheritanceTest.java    |    4 +
 .../inheritance/t01/ProjectInheritanceTest.java    |    4 +
 .../inheritance/t02/ProjectInheritanceTest.java    |   45 +-
 .../inheritance/t03/ProjectInheritanceTest.java    |    4 +
 .../inheritance/t04/ProjectInheritanceTest.java    |   16 +-
 .../inheritance/t05/ProjectInheritanceTest.java    |   14 +-
 .../inheritance/t06/ProjectInheritanceTest.java    |   16 +-
 .../inheritance/t07/ProjectInheritanceTest.java    |   19 +-
 .../inheritance/t08/ProjectInheritanceTest.java    |   15 +-
 .../inheritance/t09/ProjectInheritanceTest.java    |   36 +-
 .../inheritance/t10/ProjectInheritanceTest.java    |   18 +-
 .../inheritance/t11/ProjectInheritanceTest.java    |    9 +-
 .../inheritance/t12/ProjectInheritanceTest.java    |    8 +-
 .../inheritance/t12scm/ProjectInheritanceTest.java |    5 +
 .../project/path/DefaultPathTranslatorTest.java    |    7 +-
 .../repository/DefaultMirrorSelectorTest.java      |    4 +-
 .../repository/LegacyRepositorySystemTest.java     |   44 +-
 .../maven/repository/MirrorProcessorTest.java      |   44 +-
 .../legacy/DefaultUpdateCheckManagerTest.java      |   26 +-
 .../repository/legacy/DefaultWagonManagerTest.java |  171 +---
 .../legacy/LegacyRepositorySystemTest.java         |   33 +-
 .../maven/repository/legacy/PerLookupWagon.java    |    3 -
 .../resolver/DefaultArtifactCollectorTest.java     |  285 +++---
 .../conflict/AbstractConflictResolverTest.java     |   60 +-
 .../conflict/FarthestConflictResolverTest.java     |    5 +
 .../conflict/NearestConflictResolverTest.java      |    5 +
 .../conflict/NewestConflictResolverTest.java       |    5 +
 .../conflict/OldestConflictResolverTest.java       |    5 +
 .../DefaultClasspathTransformationTest.java        |   51 +-
 .../DefaultGraphConflictResolutionPolicyTest.java  |   29 +-
 .../metadata/DefaultGraphConflictResolverTest.java |   97 +-
 .../repository/metadata/TestMetadataSource.java    |    7 +-
 maven-core/pom.xml                                 |   35 +-
 .../main/java/org/apache/maven/DefaultMaven.java   |  239 +++--
 .../maven/DefaultProjectDependenciesResolver.java  |   13 +-
 .../org/apache/maven/MissingProfilesException.java |   21 +-
 .../main/java/org/apache/maven/ReactorReader.java  |   11 +-
 .../java/org/apache/maven/RepositoryUtils.java     |   23 +-
 .../artifact/factory/DefaultArtifactFactory.java   |    7 +-
 .../artifact/handler/DefaultArtifactHandler.java   |   96 +-
 .../manager/DefaultArtifactHandlerManager.java     |   11 +-
 .../providers/EarArtifactHandlerProvider.java      |   39 +-
 .../providers/EjbArtifactHandlerProvider.java      |   39 +-
 .../EjbClientArtifactHandlerProvider.java          |   39 +-
 .../providers/JarArtifactHandlerProvider.java      |   39 +-
 .../JavaSourceArtifactHandlerProvider.java         |   39 +-
 .../providers/JavadocArtifactHandlerProvider.java  |   39 +-
 .../MavenPluginArtifactHandlerProvider.java        |   39 +-
 .../providers/PomArtifactHandlerProvider.java      |   39 +-
 .../providers/RarArtifactHandlerProvider.java      |   39 +-
 .../providers/TestJarArtifactHandlerProvider.java  |   39 +-
 .../providers/WarArtifactHandlerProvider.java      |   39 +-
 .../repository/LegacyLocalRepositoryManager.java   |    9 +
 .../repository/MavenArtifactRepository.java        |   14 +
 .../metadata/AbstractRepositoryMetadata.java       |    2 +-
 .../metadata/io/DefaultMetadataReader.java         |    4 +-
 .../apache/maven/bridge/MavenRepositorySystem.java |   59 +-
 .../maven/classrealm/DefaultClassRealmManager.java |   11 +-
 .../eventspy/internal/EventSpyDispatcher.java      |   16 +-
 .../maven/exception/DefaultExceptionHandler.java   |   10 +-
 .../apache/maven/execution/ActivationSettings.java |   58 ++
 .../maven/execution/BuildResumptionAnalyzer.java   |    2 +-
 .../maven/execution/BuildResumptionData.java       |   35 +-
 .../execution/BuildResumptionDataRepository.java   |    6 +-
 .../execution/DefaultBuildResumptionAnalyzer.java  |  130 +--
 .../DefaultBuildResumptionDataRepository.java      |   35 +-
 .../execution/DefaultMavenExecutionRequest.java    |   73 +-
 .../maven/execution/MavenExecutionRequest.java     |   58 ++
 .../org/apache/maven/execution/MavenSession.java   |   39 +-
 .../apache/maven/execution/ProfileActivation.java  |  171 ++++
 .../apache/maven/execution/ProjectActivation.java  |  207 ++++
 .../org/apache/maven/execution/ReactorManager.java |    4 +-
 .../DefaultPluginsMetadataInfoProvider.java        |  137 +++
 .../apache/maven/graph/DefaultGraphBuilder.java    |  107 +-
 .../maven/graph/DefaultProjectDependencyGraph.java |   55 +-
 .../aether/ConsumerModelSourceTransformer.java     |    2 +-
 .../DefaultRepositorySystemSessionFactory.java     |   54 +-
 .../internal/aether/LoggingRepositoryListener.java |    4 +-
 .../maven/lifecycle/DefaultLifecycleExecutor.java  |   43 +-
 .../apache/maven/lifecycle/DefaultLifecycles.java  |   13 +-
 .../DefaultLifecycleExecutionPlanCalculator.java   |   45 +-
 .../internal/DefaultLifecyclePluginAnalyzer.java   |   55 +-
 .../DefaultLifecycleTaskSegmentCalculator.java     |   13 +-
 .../lifecycle/internal/DependencyContext.java      |    6 +-
 .../lifecycle/internal/LifecycleDebugLogger.java   |   18 +-
 .../internal/LifecycleDependencyResolver.java      |   34 +-
 .../lifecycle/internal/LifecycleModuleBuilder.java |   29 +-
 .../maven/lifecycle/internal/LifecycleStarter.java |   44 +-
 .../lifecycle/internal/MojoDescriptorCreator.java  |   34 +-
 .../maven/lifecycle/internal/MojoExecutor.java     |   24 +-
 .../lifecycle/internal/builder/BuilderCommon.java  |   48 +-
 .../multithreaded/MultiThreadedBuilder.java        |   33 +-
 .../lifecycle/mapping/DefaultLifecycleMapping.java |   31 +-
 .../providers/EarLifecycleMappingProvider.java     |   83 ++
 .../providers/EjbLifecycleMappingProvider.java     |   95 ++
 .../providers/JarLifecycleMappingProvider.java     |   95 ++
 .../MavenPluginLifecycleMappingProvider.java       |  100 ++
 .../providers/PomLifecycleMappingProvider.java     |   71 ++
 .../providers/RarLifecycleMappingProvider.java     |   95 ++
 .../providers/WarLifecycleMappingProvider.java     |   95 ++
 .../providers/CleanLifecycleProvider.java          |   63 ++
 .../providers/DefaultLifecycleProvider.java        |   78 ++
 .../lifecycle/providers/SiteLifecycleProvider.java |   65 ++
 .../providers/WrapperLifecycleProvider.java        |   42 +-
 .../plugin/DefaultLifecycleBindingsInjector.java   |    9 +-
 .../maven/plugin/DebugConfigurationListener.java   |    4 +-
 .../maven/plugin/DefaultBuildPluginManager.java    |   25 +-
 .../maven/plugin/PluginParameterException.java     |    8 +-
 .../plugin/PluginParameterExpressionEvaluator.java |   10 -
 .../plugin/internal/DefaultMavenPluginManager.java |   77 +-
 .../DefaultMavenPluginValidator.java}              |   46 +-
 .../DefaultPluginDependenciesResolver.java         |   14 +-
 .../plugin/internal/DefaultPluginManager.java      |   30 +-
 .../plugin/internal/MavenPluginValidator.java      |   20 +-
 .../maven/plugin/internal/MojoLogWrapper.java      |   32 +-
 .../internal/DefaultPluginPrefixResolver.java      |   26 +-
 .../version/PluginVersionNotFoundException.java    |    2 +-
 .../version/PluginVersionResolutionException.java  |    6 +-
 .../internal/DefaultPluginVersionResolver.java     |  120 ++-
 .../maven/project/DefaultMavenProjectHelper.java   |    4 +-
 .../maven/project/DefaultProjectBuilder.java       |  129 +--
 .../project/DefaultProjectBuildingHelper.java      |   38 +-
 .../DefaultProjectDependenciesResolver.java        |   32 +-
 .../org/apache/maven/project/MavenProject.java     |   94 +-
 .../maven/project/ProjectBuildingException.java    |    8 +-
 .../apache/maven/project/ProjectModelResolver.java |    7 +-
 .../org/apache/maven/project/ProjectSorter.java    |   58 +-
 .../apache/maven/project/ReactorModelCache.java    |  160 ---
 .../project/artifact/ActiveProjectArtifact.java    |    6 +-
 .../project/artifact/DefaultMetadataSource.java    |   14 +-
 .../project/artifact/MavenMetadataSource.java      |   72 +-
 .../maven/project/artifact/PluginArtifact.java     |    1 +
 .../maven/project/artifact/ProjectArtifact.java    |    1 +
 .../project/collector/DefaultProjectsSelector.java |    5 +-
 .../collector/MultiModuleCollectionStrategy.java   |    2 +-
 .../collector/PomlessCollectionStrategy.java       |    2 +-
 .../collector/ProjectCollectionStrategy.java       |    2 +-
 .../rtinfo/internal/DefaultRuntimeInformation.java |   83 +-
 .../settings/DefaultMavenSettingsBuilder.java      |    7 +-
 .../apache/maven/toolchain/DefaultToolchain.java   |    6 +-
 .../maven/toolchain/DefaultToolchainManager.java   |   25 +-
 .../toolchain/DefaultToolchainManagerPrivate.java  |   17 +
 .../maven/toolchain/DefaultToolchainsBuilder.java  |    8 +-
 .../building/DefaultToolchainsBuilder.java         |   15 +-
 .../maven/toolchain/java/DefaultJavaToolChain.java |    2 +-
 .../maven/toolchain/java/JavaToolchainFactory.java |    8 +-
 .../maven/toolchain/java/JavaToolchainImpl.java    |    2 +-
 .../DefaultConsumerPomXMLFilterFactory.java        |    6 +-
 .../main/resources/META-INF/maven/extension.xml    |    2 +-
 .../META-INF/plexus/artifact-handlers.xml          |  194 ----
 .../main/resources/META-INF/plexus/components.xml  |  154 ---
 .../resources/META-INF/plexus/default-bindings.xml |  318 ------
 maven-core/src/site/apt/index.apt                  |    2 +-
 maven-core/src/site/apt/lifecycles.apt.vm          |    8 +-
 .../maven/AbstractCoreMavenComponentTestCase.java  |   49 +-
 .../java/org/apache/maven/DefaultMavenTest.java    |   33 +-
 .../maven/MavenLifecycleParticipantTest.java       |   16 +-
 .../src/test/java/org/apache/maven/MavenTest.java  |   17 +-
 .../maven/ProjectDependenciesResolverTest.java     |   12 +-
 .../artifact/handler/ArtifactHandlerTest.java      |   31 +-
 .../filter/ExclusionArtifactFilterTest.java        |    8 +-
 .../configuration/DefaultBeanConfiguratorTest.java |   21 +-
 .../exception/DefaultExceptionHandlerTest.java     |    4 +-
 .../DefaultBuildResumptionAnalyzerTest.java        |   25 +-
 .../DefaultBuildResumptionDataRepositoryTest.java  |   35 +-
 .../DefaultMavenExecutionRequestPopulatorTest.java |   26 +-
 .../maven/execution/DefaultMavenExecutionTest.java |    8 +-
 .../scope/internal/MojoExecutionScopeTest.java     |   20 +-
 .../maven/graph/DefaultGraphBuilderTest.java       |  270 +++--
 .../graph/DefaultProjectDependencyGraphTest.java   |   17 +-
 .../aether/ConsumerModelSourceTransformerTest.java |    2 +-
 .../maven/lifecycle/DefaultLifecyclesTest.java     |   56 +-
 .../lifecycle/LifecycleExecutorSubModulesTest.java |    5 +
 .../maven/lifecycle/LifecycleExecutorTest.java     |   62 +-
 .../maven/lifecycle/MavenExecutionPlanTest.java    |   12 +-
 .../internal/BuildListCalculatorTest.java          |   13 +-
 .../internal/ConcurrencyDependencyGraphTest.java   |   17 +-
 .../internal/LifecycleDependencyResolverTest.java  |    5 +
 .../LifecycleExecutionPlanCalculatorTest.java      |    4 +
 .../LifecycleTaskSegmentCalculatorImplTest.java    |   13 +-
 .../lifecycle/internal/PhaseRecorderTest.java      |    9 +-
 .../lifecycle/internal/ProjectBuildListTest.java   |    6 +-
 .../internal/{ => builder}/BuilderCommonTest.java  |   34 +-
 .../ConcurrencyDependencyGraphTest.java            |   11 +-
 .../multithreaded/ThreadOutputMuxerTest.java       |   33 +-
 .../lifecycle/internal/stub/AboutTheStubs.html     |    4 +-
 .../internal/stub/DefaultLifecyclesStub.java       |    2 +-
 .../stub/LifecycleTaskSegmentCalculatorStub.java   |    6 +-
 .../maven/lifecycle/internal/stub/LoggerStub.java  |  110 --
 .../lifecycle/internal/stub/MojoExecutorStub.java  |   15 +-
 .../stub/ProjectDependencyGraphStubTest.java       |   24 +-
 .../lifecycle/mapping/LifecyclePhaseTest.java      |    8 +-
 .../org/apache/maven/plugin/PluginManagerTest.java |   17 +-
 .../maven/plugin/PluginParameterExceptionTest.java |    8 +-
 .../PluginParameterExpressionEvaluatorTest.java    |   51 +-
 .../plugin/internal/DefaultLegacySupportTest.java  |    9 +-
 .../plugin/internal/MavenPluginValidatorTest.java  |  105 ++
 .../project/AbstractMavenProjectTestCase.java      |   54 +-
 .../project/DefaultMavenProjectBuilderTest.java    |  290 +++---
 .../project/ExtensionDescriptorBuilderTest.java    |   29 +-
 .../org/apache/maven/project/MavenProjectTest.java |  102 +-
 .../apache/maven/project/PomConstructionTest.java  |  282 +++--
 .../apache/maven/project/ProjectBuilderTest.java   |   86 +-
 .../maven/project/ProjectModelResolverTest.java    |  125 +--
 .../apache/maven/project/ProjectSorterTest.java    |   20 +-
 .../apache/maven/project/TestMetadataSource.java   |    9 +
 .../artifact/DefaultMavenMetadataCacheTest.java    |   17 +-
 .../artifact/DefaultProjectArtifactsCacheTest.java |   15 +-
 .../project/artifact/MavenMetadataSourceTest.java  |   79 +-
 .../canonical/CanonicalProjectBuilderTest.java     |    5 +
 .../internal/DefaultRuntimeInformationTest.java    |   79 +-
 .../settings/PomConstructionWithSettingsTest.java  |   53 +-
 .../apache/maven/settings/SettingsUtilsTest.java   |   10 +-
 .../DefaultToolchainManagerPrivateTest.java        |   18 +-
 .../toolchain/DefaultToolchainManagerTest.java     |   19 +-
 .../maven/toolchain/DefaultToolchainTest.java      |   19 +-
 .../toolchain/RequirementMatcherFactoryTest.java   |   14 +-
 .../building/DefaultToolchainsBuilderTest.java     |   10 +-
 .../building/ToolchainsBuildingExceptionTest.java  |    4 +-
 .../toolchain/merge/MavenToolchainMergerTest.java  |    4 +-
 .../project-with-inheritance/pom.xml               |    2 +-
 .../project-with-inheritance/pom.xml               |    2 +-
 .../project-builder/it0063/jdk/jre/placeholder.txt |    2 +-
 .../it0063/jdk/jre/placeholder.txt                 |    2 +-
 .../test-pom-and-settings-interpolation/pom.xml    |    4 +-
 .../test/resources/META-INF/plexus/components.xml  |  107 --
 .../org/apache/maven/execution/resume.properties   |    3 +-
 .../resources/org/apache/maven/lifecycle/pom.xml   |    2 +-
 ...pom-resolves-from-property-based-repository.xml |   31 +
 .../resources/projects/modelsourcebasedir/pom.xml  |   19 +
 .../src/test/resources/projects/reread/pom1.xml    |   10 +-
 .../src/test/resources/projects/reread/pom2.xml    |   11 +-
 maven-embedder/pom.xml                             |   34 +-
 .../main/java/org/apache/maven/cli/CLIManager.java |   36 +-
 .../org/apache/maven/cli/CLIReportingUtils.java    |    7 +
 .../main/java/org/apache/maven/cli/CliRequest.java |    6 +-
 .../main/java/org/apache/maven/cli/MavenCli.java   |  219 ++--
 .../SettingsXmlConfigurationProcessor.java         |   12 +-
 .../maven/cli/event/ExecutionEventLogger.java      |   47 +-
 .../internal/BootstrapCoreExtensionManager.java    |   11 +-
 maven-embedder/src/site/apt/index.apt.vm           |    4 +
 .../maven/cli/CLIManagerDocumentationTest.java     |    9 +-
 .../java/org/apache/maven/cli/CLIManagerTest.java  |   12 +-
 .../apache/maven/cli/CLIReportingUtilsTest.java    |    6 +-
 .../org/apache/maven/cli/CleanArgumentTest.java    |    4 +-
 .../java/org/apache/maven/cli/MavenCliTest.java    |  201 ++--
 .../maven/cli/event/ExecutionEventLoggerTest.java  |   60 +-
 .../maven/cli/transfer/FileSizeFormatTest.java     |   17 +-
 .../src/test/projects/config/.mvn/maven.config     |    5 +-
 .../mavenConfigProperties/.mvn/maven.config        |    4 +-
 maven-model-builder/pom.xml                        |   12 +-
 .../java/org/apache/maven/feature/Features.java    |   16 +-
 .../building/AbstractModelSourceTransformer.java   |    6 +-
 .../building/BuildModelSourceTransformer.java      |   10 +-
 .../building/DefaultBuildPomXMLFilterFactory.java  |   13 +-
 .../maven/model/building/DefaultModelBuilder.java  | 1081 ++++++++++----------
 .../model/building/DefaultModelBuilderFactory.java |  215 +++-
 .../building/DefaultModelBuildingRequest.java      |    1 +
 .../maven/model/building/DefaultModelProblem.java  |    7 +-
 .../model/building/DefaultModelProcessor.java      |   14 +-
 .../model/building/DefaultTransformerContext.java  |   68 +-
 .../maven/model/building/FileToRawModelMerger.java |  190 ++++
 .../model/building/ModelBuildingException.java     |    8 +-
 .../maven/model/building/ModelBuildingRequest.java |    2 +-
 .../apache/maven/model/building/ModelCache.java    |   56 +
 .../apache/maven/model/building/ModelProblem.java  |    2 +-
 .../AbstractStringBasedModelInterpolator.java      |   18 +-
 .../StringSearchModelInterpolator.java             |   15 +
 .../StringVisitorModelInterpolator.java            |    8 +
 .../apache/maven/model/io/DefaultModelReader.java  |    6 +-
 .../model/path/DefaultModelPathTranslator.java     |    7 +-
 .../model/path/DefaultModelUrlNormalizer.java      |    7 +-
 .../ProfileActivationFilePathInterpolator.java     |  102 ++
 .../model/profile/DefaultProfileSelector.java      |    7 +-
 .../profile/activation/FileProfileActivator.java   |   74 +-
 .../activation/JdkVersionProfileActivator.java     |    6 +-
 .../OperatingSystemProfileActivator.java           |    6 +-
 .../activation/PropertyProfileActivator.java       |    6 +-
 .../model/superpom/DefaultSuperPomProvider.java    |    7 +-
 .../model/validation/DefaultModelValidator.java    |  141 ++-
 .../resources/org/apache/maven/model/pom-4.0.0.xml |   54 +-
 maven-model-builder/src/site/apt/index.apt         |    2 +-
 .../model/building/ComplexActivationTest.java      |   10 +-
 .../building/DefaultModelBuilderFactoryTest.java   |   41 +-
 .../model/building/DefaultModelBuilderTest.java    |   23 +-
 .../maven/model/building/FileModelSourceTest.java  |   16 +-
 .../model/building/FileToRawModelMergerTest.java   |    9 +-
 .../model/building/SimpleProblemCollector.java     |    1 -
 .../DefaultInheritanceAssemblerTest.java           |   76 +-
 .../AbstractModelInterpolatorTest.java             |   42 +-
 .../interpolation/MavenBuildTimestampTest.java     |    8 +-
 .../StringSearchModelInterpolatorTest.java         |   36 +-
 .../StringVisitorModelInterpolatorTest.java        |    9 +-
 .../maven/model/merge/MavenModelMergerTest.java    |    8 +-
 .../maven/model/path/DefaultUrlNormalizerTest.java |    6 +-
 .../activation/AbstractProfileActivatorTest.java   |   35 +-
 .../activation/FileProfileActivatorTest.java       |  125 +++
 .../activation/JdkVersionProfileActivatorTest.java |   17 +-
 .../activation/PropertyProfileActivatorTest.java   |   20 +-
 .../validation/DefaultModelValidatorTest.java      |  207 ++--
 ...-ids-pom.xml => invalid-coordinate-ids-pom.xml} |    0
 ...invalid-ids-pom.xml => invalid-profile-ids.xml} |   31 +-
 .../repository-with-basedir-expression.xml         |   33 +-
 .../raw-model/repository-with-expression.xml       |   37 +-
 {maven-xml => maven-model-transform}/pom.xml       |    9 +-
 .../model/transform}/AbstractEventXMLFilter.java   |   39 +-
 .../model/transform/BuildToRawPomXMLFilter.java    |   13 +-
 .../transform/BuildToRawPomXMLFilterFactory.java   |   17 +-
 .../transform/BuildToRawPomXMLFilterListener.java  |    6 +-
 .../model/transform}/CiFriendlyXMLFilter.java      |    3 +-
 .../maven/model/transform}/DependencyKey.java      |    9 +-
 .../maven/model/transform}/FastForwardFilter.java  |    3 +-
 .../maven/model/transform}/ModulesXMLFilter.java   |    4 +-
 .../maven/model/transform}/ParentXMLFilter.java    |    4 +-
 .../model/transform/RawToConsumerPomXMLFilter.java |    8 +-
 .../RawToConsumerPomXMLFilterFactory.java          |   15 +-
 .../transform}/ReactorDependencyXMLFilter.java     |    4 +-
 .../model/transform}/RelativePathXMLFilter.java    |    4 +-
 .../maven/model/transform}/RelativeProject.java    |    2 +-
 .../model/transform/sax}/AbstractSAXFilter.java    |    2 +-
 .../model/transform/sax}/CommentRenormalizer.java  |    2 +-
 .../maven/model/transform/sax}/Factories.java      |    2 +-
 .../maven/model/transform}/sax/SAXEvent.java       |    2 +-
 .../model/transform}/sax/SAXEventFactory.java      |   12 +-
 .../maven/model/transform}/sax/SAXEventUtils.java  |    2 +-
 maven-model-transform/src/site/apt/index.apt       |   73 ++
 .../src/site/site.xml                              |    0
 .../model/transform}/AbstractXMLFilterTests.java   |   16 +-
 .../model/transform}/CiFriendlyXMLFilterTest.java  |   12 +-
 .../model/transform}/ConsumerPomXMLFilterTest.java |   26 +-
 .../model/transform}/ModulesXMLFilterTest.java     |   28 +-
 .../model/transform}/ParentXMLFilterTest.java      |   39 +-
 .../transform}/ReactorDependencyXMLFilterTest.java |   24 +-
 .../transform}/RelativePathXMLFilterTest.java      |   17 +-
 .../model/transform}/sax/ChainedFilterTest.java    |    6 +-
 .../transform/sax}/CommentRenormalizerTest.java    |   40 +-
 .../model/transform}/sax/SAXEventUtilsTest.java    |    8 +-
 maven-model/pom.xml                                |    4 -
 .../org/apache/maven/model/ActivationFileTest.java |   11 +-
 .../org/apache/maven/model/ActivationOSTest.java   |   11 +-
 .../apache/maven/model/ActivationPropertyTest.java |   11 +-
 .../org/apache/maven/model/ActivationTest.java     |   11 +-
 .../java/org/apache/maven/model/BuildTest.java     |   11 +-
 .../org/apache/maven/model/CiManagementTest.java   |   11 +-
 .../org/apache/maven/model/ContributorTest.java    |   11 +-
 .../maven/model/DependencyManagementTest.java      |   11 +-
 .../org/apache/maven/model/DependencyTest.java     |   11 +-
 .../maven/model/DeploymentRepositoryTest.java      |   11 +-
 .../java/org/apache/maven/model/DeveloperTest.java |   11 +-
 .../maven/model/DistributionManagementTest.java    |   11 +-
 .../java/org/apache/maven/model/ExclusionTest.java |   11 +-
 .../java/org/apache/maven/model/ExtensionTest.java |   11 +-
 .../apache/maven/model/IssueManagementTest.java    |   11 +-
 .../java/org/apache/maven/model/LicenseTest.java   |   11 +-
 .../org/apache/maven/model/MailingListTest.java    |   11 +-
 .../java/org/apache/maven/model/ModelTest.java     |   11 +-
 .../java/org/apache/maven/model/NotifierTest.java  |   11 +-
 .../org/apache/maven/model/OrganizationTest.java   |   11 +-
 .../java/org/apache/maven/model/ParentTest.java    |   11 +-
 .../maven/model/PluginConfigurationTest.java       |   11 +-
 .../apache/maven/model/PluginContainerTest.java    |   11 +-
 .../apache/maven/model/PluginExecutionTest.java    |   11 +-
 .../apache/maven/model/PluginManagementTest.java   |   11 +-
 .../java/org/apache/maven/model/PluginTest.java    |   11 +-
 .../org/apache/maven/model/PrerequisitesTest.java  |   11 +-
 .../java/org/apache/maven/model/ProfileTest.java   |   11 +-
 .../org/apache/maven/model/RelocationTest.java     |   11 +-
 .../org/apache/maven/model/ReportPluginTest.java   |   11 +-
 .../java/org/apache/maven/model/ReportSetTest.java |   11 +-
 .../java/org/apache/maven/model/ReportingTest.java |   11 +-
 .../apache/maven/model/RepositoryPolicyTest.java   |   11 +-
 .../org/apache/maven/model/RepositoryTest.java     |   11 +-
 .../java/org/apache/maven/model/ResourceTest.java  |   11 +-
 .../test/java/org/apache/maven/model/ScmTest.java  |   11 +-
 .../test/java/org/apache/maven/model/SiteTest.java |   11 +-
 .../apache/maven/model/merge/ModelMergerTest.java  |    5 +-
 .../plugin/AbstractMojoExecutionException.java     |   12 +
 .../maven/plugin/MojoExecutionException.java       |   13 +
 .../apache/maven/plugin/MojoFailureException.java  |   13 +
 .../apache/maven/plugin/descriptor/Parameter.java  |    2 +-
 .../descriptor/PluginDescriptorBuilderTest.java    |    6 +-
 maven-resolver-provider/pom.xml                    |   27 +
 .../internal/ArtifactDescriptorReaderDelegate.java |    4 +-
 .../internal/DefaultArtifactDescriptorReader.java  |  115 +--
 .../repository/internal/DefaultModelCache.java     |  153 ++-
 .../repository/internal/DefaultModelResolver.java  |    6 +-
 .../internal/DefaultVersionRangeResolver.java      |   59 +-
 .../internal/DefaultVersionResolver.java           |   48 +-
 .../internal/DefaultVersionSchemeProvider.java     |   29 +-
 .../repository/internal/MavenAetherModule.java     |   80 --
 .../internal/MavenRepositorySystemUtils.java       |   22 -
 .../repository/internal/MavenResolverModule.java   |    2 +
 .../maven/repository/internal/PluginsMetadata.java |  117 +++
 .../internal/PluginsMetadataGenerator.java         |  130 +++
 .../internal/PluginsMetadataGeneratorFactory.java  |   67 ++
 .../internal/PluginsMetadataInfoProvider.java      |   32 +-
 .../internal/AbstractRepositoryTestCase.java       |   41 +-
 .../DefaultArtifactDescriptorReaderTest.java       |   21 +-
 .../internal/DefaultModelResolverTest.java         |  121 +--
 .../internal/DefaultVersionResolverTest.java       |   28 +-
 .../internal/MavenRepositorySystemUtilsTest.java   |   22 +-
 .../internal/RemoteSnapshotMetadataTest.java       |   17 +-
 .../repository/internal/RepositorySystemTest.java  |   20 +-
 maven-settings-builder/pom.xml                     |    2 +-
 .../settings/building/DefaultSettingsProblem.java  |    7 +-
 .../building/SettingsBuildingException.java        |    8 +-
 .../crypto/MavenSecDispatcherProvider.java         |   57 ++
 .../maven/settings/io/DefaultSettingsReader.java   |    4 +-
 .../maven/settings/merge/MavenSettingsMerger.java  |    5 +-
 .../DefaultSettingsBuilderFactoryTest.java         |    6 +-
 .../validation/DefaultSettingsValidatorTest.java   |   31 +-
 maven-settings/pom.xml                             |    2 +-
 maven-settings/src/main/mdo/settings.mdo           |   17 +-
 maven-settings/src/site/apt/index.apt              |    2 +-
 .../org/slf4j/impl/MavenLoggerFactoryTest.java     |   20 +-
 maven-slf4j-wrapper/pom.xml                        |    5 +
 .../maven/logwrapper/LogLevelRecorderTest.java     |   10 +-
 maven-wrapper/pom.xml                              |    3 +-
 .../apache/maven/wrapper/BootstrapMainStarter.java |    7 +-
 .../apache/maven/wrapper/DefaultDownloader.java    |    6 +-
 .../java/org/apache/maven/wrapper/Installer.java   |   11 +-
 .../src/site/apt/index.apt                         |   16 +-
 .../src/site/site.xml                              |    0
 .../org/apache/maven/wrapper/DownloaderTest.java   |   19 +-
 .../org/apache/maven/wrapper/InstallerTest.java    |   24 +-
 .../apache/maven/wrapper/PathAssemblerTest.java    |   15 +-
 .../apache/maven/wrapper/WrapperExecutorTest.java  |  115 +--
 pom.xml                                            |  236 +++--
 src/site/resources/images/maven-deps.png           |  Bin 104566 -> 160957 bytes
 src/site/xdoc/index.xml                            |   73 +-
 src/site/xdoc/maven-deps.odg                       |  Bin 19887 -> 22491 bytes
 523 files changed, 11423 insertions(+), 7819 deletions(-)
 create mode 100644 .mvn/readme.txt
 delete mode 100644 apache-maven/src/main/appended-resources/licenses/CDDL-1.0.txt
 rename apache-maven/src/main/appended-resources/licenses/{MIT-slf4j-api-1.7.30.txt => MIT-slf4j-api-1.7.32.txt} (100%)
 create mode 100644 apache-maven/src/main/appended-resources/licenses/unrecognized-javax.annotation-api-1.3.2.txt
 create mode 100644 apache-maven/src/site/apt/index.apt.vm
 copy maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml => build/checkstyle-suppressions.xml (66%)
 create mode 100644 maven-bom/pom.xml
 copy {maven-settings => maven-bom}/src/site/apt/index.apt (70%)
 create mode 100644 maven-bom/src/site/site.xml
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/MissingProfilesException.java (70%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/EarArtifactHandlerProvider.java (54%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/EjbArtifactHandlerProvider.java (54%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/EjbClientArtifactHandlerProvider.java (53%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/JarArtifactHandlerProvider.java (54%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/JavaSourceArtifactHandlerProvider.java (52%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/JavadocArtifactHandlerProvider.java (53%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/MavenPluginArtifactHandlerProvider.java (52%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/PomArtifactHandlerProvider.java (54%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/RarArtifactHandlerProvider.java (54%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/TestJarArtifactHandlerProvider.java (53%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/artifact/handler/providers/WarArtifactHandlerProvider.java (54%)
 create mode 100644 maven-core/src/main/java/org/apache/maven/execution/ActivationSettings.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/execution/ProfileActivation.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/execution/ProjectActivation.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/execution/infoproviders/DefaultPluginsMetadataInfoProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/EarLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/EjbLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/JarLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/MavenPluginLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/PomLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/RarLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/mapping/providers/WarLifecycleMappingProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/providers/CleanLifecycleProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/providers/DefaultLifecycleProvider.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/lifecycle/providers/SiteLifecycleProvider.java
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/lifecycle/providers/WrapperLifecycleProvider.java (50%)
 rename maven-core/src/main/java/org/apache/maven/plugin/{MavenPluginValidator.java => internal/DefaultMavenPluginValidator.java} (64%)
 copy maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java => maven-core/src/main/java/org/apache/maven/plugin/internal/MavenPluginValidator.java (69%)
 rename maven-plugin-api/src/main/java/org/apache/maven/monitor/logging/DefaultLog.java => maven-core/src/main/java/org/apache/maven/plugin/internal/MojoLogWrapper.java (86%)
 delete mode 100644 maven-core/src/main/java/org/apache/maven/project/ReactorModelCache.java
 delete mode 100644 maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
 delete mode 100644 maven-core/src/main/resources/META-INF/plexus/components.xml
 delete mode 100644 maven-core/src/main/resources/META-INF/plexus/default-bindings.xml
 rename maven-core/src/test/java/org/apache/maven/lifecycle/internal/{ => builder}/BuilderCommonTest.java (80%)
 delete mode 100644 maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LoggerStub.java
 create mode 100644 maven-core/src/test/java/org/apache/maven/plugin/internal/MavenPluginValidatorTest.java
 delete mode 100644 maven-core/src/test/resources/META-INF/plexus/components.xml
 create mode 100644 maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml
 create mode 100644 maven-core/src/test/resources/projects/modelsourcebasedir/pom.xml
 copy maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml => maven-core/src/test/resources/projects/reread/pom1.xml (87%)
 copy maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml => maven-core/src/test/resources/projects/reread/pom2.xml (84%)
 create mode 100644 maven-model-builder/src/main/java/org/apache/maven/model/building/FileToRawModelMerger.java
 create mode 100644 maven-model-builder/src/main/java/org/apache/maven/model/path/ProfileActivationFilePathInterpolator.java
 create mode 100644 maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/FileProfileActivatorTest.java
 copy maven-model-builder/src/test/resources/poms/validation/{invalid-ids-pom.xml => invalid-coordinate-ids-pom.xml} (100%)
 rename maven-model-builder/src/test/resources/poms/validation/{invalid-ids-pom.xml => invalid-profile-ids.xml} (56%)
 copy maven-xml/pom.xml => maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-basedir-expression.xml (67%)
 copy maven-xml/pom.xml => maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-expression.xml (67%)
 rename {maven-xml => maven-model-transform}/pom.xml (85%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/AbstractEventXMLFilter.java (90%)
 rename maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilter.java => maven-model-transform/src/main/java/org/apache/maven/model/transform/BuildToRawPomXMLFilter.java (81%)
 rename maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterFactory.java => maven-model-transform/src/main/java/org/apache/maven/model/transform/BuildToRawPomXMLFilterFactory.java (88%)
 copy maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterListener.java => maven-model-transform/src/main/java/org/apache/maven/model/transform/BuildToRawPomXMLFilterListener.java (86%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/CiFriendlyXMLFilter.java (97%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/DependencyKey.java (92%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/FastForwardFilter.java (97%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/ModulesXMLFilter.java (96%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/ParentXMLFilter.java (98%)
 rename maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilter.java => maven-model-transform/src/main/java/org/apache/maven/model/transform/RawToConsumerPomXMLFilter.java (88%)
 rename maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterFactory.java => maven-model-transform/src/main/java/org/apache/maven/model/transform/RawToConsumerPomXMLFilterFactory.java (74%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/ReactorDependencyXMLFilter.java (98%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/RelativePathXMLFilter.java (96%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform}/RelativeProject.java (97%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/main/java/org/apache/maven/model/transform/sax}/AbstractSAXFilter.java (98%)
 rename {maven-xml/src/main/java/org/apache/maven/xml/sax/ext => maven-model-transform/src/main/java/org/apache/maven/model/transform/sax}/CommentRenormalizer.java (98%)
 rename {maven-xml/src/main/java/org/apache/maven/xml => maven-model-transform/src/main/java/org/apache/maven/model/transform/sax}/Factories.java (98%)
 rename {maven-xml/src/main/java/org/apache/maven/xml => maven-model-transform/src/main/java/org/apache/maven/model/transform}/sax/SAXEvent.java (95%)
 rename {maven-xml/src/main/java/org/apache/maven/xml => maven-model-transform/src/main/java/org/apache/maven/model/transform}/sax/SAXEventFactory.java (93%)
 rename {maven-xml/src/main/java/org/apache/maven/xml => maven-model-transform/src/main/java/org/apache/maven/model/transform}/sax/SAXEventUtils.java (96%)
 create mode 100644 maven-model-transform/src/site/apt/index.apt
 copy {maven-slf4j-wrapper => maven-model-transform}/src/site/site.xml (100%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/AbstractXMLFilterTests.java (94%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/CiFriendlyXMLFilterTest.java (88%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/ConsumerPomXMLFilterTest.java (93%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/ModulesXMLFilterTest.java (86%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/ParentXMLFilterTest.java (90%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/ReactorDependencyXMLFilterTest.java (91%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/filter => maven-model-transform/src/test/java/org/apache/maven/model/transform}/RelativePathXMLFilterTest.java (93%)
 rename {maven-xml/src/test/java/org/apache/maven/xml => maven-model-transform/src/test/java/org/apache/maven/model/transform}/sax/ChainedFilterTest.java (96%)
 rename {maven-xml/src/test/java/org/apache/maven/xml/sax/ext => maven-model-transform/src/test/java/org/apache/maven/model/transform/sax}/CommentRenormalizerTest.java (68%)
 rename {maven-xml/src/test/java/org/apache/maven/xml => maven-model-transform/src/test/java/org/apache/maven/model/transform}/sax/SAXEventUtilsTest.java (88%)
 copy maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java => maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionSchemeProvider.java (58%)
 delete mode 100644 maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenAetherModule.java
 create mode 100644 maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadata.java
 create mode 100644 maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGenerator.java
 create mode 100644 maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataGeneratorFactory.java
 rename maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterListener.java => maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadataInfoProvider.java (62%)
 create mode 100644 maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/MavenSecDispatcherProvider.java
 copy {maven-settings => maven-wrapper}/src/site/apt/index.apt (70%)
 copy {maven-slf4j-wrapper => maven-wrapper}/src/site/site.xml (100%)

[maven] 01/01: [MNG-6727] Changed check to project.version and project.parent.version

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MNG-6727
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 7b7dc6582bde84be1f7ecac2e44cfcc634d7059b
Author: Jeff Maxwell <je...@uptake.com>
AuthorDate: Wed Jan 6 14:38:42 2021 -0600

    [MNG-6727] Changed check to project.version and project.parent.version
    
    
    Closes #427
---
 .../project/DefaultMavenProjectBuilderTest.java    | 94 +++++++++++++++++++++-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  4 +-
 .../pom.xml                                        |  6 +-
 .../child/pom.xml                                  |  4 +-
 .../pom.xml                                        |  0
 .../child/pom.xml                                  |  4 +-
 .../pom.xml                                        |  0
 .../child/pom.xml                                  |  6 +-
 .../pom.xml                                        |  0
 .../maven/model/building/DefaultModelBuilder.java  | 25 ++++--
 11 files changed, 123 insertions(+), 24 deletions(-)

diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index 727f28d..24553f3 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -28,6 +28,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.File;
 import java.io.InputStream;
@@ -249,11 +250,11 @@ public class DefaultMavenProjectBuilderTest
      * @throws Exception in case of issue
      */
     @Test
-    public void testBuildParentVersionRangeLocallyWithChildVersionExpression() throws Exception
+    public void testBuildParentVersionRangeLocallyWithChildProjectVersionExpression() throws Exception
     {
         File f1 =
             getTestFile(
-                "src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml" );
+                "src/test/resources/projects/parent-version-range-local-child-project-version-expression/child/pom.xml" );
 
         ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
@@ -261,7 +262,49 @@ public class DefaultMavenProjectBuilderTest
                 "Expected 'ProjectBuildingException' not thrown." );
         assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
     }
+    
+    /**
+     * Tests whether local version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testBuildParentVersionRangeLocallyWithChildProjectParentVersionExpression() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-local-child-project-parent-version-expression/child/pom.xml" );
 
+        try
+        {
+            getProject( f1 );
+            fail( "Expected 'ProjectBuildingException' not thrown." );
+        }
+        catch ( final ProjectBuildingException e )
+        {
+            assertNotNull( e.getMessage() );
+            assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
+        }
+    }
+    
+    /**
+     * Tests whether local version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testBuildParentVersionRangeLocallyWithChildRevisionExpression() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-local-child-revision-expression/child/pom.xml" );
+
+        MavenProject mp =  this.getProjectFromRemoteRepository( f1 );
+        
+        assertEquals("1.0-SNAPSHOT", mp.getVersion());
+      
+    }
+    
     /**
      * Tests whether external version range parent references are build correctly.
      *
@@ -307,11 +350,11 @@ public class DefaultMavenProjectBuilderTest
      * @throws Exception in case of issue
      */
     @Test
-    public void testBuildParentVersionRangeExternallyWithChildVersionExpression() throws Exception
+    public void testBuildParentVersionRangeExternallyWithChildProjectVersionExpression() throws Exception
     {
         File f1 =
             getTestFile(
-                "src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml" );
+                "src/test/resources/projects/parent-version-range-external-child-project-version-expression/pom.xml" );
 
         ProjectBuildingException e = assertThrows(
                 ProjectBuildingException.class,
@@ -349,5 +392,48 @@ public class DefaultMavenProjectBuilderTest
         project = projectBuilder.build( pom.toFile(), buildingRequest ).getProject();
         assertThat( project.getName(), is( "PROJECT NAME" ) );
     }
+    
+    /**
+     * Tests whether external version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testBuildParentVersionRangeExternallyWithChildProjectParentVersionExpression() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-external-child-project-parent-version-expression/pom.xml" );
 
+        try
+        {
+            this.getProjectFromRemoteRepository( f1 );
+            fail( "Expected 'ProjectBuildingException' not thrown." );
+        }
+        catch ( final ProjectBuildingException e )
+        {
+            assertNotNull( e.getMessage() );
+            assertThat( e.getMessage(), containsString( "Version must be a constant" ) );
+        }
+    }
+    
+    /**
+     * Tests whether external version range parent references are build correctly.
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testBuildParentVersionRangeExternallyWithChildRevisionExpression() throws Exception
+    {
+        File f1 =
+            getTestFile(
+                "src/test/resources/projects/parent-version-range-external-child-revision-expression/pom.xml" );
+
+       
+        MavenProject mp =  this.getProjectFromRemoteRepository( f1 );
+          
+        assertEquals( "1.0-SNAPSHOT", mp.getVersion() );
+      
+       
+    }
 }
diff --git a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-external-child-project-parent-version-expression/pom.xml
similarity index 67%
copy from maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
copy to maven-core/src/test/resources/projects/parent-version-range-external-child-project-parent-version-expression/pom.xml
index d07ad6e..a8cf950 100644
--- a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
+++ b/maven-core/src/test/resources/projects/parent-version-range-external-child-project-parent-version-expression/pom.xml
@@ -6,7 +6,7 @@
     <version>[1,1]</version>
   </parent>
   <artifactId>child</artifactId>
-  <!-- Must not use expressions from parent due to version range. -->
-  <version>${some.property}</version>
+  <!-- Must not use ${project.parent.version} due to version range. -->
+  <version>${project.parent.version}</version>
   <packaging>pom</packaging>
 </project>
diff --git a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-external-child-project-version-expression/pom.xml
similarity index 69%
copy from maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
copy to maven-core/src/test/resources/projects/parent-version-range-external-child-project-version-expression/pom.xml
index d07ad6e..bd30a9a 100644
--- a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
+++ b/maven-core/src/test/resources/projects/parent-version-range-external-child-project-version-expression/pom.xml
@@ -6,7 +6,7 @@
     <version>[1,1]</version>
   </parent>
   <artifactId>child</artifactId>
-  <!-- Must not use expressions from parent due to version range. -->
-  <version>${some.property}</version>
+  <!-- Must not use ${project.version} due to version range. -->
+  <version>${project.version}</version>
   <packaging>pom</packaging>
 </project>
diff --git a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-external-child-revision-expression/pom.xml
similarity index 69%
rename from maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
rename to maven-core/src/test/resources/projects/parent-version-range-external-child-revision-expression/pom.xml
index d07ad6e..aa724d8 100644
--- a/maven-core/src/test/resources/projects/parent-version-range-external-child-version-expression/pom.xml
+++ b/maven-core/src/test/resources/projects/parent-version-range-external-child-revision-expression/pom.xml
@@ -6,7 +6,9 @@
     <version>[1,1]</version>
   </parent>
   <artifactId>child</artifactId>
-  <!-- Must not use expressions from parent due to version range. -->
-  <version>${some.property}</version>
+  <version>${revision}</version>
   <packaging>pom</packaging>
+  <properties>
+    <revision>1.0-SNAPSHOT</revision>
+  </properties>
 </project>
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-project-parent-version-expression/child/pom.xml
similarity index 68%
copy from maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
copy to maven-core/src/test/resources/projects/parent-version-range-local-child-project-parent-version-expression/child/pom.xml
index 066a11e..ac42c93 100644
--- a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-project-parent-version-expression/child/pom.xml
@@ -6,7 +6,7 @@
     <version>[1,10]</version>
   </parent>
   <artifactId>child</artifactId>
-  <!-- Must not use expressions from parent due to version range. -->
-  <version>${some.property}</version>
+  <!-- Must not use ${project.parent.version} due to version range. -->
+  <version>${project.parent.version}</version>
   <packaging>pom</packaging>
 </project>
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-project-parent-version-expression/pom.xml
similarity index 100%
copy from maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml
copy to maven-core/src/test/resources/projects/parent-version-range-local-child-project-parent-version-expression/pom.xml
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-project-version-expression/child/pom.xml
similarity index 70%
copy from maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
copy to maven-core/src/test/resources/projects/parent-version-range-local-child-project-version-expression/child/pom.xml
index 066a11e..1435070 100644
--- a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-project-version-expression/child/pom.xml
@@ -6,7 +6,7 @@
     <version>[1,10]</version>
   </parent>
   <artifactId>child</artifactId>
-  <!-- Must not use expressions from parent due to version range. -->
-  <version>${some.property}</version>
+  <!-- Must not use ${project.version} due to version range. -->
+  <version>${project.version}</version>
   <packaging>pom</packaging>
 </project>
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-project-version-expression/pom.xml
similarity index 100%
copy from maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml
copy to maven-core/src/test/resources/projects/parent-version-range-local-child-project-version-expression/pom.xml
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-revision-expression/child/pom.xml
similarity index 70%
rename from maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
rename to maven-core/src/test/resources/projects/parent-version-range-local-child-revision-expression/child/pom.xml
index 066a11e..b29b5d2 100644
--- a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/child/pom.xml
+++ b/maven-core/src/test/resources/projects/parent-version-range-local-child-revision-expression/child/pom.xml
@@ -6,7 +6,9 @@
     <version>[1,10]</version>
   </parent>
   <artifactId>child</artifactId>
-  <!-- Must not use expressions from parent due to version range. -->
-  <version>${some.property}</version>
+  <version>${revision}</version>
   <packaging>pom</packaging>
+  <properties>
+    <revision>1.0-SNAPSHOT</revision>
+  </properties>
 </project>
diff --git a/maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml b/maven-core/src/test/resources/projects/parent-version-range-local-child-revision-expression/pom.xml
similarity index 100%
rename from maven-core/src/test/resources/projects/parent-version-range-local-child-version-expression/pom.xml
rename to maven-core/src/test/resources/projects/parent-version-range-local-child-revision-expression/pom.xml
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index a45fa2c..eaee9c7 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -1320,7 +1320,8 @@ public class DefaultModelBuilder
                 }
 
                 // Validate versions aren't inherited when using parent ranges the same way as when read externally.
-                if ( childModel.getVersion() == null )
+                String rawChildModelVersion = childModel.getVersion();
+                if ( rawChildModelVersion == null )
                 {
                     // Message below is checked for in the MNG-2199 core IT.
                     problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
@@ -1329,7 +1330,7 @@ public class DefaultModelBuilder
                 }
                 else
                 {
-                    if ( childModel.getVersion().contains( "${" ) )
+                    if ( rawChildVersionReferencesParent( rawChildModelVersion ) )
                     {
                         // Message below is checked for in the MNG-2199 core IT.
                         problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
@@ -1360,6 +1361,12 @@ public class DefaultModelBuilder
         return new ModelData( candidateSource, candidateModel, groupId, artifactId, version );
     }
 
+    private boolean rawChildVersionReferencesParent( String rawChildModelVersion )
+    {
+        return rawChildModelVersion.equals( "${project.version}" ) 
+                || rawChildModelVersion.equals( "${project.parent.version}" );
+    }
+
     private ModelSource getParentPomFile( Model childModel, Source source )
     {
         if ( !( source instanceof ModelSource2 ) )
@@ -1441,7 +1448,9 @@ public class DefaultModelBuilder
 
         if ( !parent.getVersion().equals( version ) )
         {
-            if ( childModel.getVersion() == null )
+            String rawChildModelVersion = childModel.getVersion();
+            
+            if ( rawChildModelVersion == null )
             {
                 // Message below is checked for in the MNG-2199 core IT.
                 problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
@@ -1450,7 +1459,7 @@ public class DefaultModelBuilder
             }
             else
             {
-                if ( childModel.getVersion().contains( "${" ) )
+                if ( rawChildVersionReferencesParent( rawChildModelVersion )  )
                 {
                     // Message below is checked for in the MNG-2199 core IT.
                     problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
@@ -1777,11 +1786,11 @@ public class DefaultModelBuilder
                 = new ConcurrentHashMap<>( 64 );
 
         /**
-         * If an interface could be extracted, DefaultModelProblemCollector should be ModelProblemCollectorExt
+         * If an interface could be extracted, DefaultModelProblemCollector should be ModelProblemCollectorExt.
          *
-         * @param request
-         * @param collector
-         * @return
+         * @param request the request
+         * @param collector the collector
+         * @return the transformer context
          */
         @Override
         public TransformerContext initialize( ModelBuildingRequest request, ModelProblemCollector collector )