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 2020/03/28 22:09:19 UTC

[maven] branch MNG-5868 updated (90cddbe -> f57bcc2)

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

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


 discard 90cddbe  [MNG-5868] Adding serval times the same artifact via MavenProjectHelper (attachArtifact) does not produce a failure
     add 3ac9718  [MNG-6655] Add support for "release" qualifier
     add 1a18eb6  [MNG-6626] fix DefaultExceptionHandler NPE
     add 6583012  [MNG-6069] Avoid (some) deprecated commons-cli methods
     add ff8c5c8  MNG-6069: unittest with compact and spaced -D options
     add 790dc0f  [MNG-6633] - Reduce memory usage of excludes
     add 6c01ec1  [MNG-6633] - Reduce memory usage of excludes - fix rat/checkstyle errors
     add d3ace78  [MNG-6638] Prevent reparsing POMs in MavenMetadataSource
     add 660e745  Always deploy snapshot from master (#250)
     add 8524e04  fix Jenkinsfile as it is script
     add a117168  oops fix branch name
     add 3495521  -DdeployAtEnd=true doesn't deploy anything
     add 275a971  Include Java 12 for testing
     add 01405a2  [MNG-6667] Enhance the error reporting when trying to build a modelVersion that the current Maven doesn't understand
     add aed5130  [MNG-6665] toolchain.xml file should support environment variables
     add 8aaeb8a  [MNG-6581] - Update to latest Modello plugin version
     add 5035837  [MNG-6671] Upgrade Modello to 1.10.1
     add 92b5191  Revert "Modello changes"
     add 8f1cac0  [MNG-6671] Upgrade Modello to 1.11
     add da05c25  Use properly quoted shell arguments with "$@"
     add 25ffca0  [MNG-6672] Upgrade Maven Resolver to 1.4.0
     add 3d76fae  Merge branch 'MNG-6672'
     add c2f13f7  [MNG-6675] Make Resolver debug log messages for projects and plugins consistent
     add c5ede2f  [MNG-6680] Convert Maven Settings Builder to JSR 330
     add 58de88f  MNG-6681 dependency type = extension+classifier
     add edf6168  [MNG-6674] Upgrade Wagon to 3.3.3
     add 0bffc8a  [MNG-5577] Maven Artifact module has no Plexus annotations
     add 59bd396  [MNG-6686] Convert Maven Embedder to JSR 330
     add 353d3ea  [MNG-6685] Convert Maven Model Builder to JSR 330
     add 8da81ce  [MNG-6701] Document maven.repo.local property
     add 84bf187  [MNG-6700] Equal compile source roots are added multiple times
     add 7ba9700  [MNG-6698] Lazily compute the ManagedVersionMap
     add 4fa882c  [MNG-6703] DefaultUrlNormalizer doesn't normalize all relative URIs
     add 9b8ae7d  [MNG-6702] Improve DefaultModelValidator performance:
     add 53f04f0  [MNG-6705] Speep up Artifact version check and Parent interpolation
     add 383c8c1  [MNG-6712] Downgrade maven-resolver:1.4.0 to 1.3.3
     add f7b4a65  [MNG-6549] Remove unused transitive dependencies of Guava
     add ecc317b  added NODE_NAME to output
     add 74e8532  [MNG-6718] Upgrade to plexus-utils 3.2.1 (#271)
     add 690841e  [MNG-6697] New fast model interpolator not using reflection (#261)
     add 2d0c3bc  [MNG-6704] MavenRepositorySystemUtils.newSession() misses assignment
     add 809cac2  [MNG-6723] MavenProject.getParentFile() not set when using ProjectBuilder.build()
     add dd0776d  [MNG-6653] DefaultProjectBuildingRequest copy constructor does not copy all fields
     add 0515cb1  [MNG-6720] MultiThreadedBuilder: wait for parallel running projects when using --fail-fast
     add 93c88a2  [MNG-6725] Skip '.mavenrc' via MAVEN_SKIP_RC=1 and '-Dmaven.skip.rc=true' on child ITs (by default on Jenkins CI).
     add cb71885  IT archives
     add d5b0f4c  improved handlers documentation: artifact vs dependency attributes
     add 7ac4fa5  [INFRA-18812] Revert unnecessary commits after fixing INFRA-18812
     add 6c5be9c  fixed ArtifactHandlerTest after commit d5b0f4ce
     add 8a1f572  [MNG-6713] Fix ExclusionArtifactFilter to respect wildcard exclusions. (#269)
     add 203cfc6  [MNG-6729] StringSearchModelInterpolator introspects objects from Java API
     add b893c3e  small refactoring in StringSearchModelInterpolator (removed unused variables, removed too open modifier 'protected')
     add 829a2c9  small refactoring in StringSearchModelInterpolator (removed unnecessary 'public' modifier in private class, inlined variable declaration in loop - not reachable after the loop)
     add 88b632c  [MNG-6738] Upgrade maven-resolver to 1.4.1
     add b65e846  [MNG-6716] Avoid setting compileRoots
     add a52e2ea  [MNG-6695] Improve speed in collection merging
     add 400e7e5  [MNG-6747] Generalize 'resume from' message when build reactor fails
     add 40f5233  [maven-release-plugin] prepare release maven-3.6.2
     add d9a0eee  [maven-release-plugin] prepare for next development iteration
     add 71eafc4  Update DOAP file for 3.6.2 release
     add 3eb242c  [MNG-6760] ExclusionArtifactFilter result invalid when wildcard exclusion is followed by other exclusions
     add d09bc74  [refactor] use utility method of Objects to simplify code (#284)
     add 38efe84  Fix checkstyle reported errors
     add 877fcc9  [MNG-6777] - Remove duplicate resolveFile methods  o MavenCli.resolveFile and    configuration.SettingsXmlConfigurationProcessor.resolveFile    utility methods are identical. Moving them into separate    ResolveFile class.
     add 3f3d775  Rewrite assertTrue to assertThat to get more meaningful messages
     add 55572a4  MNG-6779 jcl-over-slf4j is Apache 2.0, even if its pom says MIT
     add eca4905  MNG-6781 fix sisu project url, which is invalid in pom
     add 07ab962  [MNG-6765] tycho pom-less builds fails with 3.6.2
     add fa97042  exclude IDE files that may pollute source archive
     add 3a80ae0  [MNG-6799] deprecate StringSearchModelInterpolator and remove @Named
     add bd10f00  [MNG-6789] upgrade and configure plugins for Reproducible Builds
     add 0c7c69f  [MNG-6778] - Use https for maven schemaLocations
     add d657c9c  [MNG-6778] - Use https for maven schemaLocations
     add 53ccee3  [MNG-6778] use https for schema location
     add 88591a7  [MNG-6584] upgrade Wagon to 3.3.4 to get reason phrase handling back
     add 6fa256d  update copyright year
     add db3e446  [MNG-6759] - Fix issue where MavenMetadataSource failed to set the right repositories when preparing artifact metadata
     add c82409a  [MNG-6759] Maven fails to use <repositories> section from dependency when resolving transitive dependencies in some cases
     add f8bd6d5  [MNG-6771] Fix license issues on binary distribution - Update slf4j to 1.7.29 - Do not download ASL v2 license files but copy from local - add Jsoup license - keep a specific copy of MIT license for each dependency - Add NOTICE to binary distribution - Add Eclipse SISU about.html contents
     add cecedd3  [maven-release-plugin] prepare release maven-3.6.3
     add ead06d2  [maven-release-plugin] prepare for next development iteration
     add 8d221f9  Add Apache Maven 3.6.3
     add a431794  [MNG-6399] - Lift JDK minimum to JDK 8
     add 6b1c016  Fixed JavaDoc issue.
     add 6f5f1f1  updated GitHub repository description
     add 56d4ea5  added link to documentation
     add 00654c2  [MNG-6810] - Remove profiles in maven-model
     add 0022733  Added .asf.yaml to be ignored by apache-rat-plguin.
     add b810f59  [MNG-6811] - Remove unnecessary filtering configuration
     add f7ca74d  [MNG-6812] - Remove unused files from maven-embedder
     add 2c8f927  Added label apache-maven
     add 25ced83  [MNG-6813] - Remove Maven 1 leftover
     add 610e623  [MNG-6814] - Remove useless exclusion in maven-plugin-api
     add 13c80d5  [MNG-6815] - Upgrade guice 4.2.2
     add 7284bd6  Updated README.md
     add 5750857  [MNG-6817] - Upgrade mockito to 3.2.0
     add 11664b6  [MNG-6818] - Upgrade plexus-utils 3.3.0
     add 3332f4d  [MNG-6816] Prefer System.lineSeparator() over system properties
     add 99953a4  [MNG-6820] - Remove unnecessary dependency exclusions for commons-cli
     add e7654f6  [MNG-6821] - Remove unnecessary dependency exclusions for plexus-component-annotations
     add b8f066e  [MNG-6823] - Remove unnecessary dependency exclusions for wagon-http
     add 06842d6  [MNG-6826] - Remove condition check for JDK8+ in FileSizeFormatTest  - The conditions to check for JDK8+ in test cases is    obsolete with the lift to JDK8.
     add 78ad10d  [MNG-6807] - Remove LifecycleXpp3ReaderTest
     add 370570b  Fixed display text for Apache License.
     add aad48b7  Removed duplication of License part.
     add 11b8b2d  [MNG-6824] ModelMerger is broken Fix modules Apply Java 8 Functions
     add 1ad7801  [MNG-6827] Replace deprecated StringUtils#defaultString() from Plexus Utils
     add e3aa406  [MNG-6824] ModelMerger is broken Fixing reportSet.reports, mailingList.otherArchives, contributor.roles, build.filters, execution.goals, patternSet.includes, patternSet.excludes
     add d251074  [MNG-6065] Create option --fail-on-severity
     add 25de698  Removed JDK7 related configuration.
     add e48c067  Moved org.slf4j.impl.MavenLoggerFactoryTest to the correct submodule
     add 08397c2  [MNG-6065] Moved org.slf4j.impl.MavenLoggerFactoryTest to the correct submodule
     add 5553ff0  [MNG-5982] Pass user properties to ModelBuildingRequest
     add 6d63038  Revert "[MNG-5982] Pass user properties to ModelBuildingRequest"
     add f3e6641  [MNG-6841] update plexus-interpolation to 1.26
     add 735b72f  [MNG-6844] Use StandardCharsets and remove outdated @SuppressWarnings
     add 5670dfa  [MNG-6842] ProjectBuilderTest uses Guava, but Guava is not defined in dependencies
     add f620bb7  [MNG-6844] Remove outdated TODOs
     add 3949228  [MNG-6847] Explicit type can be replaced by the diamond operator
     add 9989e6a  [MNG-6837] Simplify detection of the MAVEN_HOME and make it fully qualified on Windows
     add 838c196  [MNG-5587] When the build fails emit any errors without the user having to specify -e or -X
     add da5d8b8  [MNG-6850] Prevent printing the EXEC_DIR when it's just a disk letter
     add a6f113a  Bump junit from 4.12 to 4.13
     add ce35eff  [MNG-6853] - Don't box primitives where it's not needed
     add ff9bc4f  [MNG-6852] Upgrade maven-source-plugin from 3.2.0 to 3.2.1
     add ddb454a  [MNG-6831] Replace Anonymous classes by lambdas
     add 1697e7a  [MNG-6855] Simplify code
     add ace32fd  [MNG-6855] Simplify code - computeIfAbsent()
     add e6c897e  [MNG-6855] Simplify some code
     add 96e11e1  [MNG-6855] Remove redundant code
     add cdb2cd0  [MNG-6071] Normalize relative paths for working directory
     add 720e46d  Revert "[MNG-5587] When the build fails emit any errors without the user having to specify -e or -X"
     add 45076f3  Improve license handling
     add 35658fd  Run Integration Tests with Java 8, 11, 13 and 14
     add 716cc1f  [MNG-5669] same pom.xml is read multiple times
     add b0d2846  [MNG-6859] Build not reproducible when built from source release
     add d9bf929  [MNG-6562] added WARNING on default bindings plugins unlocked versions
     add 9ae008a  use https://repository.a.o/ for Apache SNAPSHOT plugins
     add f2e9afd  Refactor getLocalRepository() in tests by using the repositorySystem
     add d204f02  [MNG-6874] - Upgrade Maven Parent to 34
     add 9e92a93  [MNG-6872] - Found CVEs in your dependencies - plexus-utils (tests)
     add 5cdb833  [MNG-5669] Fix infinitive loop in case pom.xml is being updated during the process (e.g. maven-shade-plugin writing reduced-pom with excluded dependencies)
     add c548ce5  Adjust JDKs in Jenkinsfile
     new f57bcc2  [MNG-5868] Adding serval times the same artifact via MavenProjectHelper (attachArtifact) does not produce a failure

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   (90cddbe)
            \
             N -- N -- N   refs/heads/MNG-5868 (f57bcc2)

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:
 .asf.yaml                                          |    9 +
 Jenkinsfile                                        |   55 +-
 NOTICE                                             |    2 +-
 README.md                                          |   10 +-
 apache-maven/pom.xml                               |   14 +-
 apache-maven/src/bin/mvn.cmd                       |   12 +-
 .../main/appended-resources/META-INF/LICENSE.vm    |   82 +-
 .../src/main/appended-resources/META-INF/NOTICE.vm |  116 ++
 .../appended-resources/licenses/Apache-2.0.txt     |    0
 .../licenses/MIT-jsoup-1.12.1.txt                  |   23 +
 .../licenses/MIT-slf4j-api-1.7.29.txt              |   23 +
 .../src/main/appended-resources/licenses/MIT.txt   |   14 -
 apache-maven/src/main/assembly/component.xml       |    8 +
 apache-maven/src/main/assembly/src.xml             |    8 +
 .../apache/maven/settings/GlobalSettingsTest.java  |    3 +-
 deploySite.sh                                      |    4 +-
 doap_Maven.rdf                                     |   20 +-
 maven-artifact/pom.xml                             |    8 +-
 .../org/apache/maven/artifact/ArtifactUtils.java   |   40 +-
 .../org/apache/maven/artifact/DefaultArtifact.java |   12 +-
 .../repository/ArtifactRepositoryPolicy.java       |    4 +-
 .../AbstractArtifactResolutionException.java       |    2 +-
 .../MultipleArtifactsNotFoundException.java        |    2 +-
 .../artifact/versioning/ComparableVersion.java     |    9 +-
 .../maven/artifact/versioning/VersionRange.java    |   14 +-
 .../artifact/versioning/ComparableVersionTest.java |   12 +-
 maven-builder-support/pom.xml                      |    4 +-
 .../org/apache/maven/building/DefaultProblem.java  |    2 +-
 .../maven/building/DefaultProblemCollector.java    |    2 +-
 .../java/org/apache/maven/building/FileSource.java |   31 +
 .../org/apache/maven/building/StringSource.java    |   36 +-
 .../java/org/apache/maven/building/UrlSource.java  |   32 +-
 maven-compat/pom.xml                               |    4 +-
 .../artifact/resolver/DebugResolutionListener.java |    3 +-
 .../artifact/resolver/DefaultArtifactResolver.java |   14 +-
 .../maven/profiles/DefaultProfileManager.java      |   19 +-
 .../java/org/apache/maven/project/ModelUtils.java  |    8 +-
 .../DefaultModelInheritanceAssembler.java          |   10 +-
 .../project/validation/ModelValidationResult.java  |    6 +-
 .../repository/legacy/LegacyRepositorySystem.java  |    8 +-
 .../metadata/DefaultClasspathTransformation.java   |   30 +-
 .../maven/repository/metadata/MetadataGraph.java   |   14 +-
 .../AbstractArtifactComponentTestCase.java         |    5 +-
 .../resolver/ArtifactResolutionExceptionTest.java  |    2 +-
 .../resolver/filter/AndArtifactFilterTest.java     |   10 +-
 .../resolver/filter/OrArtifactFilterTest.java      |   10 +-
 .../maven/artifact/testutils/TestFileManager.java  |   13 +-
 .../manager/DefaultProfileManagerTest.java         |   10 +-
 .../maven/repository/legacy/StringWagon.java       |   11 +-
 .../resolver/DefaultArtifactCollectorTest.java     |   20 +-
 maven-compat/src/test/resources/pom.xml            |    2 +-
 maven-core/pom.xml                                 |   46 +-
 .../apache/maven/DuplicateProjectException.java    |    2 +-
 .../main/java/org/apache/maven/ReactorReader.java  |    8 +-
 .../repository/MavenArtifactRepository.java        |    3 +-
 .../metadata/AbstractRepositoryMetadata.java       |    3 +-
 .../resolver/filter/ExclusionArtifactFilter.java   |   68 +
 .../resolver/filter/ScopeArtifactFilter.java       |    9 +-
 .../apache/maven/bridge/MavenRepositorySystem.java |   20 +-
 .../maven/classrealm/DefaultClassRealmManager.java |    5 +-
 .../maven/exception/DefaultExceptionHandler.java   |    9 +-
 .../DefaultMavenExecutionRequestPopulator.java     |    2 +-
 .../execution/DefaultMavenExecutionResult.java     |    4 +-
 .../org/apache/maven/execution/ReactorManager.java |   19 +-
 .../scope/internal/MojoExecutionScope.java         |   47 +-
 .../graph/FilteredProjectDependencyGraph.java      |    2 +-
 .../DefaultLifecycleExecutionPlanCalculator.java   |    4 +-
 .../internal/DefaultLifecycleMappingDelegate.java  |    8 +-
 .../internal/DefaultLifecyclePluginAnalyzer.java   |   11 +-
 .../lifecycle/internal/DependencyContext.java      |    4 +-
 .../lifecycle/internal/LifecycleModuleBuilder.java |    3 +-
 .../lifecycle/internal/MojoDescriptorCreator.java  |    2 +-
 .../lifecycle/internal/ReactorBuildStatus.java     |    2 +-
 .../multithreaded/MultiThreadedBuilder.java        |   35 +-
 .../builder/multithreaded/ThreadOutputMuxer.java   |    2 +-
 .../plugin/DefaultLifecycleBindingsInjector.java   |   42 +-
 .../java/org/apache/maven/plugin/CacheUtils.java   |    2 +-
 .../maven/plugin/DefaultPluginDescriptorCache.java |   14 +-
 .../plugin/internal/DefaultMavenPluginManager.java |   10 +-
 .../DefaultPluginDependenciesResolver.java         |   66 +-
 .../PluginDependencyResolutionListener.java        |   10 +-
 .../version/PluginVersionResolutionException.java  |   12 +-
 .../maven/project/DefaultProjectBuilder.java       |   84 +-
 .../project/DefaultProjectBuildingRequest.java     |    2 +
 .../DefaultProjectDependenciesResolver.java        |   45 +-
 .../org/apache/maven/project/MavenProject.java     |   19 +-
 .../org/apache/maven/project/ProjectSorter.java    |    8 +-
 .../apache/maven/project/ReactorModelCache.java    |   78 +-
 .../artifact/DefaultMavenMetadataCache.java        |   33 +-
 .../project/artifact/MavenMetadataSource.java      |   40 +-
 .../maven/repository/ArtifactTransferEvent.java    |    5 +-
 .../maven/session/scope/internal/SessionScope.java |   47 +-
 .../apache/maven/toolchain/DefaultToolchain.java   |   10 +-
 .../maven/toolchain/DefaultToolchainManager.java   |    2 +-
 .../building/DefaultToolchainsBuilder.java         |  100 +-
 .../building/DefaultToolchainsBuildingResult.java  |    2 +-
 .../toolchain/io/DefaultToolchainsWriter.java      |   54 +
 .../maven/toolchain/io/ToolchainsWriter.java       |   48 +
 .../org/apache/maven/messages/build.properties     |    1 -
 maven-core/src/site/apt/artifact-handlers.apt      |   53 +-
 .../maven/ProjectDependenciesResolverTest.java     |    5 +-
 .../artifact/handler/ArtifactHandlerTest.java      |    9 +-
 .../filter/ExclusionArtifactFilterTest.java        |  156 +++
 .../configuration/DefaultBeanConfiguratorTest.java |   20 +-
 .../exception/DefaultExceptionHandlerTest.java     |   53 +-
 .../maven/execution/DefaultMavenExecutionTest.java |   16 +-
 .../scope/internal/MojoExecutionScopeTest.java     |   20 +-
 .../lifecycle/internal/BuilderCommonTest.java      |    3 +-
 .../internal/LifecycleDependencyResolverTest.java  |   10 +-
 .../lifecycle/internal/ProjectBuildListTest.java   |   13 +-
 .../internal/stub/CompletionServiceStub.java       |    2 +-
 .../internal/stub/DefaultLifecyclesStub.java       |    1 -
 .../lifecycle/internal/stub/MojoExecutorStub.java  |    2 +-
 .../PluginParameterExpressionEvaluatorTest.java    |    2 +-
 .../project/AbstractMavenProjectTestCase.java      |   11 +-
 .../project/DefaultMavenProjectBuilderTest.java    |   76 +-
 .../project/ExtensionDescriptorBuilderTest.java    |   19 +-
 .../org/apache/maven/project/MavenProjectTest.java |   13 +
 .../apache/maven/project/PomConstructionTest.java  |   35 +-
 .../apache/maven/project/ProjectBuilderTest.java   |  101 +-
 .../maven/project/ProjectModelResolverTest.java    |   13 +-
 .../apache/maven/project/ProjectSorterTest.java    |   67 +-
 .../artifact/DefaultMavenMetadataCacheTest.java    |    8 +-
 .../project/artifact/MavenMetadataSourceTest.java  |    2 +
 .../maven/toolchain/DefaultToolchainTest.java      |   24 +-
 .../building/DefaultToolchainsBuilderTest.java     |  152 +-
 .../building/ToolchainsBuildingExceptionTest.java  |    2 +-
 .../cyclic-reference/module-a/pom.xml              |    2 +-
 .../cyclic-reference/module-b/pom.xml              |    2 +-
 .../default-maven/cyclic-reference/pom.xml         |    2 +-
 .../lifecycle-executor/mojo-configuration/pom.xml  |    2 +-
 .../pom.xml                                        |    2 +-
 .../project-with-inheritance/pom.xml               |    2 +-
 .../project-with-multiple-executions/pom.xml       |    2 +-
 .../project-with-inheritance/pom.xml               |    2 +-
 .../project-builder/MNG-6716/project/pom.xml       |   22 +
 .../project-builder/MNG-6723/child/pom.xml         |   11 +
 .../test/projects/project-builder/MNG-6723/pom.xml |   49 +
 .../remote-repo/org/apache/apache/1/apache-1.pom   |    2 +-
 .../maven-it-plugin/0.1/maven-it-plugin-0.1.pom    |    2 +-
 .../maven/its/plugins/maven-it-plugin/0.1/pom.xml  |    2 +-
 .../0.1/maven-clean-plugin-0.1.pom                 |    2 +-
 .../0.1/maven-compiler-plugin-0.1.pom              |    2 +-
 .../0.1/maven-deploy-plugin-0.1.pom                |    2 +-
 .../0.1/maven-install-plugin-0.1.pom               |    2 +-
 .../maven-jar-plugin/0.1/maven-jar-plugin-0.1.pom  |    2 +-
 .../0.1/maven-plugin-plugin-0.1.pom                |    2 +-
 .../0.1/maven-resources-plugin-0.1.pom             |    2 +-
 .../0.1/maven-surefire-plugin-0.1.pom              |    2 +-
 .../dependency-inheritance/maven-parent.xml        |    2 +-
 .../dependency-inheritance/pom.xml                 |    2 +-
 .../dependency-inheritance/sub/pom.xml             |    2 +-
 .../dependency-order/w-plugin-mgmt/pom.xml         |    2 +-
 .../dependency-order/wo-plugin-mgmt/pom.xml        |    2 +-
 .../dual-execution-ids/pom.xml                     |    2 +-
 .../nexus-parent.xml                               |    2 +-
 .../duplicate-exclusions-dependency/pom.xml        |    2 +-
 .../duplicate-exclusions-dependency/sub/pom.xml    |    2 +-
 .../equal-plugin-deps/pom.xml                      |    2 +-
 .../execution-configuration-subcollections/pom.xml |    2 +-
 .../test/resources-project-builder/foo/sub/pom.xml |    2 +-
 .../merged-filter-order/pom.xml                    |    2 +-
 .../merged-filter-order/sub/pom.xml                |    2 +-
 .../resources-project-builder/micromailer/pom.xml  |    4 +-
 .../micromailer/spice-parent-9.pom                 |    2 +-
 .../multiple-filters/pom.xml                       |    2 +-
 .../platform-file-separator/pom.xml                |    2 +-
 .../plugin-config-properties/pom.xml               |    2 +-
 .../profile-default-deactivation/pom.xml           |    2 +-
 .../profile-plugins/pom.xml                        |    2 +-
 .../properties-no-duplication/pom.xml              |    2 +-
 .../properties-no-duplication/sub/pom.xml          |    2 +-
 .../reporting-plugin-config/pom.xml                |    2 +-
 .../reporting-plugin-config/sub/pom.xml            |    2 +-
 .../jetty-parent.xml                               |    2 +-
 .../single-configuration-inheritance/pom.xml       |    2 +-
 .../resources-project-builder/unc-path/pom.xml     |    2 +-
 .../resources-project-builder/unc-path/sub/pom.xml |    2 +-
 .../child/pom.xml                                  |    2 +-
 .../unprefixed-expression-interpolation/pom.xml    |    2 +-
 .../resources-settings/settings-no-pom/pom.xml     |    2 +-
 maven-core/src/test/resources/canonical-pom.xml    |    2 +-
 .../test/resources/dependencyManagement-pom.xml    |    2 +-
 .../test/resources/distributionManagement-pom.xml  |    4 +-
 .../junit/junit/3.8.1/junit-3.8.1.pom              |    2 +-
 .../org/apache/apache/3/apache-3.pom               |    2 +-
 .../3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom   |    2 +-
 .../test/test-extension/1/test-extension-1.pom     |    2 +-
 .../1/test-lifecycle-and-artifactHandler-1.pom     |    2 +-
 .../apache/maven/maven-parent/4/maven-parent-4.pom |    2 +-
 .../apache/maven/maven-parent/5/maven-parent-5.pom |    2 +-
 .../wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom    |    2 +-
 .../plexus-active-collections-1.0-beta-1.pom       |    2 +-
 .../plexus-classworlds-1.2-alpha-10.pom            |    2 +-
 .../plexus-component-api-1.0-alpha-32.pom          |    2 +-
 .../plexus-container-default-1.0-alpha-32.pom      |    2 +-
 .../plexus-containers-1.0-alpha-16.pom             |    2 +-
 .../plexus-containers-1.0-alpha-32.pom             |    2 +-
 .../plexus-utils/1.4.5/plexus-utils-1.4.5.pom      |    2 +-
 .../plexus/plexus/1.0.10/plexus-1.0.10.pom         |    2 +-
 .../plexus/plexus/1.0.11/plexus-1.0.11.pom         |    2 +-
 .../codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom  |    2 +-
 .../codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom  |    2 +-
 .../resources/org/apache/maven/lifecycle/pom.xml   |    2 +-
 maven-core/src/test/resources/pom.xml              |    2 +-
 .../project-dynamism/plugin-level-dep.pom.xml      |    2 +-
 .../test/resources/project-dynamism/pom-interp.xml |    2 +-
 .../resources/project-dynamism/pom-relative.xml    |    2 +-
 .../src/test/resources/project-dynamism/pom.xml    |    2 +-
 .../resources/projects/artifactMissingVersion.xml  |    2 +-
 maven-core/src/test/resources/projects/badPom.xml  |    2 +-
 .../projects/future-model-version-pom.xml          |    8 +-
 .../projects/future-schema-model-version-pom.xml   |    8 +-
 .../projects/modelsource/module01/pom.xml          |    2 +-
 .../test/resources/projects/modelsource/pom.xml    |    2 +-
 ...gnment-child.xml => past-model-version-pom.xml} |   13 +-
 .../resources/withActiveByDefaultProfile-pom.xml   |    2 +-
 maven-embedder/pom.xml                             |   73 +-
 maven-embedder/src/examples/simple-project/pom.xml |    2 +-
 .../main/java/org/apache/maven/cli/CLIManager.java |   83 +-
 .../org/apache/maven/cli/CLIReportingUtils.java    |    6 +-
 .../main/java/org/apache/maven/cli/MavenCli.java   |   99 +-
 .../java/org/apache/maven/cli/ResolveFile.java     |   45 +-
 .../SettingsXmlConfigurationProcessor.java         |   58 +-
 .../maven/cli/event/ExecutionEventLogger.java      |   40 +-
 .../impl/UnsupportedSlf4jBindingConfiguration.java |    4 +-
 .../transfer/AbstractMavenTransferListener.java    |    2 +-
 .../cli/transfer/ConsoleMavenTransferListener.java |    2 +-
 .../cli/transfer/Slf4jMavenTransferListener.java   |    4 +-
 .../META-INF/maven/slf4j-configuration.properties  |    2 +-
 maven-embedder/src/site/apt/logging.apt            |   24 +-
 .../src/test/embedder-test-project/pom.xml         |   48 -
 .../src/main/java/org/apache/maven/App.java        |   13 -
 .../src/test/java/org/apache/maven/AppTest.java    |   38 -
 .../aggregate-mojo-failure/plugin/pom.xml          |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   36 -
 .../bad-build-plan/plugin/pom.xml                  |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   35 -
 .../bad-build-plan/project/pom.xml                 |   25 -
 .../bad-dep-version/pom.xml                        |   33 -
 .../test-maven-ext/1/test-maven-ext-1.pom          |   34 -
 .../bad-ext-direct-deps/project/pom.xml            |   35 -
 .../1/bad-ext-plugin-dep-ver-maven-plugin-1.jar    |  Bin 3166 -> 0 bytes
 .../1/bad-ext-plugin-dep-ver-maven-plugin-1.pom    |   55 -
 .../bad-ext-plugin-dep-ver/plugin/pom.xml          |   57 -
 .../src/main/java/org/plugin/TestPlugin.java       |   33 -
 .../bad-ext-plugin-dep-ver/project/pom.xml         |   37 -
 .../1/bad-ext-plugin-maven-ver-maven-plugin-1.jar  |  Bin 3166 -> 0 bytes
 .../1/bad-ext-plugin-maven-ver-maven-plugin-1.pom  |   54 -
 .../maven-metadata-local.xml                       |   12 -
 .../bad-ext-plugin-maven-ver/plugin/pom.xml        |   57 -
 .../src/main/java/org/plugin/TestPlugin.java       |   33 -
 .../bad-ext-plugin-maven-ver/project/pom.xml       |   37 -
 .../bad-maven-version/pom.xml                      |   11 -
 .../bad-mg-dep-version/pom.xml                     |   35 -
 .../bad-non-dep-version/pom.xml                    |   35 -
 .../bad-profile-repo/pom.xml                       |    7 -
 .../bad-profile-repo/profiles.xml                  |   18 -
 .../config-rdonly-mojo-param/plugin/pom.xml        |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   39 -
 .../config-rdonly-mojo-param/project/pom.xml       |   47 -
 .../deploy-repo-creation-err/pom.xml               |   41 -
 .../duplicated-attachments/plugin/pom.xml          |   54 -
 .../src/main/java/org/plugin/TestPlugin.java       |   50 -
 .../duplicated-attachments/project/pom.xml         |   25 -
 .../1/err-loading-plugin-maven-plugin-1.jar        |  Bin 3166 -> 0 bytes
 .../1/err-loading-plugin-maven-plugin-1.pom        |   55 -
 .../err-loading-plugin/project/pom.xml             |   45 -
 .../org/apache/maven/errortest/dep/1/dep-1.pom     |   16 -
 .../1/err-resolving-ext-plugin-maven-plugin-1.jar  |  Bin 3166 -> 0 bytes
 .../1/err-resolving-ext-plugin-maven-plugin-1.pom  |   60 -
 .../err-resolving-ext-plugin/project/pom.xml       |   18 -
 .../org/apache/maven/errortest/dep/1/dep-1.pom     |   16 -
 .../err-resolving-project-dep/project/pom.xml      |   27 -
 .../apache/maven/test/error/mojoFailure/App.java   |   13 -
 .../maven/test/error/mojoFailure/AppTest.java      |   38 -
 .../test-maven-ext/1/test-maven-ext-1.pom          |   34 -
 .../ext-deps-resolve-err/project/pom.xml           |   35 -
 .../ext-plugin-artifact-missing-maven-plugin-1.pom |   55 -
 .../ext-plugin-artifact-missing/project/pom.xml    |   37 -
 .../ext-plugin-realm-error/plugin/pom.xml          |   49 -
 .../src/main/java/org/plugin/ComponentOne.java     |    8 -
 .../src/main/java/org/plugin/ComponentTwo.java     |    8 -
 .../src/main/java/org/plugin/TestPlugin.java       |   39 -
 .../main/resources/META-INF/plexus/components.xml  |   25 -
 .../ext-plugin-realm-error/project/pom.xml         |   36 -
 .../1/ext-plugin-version-err-maven-plugin-1.jar    |  Bin 3166 -> 0 bytes
 .../1/ext-plugin-version-err-maven-plugin-1.pom    |   50 -
 .../maven-metadata-local.xml                       |   10 -
 .../ext-plugin-version-err/plugin/pom.xml          |   57 -
 .../src/main/java/org/plugin/TestPlugin.java       |   33 -
 .../ext-plugin-version-err/project/pom.xml         |   36 -
 .../ext-realm-error/ext/pom.xml                    |   38 -
 .../ext/src/main/java/org/ext/App.java             |   13 -
 .../main/resources/META-INF/plexus/components.xml  |    1 -
 .../ext-realm-error/project/pom.xml                |   35 -
 .../interp-from-model/pom.xml                      |    7 -
 .../local-repo/org/test/bad-pom/1/bad-pom-1.pom    |    9 -
 .../interp-from-project/project/pom.xml            |   22 -
 .../load-extern-profiles-ioex/pom.xml              |    7 -
 .../load-extern-profiles-xex/pom.xml               |    7 -
 .../load-extern-profiles-xex/profiles.xml          |    4 -
 .../missing-direct-invoke-mojo/plugin/pom.xml      |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   36 -
 .../missing-module-pom/child1/pom.xml              |   19 -
 .../child1/src/main/java/org/test/App.java         |   13 -
 .../child1/src/test/java/org/test/AppTest.java     |   38 -
 .../missing-module-pom/pom.xml                     |   13 -
 .../missing-parent-pom/pom.xml                     |   11 -
 .../missing-req-mojo-param/plugin/pom.xml          |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   38 -
 .../missing-req-mojo-param/project/pom.xml         |   25 -
 .../mojo-config-error/plugin/pom.xml               |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   33 -
 .../src/main/resources/META-INF/maven/plugin.xml   |   38 -
 .../mojo-config-error/project/pom.xml              |   45 -
 .../mojo-exec-err/plugin/pom.xml                   |   49 -
 .../src/main/java/org/plugin/TestPlugin.java       |   33 -
 .../mojo-exec-err/project/pom.xml                  |   26 -
 .../mojo-lookup-err/plugin/pom.xml                 |   54 -
 .../src/main/java/org/plugin/TestPlugin.java       |   42 -
 .../mojo-lookup-err/project/pom.xml                |   25 -
 .../parent-parse-ioex/child/pom.xml                |   10 -
 .../parent-parse-ioex/pom.xml                      |    0
 .../parent-parse-xex/child/pom.xml                 |   10 -
 .../parent-parse-xex/pom.xml                       |    7 -
 .../profile-activator-err/pom.xml                  |   39 -
 .../profile-activator-lookup-err/ext/pom.xml       |   38 -
 .../ext/src/main/java/org/ext/App.java             |   13 -
 .../main/resources/META-INF/plexus/components.xml  |   16 -
 .../profile-activator-lookup-err/project/pom.xml   |   46 -
 .../project-collision/mod1/pom.xml                 |    7 -
 .../project-collision/mod2/pom.xml                 |    7 -
 .../project-collision/pom.xml                      |   12 -
 .../project-cycle/dep/pom.xml                      |   12 -
 .../error-reporting-projects/project-cycle/pom.xml |   19 -
 .../project-dep-missing/pom.xml                    |   22 -
 .../apache/maven/test/error/mojoFailure/App.java   |   13 -
 .../maven/test/error/mojoFailure/AppTest.java      |   38 -
 .../project-mojo-failure/pom.xml                   |   17 -
 .../apache/maven/test/error/mojoFailure/App.java   |   14 -
 .../maven/test/error/mojoFailure/AppTest.java      |   38 -
 .../project-parse-xex/pom.xml                      |   25 -
 .../project-validation/pom.xml                     |   13 -
 .../repo-creation-err/pom.xml                      |   41 -
 .../test/eventing-projects/read-with-deps/pom.xml  |   15 -
 .../read-with-deps/repo/tests/dep/1/dep-1.pom      |    6 -
 .../eventing-projects/simple-read-project/pom.xml  |    6 -
 .../test/extensions/META-INF/plexus/components.xml |   28 -
 .../maven/cli/CLIManagerDocumentationTest.java     |    9 +-
 .../java/org/apache/maven/cli/CLIManagerTest.java  |   31 +-
 .../maven/cli/transfer/FileSizeFormatTest.java     |   21 +-
 .../src/test/plugin-version-references/jar-pom.xml |   32 -
 .../plugin-version-references/maven-plugin-pom.xml |   36 -
 .../bad-module-non-recursive/badmodule/pom.xml     |   14 -
 .../bad-module-non-recursive/goodmodule/pom.xml    |   14 -
 .../test/projects/bad-module-non-recursive/pom.xml |   14 -
 .../src/test/projects/invalid-goal/pom.xml         |   49 -
 .../project/pom.xml                                |   13 -
 .../src/main/java/org/codehaus/m2eclipse/App.java  |   13 -
 .../test/java/org/codehaus/m2eclipse/AppTest.java  |   38 -
 .../parent/1.0-SNAPSHOT/maven-metadata-company.xml |   11 -
 .../parent/1.0-SNAPSHOT/parent-1.0-SNAPSHOT.pom    |   18 -
 .../m2eclipse/parent/maven-metadata-local.xml      |   11 -
 .../settings.xml                                   |   23 -
 .../src/test/projects/optional-dep/pom.xml         |   20 -
 .../readProject-missingModuleIgnored/pom.xml       |   13 -
 .../modules/child1/pom.xml                         |   13 -
 .../readProject-withScmInheritance/pom.xml         |   19 -
 .../org.apache.maven/maven-core/pom.properties     |   18 -
 .../resources/pom-with-distribution-status.xml     |   30 -
 .../test/resources/pom-without-dependencies.xml    |   30 -
 maven-embedder/src/test/resources/pom.xml          |   34 -
 maven-embedder/src/test/resources/pom2.xml         |   48 -
 .../test/resources/settings/invalid-settings.xml   |   24 -
 .../src/test/resources/settings/valid-settings.xml |   27 -
 maven-model-builder/pom.xml                        |   17 +-
 .../maven/model/building/ArtifactModelSource.java  |   27 +-
 .../maven/model/building/DefaultModelBuilder.java  |  296 ++--
 .../model/building/DefaultModelBuilderFactory.java |    4 +-
 .../model/building/DefaultModelProcessor.java      |   39 +-
 .../maven/model/building/FileModelSource.java      |    9 +-
 .../model/building/ModelBuildingEventCatapult.java |    9 +-
 .../apache/maven/model/building/ModelCache.java    |   29 +
 .../apache/maven/model/building/ModelCacheTag.java |   26 +
 .../DefaultDependencyManagementImporter.java       |    7 +-
 .../inheritance/DefaultInheritanceAssembler.java   |   15 +-
 .../AbstractStringBasedModelInterpolator.java      |   88 +-
 .../interpolation/ProblemDetectingValueSource.java |    1 -
 .../StringSearchModelInterpolator.java             |  223 +--
 .../StringVisitorModelInterpolator.java            | 1455 ++++++++++++++++++++
 .../apache/maven/model/io/DefaultModelReader.java  |    7 +-
 .../apache/maven/model/io/DefaultModelWriter.java  |    7 +-
 .../maven/model/locator/DefaultModelLocator.java   |    6 +-
 .../DefaultDependencyManagementInjector.java       |   11 +-
 .../DefaultPluginManagementInjector.java           |   15 +-
 .../apache/maven/model/merge/MavenModelMerger.java |   48 +-
 .../normalization/DefaultModelNormalizer.java      |    7 +-
 .../model/path/DefaultModelPathTranslator.java     |   11 +-
 .../model/path/DefaultModelUrlNormalizer.java      |   11 +-
 .../maven/model/path/DefaultPathTranslator.java    |    6 +-
 .../maven/model/path/DefaultUrlNormalizer.java     |   20 +-
 .../plugin/DefaultPluginConfigurationExpander.java |    7 +-
 .../plugin/DefaultReportConfigurationExpander.java |    7 +-
 .../model/plugin/DefaultReportingConverter.java    |    7 +-
 .../model/profile/DefaultProfileInjector.java      |   23 +-
 .../model/profile/DefaultProfileSelector.java      |   11 +-
 .../profile/activation/FileProfileActivator.java   |   11 +-
 .../activation/JdkVersionProfileActivator.java     |    7 +-
 .../OperatingSystemProfileActivator.java           |    7 +-
 .../activation/PropertyProfileActivator.java       |    7 +-
 .../model/superpom/DefaultSuperPomProvider.java    |   13 +-
 .../model/validation/DefaultModelValidator.java    |  393 ++++--
 maven-model-builder/src/main/mdo/profiles.mdo      |  399 ------
 maven-model-builder/src/site/apt/index.apt         |    2 +
 .../DefaultInheritanceAssemblerTest.java           |   19 +-
 .../AbstractModelInterpolatorTest.java             |    5 +-
 .../StringSearchModelInterpolatorTest.java         |  132 +-
 .../maven/model/path/DefaultUrlNormalizerTest.java |   47 +-
 .../activation/AbstractProfileActivatorTest.java   |   12 +-
 .../validation/DefaultModelValidatorTest.java      |   17 +-
 .../src/test/resources/poms/factory/complex.xml    |    2 +-
 .../src/test/resources/poms/factory/simple.xml     |    2 +-
 .../poms/inheritance/empty-urls-child.xml          |    4 +-
 .../poms/inheritance/empty-urls-expected.xml       |    4 +-
 .../poms/inheritance/empty-urls-parent.xml         |    4 +-
 .../resources/poms/inheritance/flat-urls-child.xml |    4 +-
 .../poms/inheritance/flat-urls-expected.xml        |    2 +-
 .../poms/inheritance/flat-urls-parent.xml          |    4 +-
 .../module-path-not-artifactId-child.xml           |    4 +-
 .../module-path-not-artifactId-expected.xml        |    2 +-
 .../module-path-not-artifactId-parent.xml          |    4 +-
 .../poms/inheritance/no-append-urls-child.xml      |    4 +-
 .../poms/inheritance/no-append-urls-expected.xml   |    2 +-
 .../poms/inheritance/no-append-urls-parent.xml     |    4 +-
 .../poms/inheritance/no-append-urls2-child.xml     |    4 +-
 .../poms/inheritance/no-append-urls2-expected.xml  |    2 +-
 .../poms/inheritance/no-append-urls2-parent.xml    |    4 +-
 .../poms/inheritance/no-append-urls3-child.xml     |    4 +-
 .../poms/inheritance/no-append-urls3-expected.xml  |    2 +-
 .../poms/inheritance/no-append-urls3-parent.xml    |    4 +-
 .../inheritance/plugin-configuration-child.xml     |    4 +-
 .../inheritance/plugin-configuration-expected.xml  |    2 +-
 .../inheritance/plugin-configuration-parent.xml    |    4 +-
 .../tricky-flat-artifactId-urls-child.xml          |    4 +-
 .../tricky-flat-artifactId-urls-expected.xml       |    2 +-
 .../tricky-flat-artifactId-urls-parent.xml         |    4 +-
 .../tricky-flat-directory-urls-child.xml           |    4 +-
 .../tricky-flat-directory-urls-expected.xml        |    2 +-
 .../tricky-flat-directory-urls-parent.xml          |    4 +-
 .../test/resources/poms/inheritance/urls-child.xml |    4 +-
 .../resources/poms/inheritance/urls-expected.xml   |    2 +-
 .../resources/poms/inheritance/urls-parent.xml     |    4 +-
 .../raw-model/bad-ci-friendly-sha1plus.xml         |    4 +-
 .../raw-model/bad-ci-friendly-sha1plus2.xml        |    4 +-
 .../poms/validation/raw-model/bad-ci-friendly.xml  |    4 +-
 .../raw-model/bad-parent-version-latest.xml        |    4 +-
 .../raw-model/bad-parent-version-release.xml       |    4 +-
 .../missing-artifactId-pluginManagement.xml        |    4 +-
 .../raw-model/missing-ga-pluginManagement.xml      |    4 +-
 .../raw-model/missing-groupId-pluginManagement.xml |    4 +-
 .../missing-plugin-version-pluginManagement.xml    |    4 +-
 .../raw-model/ok-ci-friendly-all-expressions.xml   |    4 +-
 .../raw-model/ok-ci-friendly-changelist.xml        |    4 +-
 .../raw-model/ok-ci-friendly-revision.xml          |    4 +-
 .../validation/raw-model/ok-ci-friendly-sha1.xml   |    4 +-
 .../raw-model/self-referencing-classifier.xml      |    4 +-
 .../poms/validation/raw-model/self-referencing.xml |    4 +-
 maven-model/pom.xml                                |   62 +-
 .../org/apache/maven/model/merge/ModelMerger.java  |  840 +++++------
 maven-model/src/main/mdo/maven.mdo                 |   21 +-
 maven-model/src/site/apt/index.apt                 |    2 +-
 .../apache/maven/model/merge/ModelMergerTest.java  |  430 ++++++
 maven-plugin-api/pom.xml                           |   10 +-
 .../plugin/lifecycle/LifecycleXpp3ReaderTest.java  |   55 -
 maven-plugin-api/src/test/resources/lifecycle.xml  |   39 -
 maven-repository-metadata/pom.xml                  |    4 +-
 maven-resolver-provider/pom.xml                    |    4 +-
 .../internal/DefaultArtifactDescriptorReader.java  |    8 +-
 .../repository/internal/DefaultModelResolver.java  |    7 +-
 .../internal/DefaultVersionResolver.java           |   41 +-
 .../internal/MavenRepositorySystemUtils.java       |    4 +-
 .../internal/RemoteSnapshotMetadataTest.java       |    2 +-
 .../repo/ut/simple/artifact/1.0/artifact-1.0.pom   |    4 +-
 .../ut/simple/dependency/1.0/dependency-1.0.pom    |    4 +-
 .../repo/ut/simple/parent/1.0/parent-1.0.pom       |    4 +-
 maven-settings-builder/pom.xml                     |   14 +-
 .../settings/building/DefaultSettingsBuilder.java  |   41 +-
 .../building/DefaultSettingsBuilderFactory.java    |   10 +-
 .../building/DefaultSettingsBuildingResult.java    |    2 +-
 .../building/DefaultSettingsProblemCollector.java  |    2 +-
 .../settings/crypto/DefaultSettingsDecrypter.java  |   17 +-
 .../crypto/DefaultSettingsDecryptionResult.java    |    6 +-
 .../maven/settings/io/DefaultSettingsReader.java   |    7 +-
 .../maven/settings/io/DefaultSettingsWriter.java   |    7 +-
 .../validation/DefaultSettingsValidator.java       |    7 +-
 maven-settings/pom.xml                             |    4 +-
 maven-slf4j-provider/pom.xml                       |   10 +-
 .../org/slf4j/impl/MavenFailOnSeverityLogger.java  |  142 ++
 ...eLoggerFactory.java => MavenLoggerFactory.java} |   43 +-
 .../java/org/slf4j/impl/MavenSimpleLogger.java     |   24 +-
 .../java/org/slf4j/impl/StaticLoggerBinder.java    |    4 +-
 .../org/slf4j/impl/MavenLoggerFactoryTest.java     |   90 ++
 .../pom.xml                                        |   18 +-
 .../apache/maven/logwrapper/LogLevelRecorder.java  |   41 +-
 .../maven/logwrapper/MavenSlf4jWrapperFactory.java |   17 +-
 .../src/site/site.xml                              |    0
 .../maven/logwrapper/LogLevelRecorderTest.java     |   41 +-
 pom.xml                                            |  132 +-
 509 files changed, 6232 insertions(+), 7097 deletions(-)
 create mode 100644 .asf.yaml
 create mode 100644 apache-maven/src/main/appended-resources/META-INF/NOTICE.vm
 copy LICENSE => apache-maven/src/main/appended-resources/licenses/Apache-2.0.txt (100%)
 create mode 100644 apache-maven/src/main/appended-resources/licenses/MIT-jsoup-1.12.1.txt
 create mode 100644 apache-maven/src/main/appended-resources/licenses/MIT-slf4j-api-1.7.29.txt
 delete mode 100644 apache-maven/src/main/appended-resources/licenses/MIT.txt
 create mode 100644 maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionArtifactFilter.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/toolchain/io/DefaultToolchainsWriter.java
 create mode 100644 maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsWriter.java
 create mode 100644 maven-core/src/test/java/org/apache/maven/artifact/resolver/filter/ExclusionArtifactFilterTest.java
 create mode 100644 maven-core/src/test/projects/project-builder/MNG-6716/project/pom.xml
 create mode 100644 maven-core/src/test/projects/project-builder/MNG-6723/child/pom.xml
 create mode 100644 maven-core/src/test/projects/project-builder/MNG-6723/pom.xml
 rename maven-embedder/src/test/error-reporting-projects/aggregate-mojo-failure/project/pom.xml => maven-core/src/test/resources/projects/future-model-version-pom.xml (83%)
 rename maven-embedder/src/test/error-reporting-projects/ext-deps-resolve-err/local-repo/org/apache/maven/errortest/test-maven-ext-dep/1/test-maven-ext-dep-1.pom => maven-core/src/test/resources/projects/future-schema-model-version-pom.xml (79%)
 copy maven-core/src/test/resources/projects/{base-directory-alignment/subproject/project-which-needs-directory-alignment-child.xml => past-model-version-pom.xml} (76%)
 copy maven-core/src/main/java/org/apache/maven/MissingModuleException.java => maven-embedder/src/main/java/org/apache/maven/cli/ResolveFile.java (56%)
 delete mode 100644 maven-embedder/src/test/embedder-test-project/pom.xml
 delete mode 100644 maven-embedder/src/test/embedder-test-project/src/main/java/org/apache/maven/App.java
 delete mode 100644 maven-embedder/src/test/embedder-test-project/src/test/java/org/apache/maven/AppTest.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/aggregate-mojo-failure/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/aggregate-mojo-failure/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-build-plan/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-build-plan/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-build-plan/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-dep-version/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-direct-deps/local-repo/org/apache/maven/errortest/test-maven-ext/1/test-maven-ext-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-direct-deps/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-dep-ver/local-repo/org/apache/maven/errortest/bad-ext-plugin-dep-ver-maven-plugin/1/bad-ext-plugin-dep-ver-maven-plugin-1.jar
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-dep-ver/local-repo/org/apache/maven/errortest/bad-ext-plugin-dep-ver-maven-plugin/1/bad-ext-plugin-dep-ver-maven-plugin-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-dep-ver/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-dep-ver/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-dep-ver/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-maven-ver/local-repo/org/apache/maven/errortest/bad-ext-plugin-maven-ver-maven-plugin/1/bad-ext-plugin-maven-ver-maven-plugin-1.jar
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-maven-ver/local-repo/org/apache/maven/errortest/bad-ext-plugin-maven-ver-maven-plugin/1/bad-ext-plugin-maven-ver-maven-plugin-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-maven-ver/local-repo/org/apache/maven/errortest/bad-ext-plugin-maven-ver-maven-plugin/maven-metadata-local.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-maven-ver/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-maven-ver/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-ext-plugin-maven-ver/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-maven-version/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-mg-dep-version/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-non-dep-version/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-profile-repo/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/bad-profile-repo/profiles.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/config-rdonly-mojo-param/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/config-rdonly-mojo-param/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/config-rdonly-mojo-param/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/deploy-repo-creation-err/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/duplicated-attachments/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/duplicated-attachments/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/duplicated-attachments/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-loading-plugin/local-repo/org/apache/maven/errortest/err-loading-plugin-maven-plugin/1/err-loading-plugin-maven-plugin-1.jar
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-loading-plugin/local-repo/org/apache/maven/errortest/err-loading-plugin-maven-plugin/1/err-loading-plugin-maven-plugin-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-loading-plugin/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-ext-plugin/local-repo/org/apache/maven/errortest/dep/1/dep-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-ext-plugin/local-repo/org/apache/maven/errortest/err-resolving-ext-plugin-maven-plugin/1/err-resolving-ext-plugin-maven-plugin-1.jar
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-ext-plugin/local-repo/org/apache/maven/errortest/err-resolving-ext-plugin-maven-plugin/1/err-resolving-ext-plugin-maven-plugin-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-ext-plugin/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/local-repo/org/apache/maven/errortest/dep/1/dep-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/main/java/org/apache/maven/test/error/mojoFailure/App.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/err-resolving-project-dep/project/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-deps-resolve-err/local-repo/org/apache/maven/errortest/test-maven-ext/1/test-maven-ext-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-deps-resolve-err/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-artifact-missing/local-repo/org/apache/maven/errortest/ext-plugin-artifact-missing-maven-plugin/1/ext-plugin-artifact-missing-maven-plugin-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-artifact-missing/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-realm-error/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-realm-error/plugin/src/main/java/org/plugin/ComponentOne.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-realm-error/plugin/src/main/java/org/plugin/ComponentTwo.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-realm-error/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-realm-error/plugin/src/main/resources/META-INF/plexus/components.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-realm-error/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-version-err/local-repo/org/apache/maven/errortest/ext-plugin-version-err-maven-plugin/1/ext-plugin-version-err-maven-plugin-1.jar
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-version-err/local-repo/org/apache/maven/errortest/ext-plugin-version-err-maven-plugin/1/ext-plugin-version-err-maven-plugin-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-version-err/local-repo/org/apache/maven/errortest/ext-plugin-version-err-maven-plugin/maven-metadata-local.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-version-err/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-version-err/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-plugin-version-err/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-realm-error/ext/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-realm-error/ext/src/main/java/org/ext/App.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-realm-error/ext/src/main/resources/META-INF/plexus/components.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/ext-realm-error/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/interp-from-model/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/interp-from-project/project/local-repo/org/test/bad-pom/1/bad-pom-1.pom
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/interp-from-project/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/load-extern-profiles-ioex/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/load-extern-profiles-xex/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/load-extern-profiles-xex/profiles.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-direct-invoke-mojo/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-direct-invoke-mojo/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/main/java/org/test/App.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-module-pom/child1/src/test/java/org/test/AppTest.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-module-pom/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-parent-pom/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-req-mojo-param/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-req-mojo-param/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/missing-req-mojo-param/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-config-error/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-config-error/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-config-error/plugin/src/main/resources/META-INF/maven/plugin.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-config-error/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-exec-err/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-exec-err/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-exec-err/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/plugin/src/main/java/org/plugin/TestPlugin.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/mojo-lookup-err/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/parent-parse-ioex/child/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/parent-parse-ioex/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/parent-parse-xex/child/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/parent-parse-xex/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/profile-activator-err/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/profile-activator-lookup-err/ext/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/profile-activator-lookup-err/ext/src/main/java/org/ext/App.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/profile-activator-lookup-err/ext/src/main/resources/META-INF/plexus/components.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/profile-activator-lookup-err/project/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-collision/mod1/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-collision/mod2/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-collision/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-cycle/dep/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-cycle/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-dep-missing/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/main/java/org/apache/maven/test/error/mojoFailure/App.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-dep-missing/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-mojo-failure/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/main/java/org/apache/maven/test/error/mojoFailure/App.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-mojo-failure/src/test/java/org/apache/maven/test/error/mojoFailure/AppTest.java
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-parse-xex/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/project-validation/pom.xml
 delete mode 100644 maven-embedder/src/test/error-reporting-projects/repo-creation-err/pom.xml
 delete mode 100644 maven-embedder/src/test/eventing-projects/read-with-deps/pom.xml
 delete mode 100644 maven-embedder/src/test/eventing-projects/read-with-deps/repo/tests/dep/1/dep-1.pom
 delete mode 100644 maven-embedder/src/test/eventing-projects/simple-read-project/pom.xml
 delete mode 100644 maven-embedder/src/test/extensions/META-INF/plexus/components.xml
 copy maven-compat/src/test/java/org/apache/maven/artifact/resolver/TestTransferListener.java => maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerTest.java (51%)
 delete mode 100644 maven-embedder/src/test/plugin-version-references/jar-pom.xml
 delete mode 100644 maven-embedder/src/test/plugin-version-references/maven-plugin-pom.xml
 delete mode 100644 maven-embedder/src/test/projects/bad-module-non-recursive/badmodule/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/bad-module-non-recursive/goodmodule/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/bad-module-non-recursive/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/invalid-goal/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/main/java/org/codehaus/m2eclipse/App.java
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/project/src/test/java/org/codehaus/m2eclipse/AppTest.java
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/repository/org/codehaus/m2eclipse/parent/1.0-SNAPSHOT/maven-metadata-company.xml
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/repository/org/codehaus/m2eclipse/parent/1.0-SNAPSHOT/parent-1.0-SNAPSHOT.pom
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/repository/org/codehaus/m2eclipse/parent/maven-metadata-local.xml
 delete mode 100644 maven-embedder/src/test/projects/isolated-project-getting-parent-pom/settings.xml
 delete mode 100644 maven-embedder/src/test/projects/optional-dep/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/readProject-missingModuleIgnored/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/readProject-withScmInheritance/modules/child1/pom.xml
 delete mode 100644 maven-embedder/src/test/projects/readProject-withScmInheritance/pom.xml
 delete mode 100644 maven-embedder/src/test/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties
 delete mode 100644 maven-embedder/src/test/resources/pom-with-distribution-status.xml
 delete mode 100644 maven-embedder/src/test/resources/pom-without-dependencies.xml
 delete mode 100644 maven-embedder/src/test/resources/pom.xml
 delete mode 100644 maven-embedder/src/test/resources/pom2.xml
 delete mode 100644 maven-embedder/src/test/resources/settings/invalid-settings.xml
 delete mode 100644 maven-embedder/src/test/resources/settings/valid-settings.xml
 copy maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java => maven-model-builder/src/main/java/org/apache/maven/model/building/ArtifactModelSource.java (69%)
 create mode 100644 maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.java
 delete mode 100644 maven-model-builder/src/main/mdo/profiles.mdo
 create mode 100644 maven-model/src/test/java/org/apache/maven/model/merge/ModelMergerTest.java
 delete mode 100644 maven-plugin-api/src/test/java/org/apache/maven/plugin/lifecycle/LifecycleXpp3ReaderTest.java
 delete mode 100644 maven-plugin-api/src/test/resources/lifecycle.xml
 create mode 100644 maven-slf4j-provider/src/main/java/org/slf4j/impl/MavenFailOnSeverityLogger.java
 rename maven-slf4j-provider/src/main/java/org/slf4j/impl/{MavenSimpleLoggerFactory.java => MavenLoggerFactory.java} (52%)
 create mode 100644 maven-slf4j-provider/src/test/java/org/slf4j/impl/MavenLoggerFactoryTest.java
 copy {maven-builder-support => maven-slf4j-wrapper}/pom.xml (72%)
 copy maven-core/src/main/java/org/apache/maven/extension/internal/CoreExportsProvider.java => maven-slf4j-wrapper/src/main/java/org/apache/maven/logwrapper/LogLevelRecorder.java (52%)
 copy maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManagerDelegate.java => maven-slf4j-wrapper/src/main/java/org/apache/maven/logwrapper/MavenSlf4jWrapperFactory.java (70%)
 copy {maven-slf4j-provider => maven-slf4j-wrapper}/src/site/site.xml (100%)
 copy maven-compat/src/main/java/org/apache/maven/repository/metadata/MetadataResolutionException.java => maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java (55%)


[maven] 01/01: [MNG-5868] Adding serval times the same artifact via MavenProjectHelper (attachArtifact) does not produce a failure

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

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

commit f57bcc2be683bb3702790a4946eced315e0bd989
Author: Christian Schulte <sc...@apache.org>
AuthorDate: Thu Dec 17 22:43:47 2015 +0100

    [MNG-5868] Adding serval times the same artifact via MavenProjectHelper (attachArtifact) does not produce a failure
    
    o Updated to restore the behaviour consensus had been reached in MNG-5387.
    o Kept 'MavenProject.getAttachedArtifacts' to return an unmodifiable list.
    o Updated to log an information message when an existing artifact got replaced.
---
 .../maven/project/DefaultMavenProjectHelper.java   | 13 ++++----
 .../org/apache/maven/project/MavenProject.java     | 39 ++++++++++++++++------
 2 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
index 1972242..d65aa73 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
@@ -94,16 +94,15 @@ public class DefaultMavenProjectHelper
         attachArtifact( project, artifact );
     }
 
-    /**
-     * Add an attached artifact or replace the file for an existing artifact.
-     *
-     * @see MavenProject#addAttachedArtifact(org.apache.maven.artifact.Artifact)
-     * @param project project reference.
-     * @param artifact artifact to add or replace.
-     */
     public void attachArtifact( MavenProject project, Artifact artifact )
     {
+        final int size = project.getAttachedArtifacts().size();
         project.addAttachedArtifact( artifact );
+
+        if ( project.getAttachedArtifacts().size() == size && this.getLogger().isInfoEnabled() )
+        {
+            this.getLogger().info( String.format( "Replaced artifact %s.", artifact ) );
+        }
     }
 
     public void addResource( MavenProject project, String resourceDirectory, List<String> includes,
diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 896d641..c1fb095 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@ -914,19 +914,38 @@ public class MavenProject
     }
 
     /**
-     * Add or replace an artifact. This method is now deprecated. Use the @{MavenProjectHelper} to attach artifacts to a
-     * project. In spite of the 'throws' declaration on this API, this method has never thrown an exception since Maven
-     * 3.0.x. Historically, it logged and ignored a second addition of the same g/a/v/c/t. Now it replaces the file for
-     * the artifact, so that plugins (e.g. shade) can change the pathname of the file for a particular set of
-     * coordinates.
+     * Adds or replaces an artifact.
      *
-     * @param artifact the artifact to add or replace.
-     * @throws DuplicateArtifactAttachmentException
+     * @param artifact The artifact to add or replace.
+     *
+     * @deprecated Please use {@link MavenProjectHelper}
+     * @see https://issues.apache.org/jira/browse/MNG-5868
+     * @see https://issues.apache.org/jira/browse/MNG-5387
+     * @see https://issues.apache.org/jira/browse/MNG-4013
+     * @see https://issues.apache.org/jira/browse/MNG-3119
      */
+    @Deprecated
     public void addAttachedArtifact( Artifact artifact )
-        throws DuplicateArtifactAttachmentException
     {
-        getAttachedArtifacts().add( artifact );
+        getAttachedArtifacts();
+        assert this.attachedArtifacts != null : "Unexpected missing attached artifacts.";
+
+        boolean replaced = false;
+        for ( int i = 0, s0 = this.attachedArtifacts.size(); i < s0; i++ )
+        {
+            final Artifact a = this.attachedArtifacts.get( i );
+
+            if ( a.equals( artifact ) )
+            {
+                this.attachedArtifacts.set( i, artifact );
+                replaced = true;
+            }
+        }
+
+        if ( !replaced )
+        {
+            this.attachedArtifacts.add( artifact );
+        }
     }
 
     public List<Artifact> getAttachedArtifacts()
@@ -935,7 +954,7 @@ public class MavenProject
         {
             attachedArtifacts = new ArrayList<>();
         }
-        return attachedArtifacts;
+        return Collections.unmodifiableList( attachedArtifacts );
     }
 
     public Xpp3Dom getGoalConfiguration( String pluginGroupId, String pluginArtifactId, String executionId,