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 21:28:05 UTC
[maven] branch MNG-7122 updated (313f847 -> 184db56)
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a change to branch MNG-7122
in repository https://gitbox.apache.org/repos/asf/maven.git.
discard 313f847 [MNG-7122] Require specific Maven compatibility version for plugins
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
add 2579622 fix indentation
add b31f3ae [MNG-7291] Avoid String concatenation in loops (#572)
add 4daa48e [MNG-7287] Simplify assertion with simpler and equivalent calls
new 184db56 [MNG-7122] Require specific Maven compatibility version for plugins
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 (313f847)
\
N -- N -- N refs/heads/MNG-7122 (184db56)
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 | 16 +-
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 +-
apache-maven/src/assembly/wrapper/source.xml | 4 +-
.../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 ++
build/checkstyle-suppressions.xml | 30 +
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 +
.../maven/artifact/versioning/Restriction.java | 5 +-
.../maven/artifact/versioning/VersionRange.java | 3 +-
.../apache/maven/artifact/ArtifactUtilsTest.java | 16 +-
.../apache/maven/artifact/DefaultArtifactTest.java | 5 +-
.../versioning/DefaultArtifactVersionTest.java | 14 +-
maven-bom/pom.xml | 149 ++++
.../src/site/apt/index.apt | 15 +-
maven-bom/src/site/site.xml | 50 ++
.../building/DefaultProblemCollectorTest.java | 3 +-
.../apache/maven/building/DefaultProblemTest.java | 3 +-
maven-compat/pom.xml | 12 +-
.../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 | 41 +-
.../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 | 5 +-
.../artifact/deployer/ArtifactDeployerTest.java | 37 +-
.../deployer/SimpleArtifactMetadataSource.java | 1 -
.../factory/DefaultArtifactFactoryTest.java | 2 +-
.../artifact/installer/ArtifactInstallerTest.java | 29 +-
.../resolver/DefaultArtifactResolverTest.java | 1 -
.../transform/TransformationManagerTest.java | 2 +-
.../manager/DefaultProfileManagerTest.java | 2 +-
.../project/AbstractMavenProjectTestCase.java | 3 +-
.../apache/maven/project/ProjectClasspathTest.java | 7 +-
.../maven/project/TestMavenRepositorySystem.java | 2 -
.../apache/maven/project/TestProjectBuilder.java | 16 +
.../AbstractProjectInheritanceTestCase.java | 2 +-
.../inheritance/t12/ProjectInheritanceTest.java | 3 +-
.../repository/LegacyRepositorySystemTest.java | 6 +-
.../maven/repository/MirrorProcessorTest.java | 4 +-
.../repository/legacy/DefaultWagonManagerTest.java | 7 +-
.../legacy/LegacyRepositorySystemTest.java | 4 +-
.../maven/repository/legacy/PerLookupWagon.java | 3 -
.../resolver/DefaultArtifactCollectorTest.java | 5 +-
.../conflict/AbstractConflictResolverTest.java | 3 +-
.../DefaultClasspathTransformationTest.java | 2 +-
.../metadata/DefaultGraphConflictResolverTest.java | 2 +-
maven-core/pom.xml | 26 +-
.../main/java/org/apache/maven/DefaultMaven.java | 52 +-
.../maven/DefaultProjectDependenciesResolver.java | 13 +-
.../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 | 48 +-
.../maven/classrealm/DefaultClassRealmManager.java | 11 +-
.../eventspy/internal/EventSpyDispatcher.java | 16 +-
.../maven/exception/DefaultExceptionHandler.java | 5 +-
.../apache/maven/execution/ActivationSettings.java | 58 ++
.../maven/execution/BuildResumptionAnalyzer.java | 2 +-
.../execution/BuildResumptionDataRepository.java | 6 +-
.../DefaultBuildResumptionDataRepository.java | 2 +-
.../execution/DefaultMavenExecutionRequest.java | 37 +-
.../maven/execution/MavenExecutionRequest.java | 18 +
.../org/apache/maven/execution/MavenSession.java | 39 +-
.../apache/maven/execution/ProfileActivation.java | 33 +-
.../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 | 36 +-
.../maven/lifecycle/internal/MojoExecutor.java | 24 +-
.../lifecycle/internal/builder/BuilderCommon.java | 48 +-
.../multithreaded/MultiThreadedBuilder.java | 12 +-
.../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 | 28 +-
.../plugin/internal/DefaultPluginManager.java | 30 +-
.../plugin/internal/MavenPluginValidator.java | 22 +-
.../maven/plugin/internal/MojoLogWrapper.java | 32 +-
.../prefix/NoPluginFoundForPrefixException.java | 12 +-
.../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 | 56 +-
.../project/DefaultProjectBuildingHelper.java | 38 +-
.../DefaultProjectDependenciesResolver.java | 32 +-
.../org/apache/maven/project/MavenProject.java | 85 +--
.../apache/maven/project/ProjectModelResolver.java | 2 +-
.../org/apache/maven/project/ProjectSorter.java | 58 +-
.../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/lifecycles.apt.vm | 8 +-
.../maven/AbstractCoreMavenComponentTestCase.java | 6 +-
.../maven/ProjectDependenciesResolverTest.java | 2 +-
.../artifact/handler/ArtifactHandlerTest.java | 5 +-
.../DefaultBuildResumptionDataRepositoryTest.java | 6 +-
.../DefaultMavenExecutionRequestPopulatorTest.java | 27 +-
.../maven/graph/DefaultGraphBuilderTest.java | 227 ++++--
.../maven/lifecycle/DefaultLifecyclesTest.java | 6 +-
.../lifecycle/LifecycleExecutorSubModulesTest.java | 3 +-
.../maven/lifecycle/LifecycleExecutorTest.java | 2 -
.../internal/LifecycleDependencyResolverTest.java | 5 +-
.../internal/{ => builder}/BuilderCommonTest.java | 20 +-
.../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 +-
.../org/apache/maven/plugin/PluginManagerTest.java | 2 -
.../PluginParameterExpressionEvaluatorTest.java | 4 +-
.../plugin/internal/MavenPluginValidatorTest.java | 105 +++
.../project/AbstractMavenProjectTestCase.java | 3 +-
.../project/DefaultMavenProjectBuilderTest.java | 77 ++-
.../org/apache/maven/project/MavenProjectTest.java | 43 ++
.../apache/maven/project/PomConstructionTest.java | 45 +-
.../apache/maven/project/ProjectBuilderTest.java | 26 +
.../maven/project/ProjectModelResolverTest.java | 2 +-
.../apache/maven/project/TestMetadataSource.java | 9 +
.../project/artifact/MavenMetadataSourceTest.java | 2 +-
.../internal/DefaultRuntimeInformationTest.java | 5 +-
.../settings/PomConstructionWithSettingsTest.java | 4 +-
.../DefaultToolchainManagerPrivateTest.java | 10 +-
.../toolchain/DefaultToolchainManagerTest.java | 11 +-
.../maven/toolchain/DefaultToolchainTest.java | 7 +-
.../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/resources/META-INF/plexus/components.xml | 107 ---
.../resources/org/apache/maven/lifecycle/pom.xml | 2 +-
.../resources/projects/modelsourcebasedir/pom.xml | 19 +
maven-embedder/pom.xml | 4 +-
.../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 | 145 ++--
.../SettingsXmlConfigurationProcessor.java | 12 +-
.../maven/cli/event/ExecutionEventLogger.java | 47 +-
.../internal/BootstrapCoreExtensionManager.java | 11 +-
.../maven/cli/CLIManagerDocumentationTest.java | 4 +-
.../java/org/apache/maven/cli/CLIManagerTest.java | 2 +-
.../java/org/apache/maven/cli/MavenCliTest.java | 95 ++-
.../maven/cli/event/ExecutionEventLoggerTest.java | 50 +-
.../src/test/projects/config/.mvn/maven.config | 5 +-
.../mavenConfigProperties/.mvn/maven.config | 4 +-
maven-model-builder/pom.xml | 2 +-
.../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 | 423 +++++++++---
.../model/building/DefaultModelBuilderFactory.java | 215 ++++--
.../model/building/DefaultModelProcessor.java | 14 +-
.../maven/model/building/FileToRawModelMerger.java | 8 +-
.../maven/model/building/ModelBuildingRequest.java | 2 +-
.../apache/maven/model/building/ModelCache.java | 4 +-
.../apache/maven/model/building/ModelProblem.java | 1 -
.../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 | 25 +-
.../building/DefaultModelBuilderFactoryTest.java | 35 +-
.../model/building/DefaultModelBuilderTest.java | 21 +-
.../maven/model/building/FileModelSourceTest.java | 4 +-
.../DefaultInheritanceAssemblerTest.java | 5 +-
.../StringSearchModelInterpolatorTest.java | 1 -
.../StringVisitorModelInterpolatorTest.java | 2 +-
.../activation/AbstractProfileActivatorTest.java | 17 +-
.../activation/FileProfileActivatorTest.java | 125 ++++
.../activation/JdkVersionProfileActivatorTest.java | 9 +-
.../activation/PropertyProfileActivatorTest.java | 9 +-
.../validation/DefaultModelValidatorTest.java | 94 ++-
.../repository-with-basedir-expression.xml | 38 +-
.../raw-model/repository-with-expression.xml | 42 +-
{maven-xml => maven-model-transform}/pom.xml | 8 +-
.../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 | 3 +-
.../model/transform}/ConsumerPomXMLFilterTest.java | 24 +-
.../model/transform}/ModulesXMLFilterTest.java | 26 +-
.../model/transform}/ParentXMLFilterTest.java | 35 +-
.../transform}/ReactorDependencyXMLFilterTest.java | 22 +-
.../transform}/RelativePathXMLFilterTest.java | 14 +-
.../model/transform}/sax/ChainedFilterTest.java | 4 +-
.../transform/sax}/CommentRenormalizerTest.java | 10 +-
.../model/transform}/sax/SAXEventUtilsTest.java | 3 +-
maven-model/pom.xml | 4 -
.../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 | 29 +-
maven-resolver-provider/pom.xml | 12 +-
.../internal/ArtifactDescriptorReaderDelegate.java | 4 +-
.../internal/DefaultArtifactDescriptorReader.java | 115 +---
.../repository/internal/DefaultModelResolver.java | 2 +-
.../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 | 5 +-
.../DefaultArtifactDescriptorReaderTest.java | 6 +-
.../internal/DefaultVersionResolverTest.java | 2 -
.../internal/MavenRepositorySystemUtilsTest.java | 19 +-
maven-settings-builder/pom.xml | 2 +-
.../crypto/MavenSecDispatcherProvider.java | 57 ++
.../maven/settings/io/DefaultSettingsReader.java | 4 +-
maven-settings/pom.xml | 2 +-
maven-settings/src/main/mdo/settings.mdo | 17 +-
maven-settings/src/site/apt/index.apt | 2 +-
maven-test-support/pom.xml | 78 ---
.../org/apache/maven/test/PlexusExtension.java | 341 ---------
maven-wrapper/pom.xml | 1 +
.../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
pom.xml | 185 +++--
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
367 files changed, 7032 insertions(+), 4494 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
create mode 100644 build/checkstyle-suppressions.xml
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/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/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%)
rename maven-test-support/src/main/java/org/apache/maven/test/PlexusTest.java => maven-core/src/main/java/org/apache/maven/plugin/internal/MavenPluginValidator.java (63%)
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/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 (84%)
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/modelsourcebasedir/pom.xml
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-xml/pom.xml => maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-basedir-expression.xml (61%)
copy maven-xml/pom.xml => maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-expression.xml (61%)
rename {maven-xml => maven-model-transform}/pom.xml (89%)
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 (95%)
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 (87%)
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 (91%)
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 (94%)
rename {maven-xml/src/test/java/org/apache/maven/xml => maven-model-transform/src/test/java/org/apache/maven/model/transform}/sax/ChainedFilterTest.java (97%)
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 (88%)
rename {maven-xml/src/test/java/org/apache/maven/xml => maven-model-transform/src/test/java/org/apache/maven/model/transform}/sax/SAXEventUtilsTest.java (96%)
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
delete mode 100644 maven-test-support/pom.xml
delete mode 100644 maven-test-support/src/main/java/org/apache/maven/test/PlexusExtension.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-7122] Require specific Maven compatibility
version for plugins
Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch MNG-7122
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 184db56e4f149fd0b6931a72af22fa184b15a2bd
Author: rfscholte <rf...@apache.org>
AuthorDate: Sun Mar 21 14:14:11 2021 +0100
[MNG-7122] Require specific Maven compatibility version for plugins
---
.../DefaultPluginDependenciesResolver.java | 26 ++++++-
.../internal/IncompatibleDependencyException.java | 37 ++++++++++
.../plugin/internal/MavenCompatibilityChecker.java | 80 ++++++++++++++++++++
.../internal/MavenCompatibilityCheckerTest.java | 85 ++++++++++++++++++++++
4 files changed, 227 insertions(+), 1 deletion(-)
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
index 22127c5..4f53a7b 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
@@ -59,7 +59,11 @@ import org.eclipse.aether.util.filter.AndDependencyFilter;
import org.eclipse.aether.util.filter.ScopeDependencyFilter;
import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
import org.eclipse.aether.util.graph.selector.AndDependencySelector;
+import org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
+import org.eclipse.aether.util.version.GenericVersionScheme;
+import org.eclipse.aether.version.InvalidVersionSpecificationException;
+import org.eclipse.aether.version.VersionRange;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -76,16 +80,33 @@ import org.slf4j.LoggerFactory;
public class DefaultPluginDependenciesResolver
implements PluginDependenciesResolver
{
+ private static final String MAVENCORE_COMPATIBILITY_VERSIONS = "(,)";
+
private static final String REPOSITORY_CONTEXT = "plugin";
private final Logger logger = LoggerFactory.getLogger( getClass() );
private final RepositorySystem repoSystem;
+ private final VersionRange mavenCompatibilityVersionRange;
+
@Inject
public DefaultPluginDependenciesResolver( RepositorySystem repoSystem )
{
this.repoSystem = repoSystem;
+
+ try
+ {
+ // o.a.m.plugins:maven-compiler-plugin:jar:3.1 depends on o.a.m:maven-toolchain:jar:1.0
+ // maven-its:mng-4666 depends on o.a.m:maven-model:0.1-stub
+ this.mavenCompatibilityVersionRange =
+ new GenericVersionScheme().parseVersionRange( MAVENCORE_COMPATIBILITY_VERSIONS );
+ }
+ catch ( InvalidVersionSpecificationException e )
+ {
+ throw new RuntimeException( e );
+ }
+
}
private Artifact toArtifact( Plugin plugin, RepositorySystemSession session )
@@ -182,7 +203,10 @@ public class DefaultPluginDependenciesResolver
DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session );
pluginSession.setDependencySelector( selector );
- pluginSession.setDependencyGraphTransformer( session.getDependencyGraphTransformer() );
+ pluginSession.setDependencyGraphTransformer(
+ ChainedDependencyGraphTransformer.newInstance(
+ session.getDependencyGraphTransformer(),
+ new MavenCompatibilityChecker( mavenCompatibilityVersionRange ) ) );
CollectRequest request = new CollectRequest();
request.setRequestContext( REPOSITORY_CONTEXT );
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/IncompatibleDependencyException.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/IncompatibleDependencyException.java
new file mode 100644
index 0000000..6a1d074
--- /dev/null
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/IncompatibleDependencyException.java
@@ -0,0 +1,37 @@
+package org.apache.maven.plugin.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.eclipse.aether.graph.DependencyNode;
+
+class IncompatibleDependencyException extends Exception
+{
+ private final DependencyNode node;
+
+ IncompatibleDependencyException( DependencyNode node )
+ {
+ this.node = node;
+ }
+
+ DependencyNode getNode()
+ {
+ return node;
+ }
+}
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/MavenCompatibilityChecker.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/MavenCompatibilityChecker.java
new file mode 100644
index 0000000..44b3c5a
--- /dev/null
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/MavenCompatibilityChecker.java
@@ -0,0 +1,80 @@
+package org.apache.maven.plugin.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.eclipse.aether.RepositoryException;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.collection.DependencyGraphTransformationContext;
+import org.eclipse.aether.collection.DependencyGraphTransformer;
+import org.eclipse.aether.graph.DependencyNode;
+import org.eclipse.aether.version.VersionRange;
+
+/**
+ * Ensure that Maven core dependencies fit within the versionRange
+ *
+ * @since 4.0.0
+ */
+class MavenCompatibilityChecker implements DependencyGraphTransformer
+{
+ private final VersionRange versionRange;
+
+ MavenCompatibilityChecker( VersionRange versionRange )
+ {
+ this.versionRange = versionRange;
+ }
+
+ @Override
+ public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
+ throws RepositoryException
+ {
+ try
+ {
+ validateNode( node );
+ }
+ catch ( IncompatibleDependencyException e )
+ {
+ throw new RepositoryException(
+ String.format( "%s depends on %s, which does not match the required Maven versionrange of %s",
+ node.getArtifact(), e.getNode().getArtifact(), versionRange ) );
+ }
+
+ return node;
+ }
+
+ private void validateNode( DependencyNode node )
+ throws IncompatibleDependencyException
+ {
+ if ( isCoreArtifact( node.getArtifact() ) && !versionRange.containsVersion( node.getVersion() ) )
+ {
+ throw new IncompatibleDependencyException( node );
+ }
+
+ for ( DependencyNode child : node.getChildren() )
+ {
+ validateNode( child );
+ }
+ }
+
+ private static boolean isCoreArtifact( Artifact artifact )
+ {
+ return artifact.getArtifactId().startsWith( "maven-" )
+ && artifact.getGroupId().equals( "org.apache.maven" );
+ }
+}
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/internal/MavenCompatibilityCheckerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/internal/MavenCompatibilityCheckerTest.java
new file mode 100644
index 0000000..5b4bc29
--- /dev/null
+++ b/maven-core/src/test/java/org/apache/maven/plugin/internal/MavenCompatibilityCheckerTest.java
@@ -0,0 +1,85 @@
+package org.apache.maven.plugin.internal;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import java.util.Collections;
+
+import org.eclipse.aether.RepositoryException;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.graph.DefaultDependencyNode;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.util.version.GenericVersionScheme;
+import org.eclipse.aether.version.VersionScheme;
+import org.junit.jupiter.api.Test;
+
+class MavenCompatibilityCheckerTest
+{
+ private final VersionScheme versionScheme = new GenericVersionScheme();
+
+ @Test
+ void compatible() throws Exception
+ {
+ MavenCompatibilityChecker checker =
+ new MavenCompatibilityChecker( versionScheme.parseVersionRange( "[3.0,)" ) );
+
+ Artifact pluginArtifact = new DefaultArtifact( "o.a.m.p:plugin:1.0" );
+ Dependency plugin = new Dependency( pluginArtifact, "compile" );
+ DefaultDependencyNode node = new DefaultDependencyNode( plugin );
+ node.setVersion( versionScheme.parseVersion( "1.0" ) );
+
+ Artifact coreArtifact = new DefaultArtifact( "org.apache.maven:maven-core:3.0" );
+ Dependency core = new Dependency( coreArtifact, "compile" );
+ DefaultDependencyNode coreNode = new DefaultDependencyNode( core );
+ coreNode.setVersion( versionScheme.parseVersion( "3.0" ) );
+
+ node.setChildren(Collections.singletonList( coreNode ) );
+
+ assertThat( checker.transformGraph( node, null ), is(node));
+ }
+
+ @Test
+ void incompatible() throws Exception
+ {
+ MavenCompatibilityChecker checker =
+ new MavenCompatibilityChecker( versionScheme.parseVersionRange( "[3.0,)" ) );
+
+ Artifact pluginArtifact = new DefaultArtifact( "o.a.m.p:plugin:1.0" );
+ Dependency plugin = new Dependency( pluginArtifact, "compile" );
+ DefaultDependencyNode node = new DefaultDependencyNode( plugin );
+ node.setVersion( versionScheme.parseVersion( "1.0" ) );
+
+ Artifact coreArtifact = new DefaultArtifact( "org.apache.maven:maven-core:2.0" );
+ Dependency core = new Dependency( coreArtifact, "compile" );
+ DefaultDependencyNode coreNode = new DefaultDependencyNode( core );
+ coreNode.setVersion( versionScheme.parseVersion( "2.0" ) );
+
+ node.setChildren(Collections.singletonList( coreNode ) );
+
+ RepositoryException exception = assertThrows( RepositoryException.class, () -> checker.transformGraph( node, null ) );
+ assertThat( exception.getMessage(), is( "o.a.m.p:plugin:jar:1.0 depends on org.apache.maven:maven-core:jar:2.0, "
+ + "which does not match the required Maven versionrange of [3.0,)" ) );
+ }
+
+}