aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-core/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-core/src/test')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java360
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java173
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenTest.java69
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java114
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java148
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java60
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java62
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java122
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java172
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingMojoExecutionListener.java75
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingProjectExecutionListener.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java98
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java553
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MojoExecutionXPathContainer.java72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java76
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java94
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java57
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java167
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/BuildPluginManagerStub.java56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/CompletionServiceStub.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java63
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java231
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LoggerStub.java110
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/MojoExecutorStub.java70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginPrefixResolverStub.java52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginVersionResolverStub.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependenciesResolverStub.java109
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java227
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java342
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java164
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java447
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java189
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java193
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java109
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java62
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java101
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java192
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java197
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java1878
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java363
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/TestMetadataSource.java51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java183
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java101
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java121
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributeIterator.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributePointer.java105
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodeIterator.java161
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodePointer.java155
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomPointerFactory.java61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositoryLayout.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestArtifactHandler.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java123
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnectorFactory.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java329
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java159
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java126
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java166
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java153
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java158
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java185
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java73
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java176
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-a/pom.xml19
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-b/pom.xml19
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/pom.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/mojo-configuration/pom.xml67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-basic/pom.xml79
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-inheritance/pom.xml628
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/pom.xml112
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/remote-resources.mdo61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/supplemental-model.mdo61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-plugin-level-configuration-only/pom.xml42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-listener-dependency-injection/pom.xml30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-a/pom.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-b/pom.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/pom.xml13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/mng-5003-plugin-realm-cache/pom.xml8
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar0
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-build-extensions-plugin/pom.xml31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml628
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/pom.xml63
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/pom.xml77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.jarbin0 -> 5109 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.jarbin0 -> 5111 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/maven-metadata.xml13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.jarbin0 -> 5108 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/maven-metadata.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.jarbin0 -> 5109 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/maven-metadata.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.jarbin0 -> 5108 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/maven-metadata.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.jarbin0 -> 5107 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/maven-metadata.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/settings-template.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/jre/placeholder.txt1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/lib/tools.jarbin0 -> 345 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/consumer/pom.xml66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/dependency-1.jarbin0 -> 345 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/pom.xml70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/pom.xml37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/jre/placeholder.txt1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/lib/tools.jarbin0 -> 345 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/project-with-exclusions/pom.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.jarbin0 -> 1898 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/maven-metadata.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.jarbin0 -> 1936 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.pom49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/maven-metadata.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.jarbin0 -> 13520 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/pom.xml70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-metadata.xml10
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jarbin0 -> 10133 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom23
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven/2.0/maven-2.0.pom264
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.jarbin0 -> 6767 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.jarbin0 -> 8085 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.jarbin0 -> 6777 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.jarbin0 -> 6781 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.jarbin0 -> 6790 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-metadata.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.jarbin0 -> 8007 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.jarbin0 -> 8034 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.jarbin0 -> 6827 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.pom70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jarbin0 -> 168568 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom27
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/child/pom.xml32
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-aligned-interpolation/pom.xml60
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-interpolation/pom-with-unusual-name.xml39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/baseurl-interpolation/pom.xml38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/boolean-interpolation/pom.xml82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/pom.xml49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/sub/pom.xml75
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/pom.xml31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/sub/pom.xml319
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/wo-parent/pom.xml313
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/config-with-plugin-mng/pom.xml39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/consecutive_empty_elements/pom.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/child-2/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/maven-parent.xml31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/pom.xml48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/sub/pom.xml34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/pom.xml19
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/sub/pom.xml17
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml68
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/pom.xml16
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/sub/pom.xml19
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/pom.xml18
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/sub/pom.xml24
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/child-2/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/distribution-management/pom.xml39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/pom.xml28
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/sub/pom.xml43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/nexus-parent.xml29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/pom.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/sub/pom.xml16
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-distMng-repo-url/pom.xml15
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-scm/pom.xml58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-deps/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-exec-ids/pom.xml83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-join/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-subcollections/pom.xml42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration/pom.xml58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/foo/sub/pom.xml418
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/full-interpolation/pom.xml66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/pom.xml97
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/sub/pom.xml84
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/pom.xml50
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/sub/pom.xml54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/pom.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/sub/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/interpolation-cli-wins/pom.xml39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/jdk-activation/pom.xml105
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/join-different-containers-same-id/pom.xml66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/child-2/pom.xml47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/pom.xml37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/child/pom.xml61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/pom.xml87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/child-2/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/sub/pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/pom.xml44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/sub/pom.xml49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml62
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml57
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml71
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml71
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml69
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml71
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/pom.xml124
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/spice-parent-9.pom103
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-filters/pom.xml17
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/pom.xml44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/sub/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/nested-build-dir-interpolation/pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/child3.xml7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/pom.xml11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/sub/pom.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/pom.xml16
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/sub/pom.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/sub/pom.xml40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/platform-file-separator/pom.xml40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/pom.xml80
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/subproject/pom.xml70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/pom.xml90
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/subproject/pom.xml80
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml62
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-profile/pom.xml74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml53
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/child/pom.xml76
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/pom.xml72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml68
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml60
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-properties/pom.xml30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml57
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/pom.xml75
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/w-merge/pom.xml48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/wo-merge/pom.xml43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/pom.xml56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/sub/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/sub/pom.xml58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-and-default-exec/pom.xml71
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-with-lifecycle/pom.xml52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml76
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/pom.xml67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/sub/pom.xml72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/child/pom.xml51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml68
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/pom.xml17
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/sub/pom.xml20
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-injection-merge-order/pom.xml133
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/pom.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/pom.xml39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml53
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-inheritance/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-merge-simple/pom.xml17
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/nexus-parent.xml19
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/pom.xml28
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml18
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml17
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/latin-1/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/utf-8/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/pom.xml188
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/pom.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-default-deactivation/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-dependencies-multiple-profiles/pom.xml81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injected-dependencies/pom.xml75
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injection-order/pom.xml68
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/pom.xml18
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/sub/pom.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module/pom.xml24
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/pom.xml77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/sub/pom.xml62
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugins/pom.xml52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-properties-interpolation/pom.xml54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/pom.xml34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/sub/pom.xml40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/pom.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/sub/pom.xml17
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-interpolation/pom.xml6
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/pom.xml51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/sub/pom.xml48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/pom.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/pom.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/sub/pom.xml57
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps-in-profile/pom.xml47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps/pom.xml42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo-in-profile/pom.xml51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo-in-profile/pom.xml51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/child/pom.xml104
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/child/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/parent/pom.xml53
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/sub/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/pom.xml74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/sub/pom.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-no-decoding/pom.xml64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml567
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-markup-interpolation/pom.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/pom.xml43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/sub/pom.xml49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/pom.xml29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/settings.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/pom.xml13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/settings.xml20
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/pom.xml78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/settings.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/plexus/components.xml113
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/canonical-pom.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/dependencyManagement-pom.xml65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/distributionManagement-pom.xml44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.1.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.1.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.1.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.1.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.2.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.0.pom14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.1.pom14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.0.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.1.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.0.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.1.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.0.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.1.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.2.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p1/pom.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p2/pom.xml56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p3/pom.xml59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p4/pom.xml67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/pom.xml26
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/marker.txt1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-a-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-b-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-c-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-d-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-a-1.0.pom23
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-b-1.0.pom23
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-c-1.0.pom16
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.1.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.2.pom7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar.snapshot-version1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/poms/maven-test-snapshot-resolving-1.0.pom49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/MavenLifecycleParticipantTest.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/execution/test-extension-1.jarbin0 -> 4208 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jarbin0 -> 121070 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jarbin0 -> 163984 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom112
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.jarbin0 -> 4208 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom73
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.jarbin0 -> 2582 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom304
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom466
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jarbin0 -> 46326 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom21
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom170
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jarbin0 -> 15961 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jarbin0 -> 42472 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom94
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jarbin0 -> 42636 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jarbin0 -> 33149 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom63
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jarbin0 -> 36108 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom60
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jarbin0 -> 210679 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jarbin0 -> 238880 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom98
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jarbin0 -> 168568 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom27
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jarbin0 -> 205043 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom273
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom308
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom205
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom259
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom257
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/repo-marker.txt1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/LifecycleExecutorTest.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/pom.xml628
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/plugin/PluginManagerTest.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromFile/pom.xml8
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/1/project-caching-1.pom8
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/maven-metadata-local.xml11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildModelLineage/pom.xml7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/child/pom.xml10
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/pom.xml7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/pom.xml10
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml9
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/global.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extend.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extra.xml45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks.xml43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/user.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jarbin0 -> 168568 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom27
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha11
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/pom.xml52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/plugin-level-dep.pom.xml24
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-interp.xml28
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-relative.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-dependency.xml27
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-project.xml20
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment-child.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml135
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/subproject/project-which-needs-directory-alignment-child.xml29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build-path-expression-pom.xml14
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build.properties18
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-which-inherits-from-super-model.xml28
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-with-bogus-parent.xml29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/duplicate-plugins-merged-pom.xml48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/fully-populated-child.xml168
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/grandchild/pom.xml10
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/pom.xml13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/pom.xml7
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/module01/pom.xml12
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/pom.xml13
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/project.xml162
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/versionless-managed-dependency.xml24
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jarbin0 -> 18874 bytes
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar.md51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/poms/maven-test-b-1.0.pom21
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar.snapshot-version1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-2/maven-test/jars/maven-test-z-1.0.jar1
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/withActiveByDefaultProfile-pom.xml40
595 files changed, 33838 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
new file mode 100644
index 00000000..57d374fd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -0,0 +1,360 @@
+package org.apache.maven;
+
+/*
+ * 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 java.io.File;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Exclusion;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.RepositoryPolicy;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.FileUtils;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.repository.LocalRepository;
+
+public abstract class AbstractCoreMavenComponentTestCase
+ extends PlexusTestCase
+{
+ @Requirement
+ protected RepositorySystem repositorySystem;
+
+ @Requirement
+ protected org.apache.maven.project.ProjectBuilder projectBuilder;
+
+ protected void setUp()
+ throws Exception
+ {
+ repositorySystem = lookup( RepositorySystem.class );
+ projectBuilder = lookup( org.apache.maven.project.ProjectBuilder.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ repositorySystem = null;
+ projectBuilder = null;
+ super.tearDown();
+ }
+
+ abstract protected String getProjectsDirectory();
+
+ protected File getProject( String name )
+ throws Exception
+ {
+ File source = new File( new File( getBasedir(), getProjectsDirectory() ), name );
+ File target = new File( new File( getBasedir(), "target" ), name );
+ FileUtils.copyDirectoryStructureIfModified( source, target );
+ return new File( target, "pom.xml" );
+ }
+
+ /**
+ * We need to customize the standard Plexus container with the plugin discovery listener which
+ * is what looks for the META-INF/maven/plugin.xml resources that enter the system when a Maven
+ * plugin is loaded.
+ *
+ * We also need to customize the Plexus container with a standard plugin discovery listener
+ * which is the MavenPluginCollector. When a Maven plugin is discovered the MavenPluginCollector
+ * collects the plugin descriptors which are found.
+ */
+ protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+ {
+ containerConfiguration.setAutoWiring( true ).setClassPathScanning( PlexusConstants.SCANNING_INDEX );
+ }
+
+ protected MavenExecutionRequest createMavenExecutionRequest( File pom )
+ throws Exception
+ {
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest()
+ .setPom( pom )
+ .setProjectPresent( true )
+ .setShowErrors( true )
+ .setPluginGroups( Arrays.asList( "org.apache.maven.plugins" ) )
+ .setLocalRepository( getLocalRepository() )
+ .setRemoteRepositories( getRemoteRepositories() )
+ .setPluginArtifactRepositories( getPluginArtifactRepositories() )
+ .setGoals( Arrays.asList( "package" ) );
+
+ return request;
+ }
+
+ // layer the creation of a project builder configuration with a request, but this will need to be
+ // a Maven subclass because we don't want to couple maven to the project builder which we need to
+ // separate.
+ protected MavenSession createMavenSession( File pom )
+ throws Exception
+ {
+ return createMavenSession( pom, new Properties() );
+ }
+
+ protected MavenSession createMavenSession( File pom, Properties executionProperties )
+ throws Exception
+ {
+ MavenExecutionRequest request = createMavenExecutionRequest( pom );
+
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest()
+ .setLocalRepository( request.getLocalRepository() )
+ .setRemoteRepositories( request.getRemoteRepositories() )
+ .setPluginArtifactRepositories( request.getPluginArtifactRepositories() )
+ .setSystemProperties( executionProperties );
+
+ MavenProject project = null;
+
+ if ( pom != null )
+ {
+ project = projectBuilder.build( pom, configuration ).getProject();
+ }
+ else
+ {
+ project = createStubMavenProject();
+ project.setRemoteArtifactRepositories( request.getRemoteRepositories() );
+ project.setPluginArtifactRepositories( request.getPluginArtifactRepositories() );
+ }
+
+ initRepoSession( configuration );
+
+ MavenSession session =
+ new MavenSession( getContainer(), configuration.getRepositorySession(), request,
+ new DefaultMavenExecutionResult() );
+ session.setProjects( Arrays.asList( project ) );
+
+ return session;
+ }
+
+ protected void initRepoSession( ProjectBuildingRequest request )
+ throws Exception
+ {
+ File localRepoDir = new File( request.getLocalRepository().getBasedir() );
+ LocalRepository localRepo = new LocalRepository( localRepoDir );
+ DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
+ session.setLocalRepositoryManager( new SimpleLocalRepositoryManagerFactory().newInstance( session, localRepo ) );
+ request.setRepositorySession( session );
+ }
+
+ protected MavenProject createStubMavenProject()
+ {
+ Model model = new Model();
+ model.setGroupId( "org.apache.maven.test" );
+ model.setArtifactId( "maven-test" );
+ model.setVersion( "1.0" );
+ return new MavenProject( model );
+ }
+
+ protected List<ArtifactRepository> getRemoteRepositories()
+ throws InvalidRepositoryException
+ {
+ File repoDir = new File( getBasedir(), "src/test/remote-repo" ).getAbsoluteFile();
+
+ RepositoryPolicy policy = new RepositoryPolicy();
+ policy.setEnabled( true );
+ policy.setChecksumPolicy( "ignore" );
+ policy.setUpdatePolicy( "always" );
+
+ Repository repository = new Repository();
+ repository.setId( RepositorySystem.DEFAULT_REMOTE_REPO_ID );
+ repository.setUrl( "file://" + repoDir.toURI().getPath() );
+ repository.setReleases( policy );
+ repository.setSnapshots( policy );
+
+ return Arrays.asList( repositorySystem.buildArtifactRepository( repository ) );
+ }
+
+ protected List<ArtifactRepository> getPluginArtifactRepositories()
+ throws InvalidRepositoryException
+ {
+ return getRemoteRepositories();
+ }
+
+ protected ArtifactRepository getLocalRepository()
+ throws InvalidRepositoryException
+ {
+ File repoDir = new File( getBasedir(), "target/local-repo" ).getAbsoluteFile();
+
+ return repositorySystem.createLocalRepository( repoDir );
+ }
+
+ protected class ProjectBuilder
+ {
+ private MavenProject project;
+
+ public ProjectBuilder( MavenProject project )
+ {
+ this.project = project;
+ }
+
+ public ProjectBuilder( String groupId, String artifactId, String version )
+ {
+ Model model = new Model();
+ model.setModelVersion( "4.0.0" );
+ model.setGroupId( groupId );
+ model.setArtifactId( artifactId );
+ model.setVersion( version );
+ model.setBuild( new Build() );
+ project = new MavenProject( model );
+ }
+
+ public ProjectBuilder setGroupId( String groupId )
+ {
+ project.setGroupId( groupId );
+ return this;
+ }
+
+ public ProjectBuilder setArtifactId( String artifactId )
+ {
+ project.setArtifactId( artifactId );
+ return this;
+ }
+
+ public ProjectBuilder setVersion( String version )
+ {
+ project.setVersion( version );
+ return this;
+ }
+
+ // Dependencies
+ //
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope )
+ {
+ return addDependency( groupId, artifactId, version, scope, (Exclusion)null );
+ }
+
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope, Exclusion exclusion )
+ {
+ return addDependency( groupId, artifactId, version, scope, null, exclusion );
+ }
+
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath )
+ {
+ return addDependency( groupId, artifactId, version, scope, systemPath, null );
+ }
+
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath, Exclusion exclusion )
+ {
+ Dependency d = new Dependency();
+ d.setGroupId( groupId );
+ d.setArtifactId( artifactId );
+ d.setVersion( version );
+ d.setScope( scope );
+
+ if ( systemPath != null && scope.equals( Artifact.SCOPE_SYSTEM ) )
+ {
+ d.setSystemPath( systemPath );
+ }
+
+ if ( exclusion != null )
+ {
+ d.addExclusion( exclusion );
+ }
+
+ project.getDependencies().add( d );
+
+ return this;
+ }
+
+ // Plugins
+ //
+ public ProjectBuilder addPlugin( Plugin plugin )
+ {
+ project.getBuildPlugins().add( plugin );
+ return this;
+ }
+
+ public MavenProject get()
+ {
+ return project;
+ }
+ }
+
+ protected class PluginBuilder
+ {
+ private Plugin plugin;
+
+ public PluginBuilder( String groupId, String artifactId, String version )
+ {
+ plugin = new Plugin();
+ plugin.setGroupId( groupId );
+ plugin.setArtifactId( artifactId );
+ plugin.setVersion( version );
+ }
+
+ // Dependencies
+ //
+ public PluginBuilder addDependency( String groupId, String artifactId, String version, String scope, Exclusion exclusion )
+ {
+ return addDependency( groupId, artifactId, version, scope, exclusion );
+ }
+
+ public PluginBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath )
+ {
+ return addDependency( groupId, artifactId, version, scope, systemPath, null );
+ }
+
+ public PluginBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath, Exclusion exclusion )
+ {
+ Dependency d = new Dependency();
+ d.setGroupId( groupId );
+ d.setArtifactId( artifactId );
+ d.setVersion( version );
+ d.setScope( scope );
+
+ if ( systemPath != null && scope.equals( Artifact.SCOPE_SYSTEM ) )
+ {
+ d.setSystemPath( systemPath );
+ }
+
+ if ( exclusion != null )
+ {
+ d.addExclusion( exclusion );
+ }
+
+ plugin.getDependencies().add( d );
+
+ return this;
+ }
+
+ public Plugin get()
+ {
+ return plugin;
+ }
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
new file mode 100644
index 00000000..ab073a63
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
@@ -0,0 +1,45 @@
+package org.apache.maven;
+
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionResult;
+
+import static java.util.Arrays.asList;
+
+/*
+ * 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.
+ */
+public class DefaultMavenTest extends AbstractCoreMavenComponentTestCase{
+
+ public void testThatErrorDuringProjectDependencyGraphCreationAreStored()
+ throws Exception
+ {
+ Maven maven = getContainer().lookup( Maven.class );
+ MavenExecutionRequest request = createMavenExecutionRequest( getProject( "cyclic-reference" ) ).setGoals( asList("validate") );
+
+ MavenExecutionResult result = maven.execute( request );
+
+ assertEquals( ProjectCycleException.class, result.getExceptions().get( 0 ).getClass() );
+ }
+
+ @Override
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/default-maven";
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
new file mode 100644
index 00000000..17aeab31
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java
@@ -0,0 +1,173 @@
+package org.apache.maven;
+
+/*
+ * 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 java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
+
+public class MavenLifecycleParticipantTest
+ extends AbstractCoreMavenComponentTestCase
+{
+
+ private static final String INJECTED_ARTIFACT_ID = "injected";
+
+ public static class InjectDependencyLifecycleListener
+ extends AbstractMavenLifecycleParticipant
+ {
+
+ @Override
+ public void afterProjectsRead( MavenSession session )
+ {
+ MavenProject project = session.getProjects().get( 0 );
+
+ Dependency dependency = new Dependency();
+ dependency.setArtifactId( INJECTED_ARTIFACT_ID );
+ dependency.setGroupId( "foo" );
+ dependency.setVersion( "1.2.3" );
+ dependency.setScope( "system" );
+ try
+ {
+ dependency.setSystemPath( new File(
+ "src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml" ).getCanonicalPath() );
+ }
+ catch ( IOException e )
+ {
+ throw new RuntimeException( e );
+ }
+
+ project.getModel().addDependency( dependency );
+ }
+
+ @Override
+ public void afterSessionStart( MavenSession session )
+ {
+ session.getUserProperties().setProperty( "injected", "bar" );
+ }
+
+ }
+
+ public static class InjectReactorDependency
+ extends AbstractMavenLifecycleParticipant
+ {
+ @Override
+ public void afterProjectsRead( MavenSession session )
+ {
+ injectReactorDependency( session.getProjects(), "module-a", "module-b" );
+ }
+
+ private void injectReactorDependency( List<MavenProject> projects, String moduleFrom, String moduleTo )
+ {
+ for ( MavenProject project : projects )
+ {
+ if ( moduleFrom.equals( project.getArtifactId() ) )
+ {
+ Dependency dependency = new Dependency();
+ dependency.setArtifactId( moduleTo );
+ dependency.setGroupId( project.getGroupId() );
+ dependency.setVersion( project.getVersion() );
+
+ project.getModel().addDependency( dependency );
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void setupContainer()
+ {
+ super.setupContainer();
+ }
+
+ @Override
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/lifecycle-listener";
+ }
+
+ public void testDependencyInjection()
+ throws Exception
+ {
+ PlexusContainer container = getContainer();
+
+ ComponentDescriptor<? extends AbstractMavenLifecycleParticipant> cd =
+ new ComponentDescriptor<InjectDependencyLifecycleListener>( InjectDependencyLifecycleListener.class,
+ container.getContainerRealm() );
+ cd.setRoleClass( AbstractMavenLifecycleParticipant.class );
+ container.addComponentDescriptor( cd );
+
+ Maven maven = container.lookup( Maven.class );
+ File pom = getProject( "lifecycle-listener-dependency-injection" );
+ MavenExecutionRequest request = createMavenExecutionRequest( pom );
+ request.setGoals( Arrays.asList( "validate" ) );
+ MavenExecutionResult result = maven.execute( request );
+
+ assertFalse( result.getExceptions().toString(), result.hasExceptions() );
+
+ MavenProject project = result.getProject();
+
+ assertEquals( "bar", project.getProperties().getProperty( "foo" ) );
+
+ ArrayList<Artifact> artifacts = new ArrayList<Artifact>( project.getArtifacts() );
+
+ assertEquals( 1, artifacts.size() );
+ assertEquals( INJECTED_ARTIFACT_ID, artifacts.get( 0 ).getArtifactId() );
+ }
+
+ public void testReactorDependencyInjection()
+ throws Exception
+ {
+ List<String> reactorOrder =
+ getReactorOrder( "lifecycle-participant-reactor-dependency-injection", InjectReactorDependency.class );
+ assertEquals( Arrays.asList( "parent", "module-b", "module-a" ), reactorOrder );
+ }
+
+ private <T> List<String> getReactorOrder( String testProject, Class<T> participant )
+ throws Exception
+ {
+ PlexusContainer container = getContainer();
+
+ ComponentDescriptor<T> cd = new ComponentDescriptor<T>( participant, container.getContainerRealm() );
+ cd.setRoleClass( AbstractMavenLifecycleParticipant.class );
+ container.addComponentDescriptor( cd );
+
+ Maven maven = container.lookup( Maven.class );
+ File pom = getProject( testProject );
+ MavenExecutionRequest request = createMavenExecutionRequest( pom );
+ request.setGoals( Arrays.asList( "validate" ) );
+ MavenExecutionResult result = maven.execute( request );
+
+ assertFalse( result.getExceptions().toString(), result.hasExceptions() );
+
+ List<String> order = new ArrayList<String>();
+ for ( MavenProject project : result.getTopologicallySortedProjects() )
+ {
+ order.add( project.getArtifactId() );
+ }
+ return order;
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenTest.java
new file mode 100644
index 00000000..3e248604
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -0,0 +1,69 @@
+package org.apache.maven;
+
+/*
+ * 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.apache.maven.exception.ExceptionHandler;
+import org.codehaus.plexus.component.annotations.Requirement;
+
+public class MavenTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ @Requirement
+ private Maven maven;
+
+ @Requirement
+ private ExceptionHandler exceptionHandler;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ maven = lookup( Maven.class );
+ exceptionHandler = lookup( ExceptionHandler.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ maven = null;
+ exceptionHandler = null;
+ super.tearDown();
+ }
+
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/lifecycle-executor";
+ }
+
+ public void testLifecycleExecutionUsingADefaultLifecyclePhase()
+ throws Exception
+ {
+ /*
+ File pom = getProject( "project-with-additional-lifecycle-elements" );
+ MavenExecutionRequest request = createMavenExecutionRequest( pom );
+ MavenExecutionResult result = maven.execute( request );
+ if ( result.hasExceptions() )
+ {
+ ExceptionSummary es = exceptionHandler.handleException( result.getExceptions().get( 0 ) );
+ System.out.println( es.getMessage() );
+ es.getException().printStackTrace();
+ fail( "Maven did not execute correctly." );
+ }
+ */
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
new file mode 100644
index 00000000..ca75c3f1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
@@ -0,0 +1,114 @@
+package org.apache.maven;
+
+/*
+ * 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 java.io.File;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.component.annotations.Requirement;
+
+public class ProjectDependenciesResolverTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ @Requirement
+ private ProjectDependenciesResolver resolver;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ resolver = lookup( ProjectDependenciesResolver.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ resolver = null;
+ super.tearDown();
+ }
+
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/project-dependencies-resolver";
+ }
+
+ /*
+ public void testExclusionsInDependencies()
+ throws Exception
+ {
+ MavenSession session = createMavenSession( null );
+ MavenProject project = session.getCurrentProject();
+
+ Exclusion exclusion = new Exclusion();
+ exclusion.setGroupId( "org.apache.maven.its" );
+ exclusion.setArtifactId( "a" );
+
+ new ProjectBuilder( project ).addDependency( "org.apache.maven.its", "b", "0.1", Artifact.SCOPE_RUNTIME,
+ exclusion );
+
+ Set<Artifact> artifactDependencies =
+ resolver.resolve( project, Collections.singleton( Artifact.SCOPE_COMPILE ), session );
+ assertEquals( 0, artifactDependencies.size() );
+
+ artifactDependencies = resolver.resolve( project, Collections.singleton( Artifact.SCOPE_RUNTIME ), session );
+ assertEquals( 1, artifactDependencies.size() );
+ assertEquals( "b", artifactDependencies.iterator().next().getArtifactId() );
+ }
+ */
+
+ public void testSystemScopeDependencies()
+ throws Exception
+ {
+ MavenSession session = createMavenSession( null );
+ MavenProject project = session.getCurrentProject();
+
+ new ProjectBuilder( project )
+ .addDependency( "com.mycompany", "system-dependency", "1.0", Artifact.SCOPE_SYSTEM, new File( getBasedir(), "pom.xml" ).getAbsolutePath() );
+
+ Set<Artifact> artifactDependencies =
+ resolver.resolve( project, Collections.singleton( Artifact.SCOPE_COMPILE ), session );
+ assertEquals( 1, artifactDependencies.size() );
+ }
+
+ public void testSystemScopeDependencyIsPresentInTheCompileClasspathElements()
+ throws Exception
+ {
+ File pom = getProject( "it0063" );
+
+ Properties eps = new Properties();
+ eps.setProperty( "jre.home", new File( pom.getParentFile(), "jdk/jre" ).getPath() );
+
+ MavenSession session = createMavenSession( pom, eps );
+ MavenProject project = session.getCurrentProject();
+
+ project.setArtifacts( resolver.resolve( project, Collections.singleton( Artifact.SCOPE_COMPILE ), session ) );
+
+ List<String> elements = project.getCompileClasspathElements();
+ assertEquals( 2, elements.size() );
+
+ @SuppressWarnings( "deprecation" )
+ List<Artifact> artifacts = project.getCompileArtifacts();
+ assertEquals( 1, artifacts.size() );
+ assertTrue( artifacts.get( 0 ).getFile().getName().endsWith( "tools.jar" ) );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
new file mode 100644
index 00000000..ac02e106
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
@@ -0,0 +1,89 @@
+package org.apache.maven.artifact.handler;
+
+/*
+ * 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 java.io.File;
+import java.util.List;
+
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+
+public class ArtifactHandlerTest
+ extends PlexusTestCase
+{
+ public void testAptConsistency()
+ throws Exception
+ {
+ File apt = getTestFile( "src/site/apt/artifact-handlers.apt" );
+
+ @SuppressWarnings( "unchecked" )
+ List<String> lines = FileUtils.loadFile( apt );
+
+ for ( String line : lines )
+ {
+ if ( line.startsWith( "||" ) )
+ {
+ String[] cols = line.split( "\\|\\|" );
+ String[] expected =
+ new String[] { "", "type", "extension", "packaging", "classifier", "language", "added to classpath",
+ "includesDependencies", "" };
+
+ int i = 0;
+ for ( String col : cols )
+ {
+ assertEquals( "Wrong column header", expected[i++], col.trim() );
+ }
+ }
+ else if ( line.startsWith( "|" ) )
+ {
+ String[] cols = line.split( "\\|" );
+
+ String type = trimApt( cols[1] );
+ String extension = trimApt( cols[2], type );
+ String packaging = trimApt( cols[3], type );
+ String classifier = trimApt( cols[4] );
+ String language = trimApt( cols[5] );
+ String addedToClasspath = trimApt( cols[6] );
+ String includesDependencies = trimApt( cols[7] );
+
+ ArtifactHandler handler = lookup( ArtifactHandler.class, type );
+ assertEquals( type + " extension", handler.getExtension(), extension );
+ assertEquals( type + " packaging", handler.getPackaging(), packaging );
+ assertEquals( type + " classifier", handler.getClassifier(), classifier );
+ assertEquals( type + " language", handler.getLanguage(), language );
+ assertEquals( type + " addedToClasspath", handler.isAddedToClasspath() ? "true" : null, addedToClasspath );
+ assertEquals( type + " includesDependencies", handler.isIncludesDependencies() ? "true" : null, includesDependencies );
+ }
+ }
+ }
+
+ private String trimApt( String content, String type )
+ {
+ String value = trimApt( content );
+ return "= type".equals( value ) ? type : value;
+ }
+
+ private String trimApt( String content )
+ {
+ content = content.replace( '<', ' ' ).replace( '>', ' ' ).trim();
+
+ return ( content.length() == 0 ) ? null : content;
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
new file mode 100644
index 00000000..33673e3b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorTest.java
@@ -0,0 +1,148 @@
+package org.apache.maven.configuration;
+
+/*
+ * 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 java.io.File;
+import java.io.IOException;
+import java.io.StringReader;
+
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class DefaultBeanConfiguratorTest
+ extends PlexusTestCase
+{
+
+ private BeanConfigurator configurator;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ configurator = lookup( BeanConfigurator.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ configurator = null;
+
+ super.tearDown();
+ }
+
+ private Xpp3Dom toConfig( String xml )
+ {
+ try
+ {
+ return Xpp3DomBuilder.build( new StringReader( "<configuration>" + xml + "</configuration>" ) );
+ }
+ catch ( XmlPullParserException e )
+ {
+ throw new IllegalArgumentException( e );
+ }
+ catch ( IOException e )
+ {
+ throw new IllegalArgumentException( e );
+ }
+ }
+
+ public void testMinimal()
+ throws BeanConfigurationException
+ {
+ SomeBean bean = new SomeBean();
+
+ Xpp3Dom config = toConfig( "<file>test</file>" );
+
+ DefaultBeanConfigurationRequest request = new DefaultBeanConfigurationRequest();
+ request.setBean( bean ).setConfiguration( config );
+
+ configurator.configureBean( request );
+
+ assertEquals( new File( "test" ), bean.file );
+ }
+
+ public void testPreAndPostProcessing()
+ throws BeanConfigurationException
+ {
+ SomeBean bean = new SomeBean();
+
+ Xpp3Dom config = toConfig( "<file>${test}</file>" );
+
+ BeanConfigurationValuePreprocessor preprocessor = new BeanConfigurationValuePreprocessor()
+ {
+ public Object preprocessValue( String value, Class<?> type )
+ throws BeanConfigurationException
+ {
+ if ( value != null && value.startsWith( "${" ) && value.endsWith( "}" ) )
+ {
+ return value.substring( 2, value.length() - 1 );
+ }
+ return value;
+ }
+ };
+
+ BeanConfigurationPathTranslator translator = new BeanConfigurationPathTranslator()
+ {
+ public File translatePath( File path )
+ {
+ return new File( "base", path.getPath() ).getAbsoluteFile();
+ }
+ };
+
+ DefaultBeanConfigurationRequest request = new DefaultBeanConfigurationRequest();
+ request.setBean( bean ).setConfiguration( config );
+ request.setValuePreprocessor( preprocessor ).setPathTranslator( translator );
+
+ configurator.configureBean( request );
+
+ assertEquals( new File( "base/test" ).getAbsoluteFile(), bean.file );
+ }
+
+ public void testChildConfigurationElement()
+ throws BeanConfigurationException
+ {
+ SomeBean bean = new SomeBean();
+
+ Xpp3Dom config = toConfig( "<wrapper><file>test</file></wrapper>" );
+
+ DefaultBeanConfigurationRequest request = new DefaultBeanConfigurationRequest();
+ request.setBean( bean ).setConfiguration( config, "wrapper" );
+
+ configurator.configureBean( request );
+
+ assertEquals( new File( "test" ), bean.file );
+ }
+
+ static class SomeBean
+ {
+
+ File file;
+
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java
new file mode 100644
index 00000000..9727bdf8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/exception/DefaultExceptionHandlerTest.java
@@ -0,0 +1,60 @@
+package org.apache.maven.exception;
+
+/*
+ * 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 java.io.IOException;
+import java.net.ConnectException;
+
+import org.apache.maven.plugin.MojoExecutionException;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:baerrach@apache.org">Barrie Treloar</a>
+ */
+public class DefaultExceptionHandlerTest
+ extends TestCase
+{
+ /**
+ * Running Maven under JDK7 may cause connection issues because IPv6 is used by default.
+ * <p>
+ * e.g running mvn site:run will cause Jetty to fail.
+ * </p>
+ * <p>
+ * The resolution is to add -Djava.net.preferIPv4Stack=true to the command line as documented in
+ * http://cwiki.apache.org/confluence/display/MAVEN/ConnectException
+ * </p>
+ */
+ public void testJdk7ipv6()
+ {
+ ConnectException connEx = new ConnectException( "Connection refused: connect" );
+ IOException ioEx = new IOException( "Unable to establish loopback connection" );
+ ioEx.initCause( connEx );
+ MojoExecutionException mojoEx =
+ new MojoExecutionException( "Error executing Jetty: Unable to establish loopback connection", ioEx );
+
+ ExceptionHandler exceptionHandler = new DefaultExceptionHandler();
+ ExceptionSummary exceptionSummary = exceptionHandler.handleException( mojoEx );
+
+ String expectedReference = "http://cwiki.apache.org/confluence/display/MAVEN/ConnectException";
+ assertEquals( expectedReference, exceptionSummary.getReference() );
+
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
new file mode 100644
index 00000000..15a7a7b3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java
@@ -0,0 +1,62 @@
+package org.apache.maven.execution;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.settings.Profile;
+import org.apache.maven.settings.Repository;
+import org.apache.maven.settings.Settings;
+import org.eclipse.sisu.launch.InjectedTestCase;
+
+/*
+ * 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.
+ */
+
+public class DefaultMavenExecutionRequestPopulatorTest
+ extends InjectedTestCase
+{
+ @Inject
+ MavenExecutionRequestPopulator testee;
+
+ public void testPluginRepositoryInjection()
+ throws Exception
+ {
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest();
+
+ Repository r = new Repository();
+ r.setId( "test" );
+ r.setUrl( "file:///test" );
+
+ Profile p = new Profile();
+ p.setId( "test" );
+ p.addPluginRepository( r );
+
+ Settings settings = new Settings();
+ settings.addProfile( p );
+ settings.addActiveProfile( p.getId() );
+
+ testee.populateFromSettings( request, settings );
+
+ List<ArtifactRepository> repositories = request.getPluginArtifactRepositories();
+ assertEquals( 1, repositories.size() );
+ assertEquals( r.getId(), repositories.get( 0 ).getId() );
+ assertEquals( r.getUrl(), repositories.get( 0 ).getUrl() );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java
new file mode 100644
index 00000000..fbb8b900
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionTest.java
@@ -0,0 +1,52 @@
+package org.apache.maven.execution;
+
+/*
+ * 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.apache.maven.project.MavenProject;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class DefaultMavenExecutionTest
+ extends TestCase
+{
+
+ public void testCopyDefault()
+ {
+ MavenExecutionRequest original = new DefaultMavenExecutionRequest();
+ MavenExecutionRequest copy = DefaultMavenExecutionRequest.copy( original );
+ assertNotNull( copy );
+ assertNotSame( copy, original );
+ }
+
+ public void testResultWithNullTopologicallySortedProjectsIsEmptyList()
+ {
+ MavenExecutionResult result = new DefaultMavenExecutionResult();
+ result.setTopologicallySortedProjects( null );
+ List<MavenProject> projects = result.getTopologicallySortedProjects();
+ assertNotNull( projects );
+ assertTrue( projects.isEmpty() );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
new file mode 100644
index 00000000..a4eb354c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeTest.java
@@ -0,0 +1,122 @@
+/*
+ * 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.
+ */
+package org.apache.maven.execution.scope.internal;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.maven.execution.MojoExecutionEvent;
+import org.apache.maven.execution.scope.WeakMojoExecutionListener;
+import org.apache.maven.plugin.MojoExecutionException;
+
+import junit.framework.TestCase;
+
+import com.google.inject.Key;
+import com.google.inject.Provider;
+
+public class MojoExecutionScopeTest
+ extends TestCase
+{
+ public void testNestedEnter()
+ throws Exception
+ {
+ MojoExecutionScope scope = new MojoExecutionScope();
+
+ scope.enter();
+
+ Object o1 = new Object();
+ scope.seed( Object.class, o1 );
+ assertSame( o1, scope.scope( Key.get( Object.class ), null ).get() );
+
+ scope.enter();
+ Object o2 = new Object();
+ scope.seed( Object.class, o2 );
+ assertSame( o2, scope.scope( Key.get( Object.class ), null ).get() );
+
+ scope.exit();
+ assertSame( o1, scope.scope( Key.get( Object.class ), null ).get() );
+
+ scope.exit();
+
+ try
+ {
+ scope.exit();
+ fail();
+ }
+ catch ( IllegalStateException expected )
+ {
+ }
+ }
+
+ public void testMultiKeyInstance()
+ throws Exception
+ {
+ MojoExecutionScope scope = new MojoExecutionScope();
+ scope.enter();
+
+ final AtomicInteger beforeExecution = new AtomicInteger();
+ final AtomicInteger afterExecutionSuccess = new AtomicInteger();
+ final AtomicInteger afterExecutionFailure = new AtomicInteger();
+ final WeakMojoExecutionListener instance = new WeakMojoExecutionListener()
+ {
+ @Override
+ public void beforeMojoExecution( MojoExecutionEvent event )
+ throws MojoExecutionException
+ {
+ beforeExecution.incrementAndGet();
+ }
+
+ @Override
+ public void afterMojoExecutionSuccess( MojoExecutionEvent event )
+ throws MojoExecutionException
+ {
+ afterExecutionSuccess.incrementAndGet();
+ }
+
+ @Override
+ public void afterExecutionFailure( MojoExecutionEvent event )
+ {
+ afterExecutionFailure.incrementAndGet();
+ }
+ };
+ assertSame( instance, scope.scope( Key.get( Object.class ), new Provider<Object>()
+ {
+ @Override
+ public Object get()
+ {
+ return instance;
+ }
+ } ).get() );
+ assertSame( instance,
+ scope.scope( Key.get( WeakMojoExecutionListener.class ), new Provider<WeakMojoExecutionListener>()
+ {
+ @Override
+ public WeakMojoExecutionListener get()
+ {
+ return instance;
+ }
+ } ).get() );
+
+ final MojoExecutionEvent event = new MojoExecutionEvent( null, null, null, null );
+ scope.beforeMojoExecution( event );
+ scope.afterMojoExecutionSuccess( event );
+ scope.afterExecutionFailure( event );
+
+ assertEquals( 1, beforeExecution.get() );
+ assertEquals( 1, afterExecutionSuccess.get() );
+ assertEquals( 1, afterExecutionFailure.get() );
+
+ scope.exit();
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
new file mode 100644
index 00000000..e2caaeb1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java
@@ -0,0 +1,172 @@
+/*
+ * 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.
+ */
+package org.apache.maven.graph;
+
+import junit.framework.TestCase;
+import org.apache.maven.execution.ProjectDependencyGraph;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.project.DuplicateProjectException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.dag.CycleDetectedException;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class DefaultProjectDependencyGraphTest
+ extends TestCase
+{
+
+ private final MavenProject aProject = createA();
+
+ private final MavenProject depender1 = createProject( Arrays.asList( toDependency( aProject ) ), "depender1" );
+
+ private final MavenProject depender2 = createProject( Arrays.asList( toDependency( aProject ) ), "depender2" );
+
+ private final MavenProject depender3 = createProject( Arrays.asList( toDependency( aProject ) ), "depender3" );
+
+ private final MavenProject depender4 =
+ createProject( Arrays.asList( toDependency( aProject ), toDependency( depender3 ) ), "depender4" );
+
+ private final MavenProject transitiveOnly =
+ createProject( Arrays.asList( toDependency( depender3 ) ), "depender5" );
+
+ public void testGetSortedProjects()
+ throws DuplicateProjectException, CycleDetectedException
+ {
+ ProjectDependencyGraph graph = new DefaultProjectDependencyGraph( Arrays.asList( depender1, aProject ) );
+ final List<MavenProject> sortedProjects = graph.getSortedProjects();
+ assertEquals( aProject, sortedProjects.get( 0 ) );
+ assertEquals( depender1, sortedProjects.get( 1 ) );
+ }
+
+ public void testVerifyExpectedParentStructure()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ // This test verifies the baseline structure used in susequent tests. If this fails, the rest will fail.
+ ProjectDependencyGraph graph = threeProjectsDependingOnASingle();
+ final List<MavenProject> sortedProjects = graph.getSortedProjects();
+ assertEquals( aProject, sortedProjects.get( 0 ) );
+ assertEquals( depender1, sortedProjects.get( 1 ) );
+ assertEquals( depender2, sortedProjects.get( 2 ) );
+ assertEquals( depender3, sortedProjects.get( 3 ) );
+ }
+
+ public void testVerifyThatDownsteamProjectsComeInSortedOrder()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ final List<MavenProject> downstreamProjects =
+ threeProjectsDependingOnASingle().getDownstreamProjects( aProject, true );
+ assertEquals( depender1, downstreamProjects.get( 0 ) );
+ assertEquals( depender2, downstreamProjects.get( 1 ) );
+ assertEquals( depender3, downstreamProjects.get( 2 ) );
+ }
+
+ public void testTransitivesInOrder()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ final ProjectDependencyGraph graph =
+ new DefaultProjectDependencyGraph( Arrays.asList( depender1, depender4, depender2, depender3, aProject ) );
+
+ final List<MavenProject> downstreamProjects = graph.getDownstreamProjects( aProject, true );
+ assertEquals( depender1, downstreamProjects.get( 0 ) );
+ assertEquals( depender3, downstreamProjects.get( 1 ) );
+ assertEquals( depender4, downstreamProjects.get( 2 ) );
+ assertEquals( depender2, downstreamProjects.get( 3 ) );
+ }
+
+ public void testNonTransitivesInOrder()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ final ProjectDependencyGraph graph =
+ new DefaultProjectDependencyGraph( Arrays.asList( depender1, depender4, depender2, depender3, aProject ) );
+
+ final List<MavenProject> downstreamProjects = graph.getDownstreamProjects( aProject, false );
+ assertEquals( depender1, downstreamProjects.get( 0 ) );
+ assertEquals( depender3, downstreamProjects.get( 1 ) );
+ assertEquals( depender4, downstreamProjects.get( 2 ) );
+ assertEquals( depender2, downstreamProjects.get( 3 ) );
+ }
+
+ public void testWithTranistiveOnly()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ final ProjectDependencyGraph graph = new DefaultProjectDependencyGraph(
+ Arrays.asList( depender1, transitiveOnly, depender2, depender3, aProject ) );
+
+ final List<MavenProject> downstreamProjects = graph.getDownstreamProjects( aProject, true );
+ assertEquals( depender1, downstreamProjects.get( 0 ) );
+ assertEquals( depender3, downstreamProjects.get( 1 ) );
+ assertEquals( transitiveOnly, downstreamProjects.get( 2 ) );
+ assertEquals( depender2, downstreamProjects.get( 3 ) );
+ }
+
+ public void testWithMissingTranistiveOnly()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ final ProjectDependencyGraph graph = new DefaultProjectDependencyGraph(
+ Arrays.asList( depender1, transitiveOnly, depender2, depender3, aProject ) );
+
+ final List<MavenProject> downstreamProjects = graph.getDownstreamProjects( aProject, false );
+ assertEquals( depender1, downstreamProjects.get( 0 ) );
+ assertEquals( depender3, downstreamProjects.get( 1 ) );
+ assertEquals( depender2, downstreamProjects.get( 2 ) );
+ }
+
+ public void testGetUpstreamProjects()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ ProjectDependencyGraph graph = threeProjectsDependingOnASingle();
+ final List<MavenProject> downstreamProjects = graph.getUpstreamProjects( depender1, true );
+ assertEquals( aProject, downstreamProjects.get( 0 ) );
+ }
+
+ private ProjectDependencyGraph threeProjectsDependingOnASingle()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ return new DefaultProjectDependencyGraph( Arrays.asList( depender1, depender2, depender3, aProject ) );
+ }
+
+ private static MavenProject createA()
+ {
+ MavenProject result = new MavenProject();
+ result.setGroupId( "org.apache" );
+ result.setArtifactId( "A" );
+ result.setVersion( "1.2" );
+ return result;
+ }
+
+ static Dependency toDependency( MavenProject mavenProject )
+ {
+ final Dependency dependency = new Dependency();
+ dependency.setArtifactId( mavenProject.getArtifactId() );
+ dependency.setGroupId( mavenProject.getGroupId() );
+ dependency.setVersion( mavenProject.getVersion() );
+ return dependency;
+ }
+
+ private static MavenProject createProject( List<Dependency> dependencies, String artifactId )
+ {
+ MavenProject result = new MavenProject();
+ result.setGroupId( "org.apache" );
+ result.setArtifactId( artifactId );
+ result.setVersion( "1.2" );
+ result.setDependencies( dependencies );
+ return result;
+ }
+
+} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
new file mode 100644
index 00000000..690532c7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+package org.apache.maven.lifecycle;
+
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.component.annotations.Requirement;
+
+import java.util.List;
+
+/**
+ * @author Kristian Rosenvold
+ */
+
+public class DefaultLifecyclesTest
+ extends PlexusTestCase
+{
+ @Requirement
+ private DefaultLifecycles defaultLifeCycles;
+
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ defaultLifeCycles = lookup( DefaultLifecycles.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ defaultLifeCycles = null;
+ super.tearDown();
+ }
+
+ public void testLifecycle()
+ throws Exception
+ {
+ final List<Lifecycle> cycles = defaultLifeCycles.getLifeCycles();
+ assertNotNull( cycles );
+ final Lifecycle lifecycle = cycles.get( 0 );
+ assertEquals( "default", lifecycle.getId() );
+ assertEquals( 23, lifecycle.getPhases().size() );
+
+ }
+
+} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingMojoExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingMojoExecutionListener.java
new file mode 100644
index 00000000..873cc7da
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingMojoExecutionListener.java
@@ -0,0 +1,75 @@
+package org.apache.maven.lifecycle;
+
+/*
+ * 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 java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import org.apache.maven.execution.MojoExecutionEvent;
+import org.apache.maven.execution.MojoExecutionListener;
+import org.apache.maven.plugin.MojoExecutionException;
+
+@Named
+@Singleton
+public class DelegatingMojoExecutionListener
+ implements MojoExecutionListener
+{
+ private final List<MojoExecutionListener> listeners = new CopyOnWriteArrayList<MojoExecutionListener>();
+
+ public void beforeMojoExecution( MojoExecutionEvent event )
+ throws MojoExecutionException
+ {
+ for ( MojoExecutionListener listener : listeners )
+ {
+ listener.beforeMojoExecution( event );
+ }
+ }
+
+ public void afterMojoExecutionSuccess( MojoExecutionEvent event )
+ throws MojoExecutionException
+ {
+ for ( MojoExecutionListener listener : listeners )
+ {
+ listener.afterMojoExecutionSuccess( event );
+ }
+ }
+
+ public void afterExecutionFailure( MojoExecutionEvent event )
+ {
+ for ( MojoExecutionListener listener : listeners )
+ {
+ listener.afterExecutionFailure( event );
+ }
+ }
+
+ public void addMojoExecutionListener( MojoExecutionListener listener )
+ {
+ this.listeners.add( listener );
+ }
+
+ public void removeMojoExecutionListener( MojoExecutionListener listener )
+ {
+ this.listeners.remove( listener );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingProjectExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingProjectExecutionListener.java
new file mode 100644
index 00000000..233ae256
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/DelegatingProjectExecutionListener.java
@@ -0,0 +1,82 @@
+package org.apache.maven.lifecycle;
+
+/*
+ * 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 java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import org.apache.maven.execution.ProjectExecutionEvent;
+import org.apache.maven.execution.ProjectExecutionListener;
+
+@Named
+@Singleton
+public class DelegatingProjectExecutionListener
+ implements ProjectExecutionListener
+{
+ private final List<ProjectExecutionListener> listeners = new CopyOnWriteArrayList<ProjectExecutionListener>();
+
+ public void beforeProjectExecution( ProjectExecutionEvent event )
+ throws LifecycleExecutionException
+ {
+ for ( ProjectExecutionListener listener : listeners )
+ {
+ listener.beforeProjectExecution( event );
+ }
+ }
+
+ public void beforeProjectLifecycleExecution( ProjectExecutionEvent event )
+ throws LifecycleExecutionException
+ {
+ for ( ProjectExecutionListener listener : listeners )
+ {
+ listener.beforeProjectLifecycleExecution( event );
+ }
+ }
+
+ public void afterProjectExecutionSuccess( ProjectExecutionEvent event )
+ throws LifecycleExecutionException
+ {
+ for ( ProjectExecutionListener listener : listeners )
+ {
+ listener.afterProjectExecutionSuccess( event );
+ }
+ }
+
+ public void afterProjectExecutionFailure( ProjectExecutionEvent event )
+ {
+ for ( ProjectExecutionListener listener : listeners )
+ {
+ listener.afterProjectExecutionFailure( event );
+ }
+ }
+
+ public void addProjectExecutionListener( ProjectExecutionListener listener )
+ {
+ this.listeners.add( listener );
+ }
+
+ public void removeProjectExecutionListener( ProjectExecutionListener listener )
+ {
+ this.listeners.remove( listener );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java
new file mode 100644
index 00000000..f9bbb2ba
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java
@@ -0,0 +1,77 @@
+package org.apache.maven.lifecycle;
+
+/*
+ * 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 java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class EmptyLifecyclePluginAnalyzer
+ implements LifeCyclePluginAnalyzer
+{
+ public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
+ {
+ Set<Plugin> plugins;
+
+ // NOTE: The upper-case packaging name is intentional, that's a special hinting mode used for certain tests
+ if ( "JAR".equals( packaging ) )
+ {
+ plugins = new LinkedHashSet<Plugin>();
+
+ plugins.add( newPlugin( "maven-compiler-plugin", "compile", "testCompile" ) );
+ plugins.add( newPlugin( "maven-resources-plugin", "resources", "testResources" ) );
+ plugins.add( newPlugin( "maven-surefire-plugin", "test" ) );
+ plugins.add( newPlugin( "maven-jar-plugin", "jar" ) );
+ plugins.add( newPlugin( "maven-install-plugin", "install" ) );
+ plugins.add( newPlugin( "maven-deploy-plugin", "deploy" ) );
+ }
+ else
+ {
+ plugins = Collections.emptySet();
+ }
+
+ return plugins;
+ }
+
+ private Plugin newPlugin( String artifactId, String... goals )
+ {
+ Plugin plugin = new Plugin();
+
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( artifactId );
+
+ for ( String goal : goals )
+ {
+ PluginExecution pluginExecution = new PluginExecution();
+ pluginExecution.setId( "default-" + goal );
+ pluginExecution.addGoal( goal );
+ plugin.addExecution( pluginExecution );
+ }
+
+ return plugin;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
new file mode 100644
index 00000000..01ebeac0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ */
+
+
+package org.apache.maven.lifecycle;
+
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.exception.ExceptionHandler;
+import org.apache.maven.lifecycle.internal.LifecycleDependencyResolver;
+import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
+import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder;
+import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
+import org.apache.maven.lifecycle.internal.MojoExecutor;
+import org.codehaus.plexus.component.annotations.Requirement;
+
+/**
+ * Just asserts that it's able to create those components. Handy when plexus gets a nervous breakdown.
+ *
+ * @author Kristian Rosenvold
+ */
+
+public class LifecycleExecutorSubModulesTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ @Requirement
+ private DefaultLifecycles defaultLifeCycles;
+
+ @Requirement
+ private MojoExecutor mojoExecutor;
+
+ @Requirement
+ private LifecycleModuleBuilder lifeCycleBuilder;
+
+ @Requirement
+ private LifecycleDependencyResolver lifeCycleDependencyResolver;
+
+ @Requirement
+ private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
+
+ @Requirement
+ private LifeCyclePluginAnalyzer lifeCyclePluginAnalyzer;
+
+ @Requirement
+ private LifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
+
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ defaultLifeCycles = lookup( DefaultLifecycles.class );
+ mojoExecutor = lookup( MojoExecutor.class );
+ lifeCycleBuilder = lookup( LifecycleModuleBuilder.class );
+ lifeCycleDependencyResolver = lookup( LifecycleDependencyResolver.class );
+ lifeCycleExecutionPlanCalculator = lookup( LifecycleExecutionPlanCalculator.class );
+ lifeCyclePluginAnalyzer = lookup( LifeCyclePluginAnalyzer.class );
+ lifeCycleTaskSegmentCalculator = lookup( LifecycleTaskSegmentCalculator.class );
+ lookup( ExceptionHandler.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ defaultLifeCycles = null;
+ super.tearDown();
+ }
+
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/lifecycle-executor";
+ }
+
+ public void testCrweation()
+ throws Exception
+ {
+ assertNotNull( defaultLifeCycles );
+ assertNotNull( mojoExecutor );
+ assertNotNull( lifeCycleBuilder );
+ assertNotNull( lifeCycleDependencyResolver );
+ assertNotNull( lifeCycleExecutionPlanCalculator );
+ assertNotNull( lifeCyclePluginAnalyzer );
+ assertNotNull( lifeCycleTaskSegmentCalculator );
+ }
+
+} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
new file mode 100644
index 00000000..99b07e34
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -0,0 +1,553 @@
+package org.apache.maven.lifecycle;
+
+/*
+ * 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 java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.exception.ExceptionHandler;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.execution.MojoExecutionEvent;
+import org.apache.maven.execution.MojoExecutionListener;
+import org.apache.maven.execution.ProjectDependencyGraph;
+import org.apache.maven.execution.ProjectExecutionEvent;
+import org.apache.maven.execution.ProjectExecutionListener;
+import org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator;
+import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
+import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
+import org.apache.maven.lifecycle.internal.LifecycleTask;
+import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
+import org.apache.maven.lifecycle.internal.MojoDescriptorCreator;
+import org.apache.maven.lifecycle.internal.TaskSegment;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+public class LifecycleExecutorTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ @Requirement
+ private DefaultLifecycleExecutor lifecycleExecutor;
+
+ @Requirement
+ private DefaultLifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
+
+ @Requirement
+ private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
+
+ @Requirement
+ private MojoDescriptorCreator mojoDescriptorCreator;
+
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ lifecycleExecutor = (DefaultLifecycleExecutor) lookup( LifecycleExecutor.class );
+ lifeCycleTaskSegmentCalculator =
+ (DefaultLifecycleTaskSegmentCalculator) lookup( LifecycleTaskSegmentCalculator.class );
+ lifeCycleExecutionPlanCalculator = lookup( LifecycleExecutionPlanCalculator.class );
+ mojoDescriptorCreator = lookup( MojoDescriptorCreator.class );
+ lookup( ExceptionHandler.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ lifecycleExecutor = null;
+ super.tearDown();
+ }
+
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/lifecycle-executor";
+ }
+
+ // -----------------------------------------------------------------------------------------------
+ // Tests which exercise the lifecycle executor when it is dealing with default lifecycle phases.
+ // -----------------------------------------------------------------------------------------------
+
+ public void testCalculationOfBuildPlanWithIndividualTaskWherePluginIsSpecifiedInThePom()
+ throws Exception
+ {
+ // We are doing something like "mvn resources:resources" where no version is specified but this
+ // project we are working on has the version specified in the POM so the version should come from there.
+ File pom = getProject( "project-basic" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-basic", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0", session.getCurrentProject().getVersion() );
+ List<MojoExecution> executionPlan = getExecutions( calculateExecutionPlan( session, "resources:resources" ) );
+ assertEquals( 1, executionPlan.size() );
+ MojoExecution mojoExecution = executionPlan.get( 0 );
+ assertNotNull( mojoExecution );
+ assertEquals( "org.apache.maven.plugins",
+ mojoExecution.getMojoDescriptor().getPluginDescriptor().getGroupId() );
+ assertEquals( "maven-resources-plugin",
+ mojoExecution.getMojoDescriptor().getPluginDescriptor().getArtifactId() );
+ assertEquals( "0.1", mojoExecution.getMojoDescriptor().getPluginDescriptor().getVersion() );
+ }
+
+ public void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanLifecycle()
+ throws Exception
+ {
+ // We are doing something like "mvn clean:clean" where no version is specified but this
+ // project we are working on has the version specified in the POM so the version should come from there.
+ File pom = getProject( "project-basic" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-basic", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0", session.getCurrentProject().getVersion() );
+ List<MojoExecution> executionPlan = getExecutions( calculateExecutionPlan( session, "clean" ) );
+ assertEquals( 1, executionPlan.size() );
+ MojoExecution mojoExecution = executionPlan.get( 0 );
+ assertNotNull( mojoExecution );
+ assertEquals( "org.apache.maven.plugins",
+ mojoExecution.getMojoDescriptor().getPluginDescriptor().getGroupId() );
+ assertEquals( "maven-clean-plugin", mojoExecution.getMojoDescriptor().getPluginDescriptor().getArtifactId() );
+ assertEquals( "0.1", mojoExecution.getMojoDescriptor().getPluginDescriptor().getVersion() );
+ }
+
+ public void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanCleanGoal()
+ throws Exception
+ {
+ // We are doing something like "mvn clean:clean" where no version is specified but this
+ // project we are working on has the version specified in the POM so the version should come from there.
+ File pom = getProject( "project-basic" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-basic", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0", session.getCurrentProject().getVersion() );
+ List<MojoExecution> executionPlan = getExecutions( calculateExecutionPlan( session, "clean:clean" ) );
+ assertEquals( 1, executionPlan.size() );
+ MojoExecution mojoExecution = executionPlan.get( 0 );
+ assertNotNull( mojoExecution );
+ assertEquals( "org.apache.maven.plugins",
+ mojoExecution.getMojoDescriptor().getPluginDescriptor().getGroupId() );
+ assertEquals( "maven-clean-plugin", mojoExecution.getMojoDescriptor().getPluginDescriptor().getArtifactId() );
+ assertEquals( "0.1", mojoExecution.getMojoDescriptor().getPluginDescriptor().getVersion() );
+ }
+
+ List<MojoExecution> getExecutions( MavenExecutionPlan mavenExecutionPlan )
+ {
+ List<MojoExecution> result = new ArrayList<MojoExecution>();
+ for ( ExecutionPlanItem executionPlanItem : mavenExecutionPlan )
+ {
+ result.add( executionPlanItem.getMojoExecution() );
+ }
+ return result;
+ }
+
+ // We need to take in multiple lifecycles
+ public void testCalculationOfBuildPlanTasksOfTheCleanLifecycleAndTheInstallLifecycle()
+ throws Exception
+ {
+ File pom = getProject( "project-with-additional-lifecycle-elements" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-with-additional-lifecycle-elements", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0", session.getCurrentProject().getVersion() );
+ List<MojoExecution> executionPlan = getExecutions( calculateExecutionPlan( session, "clean", "install" ) );
+
+ //[01] clean:clean
+ //[02] resources:resources
+ //[03] compiler:compile
+ //[04] it:generate-metadata
+ //[05] resources:testResources
+ //[06] compiler:testCompile
+ //[07] it:generate-test-metadata
+ //[08] surefire:test
+ //[09] jar:jar
+ //[10] install:install
+ //
+ assertEquals( 10, executionPlan.size() );
+
+ assertEquals( "clean:clean", executionPlan.get( 0 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:resources", executionPlan.get( 1 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:compile", executionPlan.get( 2 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:generate-metadata", executionPlan.get( 3 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:testResources", executionPlan.get( 4 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:testCompile", executionPlan.get( 5 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:generate-test-metadata", executionPlan.get( 6 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "surefire:test", executionPlan.get( 7 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "jar:jar", executionPlan.get( 8 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "install:install", executionPlan.get( 9 ).getMojoDescriptor().getFullGoalName() );
+ }
+
+ // We need to take in multiple lifecycles
+ public void testCalculationOfBuildPlanWithMultipleExecutionsOfModello()
+ throws Exception
+ {
+ File pom = getProject( "project-with-multiple-executions" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-with-multiple-executions", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0.1", session.getCurrentProject().getVersion() );
+
+ MavenExecutionPlan plan = calculateExecutionPlan( session, "clean", "install" );
+
+ List<MojoExecution> executions = getExecutions( plan );
+
+ //[01] clean:clean
+ //[02] modello:xpp3-writer
+ //[03] modello:java
+ //[04] modello:xpp3-reader
+ //[05] modello:xpp3-writer
+ //[06] modello:java
+ //[07] modello:xpp3-reader
+ //[08] plugin:descriptor
+ //[09] resources:resources
+ //[10] compiler:compile
+ //[11] resources:testResources
+ //[12] compiler:testCompile
+ //[13] surefire:test
+ //[14] jar:jar
+ //[15] plugin:addPluginArtifactMetadata
+ //[16] install:install
+ //
+
+ assertEquals( 16, executions.size() );
+
+ assertEquals( "clean:clean", executions.get( 0 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:xpp3-writer", executions.get( 1 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:java", executions.get( 2 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:xpp3-reader", executions.get( 3 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:xpp3-writer", executions.get( 4 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:java", executions.get( 5 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:xpp3-reader", executions.get( 6 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:resources", executions.get( 7 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:compile", executions.get( 8 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "plugin:descriptor", executions.get( 9 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:testResources", executions.get( 10 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:testCompile", executions.get( 11 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "surefire:test", executions.get( 12 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "jar:jar", executions.get( 13 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "plugin:addPluginArtifactMetadata", executions.get( 14 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "install:install", executions.get( 15 ).getMojoDescriptor().getFullGoalName() );
+
+ assertEquals( "src/main/mdo/remote-resources.mdo",
+ new MojoExecutionXPathContainer( executions.get( 1 ) ).getValue(
+ "configuration/models[1]/model" ) );
+ assertEquals( "src/main/mdo/supplemental-model.mdo",
+ new MojoExecutionXPathContainer( executions.get( 4 ) ).getValue(
+ "configuration/models[1]/model" ) );
+ }
+
+ public void testLifecycleQueryingUsingADefaultLifecyclePhase()
+ throws Exception
+ {
+ File pom = getProject( "project-with-additional-lifecycle-elements" );
+ MavenSession session = createMavenSession( pom );
+ assertEquals( "project-with-additional-lifecycle-elements", session.getCurrentProject().getArtifactId() );
+ assertEquals( "1.0", session.getCurrentProject().getVersion() );
+ List<MojoExecution> executionPlan = getExecutions( calculateExecutionPlan( session, "package" ) );
+
+ //[01] resources:resources
+ //[02] compiler:compile
+ //[03] it:generate-metadata
+ //[04] resources:testResources
+ //[05] compiler:testCompile
+ //[06] plexus-component-metadata:generate-test-metadata
+ //[07] surefire:test
+ //[08] jar:jar
+ //
+ assertEquals( 8, executionPlan.size() );
+
+ assertEquals( "resources:resources", executionPlan.get( 0 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:compile", executionPlan.get( 1 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:generate-metadata", executionPlan.get( 2 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "resources:testResources", executionPlan.get( 3 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "compiler:testCompile", executionPlan.get( 4 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "it:generate-test-metadata", executionPlan.get( 5 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "surefire:test", executionPlan.get( 6 ).getMojoDescriptor().getFullGoalName() );
+ assertEquals( "jar:jar", executionPlan.get( 7 ).getMojoDescriptor().getFullGoalName() );
+ }
+
+ public void testLifecyclePluginsRetrievalForDefaultLifecycle()
+ throws Exception
+ {
+ List<Plugin> plugins =
+ new ArrayList<Plugin>( lifecycleExecutor.getPluginsBoundByDefaultToAllLifecycles( "jar" ) );
+
+ assertEquals( 8, plugins.size() );
+ }
+
+ public void testPluginConfigurationCreation()
+ throws Exception
+ {
+ File pom = getProject( "project-with-additional-lifecycle-elements" );
+ MavenSession session = createMavenSession( pom );
+ MojoDescriptor mojoDescriptor =
+ mojoDescriptorCreator.getMojoDescriptor( "org.apache.maven.its.plugins:maven-it-plugin:0.1:java", session,
+ session.getCurrentProject() );
+ Xpp3Dom dom = MojoDescriptorCreator.convert( mojoDescriptor );
+ System.out.println( dom );
+ }
+
+ MavenExecutionPlan calculateExecutionPlan( MavenSession session, String... tasks )
+ throws Exception
+ {
+ List<TaskSegment> taskSegments =
+ lifeCycleTaskSegmentCalculator.calculateTaskSegments( session, Arrays.asList( tasks ) );
+
+ TaskSegment mergedSegment = new TaskSegment( false );
+
+ for ( TaskSegment taskSegment : taskSegments )
+ {
+ mergedSegment.getTasks().addAll( taskSegment.getTasks() );
+ }
+
+ return lifeCycleExecutionPlanCalculator.calculateExecutionPlan( session, session.getCurrentProject(),
+ mergedSegment.getTasks() );
+ }
+
+ public void testInvalidGoalName()
+ throws Exception
+ {
+ File pom = getProject( "project-basic" );
+ MavenSession session = createMavenSession( pom );
+ try
+ {
+ getExecutions( calculateExecutionPlan( session, "resources:" ) );
+ fail( "expected a MojoNotFoundException" );
+ }
+ catch ( MojoNotFoundException e )
+ {
+ assertEquals( "", e.getGoal() );
+ }
+
+ try
+ {
+ getExecutions( calculateExecutionPlan( session, "org.apache.maven.plugins:maven-resources-plugin:0.1:resources:toomany" ) );
+ fail( "expected a MojoNotFoundException" );
+ }
+ catch ( MojoNotFoundException e )
+ {
+ assertEquals( "resources:toomany", e.getGoal() );
+ }
+ }
+
+
+ public void testPluginPrefixRetrieval()
+ throws Exception
+ {
+ File pom = getProject( "project-basic" );
+ MavenSession session = createMavenSession( pom );
+ Plugin plugin = mojoDescriptorCreator.findPluginForPrefix( "resources", session );
+ assertEquals( "org.apache.maven.plugins", plugin.getGroupId() );
+ assertEquals( "maven-resources-plugin", plugin.getArtifactId() );
+ }
+
+ // Prefixes
+
+ public void testFindingPluginPrefixforCleanClean()
+ throws Exception
+ {
+ File pom = getProject( "project-basic" );
+ MavenSession session = createMavenSession( pom );
+ Plugin plugin = mojoDescriptorCreator.findPluginForPrefix( "clean", session );
+ assertNotNull( plugin );
+ }
+
+ public void testSetupMojoExecution()
+ throws Exception
+ {
+ File pom = getProject( "mojo-configuration" );
+
+ MavenSession session = createMavenSession( pom );
+
+ LifecycleTask task = new LifecycleTask( "generate-sources" );
+ MavenExecutionPlan executionPlan =
+ lifeCycleExecutionPlanCalculator.calculateExecutionPlan( session, session.getCurrentProject(),
+ Arrays.asList( (Object) task ), false );
+
+ MojoExecution execution = executionPlan.getMojoExecutions().get(0);
+ assertEquals(execution.toString(), "maven-it-plugin", execution.getArtifactId());
+ assertNull(execution.getConfiguration());
+
+ lifeCycleExecutionPlanCalculator.setupMojoExecution( session, session.getCurrentProject(), execution );
+ assertNotNull(execution.getConfiguration());
+ assertEquals("1.0", execution.getConfiguration().getChild( "version" ).getAttribute( "default-value" ));
+ }
+
+ public void testExecutionListeners()
+ throws Exception
+ {
+ final File pom = getProject( "project-basic" );
+ final MavenSession session = createMavenSession( pom );
+ session.setProjectDependencyGraph( new ProjectDependencyGraph()
+ {
+ public List<MavenProject> getUpstreamProjects( MavenProject project, boolean transitive )
+ {
+ return Collections.emptyList();
+ }
+
+ public List<MavenProject> getSortedProjects()
+ {
+ return Collections.singletonList( session.getCurrentProject() );
+ }
+
+ public List<MavenProject> getDownstreamProjects( MavenProject project, boolean transitive )
+ {
+ return Collections.emptyList();
+ }
+
+ public java.util.List<MavenProject> getAllSortedProjects()
+ {
+ return Collections.emptyList();
+ }
+ } );
+
+ final List<String> log = new ArrayList<String>();
+
+ MojoExecutionListener mojoListener = new MojoExecutionListener()
+ {
+ public void beforeMojoExecution( MojoExecutionEvent event )
+ throws MojoExecutionException
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNotNull( event.getExecution() );
+ assertNotNull( event.getMojo() );
+ assertNull( event.getCause() );
+
+ log.add( "beforeMojoExecution " + event.getProject().getArtifactId() + ":"
+ + event.getExecution().getExecutionId() );
+ }
+
+ public void afterMojoExecutionSuccess( MojoExecutionEvent event )
+ throws MojoExecutionException
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNotNull( event.getExecution() );
+ assertNotNull( event.getMojo() );
+ assertNull( event.getCause() );
+
+ log.add( "afterMojoExecutionSuccess " + event.getProject().getArtifactId() + ":"
+ + event.getExecution().getExecutionId() );
+ }
+
+ public void afterExecutionFailure( MojoExecutionEvent event )
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNotNull( event.getExecution() );
+ assertNotNull( event.getMojo() );
+ assertNotNull( event.getCause() );
+
+ log.add( "afterExecutionFailure " + event.getProject().getArtifactId() + ":"
+ + event.getExecution().getExecutionId() );
+ }
+ };
+ ProjectExecutionListener projectListener = new ProjectExecutionListener()
+ {
+ public void beforeProjectExecution( ProjectExecutionEvent event )
+ throws LifecycleExecutionException
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNull( event.getExecutionPlan() );
+ assertNull( event.getCause() );
+
+ log.add( "beforeProjectExecution " + event.getProject().getArtifactId() );
+ }
+
+ public void beforeProjectLifecycleExecution( ProjectExecutionEvent event )
+ throws LifecycleExecutionException
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNotNull( event.getExecutionPlan() );
+ assertNull( event.getCause() );
+
+ log.add( "beforeProjectLifecycleExecution " + event.getProject().getArtifactId() );
+ }
+
+ public void afterProjectExecutionSuccess( ProjectExecutionEvent event )
+ throws LifecycleExecutionException
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNotNull( event.getExecutionPlan() );
+ assertNull( event.getCause() );
+
+ log.add( "afterProjectExecutionSuccess " + event.getProject().getArtifactId() );
+ }
+
+ public void afterProjectExecutionFailure( ProjectExecutionEvent event )
+ {
+ assertNotNull( event.getSession() );
+ assertNotNull( event.getProject() );
+ assertNull( event.getExecutionPlan() );
+ assertNotNull( event.getCause() );
+
+ log.add( "afterProjectExecutionFailure " + event.getProject().getArtifactId() );
+ }
+ };
+ lookup( DelegatingProjectExecutionListener.class ).addProjectExecutionListener( projectListener );
+ lookup( DelegatingMojoExecutionListener.class ).addMojoExecutionListener( mojoListener );
+
+ try
+ {
+ lifecycleExecutor.execute( session );
+ }
+ finally
+ {
+ lookup( DelegatingProjectExecutionListener.class ).removeProjectExecutionListener( projectListener );
+ lookup( DelegatingMojoExecutionListener.class ).removeMojoExecutionListener( mojoListener );
+ }
+
+ List<String> expectedLog = Arrays.asList( "beforeProjectExecution project-basic", //
+ "beforeProjectLifecycleExecution project-basic", //
+ "beforeMojoExecution project-basic:default-resources", //
+ "afterMojoExecutionSuccess project-basic:default-resources", //
+ "beforeMojoExecution project-basic:default-compile", //
+ "afterMojoExecutionSuccess project-basic:default-compile", //
+ "beforeMojoExecution project-basic:default-testResources", //
+ "afterMojoExecutionSuccess project-basic:default-testResources", //
+ "beforeMojoExecution project-basic:default-testCompile", //
+ "afterMojoExecutionSuccess project-basic:default-testCompile", //
+ "beforeMojoExecution project-basic:default-test", //
+ "afterMojoExecutionSuccess project-basic:default-test", //
+ "beforeMojoExecution project-basic:default-jar", //
+ "afterMojoExecutionSuccess project-basic:default-jar", //
+ "afterProjectExecutionSuccess project-basic" //
+ );
+
+ assertEventLog( expectedLog, log );
+ }
+
+ private static void assertEventLog( List<String> expectedList, List<String> actualList )
+ {
+ assertEquals( toString( expectedList ), toString( actualList ) );
+ }
+
+ private static String toString( List<String> lines )
+ {
+ StringBuilder sb = new StringBuilder();
+ for ( String line : lines )
+ {
+ sb.append( line ).append( '\n' );
+ }
+ return sb.toString();
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
new file mode 100644
index 00000000..4901a65d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MavenExecutionPlanTest.java
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
+import org.apache.maven.lifecycle.internal.stub.DefaultLifecyclesStub;
+import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
+import org.apache.maven.model.Plugin;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class MavenExecutionPlanTest
+ extends TestCase
+{
+
+ public void testFindLastInPhase()
+ throws Exception
+ {
+ MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan();
+
+ ExecutionPlanItem expected = plan.findLastInPhase( "package" );
+ ExecutionPlanItem beerPhase = plan.findLastInPhase( "BEER" ); // Beer comes straight after package in stub
+ assertEquals( expected, beerPhase );
+ assertNotNull( expected );
+ }
+
+ public void testThreadSafeMojos()
+ throws Exception
+ {
+ MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan();
+ final Set<Plugin> unSafePlugins = plan.getNonThreadSafePlugins();
+ // There is only a single threadsafe plugin here...
+ assertEquals( plan.size() - 1, unSafePlugins.size() );
+
+ }
+
+
+ public void testFindLastWhenFirst()
+ throws Exception
+ {
+ MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan();
+
+ ExecutionPlanItem beerPhase = plan.findLastInPhase(
+ LifecycleExecutionPlanCalculatorStub.VALIDATE.getPhase() ); // Beer comes straight after package in stub
+ assertNull( beerPhase );
+ }
+
+ public void testFindLastInPhaseMisc()
+ throws Exception
+ {
+ MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan();
+
+ assertNull( plan.findLastInPhase( "pacXkage" ) );
+ // Beer comes straight after package in stub, much like real life.
+ assertNotNull( plan.findLastInPhase( LifecycleExecutionPlanCalculatorStub.INITIALIZE.getPhase() ) );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MojoExecutionXPathContainer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MojoExecutionXPathContainer.java
new file mode 100644
index 00000000..6244cc91
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/MojoExecutionXPathContainer.java
@@ -0,0 +1,72 @@
+package org.apache.maven.lifecycle;
+
+/*
+ * 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 java.io.IOException;
+import java.util.Iterator;
+
+import org.apache.commons.jxpath.JXPathContext;
+import org.apache.commons.jxpath.JXPathNotFoundException;
+import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.project.harness.Xpp3DomPointerFactory;
+
+public class MojoExecutionXPathContainer
+{
+ private JXPathContext context;
+
+ static
+ {
+ JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() );
+ }
+
+ public MojoExecutionXPathContainer( MojoExecution mojoExecution )
+ throws IOException
+ {
+ context = JXPathContext.newContext( mojoExecution );
+ }
+
+ public Iterator<?> getIteratorForXPathExpression( String expression )
+ {
+ return context.iterate( expression );
+ }
+
+ public boolean containsXPathExpression( String expression )
+ {
+ return context.getValue( expression ) != null;
+ }
+
+ public Object getValue( String expression )
+ {
+ try
+ {
+ return context.getValue( expression );
+ }
+ catch ( JXPathNotFoundException e )
+ {
+ return null;
+ }
+ }
+
+ public boolean xPathExpressionEqualsValue( String expression, String value )
+ {
+ return context.getValue( expression ) != null && context.getValue( expression ).equals( value );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
new file mode 100644
index 00000000..a0039832
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
@@ -0,0 +1,49 @@
+package org.apache.maven.lifecycle.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 junit.framework.TestCase;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+
+import java.util.List;
+
+public class BuildListCalculatorTest
+ extends TestCase
+{
+
+ public void testCalculateProjectBuilds()
+ throws Exception
+ {
+ LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator = getTaskSegmentCalculator();
+ BuildListCalculator buildListCalculator = new BuildListCalculator();
+ final MavenSession session = ProjectDependencyGraphStub.getMavenSession();
+ List<TaskSegment> taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
+ final ProjectBuildList buildList = buildListCalculator.calculateProjectBuilds( session, taskSegments );
+ final ProjectBuildList segments = buildList.getByTaskSegment( taskSegments.get( 0 ) );
+ assertEquals( "Stub data contains 3 segments", 3, taskSegments.size() );
+ assertEquals( "Stub data contains 6 items", 6, segments.size() );
+ final ProjectSegment build = segments.get( 0 );
+ assertNotNull( build );
+ }
+
+ private static LifecycleTaskSegmentCalculator getTaskSegmentCalculator()
+ {
+ return new LifecycleTaskSegmentCalculatorStub();
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
new file mode 100644
index 00000000..6f896d85
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuilderCommonTest.java
@@ -0,0 +1,76 @@
+package org.apache.maven.lifecycle.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 junit.framework.TestCase;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.MavenExecutionPlan;
+import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
+import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
+import org.apache.maven.lifecycle.internal.stub.LoggerStub;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+
+import java.util.HashSet;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class BuilderCommonTest
+ extends TestCase
+{
+ public void testResolveBuildPlan()
+ throws Exception
+ {
+ MavenSession original = ProjectDependencyGraphStub.getMavenSession();
+
+ final TaskSegment taskSegment1 = new TaskSegment( false );
+ final MavenSession session1 = original.clone();
+ session1.setCurrentProject( ProjectDependencyGraphStub.A );
+
+ final BuilderCommon builderCommon = getBuilderCommon();
+ final MavenExecutionPlan plan =
+ builderCommon.resolveBuildPlan( session1, ProjectDependencyGraphStub.A, taskSegment1,
+ new HashSet<Artifact>() );
+ assertEquals( LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan().size(), plan.size() );
+
+ }
+
+
+ public void testHandleBuildError()
+ throws Exception
+ {
+ }
+
+ public void testAttachToThread()
+ throws Exception
+ {
+ }
+
+ public void testGetKey()
+ throws Exception
+ {
+ }
+
+ public static BuilderCommon getBuilderCommon()
+ {
+ final LifecycleDebugLogger logger = new LifecycleDebugLogger( new LoggerStub() );
+ return new BuilderCommon( logger, new LifecycleExecutionPlanCalculatorStub(),
+ new LoggerStub() );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
new file mode 100644
index 00000000..9ab06011
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java
@@ -0,0 +1,94 @@
+package org.apache.maven.lifecycle.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.apache.maven.execution.MavenSession;
+import org.apache.maven.execution.ProjectDependencyGraph;
+import org.apache.maven.lifecycle.LifecycleNotFoundException;
+import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
+import org.apache.maven.lifecycle.internal.builder.multithreaded.ConcurrencyDependencyGraph;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.apache.maven.plugin.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.PluginDescriptorParsingException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginResolutionException;
+import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.project.MavenProject;
+
+import java.util.List;
+
+import static org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub.*;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class ConcurrencyDependencyGraphTest
+ extends junit.framework.TestCase
+{
+ public void testConcurrencyGraphPrimaryVersion()
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ ProjectDependencyGraph dependencyGraph = new ProjectDependencyGraphStub();
+ final MavenSession session = ProjectDependencyGraphStub.getMavenSession();
+
+ ConcurrencyDependencyGraph graph =
+ new ConcurrencyDependencyGraph( getProjectBuildList( session ), dependencyGraph );
+
+ final List<MavenProject> projectBuilds = graph.getRootSchedulableBuilds();
+ assertEquals( 1, projectBuilds.size() );
+ assertEquals( A, projectBuilds.get( 0 ) );
+
+ final List<MavenProject> subsequent = graph.markAsFinished( A );
+ assertEquals( 2, subsequent.size() );
+ assertEquals( ProjectDependencyGraphStub.B, subsequent.get( 0 ) );
+ assertEquals( C, subsequent.get( 1 ) );
+
+ final List<MavenProject> bDescendants = graph.markAsFinished( B );
+ assertEquals( 1, bDescendants.size() );
+ assertEquals( Y, bDescendants.get( 0 ) );
+
+ final List<MavenProject> cDescendants = graph.markAsFinished( C );
+ assertEquals( 2, cDescendants.size() );
+ assertEquals( X, cDescendants.get( 0 ) );
+ assertEquals( Z, cDescendants.get( 1 ) );
+ }
+
+ public void testConcurrencyGraphDifferentCompletionOrder()
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ ProjectDependencyGraph dependencyGraph = new ProjectDependencyGraphStub();
+ final MavenSession session = ProjectDependencyGraphStub.getMavenSession();
+ ConcurrencyDependencyGraph graph =
+ new ConcurrencyDependencyGraph( getProjectBuildList( session ), dependencyGraph );
+
+ graph.markAsFinished( A );
+ final List<MavenProject> cDescendants = graph.markAsFinished( C );
+ assertEquals( 1, cDescendants.size() );
+ assertEquals( Z, cDescendants.get( 0 ) );
+
+ final List<MavenProject> bDescendants = graph.markAsFinished( B );
+ assertEquals( 2, bDescendants.size() );
+ assertEquals( X, bDescendants.get( 0 ) );
+ assertEquals( Y, bDescendants.get( 1 ) );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
new file mode 100644
index 00000000..a9af5668
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculatorTest.java
@@ -0,0 +1,82 @@
+package org.apache.maven.lifecycle.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.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.MavenExecutionPlan;
+import org.apache.maven.lifecycle.internal.stub.BuildPluginManagerStub;
+import org.apache.maven.lifecycle.internal.stub.DefaultLifecyclesStub;
+import org.apache.maven.lifecycle.internal.stub.PluginPrefixResolverStub;
+import org.apache.maven.lifecycle.internal.stub.PluginVersionResolverStub;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+
+/**
+ * @author Kristian Rosenvold>
+ */
+public class LifecycleExecutionPlanCalculatorTest
+ extends AbstractCoreMavenComponentTestCase
+{
+
+ public void testCalculateExecutionPlanWithGoalTasks()
+ throws Exception
+ {
+ MojoDescriptorCreator mojoDescriptorCreator = createMojoDescriptorCreator();
+ LifecycleExecutionPlanCalculator lifecycleExecutionPlanCalculator =
+ createExecutionPlaceCalculator( mojoDescriptorCreator );
+
+ final GoalTask goalTask1 = new GoalTask( "compiler:compile" );
+ final GoalTask goalTask2 = new GoalTask( "surefire:test" );
+ final TaskSegment taskSegment1 = new TaskSegment( false, goalTask1, goalTask2 );
+ final MavenSession session1 = ProjectDependencyGraphStub.getMavenSession( ProjectDependencyGraphStub.A );
+
+ MavenExecutionPlan executionPlan =
+ lifecycleExecutionPlanCalculator.calculateExecutionPlan( session1, ProjectDependencyGraphStub.A,
+ taskSegment1.getTasks() );
+ assertEquals( 2, executionPlan.size() );
+
+ final GoalTask goalTask3 = new GoalTask( "surefire:test" );
+ final TaskSegment taskSegment2 = new TaskSegment( false, goalTask1, goalTask2, goalTask3 );
+ MavenExecutionPlan executionPlan2 =
+ lifecycleExecutionPlanCalculator.calculateExecutionPlan( session1, ProjectDependencyGraphStub.A,
+ taskSegment2.getTasks() );
+ assertEquals( 3, executionPlan2.size() );
+ }
+
+ // Maybe also make one with LifeCycleTasks
+
+ public static LifecycleExecutionPlanCalculator createExecutionPlaceCalculator( MojoDescriptorCreator mojoDescriptorCreator )
+ {
+ LifecyclePluginResolver lifecyclePluginResolver = new LifecyclePluginResolver( new PluginVersionResolverStub() );
+ return new DefaultLifecycleExecutionPlanCalculator( new BuildPluginManagerStub(),
+ DefaultLifecyclesStub.createDefaultLifecycles(),
+ mojoDescriptorCreator, lifecyclePluginResolver );
+ }
+
+ public static MojoDescriptorCreator createMojoDescriptorCreator()
+ {
+ return new MojoDescriptorCreator( new PluginVersionResolverStub(), new BuildPluginManagerStub(),
+ new PluginPrefixResolverStub(),
+ new LifecyclePluginResolver( new PluginVersionResolverStub() ) );
+ }
+
+ @Override
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/lifecycle-executor";
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
new file mode 100644
index 00000000..5db316f8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
@@ -0,0 +1,57 @@
+package org.apache.maven.lifecycle.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 junit.framework.TestCase;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+
+import java.util.List;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class LifecycleTaskSegmentCalculatorImplTest
+ extends TestCase
+{
+ public void testCalculateProjectBuilds()
+ throws Exception
+ {
+ LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator = getTaskSegmentCalculator();
+ BuildListCalculator buildListCalculator = new BuildListCalculator();
+ final MavenSession session = ProjectDependencyGraphStub.getMavenSession();
+ List<TaskSegment> taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
+
+ final ProjectBuildList buildList = buildListCalculator.calculateProjectBuilds( session, taskSegments );
+ final ProjectBuildList segments = buildList.getByTaskSegment( taskSegments.get( 0 ) );
+ assertEquals( "Stub data contains 3 segments", 3, taskSegments.size() );
+ assertEquals( "Stub data contains 6 items", 6, segments.size() );
+ final ProjectSegment build = segments.get( 0 );
+ assertNotNull( build );
+ }
+
+ private static LifecycleTaskSegmentCalculator getTaskSegmentCalculator()
+ {
+ return new LifecycleTaskSegmentCalculatorStub();
+ }
+
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
new file mode 100644
index 00000000..f3d6422c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java
@@ -0,0 +1,49 @@
+package org.apache.maven.lifecycle.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 junit.framework.TestCase;
+
+import org.apache.maven.lifecycle.MavenExecutionPlan;
+import org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.apache.maven.plugin.MojoExecution;
+
+import java.util.List;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class PhaseRecorderTest extends TestCase
+{
+ public void testObserveExecution() throws Exception {
+ PhaseRecorder phaseRecorder = new PhaseRecorder( ProjectDependencyGraphStub.A);
+ MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExceutionPlan();
+ final List<MojoExecution> executions = plan.getMojoExecutions();
+
+ final MojoExecution mojoExecution1 = executions.get( 0 );
+ final MojoExecution mojoExecution2 = executions.get( 1 );
+ phaseRecorder.observeExecution( mojoExecution1 );
+
+ assertTrue( ProjectDependencyGraphStub.A.hasLifecyclePhase( mojoExecution1.getLifecyclePhase() ));
+ assertFalse( ProjectDependencyGraphStub.A.hasLifecyclePhase( mojoExecution2.getLifecyclePhase() ));
+
+ assertFalse( phaseRecorder.isDifferentPhase( mojoExecution1));
+ assertTrue( phaseRecorder.isDifferentPhase( mojoExecution2));
+
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
new file mode 100644
index 00000000..047ef9fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ProjectBuildListTest.java
@@ -0,0 +1,42 @@
+package org.apache.maven.lifecycle.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 junit.framework.TestCase;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class ProjectBuildListTest
+ extends TestCase
+{
+
+ public void testGetByTaskSegment()
+ throws Exception
+ {
+ final MavenSession session = ProjectDependencyGraphStub.getMavenSession();
+ ProjectBuildList projectBuildList = ProjectDependencyGraphStub.getProjectBuildList( session );
+ TaskSegment taskSegment = projectBuildList.get( 0 ).getTaskSegment();
+ assertTrue( "This test assumes there are at least 6 elements in projectBuilds", projectBuildList.size() >= 6 );
+
+ final ProjectBuildList byTaskSegment = projectBuildList.getByTaskSegment( taskSegment );
+ assertEquals( projectBuildList.size(),
+ byTaskSegment.size() ); // Todo: Make multiple segments on projectBuildList
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
new file mode 100644
index 00000000..dc75a947
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxerTest.java
@@ -0,0 +1,167 @@
+package org.apache.maven.lifecycle.internal.builder.multithreaded;
+
+/*
+ * 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 junit.framework.TestCase;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleNotFoundException;
+import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
+import org.apache.maven.lifecycle.internal.ProjectBuildList;
+import org.apache.maven.lifecycle.internal.ProjectSegment;
+import org.apache.maven.lifecycle.internal.builder.multithreaded.ThreadOutputMuxer;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.apache.maven.plugin.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.PluginDescriptorParsingException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginResolutionException;
+import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.ExecutorCompletionService;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class ThreadOutputMuxerTest
+ extends TestCase
+{
+
+ final String paid = "Paid";
+
+ final String in = "In";
+
+ final String full = "Full";
+
+ public void testSingleThreaded()
+ throws Exception
+ {
+ ProjectBuildList src = getProjectBuildList();
+ ProjectBuildList projectBuildList =
+ new ProjectBuildList( Arrays.asList( src.get( 0 ), src.get( 1 ), src.get( 2 ) ) );
+
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ PrintStream systemOut = new PrintStream( byteArrayOutputStream );
+ ThreadOutputMuxer threadOutputMuxer = new ThreadOutputMuxer( projectBuildList, systemOut );
+
+ threadOutputMuxer.associateThreadWithProjectSegment( projectBuildList.get( 0 ) );
+ System.out.print( paid ); // No, this does not print to system.out. It's part of the test
+ assertEquals( paid.length(), byteArrayOutputStream.size() );
+ threadOutputMuxer.associateThreadWithProjectSegment( projectBuildList.get( 1 ) );
+ System.out.print( in ); // No, this does not print to system.out. It's part of the test
+ assertEquals( paid.length(), byteArrayOutputStream.size() );
+ threadOutputMuxer.associateThreadWithProjectSegment( projectBuildList.get( 2 ) );
+ System.out.print( full ); // No, this does not print to system.out. It's part of the test
+ assertEquals( paid.length(), byteArrayOutputStream.size() );
+
+ threadOutputMuxer.setThisModuleComplete( projectBuildList.get( 0 ) );
+ threadOutputMuxer.setThisModuleComplete( projectBuildList.get( 1 ) );
+ threadOutputMuxer.setThisModuleComplete( projectBuildList.get( 2 ) );
+ threadOutputMuxer.close();
+ assertEquals( ( paid + in + full ).length(), byteArrayOutputStream.size() );
+ }
+
+ public void testMultiThreaded()
+ throws Exception
+ {
+ ProjectBuildList projectBuildList = getProjectBuildList();
+
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ PrintStream systemOut = new PrintStream( byteArrayOutputStream );
+ final ThreadOutputMuxer threadOutputMuxer = new ThreadOutputMuxer( projectBuildList, systemOut );
+
+ final List<String> stringList =
+ Arrays.asList( "Thinkin", "of", "a", "master", "plan", "Cuz", "ain’t", "nuthin", "but", "sweat", "inside",
+ "my", "hand" );
+ Iterator<String> lyrics = stringList.iterator();
+
+ ExecutorService executor = Executors.newFixedThreadPool( 10 );
+ CompletionService<ProjectSegment> service = new ExecutorCompletionService<ProjectSegment>( executor );
+
+ List<Future<ProjectSegment>> futures = new ArrayList<Future<ProjectSegment>>();
+ for ( ProjectSegment projectBuild : projectBuildList )
+ {
+ final Future<ProjectSegment> buildFuture =
+ service.submit( new Outputter( threadOutputMuxer, projectBuild, lyrics.next() ) );
+ futures.add( buildFuture );
+ }
+
+ for ( Future<ProjectSegment> future : futures )
+ {
+ future.get();
+ }
+ int expectedLength = 0;
+ for ( int i = 0; i < projectBuildList.size(); i++ )
+ {
+ expectedLength += stringList.get( i ).length();
+ }
+
+ threadOutputMuxer.close();
+ final byte[] bytes = byteArrayOutputStream.toByteArray();
+ String result = new String( bytes );
+ assertEquals( result, expectedLength, bytes.length );
+
+
+ }
+
+ class Outputter
+ implements Callable<ProjectSegment>
+ {
+ private final ThreadOutputMuxer threadOutputMuxer;
+
+ private final ProjectSegment item;
+
+ private final String response;
+
+ Outputter( ThreadOutputMuxer threadOutputMuxer, ProjectSegment item, String response )
+ {
+ this.threadOutputMuxer = threadOutputMuxer;
+ this.item = item;
+ this.response = response;
+ }
+
+ public ProjectSegment call()
+ throws Exception
+ {
+ threadOutputMuxer.associateThreadWithProjectSegment( item );
+ System.out.print( response );
+ threadOutputMuxer.setThisModuleComplete( item );
+ return item;
+ }
+ }
+
+
+ private ProjectBuildList getProjectBuildList()
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ final MavenSession session = ProjectDependencyGraphStub.getMavenSession();
+ return ProjectDependencyGraphStub.getProjectBuildList( session );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html
new file mode 100644
index 00000000..8ad74b96
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/AboutTheStubs.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+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.
+-->
+
+<html>
+<head>
+ <title>About these stubs</title>
+</head>
+<body>
+<h2>Design</h2>
+These stubs can be thought of as hand-coded mock obects. They allow unit tests to test only specific
+aspects of a component while ignoring others.
+
+These stubs form an internally consistent data-set that is not expected to change. They are
+used to test the individual components in the lifecycle with data that has expected characteristics
+and can be asserted as desired.
+
+You can change/extend these stubs, and tests should not be breaking too much, since most tests
+assert using expected values from the stubs. Normally, when you try to use data from the stubs that
+have not been properly populated, you'll get a nullpointer in your test and you then have to
+identify which stub creates that specific piece of data.
+
+The most important stubs are:
+LifecycleExecutionPlanCalculatorStub
+ProjectDependencyGraphStub
+
+Since they define the primary structure of the project/build.
+
+The stubs define three top-level targets that are defined in LifecycleTaskSegmentCalculatorStub;
+clean, aggr and install. "aggr" is an aggregating task while clean and install are lifecyclephases.
+There will be three items in the task list for this dataset.
+
+The stubs also exist at different "levels", where one test might wire stubs into a specific live implementation.
+In the next test that same "live implementation" will be used in a stub version instead.
+
+Not all live services have stubs, but can be added as needed.
+</body>
+</html> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/BuildPluginManagerStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/BuildPluginManagerStub.java
new file mode 100644
index 00000000..133bcb3a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/BuildPluginManagerStub.java
@@ -0,0 +1,56 @@
+package org.apache.maven.lifecycle.internal.stub;
+
+/*
+ * 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 java.util.List;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.BuildPluginManager;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.codehaus.plexus.classworlds.realm.ClassRealm;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.repository.RemoteRepository;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class BuildPluginManagerStub
+ implements BuildPluginManager
+{
+
+ public PluginDescriptor loadPlugin( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
+ {
+ return null;
+ }
+
+ public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
+ RepositorySystemSession session )
+ {
+ return MojoExecutorStub.createMojoDescriptor( plugin.getKey() );
+ }
+
+ public ClassRealm getPluginRealm( MavenSession session, PluginDescriptor pluginDescriptor )
+ {
+ return null;
+ }
+
+ public void executeMojo( MavenSession session, MojoExecution execution )
+ {
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/CompletionServiceStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/CompletionServiceStub.java
new file mode 100644
index 00000000..10a113e9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/CompletionServiceStub.java
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.lifecycle.internal.ProjectSegment;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.Future;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class CompletionServiceStub
+ implements CompletionService<ProjectSegment>
+{
+ List<FutureTask<ProjectSegment>> projectBuildFutureTasks =
+ Collections.synchronizedList( new ArrayList<FutureTask<ProjectSegment>>() );
+
+ final boolean finishImmediately;
+
+
+ public int size()
+ {
+ return projectBuildFutureTasks.size();
+ }
+
+ public CompletionServiceStub( boolean finishImmediately )
+ {
+ this.finishImmediately = finishImmediately;
+ }
+
+ public Future<ProjectSegment> submit( Callable<ProjectSegment> task )
+ {
+ FutureTask<ProjectSegment> projectBuildFutureTask = new FutureTask<ProjectSegment>( task );
+ projectBuildFutureTasks.add( projectBuildFutureTask );
+ if ( finishImmediately )
+ {
+ projectBuildFutureTask.run();
+ }
+ return projectBuildFutureTask;
+ }
+
+ public Future<ProjectSegment> submit( Runnable task, ProjectSegment result )
+ {
+ FutureTask<ProjectSegment> projectBuildFutureTask = new FutureTask<ProjectSegment>( task, result );
+ projectBuildFutureTasks.add( projectBuildFutureTask );
+ if ( finishImmediately )
+ {
+ projectBuildFutureTask.run();
+ }
+ return projectBuildFutureTask;
+ }
+
+ public Future<ProjectSegment> take()
+ throws InterruptedException
+ {
+ return null;
+ }
+
+ public Future<ProjectSegment> poll()
+ {
+ return null;
+ }
+
+ public Future<ProjectSegment> poll( long timeout, TimeUnit unit )
+ throws InterruptedException
+ {
+ return null;
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java
new file mode 100644
index 00000000..b366953a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/DefaultLifecyclesStub.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.lifecycle.DefaultLifecycles;
+import org.apache.maven.lifecycle.Lifecycle;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub.*;
+
+/**
+ * @author Kristian Rosenvold
+ */
+
+public class DefaultLifecyclesStub
+{
+ public static DefaultLifecycles createDefaultLifecycles()
+ {
+
+ List<String> stubDefaultCycle =
+ Arrays.asList( VALIDATE.getPhase(), INITIALIZE.getPhase(), PROCESS_RESOURCES.getPhase(), COMPILE.getPhase(),
+ TEST.getPhase(), PROCESS_TEST_RESOURCES.getPhase(), PACKAGE.getPhase(), "BEER",
+ INSTALL.getPhase() );
+
+ // The two phases below are really for future expansion, some would say they lack a drink
+ // The point being that they do not really have to match the "real" stuff,
+ List<String> stubCleanCycle = Arrays.asList( PRE_CLEAN.getPhase(), CLEAN.getPhase(), POST_CLEAN.getPhase() );
+
+ List<String> stubSiteCycle =
+ Arrays.asList( PRE_SITE.getPhase(), SITE.getPhase(), POST_SITE.getPhase(), SITE_DEPLOY.getPhase() );
+
+ @SuppressWarnings( "unchecked" )
+ Iterator<List<String>> lcs = Arrays.asList( stubDefaultCycle, stubCleanCycle, stubSiteCycle ).iterator();
+
+ Map<String, Lifecycle> lifeCycles = new HashMap<String, Lifecycle>();
+ for ( String s : DefaultLifecycles.STANDARD_LIFECYCLES )
+ {
+ final Lifecycle lifecycle = new Lifecycle( s, lcs.next(), null );
+ lifeCycles.put( s, lifecycle );
+
+ }
+ return new DefaultLifecycles( lifeCycles, new LoggerStub() );
+ }
+
+} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java
new file mode 100644
index 00000000..e47ec611
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ExecutionEventCatapultStub.java
@@ -0,0 +1,42 @@
+package org.apache.maven.lifecycle.internal.stub;
+
+/*
+ * 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.apache.maven.execution.MavenSession;
+import org.apache.maven.execution.ExecutionEvent.Type;
+import org.apache.maven.lifecycle.internal.ExecutionEventCatapult;
+import org.apache.maven.plugin.MojoExecution;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class ExecutionEventCatapultStub
+ implements ExecutionEventCatapult
+{
+
+ public void fire( Type eventType, MavenSession session, MojoExecution mojoExecution )
+ {
+ }
+
+ public void fire( Type eventType, MavenSession session, MojoExecution mojoExecution, Exception exception )
+ {
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java
new file mode 100644
index 00000000..930f5e93
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class LifeCyclePluginAnalyzerStub
+ implements LifeCyclePluginAnalyzer
+{
+ public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
+ {
+ Set<Plugin> plugins;
+
+ // NOTE: The upper-case packaging name is intentional, that's a special hinting mode used for certain tests
+ if ( "JAR".equals( packaging ) )
+ {
+ plugins = new LinkedHashSet<Plugin>();
+
+ plugins.add( newPlugin( "maven-compiler-plugin", "compile", "testCompile" ) );
+ plugins.add( newPlugin( "maven-resources-plugin", "resources", "testResources" ) );
+ plugins.add( newPlugin( "maven-surefire-plugin", "test" ) );
+ plugins.add( newPlugin( "maven-jar-plugin", "jar" ) );
+ plugins.add( newPlugin( "maven-install-plugin", "install" ) );
+ plugins.add( newPlugin( "maven-deploy-plugin", "deploy" ) );
+ }
+ else
+ {
+ plugins = Collections.emptySet();
+ }
+
+ return plugins;
+ }
+
+ private Plugin newPlugin( String artifactId, String... goals )
+ {
+ Plugin plugin = new Plugin();
+
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( artifactId );
+
+ for ( String goal : goals )
+ {
+ PluginExecution pluginExecution = new PluginExecution();
+ pluginExecution.setId( "default-" + goal );
+ pluginExecution.addGoal( goal );
+ plugin.addExecution( pluginExecution );
+ }
+
+ return plugin;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java
new file mode 100644
index 00000000..cd33a353
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleExecutionPlanCalculatorStub.java
@@ -0,0 +1,231 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleNotFoundException;
+import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
+import org.apache.maven.lifecycle.MavenExecutionPlan;
+import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
+import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
+import org.apache.maven.lifecycle.internal.ProjectBuildList;
+import org.apache.maven.lifecycle.internal.ProjectSegment;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.PluginDescriptorParsingException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginResolutionException;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class LifecycleExecutionPlanCalculatorStub
+ implements LifecycleExecutionPlanCalculator
+{
+ // clean
+
+ public final static MojoDescriptor PRE_CLEAN = createMojoDescriptor( "pre-clean" );
+
+ public final static MojoDescriptor CLEAN = createMojoDescriptor( "clean" );
+
+ public final static MojoDescriptor POST_CLEAN = createMojoDescriptor( "post-clean" );
+
+ // default (or at least some of them)
+
+ public final static MojoDescriptor VALIDATE = createMojoDescriptor( "validate" );
+
+ public final static MojoDescriptor INITIALIZE = createMojoDescriptor( "initialize" );
+
+ public final static MojoDescriptor TEST_COMPILE = createMojoDescriptor( "test-compile" );
+
+ public final static MojoDescriptor PROCESS_TEST_RESOURCES = createMojoDescriptor( "process-test-resources" );
+
+ public final static MojoDescriptor PROCESS_RESOURCES = createMojoDescriptor( "process-resources" );
+
+ public final static MojoDescriptor COMPILE = createMojoDescriptor( "compile", true );
+
+ public final static MojoDescriptor TEST = createMojoDescriptor( "test" );
+
+ public final static MojoDescriptor PACKAGE = createMojoDescriptor( "package" );
+
+ public final static MojoDescriptor INSTALL = createMojoDescriptor( "install" );
+
+ // site
+
+ public final static MojoDescriptor PRE_SITE = createMojoDescriptor( "pre-site" );
+
+ public final static MojoDescriptor SITE = createMojoDescriptor( "site" );
+
+ public final static MojoDescriptor POST_SITE = createMojoDescriptor( "post-site" );
+
+ public final static MojoDescriptor SITE_DEPLOY = createMojoDescriptor( "site-deploy" );
+
+
+ public int getNumberOfExceutions( ProjectBuildList projectBuildList )
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ int result = 0;
+ for ( ProjectSegment projectBuild : projectBuildList )
+ {
+ MavenExecutionPlan plan = calculateExecutionPlan( projectBuild.getSession(), projectBuild.getProject(),
+ projectBuild.getTaskSegment().getTasks() );
+ result += plan.size();
+ }
+ return result;
+ }
+
+ public void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
+ throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
+ {
+ // Maybe do something ?
+ }
+
+ public MavenExecutionPlan calculateExecutionPlan( MavenSession session, MavenProject project, List<Object> tasks,
+ boolean setup )
+ throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
+ PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
+ NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException
+ {
+ if ( project.equals( ProjectDependencyGraphStub.A ) )
+ {
+ return getProjectAExceutionPlan();
+ }
+ if ( project.equals( ProjectDependencyGraphStub.B ) )
+ {
+ return getProjectBExecutionPlan();
+ }
+ // The remaining are basically "for future expansion"
+ List<MojoExecution> me = new ArrayList<MojoExecution>();
+ me.add( createMojoExecution( "resources", "default-resources", PROCESS_RESOURCES ) );
+ me.add( createMojoExecution( "compile", "default-compile", COMPILE ) );
+ return createExecutionPlan( project, me );
+ }
+
+ public MavenExecutionPlan calculateExecutionPlan( MavenSession session, MavenProject project, List<Object> tasks )
+ throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
+ PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
+ NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException
+ {
+ return calculateExecutionPlan( session, project, tasks, true );
+ }
+
+ public void setupMojoExecution( MavenSession session, MavenProject project, MojoExecution mojoExecution )
+ throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
+ MojoNotFoundException, InvalidPluginDescriptorException, NoPluginFoundForPrefixException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
+ {
+ }
+
+ public static MavenExecutionPlan getProjectAExceutionPlan()
+ throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
+ PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
+ NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException
+ {
+ List<MojoExecution> me = new ArrayList<MojoExecution>();
+ me.add( createMojoExecution( "initialize", "default-initialize", INITIALIZE ) );
+ me.add( createMojoExecution( "resources", "default-resources", PROCESS_RESOURCES ) );
+ me.add( createMojoExecution( "compile", "default-compile", COMPILE ) );
+ me.add( createMojoExecution( "testResources", "default-testResources", PROCESS_TEST_RESOURCES ) );
+ me.add( createMojoExecution( "testCompile", "default-testCompile", TEST_COMPILE ) );
+ me.add( createMojoExecution( "test", "default-test", TEST ) );
+ me.add( createMojoExecution( "war", "default-war", PACKAGE ) );
+ me.add( createMojoExecution( "install", "default-install", INSTALL ) );
+ return createExecutionPlan( ProjectDependencyGraphStub.A.getExecutionProject(), me );
+ }
+
+ public static MavenExecutionPlan getProjectBExecutionPlan()
+ throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
+ PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
+ NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException
+ {
+ List<MojoExecution> me = new ArrayList<MojoExecution>();
+ me.add( createMojoExecution( "enforce", "enforce-versions", VALIDATE ) );
+ me.add( createMojoExecution( "resources", "default-resources", PROCESS_RESOURCES ) );
+ me.add( createMojoExecution( "compile", "default-compile", COMPILE ) );
+ me.add( createMojoExecution( "testResources", "default-testResources", PROCESS_TEST_RESOURCES ) );
+ me.add( createMojoExecution( "testCompile", "default-testCompile", TEST_COMPILE ) );
+ me.add( createMojoExecution( "test", "default-test", TEST ) );
+ return createExecutionPlan( ProjectDependencyGraphStub.B.getExecutionProject(), me );
+ }
+
+
+ private static MavenExecutionPlan createExecutionPlan( MavenProject project, List<MojoExecution> mojoExecutions )
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ final List<ExecutionPlanItem> planItemList =
+ ExecutionPlanItem.createExecutionPlanItems( project, mojoExecutions );
+ return new MavenExecutionPlan( planItemList, DefaultLifecyclesStub.createDefaultLifecycles() );
+ }
+
+ private static MojoExecution createMojoExecution( String goal, String executionId, MojoDescriptor mojoDescriptor )
+ {
+ final Plugin plugin = mojoDescriptor.getPluginDescriptor().getPlugin();
+ MojoExecution result = new MojoExecution( plugin, goal, executionId );
+ result.setConfiguration( new Xpp3Dom( executionId + "-" + goal ) );
+ result.setMojoDescriptor( mojoDescriptor );
+ result.setLifecyclePhase( mojoDescriptor.getPhase() );
+
+ return result;
+
+ }
+
+ public static MojoDescriptor createMojoDescriptor( String phaseName )
+ {
+ return createMojoDescriptor( phaseName, false );
+ }
+
+ public static MojoDescriptor createMojoDescriptor( String phaseName, boolean threadSafe )
+ {
+ final MojoDescriptor mojoDescriptor = new MojoDescriptor();
+ mojoDescriptor.setPhase( phaseName );
+ final PluginDescriptor descriptor = new PluginDescriptor();
+ Plugin plugin = new Plugin();
+ plugin.setArtifactId( "org.apache.maven.test.MavenExecutionPlan" );
+ plugin.setGroupId( "stub-plugin-" + phaseName );
+ descriptor.setPlugin( plugin );
+ descriptor.setArtifactId( "artifact." + phaseName );
+ mojoDescriptor.setPluginDescriptor( descriptor );
+ mojoDescriptor.setThreadSafe( threadSafe );
+ return mojoDescriptor;
+ }
+
+
+ public static Set<String> getScopes()
+ {
+ return new HashSet<String>( Arrays.asList( "compile" ) );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java
new file mode 100644
index 00000000..695d66dd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.internal.GoalTask;
+import org.apache.maven.lifecycle.internal.LifecycleTask;
+import org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator;
+import org.apache.maven.lifecycle.internal.TaskSegment;
+import org.apache.maven.plugin.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.PluginDescriptorParsingException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginResolutionException;
+import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class LifecycleTaskSegmentCalculatorStub
+ extends DefaultLifecycleTaskSegmentCalculator
+{
+ public static final String clean = "clean";
+
+ public static final String aggr = "aggr";
+
+ public static final String install = "install";
+
+
+ public List<TaskSegment> calculateTaskSegments( MavenSession session, List<String> tasks )
+ throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
+ MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
+ PluginVersionResolutionException
+ {
+ List<TaskSegment> taskSegments = new ArrayList<TaskSegment>( tasks.size() );
+
+ TaskSegment currentSegment = null;
+
+ for ( String task : tasks )
+ {
+ if ( aggr.equals( task ) )
+ {
+ boolean aggregating = true;
+
+ if ( currentSegment == null || currentSegment.isAggregating() != aggregating )
+ {
+ currentSegment = new TaskSegment( aggregating );
+ taskSegments.add( currentSegment );
+ }
+
+ currentSegment.getTasks().add( new GoalTask( task ) );
+ }
+ else
+ {
+ // lifecycle phase
+ if ( currentSegment == null || currentSegment.isAggregating() )
+ {
+ currentSegment = new TaskSegment( false );
+ taskSegments.add( currentSegment );
+ }
+ currentSegment.getTasks().add( new LifecycleTask( task ) );
+ }
+ }
+
+ return taskSegments;
+ }
+
+ public boolean requiresProject( MavenSession session )
+ {
+ return true;
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LoggerStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LoggerStub.java
new file mode 100644
index 00000000..00bb3cfa
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LoggerStub.java
@@ -0,0 +1,110 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class LoggerStub
+ implements Logger
+{
+ public void debug( String s )
+ {
+ }
+
+ public void debug( String s, Throwable throwable )
+ {
+ }
+
+ public boolean isDebugEnabled()
+ {
+ return true;
+ }
+
+ public void info( String s )
+ {
+ }
+
+ public void info( String s, Throwable throwable )
+ {
+ }
+
+ public boolean isInfoEnabled()
+ {
+ return true;
+ }
+
+ public void warn( String s )
+ {
+ }
+
+ public void warn( String s, Throwable throwable )
+ {
+ }
+
+ public boolean isWarnEnabled()
+ {
+ return true;
+ }
+
+ public void error( String s )
+ {
+ }
+
+ public void error( String s, Throwable throwable )
+ {
+ }
+
+ public boolean isErrorEnabled()
+ {
+ return true;
+ }
+
+ public void fatalError( String s )
+ {
+ }
+
+ public void fatalError( String s, Throwable throwable )
+ {
+ }
+
+ public boolean isFatalErrorEnabled()
+ {
+ return true;
+ }
+
+ public Logger getChildLogger( String s )
+ {
+ return null;
+ }
+
+ public int getThreshold()
+ {
+ return 0;
+ }
+
+ public void setThreshold( int i )
+ {
+
+ }
+
+ public String getName()
+ {
+ return "StubLogger";
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/MojoExecutorStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/MojoExecutorStub.java
new file mode 100644
index 00000000..a8572ffc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/MojoExecutorStub.java
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleExecutionException;
+import org.apache.maven.lifecycle.internal.DependencyContext;
+import org.apache.maven.lifecycle.internal.MojoExecutor;
+import org.apache.maven.lifecycle.internal.PhaseRecorder;
+import org.apache.maven.lifecycle.internal.ProjectIndex;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class MojoExecutorStub
+ extends MojoExecutor
+{ // This is being lazy instead of making interface
+
+ public List<MojoExecution> executions = Collections.synchronizedList( new ArrayList<MojoExecution>() );
+
+ @Override
+ public void execute( MavenSession session, MojoExecution mojoExecution, ProjectIndex projectIndex,
+ DependencyContext dependencyContext, PhaseRecorder phaseRecorder )
+ throws LifecycleExecutionException
+ {
+ executions.add( mojoExecution );
+ }
+
+ @Override
+ public void execute( MavenSession session, List<MojoExecution> mojoExecutions, ProjectIndex projectIndex )
+ throws LifecycleExecutionException
+ {
+ for ( MojoExecution mojoExecution : mojoExecutions )
+ {
+ executions.add( mojoExecution );
+ }
+ }
+
+
+ public static MojoDescriptor createMojoDescriptor( String mojoDescription )
+ {
+ final PluginDescriptor descriptor = new PluginDescriptor();
+ descriptor.setArtifactId( mojoDescription );
+ final MojoDescriptor mojoDescriptor = new MojoDescriptor();
+ mojoDescriptor.setDescription( mojoDescription );
+ mojoDescriptor.setPluginDescriptor( descriptor );
+ return mojoDescriptor;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginPrefixResolverStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginPrefixResolverStub.java
new file mode 100644
index 00000000..a4b54e98
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginPrefixResolverStub.java
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
+import org.apache.maven.plugin.prefix.PluginPrefixRequest;
+import org.apache.maven.plugin.prefix.PluginPrefixResolver;
+import org.apache.maven.plugin.prefix.PluginPrefixResult;
+import org.eclipse.aether.repository.ArtifactRepository;
+
+/**
+ * @author Kristian Rosenvold
+ */
+
+public class PluginPrefixResolverStub
+ implements PluginPrefixResolver
+{
+ public PluginPrefixResult resolve( PluginPrefixRequest request )
+ throws NoPluginFoundForPrefixException
+ {
+ return new PluginPrefixResult()
+ {
+ public String getGroupId()
+ {
+ return "com.foobar";
+ }
+
+ public String getArtifactId()
+ {
+ return "bazbaz";
+ }
+
+ public ArtifactRepository getRepository()
+ {
+ return null;
+ }
+ };
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginVersionResolverStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginVersionResolverStub.java
new file mode 100644
index 00000000..c79658e8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/PluginVersionResolverStub.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.plugin.version.PluginVersionRequest;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.plugin.version.PluginVersionResolver;
+import org.apache.maven.plugin.version.PluginVersionResult;
+import org.eclipse.aether.repository.ArtifactRepository;
+
+/**
+ * @author Kristian Rosenvold
+ */
+
+public class PluginVersionResolverStub
+ implements PluginVersionResolver
+{
+
+ public PluginVersionResult resolve( PluginVersionRequest request )
+ throws PluginVersionResolutionException
+ {
+ return new PluginVersionResult()
+ {
+ public String getVersion()
+ {
+ return "0.42";
+ }
+
+ public ArtifactRepository getRepository()
+ {
+ return null;
+ }
+ };
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependenciesResolverStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependenciesResolverStub.java
new file mode 100644
index 00000000..4147b36c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependenciesResolverStub.java
@@ -0,0 +1,109 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.ProjectDependenciesResolver;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.DependencyResolutionException;
+import org.apache.maven.project.DependencyResolutionRequest;
+import org.apache.maven.project.DependencyResolutionResult;
+import org.apache.maven.project.MavenProject;
+import org.eclipse.aether.graph.DefaultDependencyNode;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.graph.DependencyNode;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class ProjectDependenciesResolverStub
+ implements ProjectDependenciesResolver, org.apache.maven.project.ProjectDependenciesResolver
+{
+ public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToResolve, MavenSession session )
+ throws ArtifactResolutionException, ArtifactNotFoundException
+ {
+ return new HashSet<Artifact>();
+ }
+
+ public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
+ Collection<String> scopesToResolve, MavenSession session )
+ throws ArtifactResolutionException, ArtifactNotFoundException
+ {
+ return new HashSet<Artifact>();
+ }
+
+ public Set<Artifact> resolve( Collection<? extends MavenProject> projects, Collection<String> scopes,
+ MavenSession session )
+ throws ArtifactResolutionException, ArtifactNotFoundException
+ {
+ return new HashSet<Artifact>();
+ }
+
+ public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
+ Collection<String> scopesToResolve, MavenSession session,
+ Set<Artifact> ignoreableArtifacts )
+ throws ArtifactResolutionException, ArtifactNotFoundException
+ {
+ return new HashSet<Artifact>();
+ }
+
+ public DependencyResolutionResult resolve( DependencyResolutionRequest request )
+ throws DependencyResolutionException
+ {
+ return new DependencyResolutionResult()
+ {
+
+ public List<Dependency> getUnresolvedDependencies()
+ {
+ return Collections.emptyList();
+ }
+
+ public List<Dependency> getResolvedDependencies()
+ {
+ return Collections.emptyList();
+ }
+
+ public List<Exception> getResolutionErrors( Dependency dependency )
+ {
+ return Collections.emptyList();
+ }
+
+ public DependencyNode getDependencyGraph()
+ {
+ return new DefaultDependencyNode( (Dependency) null );
+ }
+
+ public List<Dependency> getDependencies()
+ {
+ return Collections.emptyList();
+ }
+
+ public List<Exception> getCollectionErrors()
+ {
+ return Collections.emptyList();
+ }
+ };
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
new file mode 100644
index 00000000..38e9fcad
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStub.java
@@ -0,0 +1,227 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import org.apache.maven.execution.AbstractExecutionListener;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.execution.ProjectDependencyGraph;
+import org.apache.maven.lifecycle.LifecycleNotFoundException;
+import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
+import org.apache.maven.lifecycle.internal.GoalTask;
+import org.apache.maven.lifecycle.internal.ProjectBuildList;
+import org.apache.maven.lifecycle.internal.ProjectSegment;
+import org.apache.maven.lifecycle.internal.TaskSegment;
+import org.apache.maven.plugin.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.PluginDescriptorParsingException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginResolutionException;
+import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.project.MavenProject;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * A stub dependency graph that is custom made for testing concurrent build graph evaluations.
+ * <p/>
+ * Implements a graph as follows:
+ * A has no dependencies
+ * B depends on A
+ * C depends on A
+ * X depends on B & C
+ * Y depends on B
+ * Z depends on C
+ *
+ * @author Kristian Rosenvold
+ */
+public class ProjectDependencyGraphStub
+ implements ProjectDependencyGraph
+{
+ public static final MavenProject A = new MavenProject();
+
+ public static final MavenProject B = new MavenProject();
+
+ public static final MavenProject C = new MavenProject();
+
+ public static final MavenProject X = new MavenProject();
+
+ public static final MavenProject Y = new MavenProject();
+
+ public static final MavenProject Z = new MavenProject();
+
+ public static final MavenProject UNKNOWN = new MavenProject();
+
+ static
+ {
+ A.setArtifactId( "A" );
+ B.setArtifactId( "B" );
+ C.setArtifactId( "C" );
+ X.setArtifactId( "X" );
+ Y.setArtifactId( "Y" );
+ Z.setArtifactId( "Z" );
+ }
+
+ // This should probably be moved to a separate stub
+
+ public static ProjectBuildList getProjectBuildList( MavenSession session )
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ final List<ProjectSegment> list = getProjectBuilds( session );
+ return new ProjectBuildList( list );
+
+ }
+
+ public static List<ProjectSegment> getProjectBuilds( MavenSession session )
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, PluginNotFoundException, MojoNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ List<ProjectSegment> projectBuilds = new ArrayList<ProjectSegment>();
+
+ TaskSegment segment = createTaskSegment();
+ projectBuilds.add( createProjectBuild( A, session, segment ) );
+ projectBuilds.add( createProjectBuild( B, session, segment ) );
+ projectBuilds.add( createProjectBuild( C, session, segment ) );
+ projectBuilds.add( createProjectBuild( X, session, segment ) );
+ projectBuilds.add( createProjectBuild( Y, session, segment ) );
+ projectBuilds.add( createProjectBuild( Z, session, segment ) );
+ return projectBuilds;
+ }
+
+ private static ProjectSegment createProjectBuild( MavenProject project, MavenSession session,
+ TaskSegment taskSegment )
+ throws InvalidPluginDescriptorException, PluginVersionResolutionException, PluginDescriptorParsingException,
+ NoPluginFoundForPrefixException, MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
+ LifecyclePhaseNotFoundException, LifecycleNotFoundException
+ {
+ final MavenSession session1 = session.clone();
+ return new ProjectSegment( project, taskSegment, session1 );
+ }
+
+
+ private static TaskSegment createTaskSegment()
+ {
+ TaskSegment result = new TaskSegment( false );
+ result.getTasks().add( new GoalTask( "t1" ) );
+ result.getTasks().add( new GoalTask( "t2" ) );
+ return result;
+ }
+
+ class Dependency
+ {
+ MavenProject dependant;
+
+ MavenProject dependency;
+
+ Dependency( MavenProject dependant, MavenProject dependency )
+ {
+ this.dependant = dependant;
+ this.dependency = dependency;
+ }
+
+ void addIfDownstream( MavenProject mavenProject, List<MavenProject> result )
+ {
+ if ( dependency == mavenProject )
+ {
+ result.add( dependant );
+ }
+ }
+
+ void addIfUpstreamOf( MavenProject mavenProject, List<MavenProject> result )
+ {
+ if ( dependant == mavenProject )
+ {
+ result.add( dependency ); // All projects are the statics from this class
+ }
+ }
+ }
+
+ private List<Dependency> getDependencies()
+ {
+ List<Dependency> dependencies = new ArrayList<Dependency>();
+ dependencies.add( new Dependency( B, A ) );
+ dependencies.add( new Dependency( C, A ) );
+ dependencies.add( new Dependency( X, B ) );
+ dependencies.add( new Dependency( X, C ) );
+ dependencies.add( new Dependency( Y, B ) );
+ dependencies.add( new Dependency( Z, C ) );
+ return dependencies;
+ }
+
+ public List<MavenProject> getSortedProjects()
+ {
+ return Arrays.asList( A, B, C, X, Y, Z ); // I'm not entirely sure about the order but this shold do...
+ }
+
+ public List<MavenProject> getDownstreamProjects( MavenProject project, boolean transitive )
+ {
+ if ( transitive )
+ {
+ throw new RuntimeException( "Not implemented yet" );
+ }
+ List<MavenProject> result = new ArrayList<MavenProject>();
+ for ( Dependency dependency : getDependencies() )
+ {
+ dependency.addIfDownstream( project, result );
+ }
+ return result;
+ }
+
+ public List<MavenProject> getUpstreamProjects( MavenProject project, boolean transitive )
+ {
+ /* if ( transitive )
+ {
+ throw new RuntimeException( "Not implemented yet" );
+ }*/
+ List<MavenProject> result = new ArrayList<MavenProject>();
+ final List<Dependency> dependencies = getDependencies();
+ for ( Dependency dependency : dependencies )
+ {
+ dependency.addIfUpstreamOf( project, result );
+ }
+ return result;
+ }
+
+ public static MavenSession getMavenSession( MavenProject mavenProject )
+ {
+ final MavenSession session = getMavenSession();
+ session.setCurrentProject( mavenProject );
+ return session;
+ }
+
+ public static MavenSession getMavenSession()
+ {
+ final DefaultMavenExecutionResult defaultMavenExecutionResult = new DefaultMavenExecutionResult();
+ MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();
+ mavenExecutionRequest.setExecutionListener( new AbstractExecutionListener() );
+ mavenExecutionRequest.setGoals( Arrays.asList( "clean", "aggr", "install" ) );
+ mavenExecutionRequest.setDegreeOfConcurrency( 1 );
+ final MavenSession session = new MavenSession( null, null, mavenExecutionRequest, defaultMavenExecutionResult );
+ final ProjectDependencyGraphStub dependencyGraphStub = new ProjectDependencyGraphStub();
+ session.setProjectDependencyGraph( dependencyGraphStub );
+ session.setProjects( dependencyGraphStub.getSortedProjects() );
+ return session;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
new file mode 100644
index 00000000..8c605723
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/ProjectDependencyGraphStubTest.java
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.lifecycle.internal.stub;
+
+import junit.framework.TestCase;
+import org.apache.maven.project.MavenProject;
+
+import java.util.List;
+
+
+/**
+ * Tests the stub. Yeah, I know.
+ *
+ * @author Kristian Rosenvold
+ */
+
+public class ProjectDependencyGraphStubTest
+ extends TestCase
+{
+ public void testADependencies()
+ {
+ ProjectDependencyGraphStub stub = new ProjectDependencyGraphStub();
+ final List<MavenProject> mavenProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.A, false );
+ assertEquals( 0, mavenProjects.size() );
+ }
+
+ public void testBDepenencies( ProjectDependencyGraphStub stub )
+ {
+ final List<MavenProject> bProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.B, false );
+ assertEquals( 1, bProjects.size() );
+ assertTrue( bProjects.contains( ProjectDependencyGraphStub.A ) );
+ }
+
+ public void testCDepenencies( ProjectDependencyGraphStub stub )
+ {
+ final List<MavenProject> cProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.C, false );
+ assertEquals( 1, cProjects.size() );
+ assertTrue( cProjects.contains( ProjectDependencyGraphStub.C ) );
+ }
+
+ public void testXDepenencies( ProjectDependencyGraphStub stub )
+ {
+ final List<MavenProject> cProjects = stub.getUpstreamProjects( ProjectDependencyGraphStub.X, false );
+ assertEquals( 2, cProjects.size() );
+ assertTrue( cProjects.contains( ProjectDependencyGraphStub.C ) );
+ assertTrue( cProjects.contains( ProjectDependencyGraphStub.B ) );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
new file mode 100644
index 00000000..025e7725
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -0,0 +1,342 @@
+package org.apache.maven.plugin;
+
+/*
+ * 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 java.util.List;
+
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
+import org.apache.maven.artifact.repository.RepositoryRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.classworlds.realm.ClassRealm;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
+
+public class PluginManagerTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ @Requirement
+ private DefaultBuildPluginManager pluginManager;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ pluginManager = (DefaultBuildPluginManager) lookup( BuildPluginManager.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ pluginManager = null;
+ super.tearDown();
+ }
+
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/plugin-manager";
+ }
+
+ public void testPluginLoading()
+ throws Exception
+ {
+ MavenSession session = createMavenSession( null );
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( "org.apache.maven.its.plugins" );
+ plugin.setArtifactId( "maven-it-plugin" );
+ plugin.setVersion( "0.1" );
+ PluginDescriptor pluginDescriptor =
+ pluginManager.loadPlugin( plugin, session.getCurrentProject().getRemotePluginRepositories(),
+ session.getRepositorySession() );
+ assertNotNull( pluginDescriptor );
+ }
+
+ public void testMojoDescriptorRetrieval()
+ throws Exception
+ {
+ MavenSession session = createMavenSession( null );
+ String goal = "it";
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( "org.apache.maven.its.plugins" );
+ plugin.setArtifactId( "maven-it-plugin" );
+ plugin.setVersion( "0.1" );
+
+ MojoDescriptor mojoDescriptor =
+ pluginManager.getMojoDescriptor( plugin, goal, session.getCurrentProject().getRemotePluginRepositories(),
+ session.getRepositorySession() );
+ assertNotNull( mojoDescriptor );
+ assertEquals( goal, mojoDescriptor.getGoal() );
+ // igorf: plugin realm comes later
+ // assertNotNull( mojoDescriptor.getRealm() );
+
+ PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
+ assertNotNull( pluginDescriptor );
+ assertEquals( "org.apache.maven.its.plugins", pluginDescriptor.getGroupId() );
+ assertEquals( "maven-it-plugin", pluginDescriptor.getArtifactId() );
+ assertEquals( "0.1", pluginDescriptor.getVersion() );
+ }
+
+ // -----------------------------------------------------------------------------------------------
+ // Tests which exercise the lifecycle executor when it is dealing with individual goals.
+ // -----------------------------------------------------------------------------------------------
+
+ //TODO: These two tests display a lack of symmetry with respect to the input which is a free form string and the
+ // mojo descriptor which comes back. All the free form parsing needs to be done somewhere else, this is
+ // really the function of the CLI, and then the pre-processing of that output still needs to be fed into
+ // a hinting process which helps flesh out the full specification of the plugin. The plugin manager should
+ // only deal in concrete terms -- all version finding mumbo jumbo is a customization to base functionality
+ // the plugin manager provides.
+
+ public void testRemoteResourcesPlugin()
+ throws Exception
+ {
+ //TODO: turn an equivalent back on when the RR plugin is released.
+
+ /*
+
+ This will not work until the RR plugin is released to get rid of the binding to the reporting exception which is a mistake.
+
+ This happpens after removing the reporting API from the core:
+
+ java.lang.NoClassDefFoundError: org/apache/maven/reporting/MavenReportException
+
+ MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) );
+ String goal = "process";
+
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( "maven-remote-resources-plugin" );
+ plugin.setVersion( "1.0-beta-2" );
+
+ MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session.getCurrentProject(), session.getLocalRepository() );
+ assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-remote-resources-plugin", "1.0-beta-2" );
+ MojoExecution mojoExecution = new MojoExecution( mojoDescriptor );
+ pluginManager.executeMojo( session, mojoExecution );
+ */
+ }
+
+ //TODO: this will be the basis of the customizable lifecycle execution so need to figure this out quickly.
+ public void testSurefirePlugin()
+ throws Exception
+ {
+ /*
+ MavenSession session = createMavenSession( getProject( "project-with-inheritance" ) );
+ String goal = "test";
+
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( "maven-surefire-plugin" );
+ plugin.setVersion( "2.4.2" );
+
+ // The project has already been fully interpolated so getting the raw mojoDescriptor is not going to have the processes configuration.
+ MojoDescriptor mojoDescriptor = pluginManager.getMojoDescriptor( plugin, goal, session.getLocalRepository(), session.getCurrentProject().getPluginArtifactRepositories() );
+ assertPluginDescriptor( mojoDescriptor, "org.apache.maven.plugins", "maven-surefire-plugin", "2.4.2" );
+
+ System.out.println( session.getCurrentProject().getBuild().getPluginsAsMap() );
+
+ Xpp3Dom configuration = (Xpp3Dom) session.getCurrentProject().getBuild().getPluginsAsMap().get( plugin.getKey() ).getExecutions().get( 0 ).getConfiguration();
+ MojoExecution mojoExecution = new MojoExecution( mojoDescriptor, configuration );
+ pluginManager.executeMojo( session, mojoExecution );
+ */
+ }
+
+ public void testMojoConfigurationIsMergedCorrectly()
+ throws Exception
+ {
+ }
+
+ /**
+ * The case where the user wants to specify an alternate version of the underlying tool. Common case
+ * is in the Antlr plugin which comes bundled with a version of Antlr but the user often times needs
+ * to use a specific version. We need to make sure the version that they specify takes precedence.
+ */
+ public void testMojoWhereInternallyStatedDependencyIsOverriddenByProject()
+ throws Exception
+ {
+ }
+
+ /**
+ * The case where you have a plugin in the current build that you want to be used on projects in
+ * the current build.
+ */
+ public void testMojoThatIsPresentInTheCurrentBuild()
+ throws Exception
+ {
+ }
+
+ /**
+ * This is the case where the Mojo wants to execute on every project and then do something at the end
+ * with the results of each project.
+ */
+ public void testAggregatorMojo()
+ throws Exception
+ {
+ }
+
+ /**
+ * This is the case where a Mojo needs the lifecycle run to a certain phase before it can do
+ * anything useful.
+ */
+ public void testMojoThatRequiresExecutionToAGivenPhaseBeforeExecutingItself()
+ throws Exception
+ {
+ }
+
+ // test that mojo which does not require dependency resolution trigger no downloading of dependencies
+
+ // test interpolation of basedir values in mojo configuration
+
+ // test a build where projects use different versions of the same plugin
+
+ public void testThatPluginDependencyThatHasSystemScopeIsResolved()
+ throws Exception
+ {
+ /*
+ File systemPath = new File( getBasedir(), "pom.xml" );
+
+ Plugin plugin = new PluginBuilder( "org.apache.maven", "project-test", "1.0" )
+ .addDependency( "org.apache.maven", "system-dependency", "1.0", Artifact.SCOPE_SYSTEM, systemPath.getAbsolutePath() )
+ .get();
+
+ MavenProject pluginProject = new ProjectBuilder( "org.apache.maven", "project-test", "1.0" )
+ .addPlugin( plugin )
+ .addDependency( "junit", "junit", "3.8.1", Artifact.SCOPE_COMPILE )
+ .get();
+
+ // i'm making this artifact which is assumed to come from a pom in the metadata processor, then it tries to create a POM artifact
+ // and parse it for the dependencies and it blows up.
+ //
+ // we need to pass this through as is so it doesn't get parsed again.
+ Artifact pluginArtifact = new ProjectArtifact( pluginProject );
+
+ Set<Artifact> artifacts = pluginManager.getPluginArtifacts( pluginArtifact, plugin, getLocalRepository(), getPluginArtifactRepositories() );
+ System.out.println( artifacts );
+ */
+
+ MavenSession session = createMavenSession( getProject( "project-contributing-system-scope-plugin-dep" ) );
+ MavenProject project = session.getCurrentProject();
+ Plugin plugin = project.getPlugin( "org.apache.maven.its.plugins:maven-it-plugin" );
+
+ RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
+ repositoryRequest.setLocalRepository( getLocalRepository() );
+ repositoryRequest.setRemoteRepositories( getPluginArtifactRepositories() );
+
+ PluginDescriptor pluginDescriptor =
+ pluginManager.loadPlugin( plugin, session.getCurrentProject().getRemotePluginRepositories(),
+ session.getRepositorySession() );
+ pluginManager.getPluginRealm( session, pluginDescriptor );
+ List<Artifact> artifacts = pluginDescriptor.getArtifacts();
+
+ for ( Artifact a : artifacts )
+ {
+ if ( a.getGroupId().equals( "org.apache.maven.its.mng3586" ) && a.getArtifactId().equals( "tools" ) )
+ {
+ // The system scoped dependencies will be present in the classloader for the plugin
+ return;
+ }
+ }
+
+ fail( "Can't find the system scoped dependency in the plugin artifacts." );
+ }
+
+ // -----------------------------------------------------------------------------------------------
+ // Testing help
+ // -----------------------------------------------------------------------------------------------
+
+ protected void assertPluginDescriptor( MojoDescriptor mojoDescriptor, String groupId, String artifactId, String version )
+ {
+ assertNotNull( mojoDescriptor );
+ PluginDescriptor pd = mojoDescriptor.getPluginDescriptor();
+ assertNotNull( pd );
+ assertEquals( groupId, pd.getGroupId() );
+ assertEquals( artifactId, pd.getArtifactId() );
+ assertEquals( version, pd.getVersion() );
+ }
+
+ public void testPluginRealmCache()
+ throws Exception
+ {
+ RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
+ repositoryRequest.setLocalRepository( getLocalRepository() );
+ repositoryRequest.setRemoteRepositories( getPluginArtifactRepositories() );
+
+ // prime realm cache
+ MavenSession session = createMavenSession( getProject( "project-contributing-system-scope-plugin-dep" ) );
+ MavenProject project = session.getCurrentProject();
+ Plugin plugin = project.getPlugin( "org.apache.maven.its.plugins:maven-it-plugin" );
+
+ PluginDescriptor pluginDescriptor =
+ pluginManager.loadPlugin( plugin, session.getCurrentProject().getRemotePluginRepositories(),
+ session.getRepositorySession() );
+ pluginManager.getPluginRealm( session, pluginDescriptor );
+
+ assertEquals( 1, pluginDescriptor.getDependencies().size() );
+
+ for ( ComponentDescriptor<?> descriptor : pluginDescriptor.getComponents() )
+ {
+ assertNotNull( descriptor.getRealm() );
+ assertNotNull( descriptor.getImplementationClass() );
+ }
+
+ // reload plugin realm from cache
+ session = createMavenSession( getProject( "project-contributing-system-scope-plugin-dep" ) );
+ project = session.getCurrentProject();
+ plugin = project.getPlugin( "org.apache.maven.its.plugins:maven-it-plugin" );
+
+ pluginDescriptor =
+ pluginManager.loadPlugin( plugin, session.getCurrentProject().getRemotePluginRepositories(),
+ session.getRepositorySession() );
+ pluginManager.getPluginRealm( session, pluginDescriptor );
+
+ assertEquals( 1, pluginDescriptor.getDependencies().size() );
+
+ for ( ComponentDescriptor<?> descriptor : pluginDescriptor.getComponents() )
+ {
+ assertNotNull( descriptor.getRealm() );
+ assertNotNull( descriptor.getImplementationClass() );
+ }
+ }
+
+ public void testBuildExtensionsPluginLoading()
+ throws Exception
+ {
+ RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
+ repositoryRequest.setLocalRepository( getLocalRepository() );
+ repositoryRequest.setRemoteRepositories( getPluginArtifactRepositories() );
+
+ // prime realm cache
+ MavenSession session = createMavenSession( getProject( "project-with-build-extensions-plugin" ) );
+ MavenProject project = session.getCurrentProject();
+ Plugin plugin = project.getPlugin( "org.apache.maven.its.plugins:maven-it-plugin" );
+
+ PluginDescriptor pluginDescriptor =
+ pluginManager.loadPlugin( plugin, session.getCurrentProject().getRemotePluginRepositories(),
+ session.getRepositorySession() );
+ ClassRealm pluginRealm = pluginManager.getPluginRealm( session, pluginDescriptor );
+
+ assertEquals(pluginRealm, pluginDescriptor.getComponents().get(0).getRealm());
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
new file mode 100644
index 00000000..ead7ae2e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExceptionTest.java
@@ -0,0 +1,164 @@
+package org.apache.maven.plugin;
+
+/*
+ * 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 java.util.Collections;
+
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.Parameter;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+
+import junit.framework.TestCase;
+
+/**
+ * MNG-3131
+ *
+ * @author Robert Scholte
+ *
+ */
+public class PluginParameterExceptionTest
+ extends TestCase
+{
+
+ public void testMissingRequiredStringArrayTypeParameter()
+ {
+ MojoDescriptor mojoDescriptor = new MojoDescriptor();
+ mojoDescriptor.setGoal( "goal" );
+ PluginDescriptor pluginDescriptor = new PluginDescriptor();
+ pluginDescriptor.setGoalPrefix( "goalPrefix" );
+ pluginDescriptor.setArtifactId( "artifactId" );
+ mojoDescriptor.setPluginDescriptor( pluginDescriptor );
+
+ Parameter parameter = new Parameter();
+ parameter.setType( "java.lang.String[]" );
+ parameter.setName( "toAddresses" );
+
+ parameter.setRequired( true );
+
+ PluginParameterException exception =
+ new PluginParameterException( mojoDescriptor, Collections.singletonList( parameter ) );
+
+ assertEquals( "One or more required plugin parameters are invalid/missing for 'goalPrefix:goal'\n" +
+ "\n" +
+ "[0] Inside the definition for plugin 'artifactId', specify the following:\n" +
+ "\n" +
+ "<configuration>\n" +
+ " ...\n" +
+ " <toAddresses>\n" +
+ " <item>VALUE</item>\n" +
+ " </toAddresses>\n" +
+ "</configuration>.\n", exception.buildDiagnosticMessage() );
+ }
+
+ public void testMissingRequiredCollectionTypeParameter()
+ {
+ MojoDescriptor mojoDescriptor = new MojoDescriptor();
+ mojoDescriptor.setGoal( "goal" );
+ PluginDescriptor pluginDescriptor = new PluginDescriptor();
+ pluginDescriptor.setGoalPrefix( "goalPrefix" );
+ pluginDescriptor.setArtifactId( "artifactId" );
+ mojoDescriptor.setPluginDescriptor( pluginDescriptor );
+
+ Parameter parameter = new Parameter();
+ parameter.setType( "java.util.List" );
+ parameter.setName( "toAddresses" );
+
+ parameter.setRequired( true );
+
+ PluginParameterException exception =
+ new PluginParameterException( mojoDescriptor, Collections.singletonList( parameter ) );
+
+ assertEquals( "One or more required plugin parameters are invalid/missing for 'goalPrefix:goal'\n" +
+ "\n" +
+ "[0] Inside the definition for plugin 'artifactId', specify the following:\n" +
+ "\n" +
+ "<configuration>\n" +
+ " ...\n" +
+ " <toAddresses>\n" +
+ " <item>VALUE</item>\n" +
+ " </toAddresses>\n" +
+ "</configuration>.\n", exception.buildDiagnosticMessage() );
+ }
+
+ public void testMissingRequiredMapTypeParameter()
+ {
+ MojoDescriptor mojoDescriptor = new MojoDescriptor();
+ mojoDescriptor.setGoal( "goal" );
+ PluginDescriptor pluginDescriptor = new PluginDescriptor();
+ pluginDescriptor.setGoalPrefix( "goalPrefix" );
+ pluginDescriptor.setArtifactId( "artifactId" );
+ mojoDescriptor.setPluginDescriptor( pluginDescriptor );
+
+ Parameter parameter = new Parameter();
+ parameter.setType( "java.util.Map" );
+ parameter.setName( "toAddresses" );
+
+ parameter.setRequired( true );
+
+ PluginParameterException exception =
+ new PluginParameterException( mojoDescriptor, Collections.singletonList( parameter ) );
+
+ assertEquals( "One or more required plugin parameters are invalid/missing for 'goalPrefix:goal'\n" +
+ "\n" +
+ "[0] Inside the definition for plugin 'artifactId', specify the following:\n" +
+ "\n" +
+ "<configuration>\n" +
+ " ...\n" +
+ " <toAddresses>\n" +
+ " <KEY>VALUE</KEY>\n" +
+ " </toAddresses>\n" +
+ "</configuration>.\n", exception.buildDiagnosticMessage() );
+ }
+
+ public void testMissingRequiredPropertiesTypeParameter()
+ {
+ MojoDescriptor mojoDescriptor = new MojoDescriptor();
+ mojoDescriptor.setGoal( "goal" );
+ PluginDescriptor pluginDescriptor = new PluginDescriptor();
+ pluginDescriptor.setGoalPrefix( "goalPrefix" );
+ pluginDescriptor.setArtifactId( "artifactId" );
+ mojoDescriptor.setPluginDescriptor( pluginDescriptor );
+
+ Parameter parameter = new Parameter();
+ parameter.setType( "java.util.Properties" );
+ parameter.setName( "toAddresses" );
+
+ parameter.setRequired( true );
+
+ PluginParameterException exception =
+ new PluginParameterException( mojoDescriptor, Collections.singletonList( parameter ) );
+
+ assertEquals( "One or more required plugin parameters are invalid/missing for 'goalPrefix:goal'\n" +
+ "\n" +
+ "[0] Inside the definition for plugin 'artifactId', specify the following:\n" +
+ "\n" +
+ "<configuration>\n" +
+ " ...\n" +
+ " <toAddresses>\n" +
+ " <property>\n" +
+ " <name>KEY</name>\n" +
+ " <value>VALUE</value>\n" +
+ " </property>\n" +
+ " </toAddresses>\n" +
+ "</configuration>.\n", exception.buildDiagnosticMessage() );
+ }
+
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
new file mode 100644
index 00000000..5f6744c9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
@@ -0,0 +1,447 @@
+package org.apache.maven.plugin;
+
+/*
+ * 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 java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Model;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.project.DuplicateProjectException;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.repository.RepositorySystem;
+import org.codehaus.plexus.MutablePlexusContainer;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
+import org.codehaus.plexus.util.dag.CycleDetectedException;
+
+/**
+ * @author Jason van Zyl
+ */
+public class PluginParameterExpressionEvaluatorTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ private static final String FS = System.getProperty( "file.separator" );
+
+ private RepositorySystem factory;
+
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ factory = lookup( RepositorySystem.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ factory = null;
+ super.tearDown();
+ }
+
+ public void testPluginDescriptorExpressionReference()
+ throws Exception
+ {
+ MojoExecution exec = newMojoExecution();
+
+ MavenSession session = newMavenSession();
+
+ Object result = new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin}" );
+
+ System.out.println( "Result: " + result );
+
+ assertSame( "${plugin} expression does not return plugin descriptor.",
+ exec.getMojoDescriptor().getPluginDescriptor(),
+ result );
+ }
+
+ public void testPluginArtifactsExpressionReference()
+ throws Exception
+ {
+ MojoExecution exec = newMojoExecution();
+
+ Artifact depArtifact = createArtifact( "group", "artifact", "1" );
+
+ List<Artifact> deps = new ArrayList<Artifact>();
+ deps.add( depArtifact );
+
+ exec.getMojoDescriptor().getPluginDescriptor().setArtifacts( deps );
+
+ MavenSession session = newMavenSession();
+
+ @SuppressWarnings( "unchecked" )
+ List<Artifact> depResults =
+ (List<Artifact>) new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin.artifacts}" );
+
+ System.out.println( "Result: " + depResults );
+
+ assertNotNull( depResults );
+ assertEquals( 1, depResults.size() );
+ assertSame( "dependency artifact is wrong.", depArtifact, depResults.get( 0 ) );
+ }
+
+ public void testPluginArtifactMapExpressionReference()
+ throws Exception
+ {
+ MojoExecution exec = newMojoExecution();
+
+ Artifact depArtifact = createArtifact( "group", "artifact", "1" );
+
+ List<Artifact> deps = new ArrayList<Artifact>();
+ deps.add( depArtifact );
+
+ exec.getMojoDescriptor().getPluginDescriptor().setArtifacts( deps );
+
+ MavenSession session = newMavenSession();
+
+ @SuppressWarnings( "unchecked" )
+ Map<String, Artifact> depResults =
+ (Map<String, Artifact>) new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin.artifactMap}" );
+
+ System.out.println( "Result: " + depResults );
+
+ assertNotNull( depResults );
+ assertEquals( 1, depResults.size() );
+ assertSame( "dependency artifact is wrong.",
+ depArtifact,
+ depResults.get( ArtifactUtils.versionlessKey( depArtifact ) ) );
+ }
+
+ public void testPluginArtifactIdExpressionReference()
+ throws Exception
+ {
+ MojoExecution exec = newMojoExecution();
+
+ MavenSession session = newMavenSession();
+
+ Object result = new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin.artifactId}" );
+
+ System.out.println( "Result: " + result );
+
+ assertSame( "${plugin.artifactId} expression does not return plugin descriptor's artifactId.",
+ exec.getMojoDescriptor().getPluginDescriptor().getArtifactId(),
+ result );
+ }
+
+ public void testValueExtractionWithAPomValueContainingAPath()
+ throws Exception
+ {
+ String expected = getTestFile( "target/test-classes/target/classes" ).getCanonicalPath();
+
+ Build build = new Build();
+ build.setDirectory( expected.substring( 0, expected.length() - "/classes".length() ) );
+
+ Model model = new Model();
+ model.setBuild( build );
+
+ MavenProject project = new MavenProject( model );
+ project.setFile( new File( "pom.xml" ).getCanonicalFile() );
+
+ ExpressionEvaluator expressionEvaluator = createExpressionEvaluator( project, null, new Properties() );
+
+ Object value = expressionEvaluator.evaluate( "${project.build.directory}/classes" );
+ String actual = new File( value.toString() ).getCanonicalPath();
+
+ assertEquals( expected, actual );
+ }
+
+ public void testEscapedVariablePassthrough()
+ throws Exception
+ {
+ String var = "${var}";
+
+ Model model = new Model();
+ model.setVersion( "1" );
+
+ MavenProject project = new MavenProject( model );
+
+ ExpressionEvaluator ee = createExpressionEvaluator( project, null, new Properties() );
+
+ Object value = ee.evaluate( "$" + var );
+
+ assertEquals( var, value );
+ }
+
+ public void testEscapedVariablePassthroughInLargerExpression()
+ throws Exception
+ {
+ String var = "${var}";
+ String key = var + " with version: ${project.version}";
+
+ Model model = new Model();
+ model.setVersion( "1" );
+
+ MavenProject project = new MavenProject( model );
+
+ ExpressionEvaluator ee = createExpressionEvaluator( project, null, new Properties() );
+
+ Object value = ee.evaluate( "$" + key );
+
+ assertEquals( "${var} with version: 1", value );
+ }
+
+ public void testMultipleSubExpressionsInLargerExpression()
+ throws Exception
+ {
+ String key = "${project.artifactId} with version: ${project.version}";
+
+ Model model = new Model();
+ model.setArtifactId( "test" );
+ model.setVersion( "1" );
+
+ MavenProject project = new MavenProject( model );
+
+ ExpressionEvaluator ee = createExpressionEvaluator( project, null, new Properties() );
+
+ Object value = ee.evaluate( key );
+
+ assertEquals( "test with version: 1", value );
+ }
+
+ public void testMissingPOMPropertyRefInLargerExpression()
+ throws Exception
+ {
+ String expr = "/path/to/someproject-${baseVersion}";
+
+ MavenProject project = new MavenProject( new Model() );
+
+ ExpressionEvaluator ee = createExpressionEvaluator( project, null, new Properties() );
+
+ Object value = ee.evaluate( expr );
+
+ assertEquals( expr, value );
+ }
+
+ public void testPOMPropertyExtractionWithMissingProject_WithDotNotation()
+ throws Exception
+ {
+ String key = "m2.name";
+ String checkValue = "value";
+
+ Properties properties = new Properties();
+ properties.setProperty( key, checkValue );
+
+ Model model = new Model();
+ model.setProperties( properties );
+
+ MavenProject project = new MavenProject( model );
+
+ ExpressionEvaluator ee = createExpressionEvaluator( project, null, new Properties() );
+
+ Object value = ee.evaluate( "${" + key + "}" );
+
+ assertEquals( checkValue, value );
+ }
+
+ public void testBasedirExtractionWithMissingProject()
+ throws Exception
+ {
+ ExpressionEvaluator ee = createExpressionEvaluator( null, null, new Properties() );
+
+ Object value = ee.evaluate( "${basedir}" );
+
+ assertEquals( System.getProperty( "user.dir" ), value );
+ }
+
+ public void testValueExtractionFromSystemPropertiesWithMissingProject()
+ throws Exception
+ {
+ String sysprop = "PPEET_sysprop1";
+
+ Properties executionProperties = new Properties();
+
+ if ( executionProperties.getProperty( sysprop ) == null )
+ {
+ executionProperties.setProperty( sysprop, "value" );
+ }
+
+ ExpressionEvaluator ee = createExpressionEvaluator( null, null, executionProperties );
+
+ Object value = ee.evaluate( "${" + sysprop + "}" );
+
+ assertEquals( "value", value );
+ }
+
+ public void testValueExtractionFromSystemPropertiesWithMissingProject_WithDotNotation()
+ throws Exception
+ {
+ String sysprop = "PPEET.sysprop2";
+
+ Properties executionProperties = new Properties();
+
+ if ( executionProperties.getProperty( sysprop ) == null )
+ {
+ executionProperties.setProperty( sysprop, "value" );
+ }
+
+ ExpressionEvaluator ee = createExpressionEvaluator( null, null, executionProperties );
+
+ Object value = ee.evaluate( "${" + sysprop + "}" );
+
+ assertEquals( "value", value );
+ }
+
+ @SuppressWarnings( "deprecation" )
+ private static MavenSession createSession( PlexusContainer container, ArtifactRepository repo, Properties properties )
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest()
+ .setSystemProperties( properties )
+ .setGoals( Collections.<String>emptyList() )
+ .setBaseDirectory( new File( "" ) )
+ .setLocalRepository( repo );
+
+ return new MavenSession( container, request, new DefaultMavenExecutionResult(), Collections.<MavenProject>emptyList() );
+ }
+
+ public void testLocalRepositoryExtraction()
+ throws Exception
+ {
+ ExpressionEvaluator expressionEvaluator =
+ createExpressionEvaluator( createDefaultProject(), null, new Properties() );
+ Object value = expressionEvaluator.evaluate( "${localRepository}" );
+
+ assertEquals( "local", ( (ArtifactRepository) value ).getId() );
+ }
+
+ public void testTwoExpressions()
+ throws Exception
+ {
+ Build build = new Build();
+ build.setDirectory( "expected-directory" );
+ build.setFinalName( "expected-finalName" );
+
+ Model model = new Model();
+ model.setBuild( build );
+
+ ExpressionEvaluator expressionEvaluator =
+ createExpressionEvaluator( new MavenProject( model ), null, new Properties() );
+
+ Object value = expressionEvaluator.evaluate( "${project.build.directory}" + FS + "${project.build.finalName}" );
+
+ assertEquals( "expected-directory" + File.separatorChar + "expected-finalName", value );
+ }
+
+ public void testShouldExtractPluginArtifacts()
+ throws Exception
+ {
+ PluginDescriptor pd = new PluginDescriptor();
+
+ Artifact artifact = createArtifact( "testGroup", "testArtifact", "1.0" );
+
+ pd.setArtifacts( Collections.singletonList( artifact ) );
+
+ ExpressionEvaluator ee = createExpressionEvaluator( createDefaultProject(), pd, new Properties() );
+
+ Object value = ee.evaluate( "${plugin.artifacts}" );
+
+ assertTrue( value instanceof List );
+
+ @SuppressWarnings( "unchecked" )
+ List<Artifact> artifacts = (List<Artifact>) value;
+
+ assertEquals( 1, artifacts.size() );
+
+ Artifact result = artifacts.get( 0 );
+
+ assertEquals( "testGroup", result.getGroupId() );
+ }
+
+ private MavenProject createDefaultProject()
+ {
+ return new MavenProject( new Model() );
+ }
+
+ private ExpressionEvaluator createExpressionEvaluator( MavenProject project, PluginDescriptor pluginDescriptor, Properties executionProperties )
+ throws Exception
+ {
+ ArtifactRepository repo = factory.createDefaultLocalRepository();
+
+ MutablePlexusContainer container = (MutablePlexusContainer) getContainer();
+ MavenSession session = createSession( container, repo, executionProperties );
+ session.setCurrentProject( project );
+
+ MojoDescriptor mojo = new MojoDescriptor();
+ mojo.setPluginDescriptor( pluginDescriptor );
+ mojo.setGoal( "goal" );
+
+ MojoExecution mojoExecution = new MojoExecution( mojo );
+
+ return new PluginParameterExpressionEvaluator( session, mojoExecution );
+ }
+
+ protected Artifact createArtifact( String groupId, String artifactId, String version )
+ throws Exception
+ {
+ Dependency dependency = new Dependency();
+ dependency.setGroupId( groupId );
+ dependency.setArtifactId( artifactId );
+ dependency.setVersion( version );
+ dependency.setType( "jar" );
+ dependency.setScope( "compile" );
+
+ return factory.createDependencyArtifact( dependency );
+ }
+
+ private MojoExecution newMojoExecution()
+ {
+ PluginDescriptor pd = new PluginDescriptor();
+ pd.setArtifactId( "my-plugin" );
+ pd.setGroupId( "org.myco.plugins" );
+ pd.setVersion( "1" );
+
+ MojoDescriptor md = new MojoDescriptor();
+ md.setPluginDescriptor( pd );
+
+ pd.addComponentDescriptor( md );
+
+ return new MojoExecution( md );
+ }
+
+ private MavenSession newMavenSession()
+ throws Exception
+ {
+ return createMavenSession( null );
+ }
+
+ @Override
+ protected String getProjectsDirectory()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
new file mode 100644
index 00000000..d350770c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/plugin/internal/DefaultLegacySupportTest.java
@@ -0,0 +1,74 @@
+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 junit.framework.TestCase;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class DefaultLegacySupportTest extends TestCase {
+ final CountDownLatch latch = new CountDownLatch(1);
+ final DefaultLegacySupport defaultLegacySupport = new DefaultLegacySupport();
+
+ public void testSetSession() throws Exception {
+
+ MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();
+ MavenSession m1 = new MavenSession(null, null, mavenExecutionRequest, null);
+ defaultLegacySupport.setSession(m1);
+
+ MyRunnable myRunnable = new MyRunnable();
+ Thread thread = new Thread(myRunnable);
+ thread.start();
+
+ MavenSession m2 = new MavenSession(null, null, mavenExecutionRequest, null);
+ defaultLegacySupport.setSession(m2);
+ latch.countDown();
+ thread.join();
+ assertNull( myRunnable.getSession());
+ }
+
+
+ class MyRunnable implements Runnable {
+
+ private volatile MavenSession session;
+
+ public void run() {
+ try
+ {
+ latch.await();
+ }
+ catch (InterruptedException ingore)
+ {
+ // Test may fail if we get interrupted
+ }
+ session = defaultLegacySupport.getSession();
+ }
+
+ public MavenSession getSession() {
+ return session;
+ }
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
new file mode 100644
index 00000000..73bdbcae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -0,0 +1,189 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.File;
+import java.io.FileNotFoundException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Arrays;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.model.building.ModelBuildingException;
+import org.apache.maven.model.building.ModelProblem;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusTestCase;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+
+/**
+ * @author Jason van Zyl
+ */
+public abstract class AbstractMavenProjectTestCase
+ extends PlexusTestCase
+{
+ protected ProjectBuilder projectBuilder;
+
+ protected RepositorySystem repositorySystem;
+
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+ {
+ super.customizeContainerConfiguration( containerConfiguration );
+ containerConfiguration.setAutoWiring( true );
+ containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
+ }
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ if ( getContainer().hasComponent( ProjectBuilder.class, "test" ) )
+ {
+ projectBuilder = lookup( ProjectBuilder.class, "test" );
+ }
+ else
+ {
+ // default over to the main project builder...
+ projectBuilder = lookup( ProjectBuilder.class );
+ }
+
+ repositorySystem = lookup( RepositorySystem.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ projectBuilder = null;
+
+ super.tearDown();
+ }
+
+ protected ProjectBuilder getProjectBuilder()
+ {
+ return projectBuilder;
+ }
+
+ @Override
+ protected String getCustomConfigurationName()
+ {
+ String name = AbstractMavenProjectTestCase.class.getName().replace( '.', '/' ) + ".xml";
+ System.out.println( name );
+ return name;
+ }
+
+ // ----------------------------------------------------------------------
+ // Local repository
+ // ----------------------------------------------------------------------
+
+ protected File getLocalRepositoryPath()
+ throws FileNotFoundException, URISyntaxException
+ {
+ File markerFile = getFileForClasspathResource( "local-repo/marker.txt" );
+
+ return markerFile.getAbsoluteFile().getParentFile();
+ }
+
+ protected static File getFileForClasspathResource( String resource )
+ throws FileNotFoundException
+ {
+ ClassLoader cloader = Thread.currentThread().getContextClassLoader();
+
+ URL resourceUrl = cloader.getResource( resource );
+
+ if ( resourceUrl == null )
+ {
+ throw new FileNotFoundException( "Unable to find: " + resource );
+ }
+
+ return new File( URI.create( resourceUrl.toString().replaceAll( " ", "%20" ) ) );
+ }
+
+ protected ArtifactRepository getLocalRepository()
+ throws Exception
+ {
+ ArtifactRepositoryLayout repoLayout = lookup( ArtifactRepositoryLayout.class, "legacy" );
+
+ ArtifactRepository r = repositorySystem.createArtifactRepository( "local", "file://" + getLocalRepositoryPath().getAbsolutePath(), repoLayout, null, null );
+
+ return r;
+ }
+
+ // ----------------------------------------------------------------------
+ // Project building
+ // ----------------------------------------------------------------------
+
+ protected MavenProject getProjectWithDependencies( File pom )
+ throws Exception
+ {
+ ProjectBuildingRequest configuration = newBuildingRequest();
+ configuration.setRemoteRepositories( Arrays.asList( new ArtifactRepository[] {} ) );
+ configuration.setProcessPlugins( false );
+ configuration.setResolveDependencies( true );
+
+ try
+ {
+ return projectBuilder.build( pom, configuration ).getProject();
+ }
+ catch ( Exception e )
+ {
+ Throwable cause = e.getCause();
+ if ( cause instanceof ModelBuildingException )
+ {
+ String message = "In: " + pom + "\n\n";
+ for ( ModelProblem problem : ( (ModelBuildingException) cause ).getProblems() )
+ {
+ message += problem + "\n";
+ }
+ System.out.println( message );
+ }
+
+ throw e;
+ }
+ }
+
+ protected MavenProject getProject( File pom )
+ throws Exception
+ {
+ ProjectBuildingRequest configuration = newBuildingRequest();
+
+ return projectBuilder.build( pom, configuration ).getProject();
+ }
+
+ protected ProjectBuildingRequest newBuildingRequest()
+ throws Exception
+ {
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+ configuration.setLocalRepository( getLocalRepository() );
+ initRepoSession( configuration );
+ return configuration;
+ }
+
+ protected void initRepoSession( ProjectBuildingRequest request )
+ {
+ File localRepo = new File( request.getLocalRepository().getBasedir() );
+ DefaultRepositorySystemSession repoSession = MavenRepositorySystemUtils.newSession();
+ repoSession.setLocalRepositoryManager( new LegacyLocalRepositoryManager( localRepo ) );
+ request.setRepositorySession( repoSession );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
new file mode 100644
index 00000000..13c32abb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -0,0 +1,193 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.codehaus.plexus.util.FileUtils;
+
+public class DefaultMavenProjectBuilderTest
+ extends AbstractMavenProjectTestCase
+{
+
+ private List<File> filesToDelete = new ArrayList<File>();
+
+ private File localRepoDir;
+
+ @Override
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ projectBuilder = lookup( ProjectBuilder.class );
+
+ localRepoDir = new File( System.getProperty( "java.io.tmpdir" ), "local-repo." + System.currentTimeMillis() );
+ localRepoDir.mkdirs();
+
+ filesToDelete.add( localRepoDir );
+ }
+
+ @Override
+ public void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+
+ if ( !filesToDelete.isEmpty() )
+ {
+ for ( File file : filesToDelete )
+ {
+ if ( file.exists() )
+ {
+ if ( file.isDirectory() )
+ {
+ FileUtils.deleteDirectory( file );
+ }
+ else
+ {
+ file.delete();
+ }
+ }
+ }
+ }
+ }
+
+ protected MavenProject getProject( Artifact pom, boolean allowStub )
+ throws Exception
+ {
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+ configuration.setLocalRepository( getLocalRepository() );
+ initRepoSession( configuration );
+
+ return projectBuilder.build( pom, allowStub, configuration ).getProject();
+ }
+
+ /**
+ * Check that we can build ok from the middle pom of a (parent,child,grandchild) heirarchy
+ * @throws Exception
+ */
+ public void testBuildFromMiddlePom() throws Exception
+ {
+ File f1 = getTestFile( "src/test/resources/projects/grandchild-check/child/pom.xml");
+ File f2 = getTestFile( "src/test/resources/projects/grandchild-check/child/grandchild/pom.xml");
+
+ getProject( f1 );
+
+ // it's the building of the grandchild project, having already cached the child project
+ // (but not the parent project), which causes the problem.
+ getProject( f2 );
+ }
+
+ public void testDuplicatePluginDefinitionsMerged()
+ throws Exception
+ {
+ File f1 = getTestFile( "src/test/resources/projects/duplicate-plugins-merged-pom.xml" );
+
+ MavenProject project = getProject( f1 );
+ assertEquals( 2, project.getBuildPlugins().get( 0 ).getDependencies().size() );
+ assertEquals( 2, project.getBuildPlugins().get( 0 ).getExecutions().size() );
+ assertEquals( "first", project.getBuildPlugins().get( 0 ).getExecutions().get( 0 ).getId() );
+ }
+
+ public void testBuildStubModelForMissingRemotePom()
+ throws Exception
+ {
+ Artifact pom = repositorySystem.createProjectArtifact( "org.apache.maven.its", "missing", "0.1" );
+ MavenProject project = getProject( pom, true );
+
+ assertNotNull( project.getArtifactId() );
+
+ assertNotNull( project.getRemoteArtifactRepositories() );
+ assertFalse( project.getRemoteArtifactRepositories().isEmpty() );
+
+ assertNotNull( project.getPluginArtifactRepositories() );
+ assertFalse( project.getPluginArtifactRepositories().isEmpty() );
+
+ assertNull( project.getParent() );
+ assertNull( project.getParentArtifact() );
+
+ assertFalse( project.isExecutionRoot() );
+ }
+
+ @Override
+ protected ArtifactRepository getLocalRepository()
+ throws Exception
+ {
+ ArtifactRepositoryLayout repoLayout = lookup( ArtifactRepositoryLayout.class, "default" );
+ ArtifactRepository r =
+ repositorySystem.createArtifactRepository( "local", "file://" + localRepoDir.getAbsolutePath(), repoLayout,
+ null, null );
+ return r;
+ }
+
+ public void xtestLoop()
+ throws Exception
+ {
+ while ( true )
+ {
+ File f1 = getTestFile( "src/test/resources/projects/duplicate-plugins-merged-pom.xml" );
+ getProject( f1 );
+ }
+ }
+
+ public void testPartialResultUponBadDependencyDeclaration()
+ throws Exception
+ {
+ File pomFile = getTestFile( "src/test/resources/projects/bad-dependency.xml" );
+
+ try
+ {
+ ProjectBuildingRequest request = newBuildingRequest();
+ request.setProcessPlugins( false );
+ request.setResolveDependencies( true );
+ projectBuilder.build( pomFile, request );
+ fail( "Project building did not fail despite invalid POM" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ List<ProjectBuildingResult> results = e.getResults();
+ assertNotNull( results );
+ assertEquals( 1, results.size() );
+ ProjectBuildingResult result = results.get( 0 );
+ assertNotNull( result );
+ assertNotNull( result.getProject() );
+ assertEquals( 1, result.getProblems().size() );
+ assertEquals( 1, result.getProject().getArtifacts().size() );
+ assertNotNull( result.getDependencyResolutionResult() );
+ }
+ }
+
+ public void testImportScopePomResolvesFromPropertyBasedRepository()
+ throws Exception
+ {
+ File pomFile = getTestFile( "src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml" );
+ ProjectBuildingRequest request = newBuildingRequest();
+ request.setProcessPlugins( false );
+ request.setResolveDependencies( true );
+ projectBuilder.build( pomFile, request );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
new file mode 100644
index 00000000..8ff912fb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
@@ -0,0 +1,109 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleExecutor;
+import org.apache.maven.lifecycle.MavenExecutionPlan;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.plugin.MojoExecution;
+
+/**
+ * A stub implementation that assumes an empty lifecycle to bypass interaction with the plugin manager and to avoid
+ * plugin artifact resolution from repositories.
+ *
+ * @author Benjamin Bentmann
+ */
+public class EmptyLifecycleExecutor
+ implements LifecycleExecutor
+{
+
+ public MavenExecutionPlan calculateExecutionPlan( MavenSession session, String... tasks )
+ {
+ return new MavenExecutionPlan( null, null );
+ }
+
+ public MavenExecutionPlan calculateExecutionPlan( MavenSession session, boolean setup, String... tasks )
+ {
+ return new MavenExecutionPlan( null, null );
+ }
+
+ public void execute( MavenSession session )
+ {
+ }
+
+ public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
+ {
+ Set<Plugin> plugins;
+
+ // NOTE: The upper-case packaging name is intentional, that's a special hinting mode used for certain tests
+ if ( "JAR".equals( packaging ) )
+ {
+ plugins = new LinkedHashSet<Plugin>();
+
+ plugins.add( newPlugin( "maven-compiler-plugin", "compile", "testCompile" ) );
+ plugins.add( newPlugin( "maven-resources-plugin", "resources", "testResources" ) );
+ plugins.add( newPlugin( "maven-surefire-plugin", "test" ) );
+ plugins.add( newPlugin( "maven-jar-plugin", "jar" ) );
+ plugins.add( newPlugin( "maven-install-plugin", "install" ) );
+ plugins.add( newPlugin( "maven-deploy-plugin", "deploy" ) );
+ }
+ else
+ {
+ plugins = Collections.emptySet();
+ }
+
+ return plugins;
+ }
+
+ private Plugin newPlugin( String artifactId, String... goals )
+ {
+ Plugin plugin = new Plugin();
+
+ plugin.setGroupId( "org.apache.maven.plugins" );
+ plugin.setArtifactId( artifactId );
+
+ for ( String goal : goals )
+ {
+ PluginExecution pluginExecution = new PluginExecution();
+ pluginExecution.setId( "default-" + goal );
+ pluginExecution.addGoal( goal );
+ plugin.addExecution( pluginExecution );
+ }
+
+ return plugin;
+ }
+
+ public void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
+ {
+ }
+
+ public List<MavenProject> executeForkedExecutions( MojoExecution mojoExecution, MavenSession session )
+ {
+ return Collections.emptyList();
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java
new file mode 100644
index 00000000..21e37f1f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java
@@ -0,0 +1,62 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Repository;
+
+/**
+ * A stub implementation to bypass artifact resolution from repositories.
+ *
+ * @author Benjamin Bentmann
+ */
+public class EmptyProjectBuildingHelper
+ implements ProjectBuildingHelper
+{
+
+ public List<ArtifactRepository> createArtifactRepositories( List<Repository> pomRepositories,
+ List<ArtifactRepository> externalRepositories,
+ ProjectBuildingRequest request )
+ {
+ if ( externalRepositories != null )
+ {
+ return externalRepositories;
+ }
+ else
+ {
+ return new ArrayList<ArtifactRepository>();
+ }
+ }
+
+ public ProjectRealmCache.CacheRecord createProjectRealm( MavenProject proejct,
+ Model model, ProjectBuildingRequest request )
+ {
+ return new ProjectRealmCache.CacheRecord( null, null );
+ }
+
+ public void selectProjectRealm( MavenProject project )
+ {
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
new file mode 100644
index 00000000..68727013
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ExtensionDescriptorBuilderTest.java
@@ -0,0 +1,101 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.Arrays;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests {@link ExtensionDescriptorBuilder}.
+ *
+ * @author Benjamin Bentmann
+ */
+public class ExtensionDescriptorBuilderTest
+ extends TestCase
+{
+
+ private ExtensionDescriptorBuilder builder;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ builder = new ExtensionDescriptorBuilder();
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ builder = null;
+
+ super.tearDown();
+ }
+
+ private InputStream toStream( String xml )
+ {
+ try
+ {
+ return new ByteArrayInputStream( xml.getBytes( "UTF-8" ) );
+ }
+ catch ( UnsupportedEncodingException e )
+ {
+ throw new IllegalStateException( e );
+ }
+ }
+
+ public void testEmptyDescriptor()
+ throws Exception
+ {
+ String xml = "<extension></extension>";
+
+ ExtensionDescriptor ed = builder.build( toStream( xml ) );
+
+ assertNotNull( ed );
+ assertNotNull( ed.getExportedPackages() );
+ assertTrue( ed.getExportedPackages().isEmpty() );
+ assertNotNull( ed.getExportedArtifacts() );
+ assertTrue( ed.getExportedArtifacts().isEmpty() );
+ }
+
+ public void testCompleteDescriptor()
+ throws Exception
+ {
+ String xml =
+ "<?xml version='1.0' encoding='UTF-8'?>" + "<extension>" + "<exportedPackages>"
+ + "<exportedPackage>a</exportedPackage>" + "<exportedPackage>b</exportedPackage>"
+ + "<exportedPackage>c</exportedPackage>" + "</exportedPackages>" + "<exportedArtifacts>"
+ + "<exportedArtifact>x</exportedArtifact>" + "<exportedArtifact>y</exportedArtifact>"
+ + "<exportedArtifact> z </exportedArtifact>" + "</exportedArtifacts>" + "</extension>";
+
+ ExtensionDescriptor ed = builder.build( toStream( xml ) );
+
+ assertNotNull( ed );
+ assertEquals( Arrays.asList( "a", "b", "c" ), ed.getExportedPackages() );
+ assertEquals( Arrays.asList( "x", "y", "z" ), ed.getExportedArtifacts() );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
new file mode 100644
index 00000000..52fdd804
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
@@ -0,0 +1,192 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.File;
+
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.metadata.Metadata;
+import org.eclipse.aether.repository.LocalArtifactRegistration;
+import org.eclipse.aether.repository.LocalArtifactRequest;
+import org.eclipse.aether.repository.LocalArtifactResult;
+import org.eclipse.aether.repository.LocalMetadataRegistration;
+import org.eclipse.aether.repository.LocalMetadataRequest;
+import org.eclipse.aether.repository.LocalMetadataResult;
+import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.repository.LocalRepositoryManager;
+import org.eclipse.aether.repository.RemoteRepository;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class LegacyLocalRepositoryManager
+ implements LocalRepositoryManager
+{
+
+ private final LocalRepository repository;
+
+ public LegacyLocalRepositoryManager( File basedir )
+ {
+ this.repository = new LocalRepository( basedir.getAbsoluteFile(), "legacy" );
+ }
+
+ public LocalRepository getRepository()
+ {
+ return repository;
+ }
+
+ public String getPathForLocalArtifact( Artifact artifact )
+ {
+ StringBuilder path = new StringBuilder( 128 );
+
+ path.append( artifact.getGroupId() ).append( '/' );
+
+ path.append( artifact.getExtension() ).append( 's' ).append( '/' );
+
+ path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
+
+ if ( artifact.getClassifier().length() > 0 )
+ {
+ path.append( '-' ).append( artifact.getClassifier() );
+ }
+
+ path.append( '.' ).append( artifact.getExtension() );
+
+ return path.toString();
+ }
+
+ public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
+ {
+ return getPathForLocalArtifact( artifact );
+ }
+
+ public String getPathForLocalMetadata( Metadata metadata )
+ {
+ return getPath( metadata, "local" );
+ }
+
+ public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
+ {
+ return getPath( metadata, getRepositoryKey( repository, context ) );
+ }
+
+ String getRepositoryKey( RemoteRepository repository, String context )
+ {
+ return repository.getId();
+ }
+
+ private String getPath( Metadata metadata, String repositoryKey )
+ {
+ StringBuilder path = new StringBuilder( 128 );
+
+ if ( metadata.getGroupId().length() > 0 )
+ {
+ path.append( metadata.getGroupId().replace( '.', '/' ) ).append( '/' );
+
+ if ( metadata.getArtifactId().length() > 0 )
+ {
+ path.append( metadata.getArtifactId() ).append( '/' );
+
+ if ( metadata.getVersion().length() > 0 )
+ {
+ path.append( metadata.getVersion() ).append( '/' );
+ }
+ }
+ }
+
+ path.append( insertRepositoryKey( metadata.getType(), repositoryKey ) );
+
+ return path.toString();
+ }
+
+ private String insertRepositoryKey( String filename, String repositoryKey )
+ {
+ String result;
+ int idx = filename.indexOf( '.' );
+ if ( idx < 0 )
+ {
+ result = filename + '-' + repositoryKey;
+ }
+ else
+ {
+ result = filename.substring( 0, idx ) + '-' + repositoryKey + filename.substring( idx );
+ }
+ return result;
+ }
+
+ public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
+ {
+ String path = getPathForLocalArtifact( request.getArtifact() );
+ File file = new File( getRepository().getBasedir(), path );
+
+ LocalArtifactResult result = new LocalArtifactResult( request );
+ if ( file.isFile() )
+ {
+ result.setFile( file );
+ result.setAvailable( true );
+ }
+
+ return result;
+ }
+
+ public void add( RepositorySystemSession session, LocalArtifactRegistration request )
+ {
+ // noop
+ }
+
+ public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
+ {
+ LocalMetadataResult result = new LocalMetadataResult( request );
+
+ String path;
+
+ Metadata metadata = request.getMetadata();
+ String context = request.getContext();
+ RemoteRepository remote = request.getRepository();
+
+ if ( remote != null )
+ {
+ path = getPathForRemoteMetadata( metadata, remote, context );
+ }
+ else
+ {
+ path = getPathForLocalMetadata( metadata );
+ }
+
+ File file = new File( getRepository().getBasedir(), path );
+ if ( file.isFile() )
+ {
+ result.setFile( file );
+ }
+
+ return result;
+ }
+
+ public void add( RepositorySystemSession session, LocalMetadataRegistration request )
+ {
+ // noop
+ }
+
+ public String toString()
+ {
+ return String.valueOf( getRepository() );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
new file mode 100644
index 00000000..0c5cd07d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
@@ -0,0 +1,197 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.maven.lifecycle.internal.stub.LoggerStub;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Profile;
+
+public class MavenProjectTest
+ extends AbstractMavenProjectTestCase
+{
+
+ public void testShouldInterpretChildPathAdjustmentBasedOnModulePaths()
+ throws IOException
+ {
+ Model parentModel = new Model();
+ parentModel.addModule( "../child" );
+
+ MavenProject parentProject = new MavenProject( parentModel );
+
+ Model childModel = new Model();
+ childModel.setArtifactId( "artifact" );
+
+ MavenProject childProject = new MavenProject( childModel );
+
+ File childFile =
+ new File( System.getProperty( "java.io.tmpdir" ), "maven-project-tests" + System.currentTimeMillis()
+ + "/child/pom.xml" );
+
+ childProject.setFile( childFile );
+
+ String adjustment = parentProject.getModulePathAdjustment( childProject );
+
+ assertNotNull( adjustment );
+
+ assertEquals( "..", adjustment );
+ }
+
+ public void testIdentityProtoInheritance()
+ {
+ Parent parent = new Parent();
+
+ parent.setGroupId( "test-group" );
+ parent.setVersion( "1000" );
+ parent.setArtifactId( "test-artifact" );
+
+ Model model = new Model();
+
+ model.setParent( parent );
+ model.setArtifactId( "real-artifact" );
+
+ MavenProject project = new MavenProject( model );
+
+ assertEquals( "groupId proto-inheritance failed.", "test-group", project.getGroupId() );
+ assertEquals( "artifactId is masked.", "real-artifact", project.getArtifactId() );
+ assertEquals( "version proto-inheritance failed.", "1000", project.getVersion() );
+
+ // draw the NPE.
+ project.getId();
+ }
+
+ public void testEmptyConstructor()
+ {
+ MavenProject project = new MavenProject();
+
+ assertEquals( MavenProject.EMPTY_PROJECT_GROUP_ID + ":" + MavenProject.EMPTY_PROJECT_ARTIFACT_ID + ":jar:"
+ + MavenProject.EMPTY_PROJECT_VERSION, project.getId() );
+ }
+
+ public void testClone()
+ throws Exception
+ {
+ File f = getFileForClasspathResource( "canonical-pom.xml" );
+ MavenProject projectToClone = getProject( f );
+
+ MavenProject clonedProject = projectToClone.clone();
+ assertEquals( "maven-core", clonedProject.getArtifactId() );
+ Map<?, ?> clonedMap = clonedProject.getManagedVersionMap();
+ assertNotNull( "ManagedVersionMap not copied", clonedMap );
+ assertTrue( "ManagedVersionMap is not empty", clonedMap.isEmpty() );
+ }
+
+ public void testCloneWithDependencyManagement()
+ throws Exception
+ {
+ File f = getFileForClasspathResource( "dependencyManagement-pom.xml" );
+ MavenProject projectToClone = getProjectWithDependencies( f );
+ DependencyManagement dep = projectToClone.getDependencyManagement();
+ assertNotNull( "No dependencyManagement", dep );
+ List<?> list = dep.getDependencies();
+ assertNotNull( "No dependencies", list );
+ assertTrue( "Empty dependency list", !list.isEmpty() );
+
+ Map<?, ?> map = projectToClone.getManagedVersionMap();
+ assertNotNull( "No ManagedVersionMap", map );
+ assertTrue( "ManagedVersionMap is empty", !map.isEmpty() );
+
+ MavenProject clonedProject = projectToClone.clone();
+ assertEquals( "maven-core", clonedProject.getArtifactId() );
+ Map<?, ?> clonedMap = clonedProject.getManagedVersionMap();
+ assertNotNull( "ManagedVersionMap not copied", clonedMap );
+ assertTrue( "ManagedVersionMap is empty", !clonedMap.isEmpty() );
+ assertTrue( "ManagedVersionMap does not contain test key",
+ clonedMap.containsKey( "maven-test:maven-test-b:jar" ) );
+ }
+
+ public void testGetModulePathAdjustment()
+ throws IOException
+ {
+ Model moduleModel = new Model();
+
+ MavenProject module = new MavenProject( moduleModel );
+ module.setFile( new File( "module-dir/pom.xml" ) );
+
+ Model parentModel = new Model();
+ parentModel.addModule( "../module-dir" );
+
+ MavenProject parent = new MavenProject( parentModel );
+ parent.setFile( new File( "parent-dir/pom.xml" ) );
+
+ String pathAdjustment = parent.getModulePathAdjustment( module );
+
+ assertEquals( "..", pathAdjustment );
+ }
+
+ public void testCloneWithDistributionManagement()
+ throws Exception
+ {
+
+ File f = getFileForClasspathResource( "distributionManagement-pom.xml" );
+ MavenProject projectToClone = getProject( f );
+
+ MavenProject clonedProject = projectToClone.clone();
+ assertNotNull( "clonedProject - distributionManagement", clonedProject.getDistributionManagementArtifactRepository() );
+ }
+
+ public void testCloneWithActiveProfile()
+ throws Exception
+ {
+
+ File f = getFileForClasspathResource( "withActiveByDefaultProfile-pom.xml" );
+ MavenProject projectToClone = getProject( f );
+ List<Profile> activeProfilesOrig = projectToClone.getActiveProfiles();
+
+ assertEquals( "Expecting 1 active profile", 1, activeProfilesOrig.size() );
+
+ MavenProject clonedProject = projectToClone.clone();
+
+ List<Profile> activeProfilesClone = clonedProject.getActiveProfiles();
+
+ assertEquals( "Expecting 1 active profile", 1, activeProfilesClone.size() );
+
+ assertNotSame( "The list of active profiles should have been cloned too but is same", activeProfilesOrig,
+ activeProfilesClone );
+ }
+
+ public void testUndefinedOutputDirectory()
+ throws Exception
+ {
+ MavenProject p = new MavenProject();
+ assertNoNulls( p.getCompileClasspathElements() );
+ assertNoNulls( p.getSystemClasspathElements() );
+ assertNoNulls( p.getRuntimeClasspathElements() );
+ assertNoNulls( p.getTestClasspathElements() );
+ }
+
+ private void assertNoNulls( List<String> elements )
+ {
+ assertFalse( elements.contains( null ) );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
new file mode 100644
index 00000000..f17539b1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -0,0 +1,1878 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.building.ModelBuildingRequest;
+import org.apache.maven.project.harness.PomTestWrapper;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusTestCase;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.repository.LocalRepository;
+
+public class PomConstructionTest
+ extends PlexusTestCase
+{
+ private static String BASE_DIR = "src/test";
+
+ private static String BASE_POM_DIR = BASE_DIR + "/resources-project-builder";
+
+ private static String BASE_MIXIN_DIR = BASE_DIR + "/resources-mixins";
+
+ private DefaultProjectBuilder projectBuilder;
+
+ private RepositorySystem repositorySystem;
+
+ private File testDirectory;
+
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+ {
+ super.customizeContainerConfiguration( containerConfiguration );
+ containerConfiguration.setAutoWiring( true );
+ containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
+ }
+
+ protected void setUp()
+ throws Exception
+ {
+ testDirectory = new File( getBasedir(), BASE_POM_DIR );
+ new File( getBasedir(), BASE_MIXIN_DIR );
+ projectBuilder = (DefaultProjectBuilder) lookup( ProjectBuilder.class );
+ repositorySystem = lookup( RepositorySystem.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ projectBuilder = null;
+
+ super.tearDown();
+ }
+
+ /**
+ * Will throw exception if url is empty. MNG-4050
+ *
+ * @throws Exception
+ */
+
+ public void testEmptyUrl()
+ throws Exception
+ {
+ buildPom( "empty-distMng-repo-url" );
+ }
+
+ /**
+ * Tests that modules is not overriden by profile
+ *
+ * @throws Exception
+ */
+ /* MNG-786*/
+ public void testProfileModules()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-module", "a" );
+ assertEquals( "test-prop", pom.getValue( "properties[1]/b" ) );// verifies profile applied
+ assertEquals( 4, ( (List<?>) pom.getValue( "modules" ) ).size() );
+ assertEquals( "module-2", pom.getValue( "modules[1]" ) );
+ assertEquals( "module-1", pom.getValue( "modules[2]" ) );
+ assertEquals( "module-3", pom.getValue( "modules[3]" ) );
+ assertEquals( "module-4", pom.getValue( "modules[4]" ) );
+ }
+
+ /**
+ * Will throw exception if doesn't find parent(s) in build
+ *
+ * @throws Exception
+ */
+ public void testParentInheritance()
+ throws Exception
+ {
+ buildPom( "parent-inheritance/sub" );
+ }
+
+ /*MNG-3995*/
+ public void testExecutionConfigurationJoin()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "execution-configuration-join" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/fileset[1]" ) ).size() );
+ }
+
+ /*MNG-3803*/
+ public void testPluginConfigProperties()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-properties" );
+ assertEquals( "my.property", pom.getValue( "build/plugins[1]/configuration[1]/systemProperties[1]/property[1]/name" ) );
+ }
+
+ /*MNG-3900*/
+ public void testProfilePropertiesInterpolation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-properties-interpolation", "interpolation-profile" );
+ assertEquals( "PASSED", pom.getValue( "properties[1]/test" ) );
+ assertEquals( "PASSED", pom.getValue( "properties[1]/property" ) );
+ }
+
+
+ // Some better conventions for the test poms needs to be created and each of these tests
+ // that represent a verification of a specification item needs to be a couple lines at most.
+ // The expressions help a lot, but we need a clean to pick up a directory of POMs, automatically load
+ // them into a resolver, create the expression to extract the data to validate the Model, and the URI
+ // to validate the properties. We also need a way to navigate from the Tex specification documents to
+ // the test in question and vice versa. A little Eclipse plugin would do the trick.
+ public void testThatExecutionsWithoutIdsAreMergedAndTheChildWins()
+ throws Exception
+ {
+ PomTestWrapper tester = buildPom( "micromailer" );
+ assertModelEquals( tester, "child-descriptor", "build/plugins[1]/executions[1]/goals[1]" );
+ }
+
+ /*MNG-
+ public void testDependencyScope()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dependency-scope/sub" );
+
+ }
+
+ /*MNG- 4010*/
+ public void testDuplicateExclusionsDependency()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "duplicate-exclusions-dependency/sub" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies[1]/exclusions" ) ).size() );
+
+ }
+
+ /*MNG- 4008*/
+ public void testMultipleFilters()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "multiple-filters" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "build/filters" ) ).size() );
+
+ }
+
+ /** MNG-4005: postponed to 3.1
+ public void testValidationErrorUponNonUniqueDependencyKey()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-dependency-key/deps" );
+ fail( "Non-unique dependency keys did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ public void testValidationErrorUponNonUniqueDependencyManagementKey()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-dependency-key/dep-mngt" );
+ fail( "Non-unique dependency keys did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ public void testValidationErrorUponNonUniqueDependencyKeyInProfile()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-dependency-key/deps-in-profile" );
+ fail( "Non-unique dependency keys did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ public void testValidationErrorUponNonUniqueDependencyManagementKeyInProfile()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-dependency-key/dep-mngt-in-profile" );
+ fail( "Non-unique dependency keys did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+ */
+
+ public void testDuplicateDependenciesCauseLastDeclarationToBePickedInLenientMode()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "unique-dependency-key/deps", true, null );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "0.2", pom.getValue( "dependencies[1]/version" ) );
+ }
+
+ /* MNG-3567*/
+ public void testParentInterpolation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "parent-interpolation/sub" );
+ pom = new PomTestWrapper( pom.getMavenProject().getParent() );
+ assertEquals( "1.3.0-SNAPSHOT", pom.getValue( "build/plugins[1]/version" ) );
+ }
+
+/*
+ public void testMaven()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPomFromMavenProject( "maven-build/sub/pom.xml", null );
+
+ for( String s: pom.getMavenProject().getTestClasspathElements() )
+ {
+ System.out.println( s );
+ }
+
+ }
+ */
+
+ /* MNG-3567*/
+ public void testPluginManagementInherited()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "pluginmanagement-inherited/sub" );
+ assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) );
+ }
+
+ /* MNG-2174*/
+ public void testPluginManagementDependencies()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-management-dependencies/sub", "test" );
+ assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) );
+ assertEquals( "1.0", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) );
+ }
+
+
+ /* MNG-3877*/
+ public void testReportingInterpolation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "reporting-interpolation" );
+ assertEquals( createPath( Arrays.asList( System.getProperty( "user.dir" ), "src", "test",
+ "resources-project-builder", "reporting-interpolation", "target",
+ "site" ) ), pom.getValue( "reporting/outputDirectory" ) );
+ }
+
+
+ public void testPluginOrder()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-order" );
+ assertEquals( "plexus-component-metadata", pom.getValue( "build/plugins[1]/artifactId" ) );
+ assertEquals( "maven-surefire-plugin", pom.getValue( "build/plugins[2]/artifactId" ) );
+ }
+
+ public void testErroneousJoiningOfDifferentPluginsWithEqualDependencies()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "equal-plugin-deps" );
+ assertEquals( "maven-it-plugin-a", pom.getValue( "build/plugins[1]/artifactId" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
+ assertEquals( "maven-it-plugin-b", pom.getValue( "build/plugins[2]/artifactId" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
+ }
+
+ /** MNG-3821 */
+ public void testErroneousJoiningOfDifferentPluginsWithEqualExecutionIds()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "equal-plugin-exec-ids" );
+ assertEquals( "maven-it-plugin-a", pom.getValue( "build/plugins[1]/artifactId" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "maven-it-plugin-b", pom.getValue( "build/plugins[2]/artifactId" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "maven-it-plugin-a", pom.getValue( "reporting/plugins[1]/artifactId" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "reporting/plugins[1]/reportSets" ) ).size() );
+ assertEquals( "maven-it-plugin-b", pom.getValue( "reporting/plugins[2]/artifactId" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "reporting/plugins[1]/reportSets" ) ).size() );
+ }
+
+ /** MNG-3998 */
+ public void testExecutionConfiguration()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "execution-configuration" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "src/main/mdo/nexus.xml",
+ ( pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/model" ) ) );
+ assertEquals( "src/main/mdo/security.xml",
+ ( pom.getValue( "build/plugins[1]/executions[2]/configuration[1]/model" ) ) );
+ }
+
+ /*
+ public void testPluginConfigDuplicate()
+ throws Exception
+{
+ PomTestWrapper pom = buildPom( "plugin-config-duplicate/dup" );
+}
+*/
+
+
+ public void testSingleConfigurationInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "single-configuration-inheritance" );
+
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/rules" ) ).size() );
+ assertEquals( "2.0.6",
+ pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/rules[1]/requireMavenVersion[1]/version" ) );
+ assertEquals( "[1.4,)",
+ pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/rules[1]/requireJavaVersion[1]/version" ) );
+ }
+
+ public void testConfigWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "config-with-plugin-mng" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "src/main/mdo/security.xml", pom.getValue( "build/plugins[1]/executions[2]/configuration[1]/model" ) );
+ assertEquals( "1.0.8", pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/version" ) );
+ }
+
+ /** MNG-3965 */
+ public void testExecutionConfigurationSubcollections()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "execution-configuration-subcollections" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/rules[1]/bannedDependencies" ) ).size() );
+ }
+
+ /** MNG-3985 */
+ public void testMultipleRepositories()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "multiple-repos/sub" );
+ assertEquals( 3, ( (List<?>) pom.getValue( "repositories" ) ).size() );
+ }
+
+ /** MNG-3965 */
+ public void testMultipleExecutionIds()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dual-execution-ids/sub" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ }
+
+ /** MNG-3997 */
+ public void testConsecutiveEmptyElements()
+ throws Exception
+ {
+ buildPom( "consecutive_empty_elements" );
+ }
+
+ public void testOrderOfGoalsFromPluginExecutionWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-goals-order/wo-plugin-mngt" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
+ assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
+ assertEquals( "d", pom.getValue( "build/plugins[1]/executions[1]/goals[3]" ) );
+ assertEquals( "c", pom.getValue( "build/plugins[1]/executions[1]/goals[4]" ) );
+ assertEquals( "e", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
+ }
+
+ /* MNG-3886*/
+ public void testOrderOfGoalsFromPluginExecutionWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-goals-order/w-plugin-mngt" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
+ assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
+ assertEquals( "d", pom.getValue( "build/plugins[1]/executions[1]/goals[3]" ) );
+ assertEquals( "c", pom.getValue( "build/plugins[1]/executions[1]/goals[4]" ) );
+ assertEquals( "e", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
+ }
+
+ public void testOrderOfPluginExecutionsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-order/wo-plugin-mngt" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/id" ) );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/executions[2]/id" ) );
+ assertEquals( "d", pom.getValue( "build/plugins[1]/executions[3]/id" ) );
+ assertEquals( "c", pom.getValue( "build/plugins[1]/executions[4]/id" ) );
+ assertEquals( "e", pom.getValue( "build/plugins[1]/executions[5]/id" ) );
+ }
+
+ /* MNG-3887 */
+ public void testOrderOfPluginExecutionsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-order/w-plugin-mngt" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "b", pom.getValue( "build/plugins[1]/executions[1]/id" ) );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/executions[2]/id" ) );
+ assertEquals( "d", pom.getValue( "build/plugins[1]/executions[3]/id" ) );
+ assertEquals( "c", pom.getValue( "build/plugins[1]/executions[4]/id" ) );
+ assertEquals( "e", pom.getValue( "build/plugins[1]/executions[5]/id" ) );
+ }
+
+ public void testMergeOfPluginExecutionsWhenChildInheritsPluginVersion()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-merging-wo-version/sub" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ }
+
+ /* MNG-3943*/
+ public void testMergeOfPluginExecutionsWhenChildAndParentUseDifferentPluginVersions()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-merging-version-insensitive/sub" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ }
+
+
+ public void testInterpolationWithXmlMarkup()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "xml-markup-interpolation" );
+ assertEquals( "<?xml version='1.0'?>Tom&Jerry", pom.getValue( "properties/xmlTest" ) );
+ }
+
+ /* MNG-3925 */
+ public void testOrderOfMergedPluginExecutionsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-plugin-exec-order/wo-plugin-mngt/sub" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "parent-1", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "parent-2", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
+ assertEquals( "child-default", pom.getValue( "build/plugins[1]/executions[3]/goals[1]" ) );
+ assertEquals( "child-1", pom.getValue( "build/plugins[1]/executions[4]/goals[1]" ) );
+ assertEquals( "child-2", pom.getValue( "build/plugins[1]/executions[5]/goals[1]" ) );
+ }
+
+ public void testOrderOfMergedPluginExecutionsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-plugin-exec-order/w-plugin-mngt/sub" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "parent-1", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "parent-2", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
+ assertEquals( "child-default", pom.getValue( "build/plugins[1]/executions[3]/goals[1]" ) );
+ assertEquals( "child-1", pom.getValue( "build/plugins[1]/executions[4]/goals[1]" ) );
+ assertEquals( "child-2", pom.getValue( "build/plugins[1]/executions[5]/goals[1]" ) );
+ }
+
+ /* MNG-3984*/
+ public void testDifferentContainersWithSameId()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "join-different-containers-same-id" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/pluginManagement/plugins[@artifactId='maven-it-plugin-b']/executions[1]/goals" ) ).size() );
+ }
+
+ /* MNG-3937*/
+ public void testOrderOfMergedPluginExecutionGoalsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-plugin-exec-goals-order/wo-plugin-mngt/sub" );
+
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
+ assertEquals( "child-a", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "merged", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
+ assertEquals( "child-b", pom.getValue( "build/plugins[1]/executions[1]/goals[3]" ) );
+ assertEquals( "parent-b", pom.getValue( "build/plugins[1]/executions[1]/goals[4]" ) );
+ assertEquals( "parent-a", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
+ }
+
+ public void testOrderOfMergedPluginExecutionGoalsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-plugin-exec-goals-order/w-plugin-mngt/sub" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
+ assertEquals( "child-a", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "merged", pom.getValue( "build/plugins[1]/executions[1]/goals[2]" ) );
+ assertEquals( "child-b", pom.getValue( "build/plugins[1]/executions[1]/goals[3]" ) );
+ assertEquals( "parent-b", pom.getValue( "build/plugins[1]/executions[1]/goals[4]" ) );
+ assertEquals( "parent-a", pom.getValue( "build/plugins[1]/executions[1]/goals[5]" ) );
+ }
+
+ /*MNG-3938*/
+ public void testOverridingOfInheritedPluginExecutionsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-merging/wo-plugin-mngt/sub" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "child-default", pom.getValue( "build/plugins[1]/executions[@id='default']/phase" ) );
+ assertEquals( "child-non-default", pom.getValue( "build/plugins[1]/executions[@id='non-default']/phase" ) );
+ }
+
+ /* MNG-3938 */
+ public void testOverridingOfInheritedPluginExecutionsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-merging/w-plugin-mngt/sub" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "child-default", pom.getValue( "build/plugins[1]/executions[@id='default']/phase" ) );
+ assertEquals( "child-non-default", pom.getValue( "build/plugins[1]/executions[@id='non-default']/phase" ) );
+ }
+
+
+ /* MNG-3906*/
+ public void testOrderOfMergedPluginDependenciesWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/wo-plugin-mngt/sub" );
+
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
+ assertNotNull( pom.getValue( "build/plugins[1]/dependencies[1]" ) );
+ assertEquals( "c", pom.getValue( "build/plugins[1]/dependencies[1]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/dependencies[2]/artifactId" ) );
+ assertEquals( "2", pom.getValue( "build/plugins[1]/dependencies[2]/version" ) );
+ assertEquals( "b", pom.getValue( "build/plugins[1]/dependencies[3]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[3]/version" ) );
+ assertEquals( "e", pom.getValue( "build/plugins[1]/dependencies[4]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[4]/version" ) );
+ assertEquals( "d", pom.getValue( "build/plugins[1]/dependencies[5]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[5]/version" ) );
+ }
+
+ public void testOrderOfMergedPluginDependenciesWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/w-plugin-mngt/sub" );
+ assertEquals( 5, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
+ assertEquals( "c", pom.getValue( "build/plugins[1]/dependencies[1]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/dependencies[2]/artifactId" ) );
+ assertEquals( "2", pom.getValue( "build/plugins[1]/dependencies[2]/version" ) );
+ assertEquals( "b", pom.getValue( "build/plugins[1]/dependencies[3]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[3]/version" ) );
+ assertEquals( "e", pom.getValue( "build/plugins[1]/dependencies[4]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[4]/version" ) );
+ assertEquals( "d", pom.getValue( "build/plugins[1]/dependencies[5]/artifactId" ) );
+ assertEquals( "1", pom.getValue( "build/plugins[1]/dependencies[5]/version" ) );
+ }
+
+ public void testInterpolationOfNestedBuildDirectories()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "nested-build-dir-interpolation" );
+ assertEquals( new File( pom.getBasedir(), "target/classes/dir0" ),
+ new File( (String) pom.getValue( "properties/dir0" ) ) );
+ assertEquals( new File( pom.getBasedir(), "src/test/dir1" ),
+ new File( (String) pom.getValue( "properties/dir1" ) ) );
+ assertEquals( new File( pom.getBasedir(), "target/site/dir2" ),
+ new File( (String) pom.getValue( "properties/dir2" ) ) );
+ }
+
+ public void testAppendArtifactIdOfChildToInheritedUrls()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "url-inheritance/sub" );
+ assertEquals( "http://parent.url/child", pom.getValue( "url" ) );
+ assertEquals( "http://parent.url/org", pom.getValue( "organization/url" ) );
+ assertEquals( "http://parent.url/license.txt", pom.getValue( "licenses[1]/url" ) );
+ assertEquals( "http://parent.url/viewvc/child", pom.getValue( "scm/url" ) );
+ assertEquals( "http://parent.url/scm/child", pom.getValue( "scm/connection" ) );
+ assertEquals( "https://parent.url/scm/child", pom.getValue( "scm/developerConnection" ) );
+ assertEquals( "http://parent.url/issues", pom.getValue( "issueManagement/url" ) );
+ assertEquals( "http://parent.url/ci", pom.getValue( "ciManagement/url" ) );
+ assertEquals( "http://parent.url/dist", pom.getValue( "distributionManagement/repository/url" ) );
+ assertEquals( "http://parent.url/snaps", pom.getValue( "distributionManagement/snapshotRepository/url" ) );
+ assertEquals( "http://parent.url/site/child", pom.getValue( "distributionManagement/site/url" ) );
+ assertEquals( "http://parent.url/download", pom.getValue( "distributionManagement/downloadUrl" ) );
+ }
+
+ /* MNG-3846*/
+ public void testAppendArtifactIdOfParentAndChildToInheritedUrls()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "url-inheritance/another-parent/sub" );
+ assertEquals( "http://parent.url/ap/child", pom.getValue( "url" ) );
+ assertEquals( "http://parent.url/org", pom.getValue( "organization/url" ) );
+ assertEquals( "http://parent.url/license.txt", pom.getValue( "licenses[1]/url" ) );
+ assertEquals( "http://parent.url/viewvc/ap/child", pom.getValue( "scm/url" ) );
+ assertEquals( "http://parent.url/scm/ap/child", pom.getValue( "scm/connection" ) );
+ assertEquals( "https://parent.url/scm/ap/child", pom.getValue( "scm/developerConnection" ) );
+ assertEquals( "http://parent.url/issues", pom.getValue( "issueManagement/url" ) );
+ assertEquals( "http://parent.url/ci", pom.getValue( "ciManagement/url" ) );
+ assertEquals( "http://parent.url/dist", pom.getValue( "distributionManagement/repository/url" ) );
+ assertEquals( "http://parent.url/snaps", pom.getValue( "distributionManagement/snapshotRepository/url" ) );
+ assertEquals( "http://parent.url/site/ap/child", pom.getValue( "distributionManagement/site/url" ) );
+ assertEquals( "http://parent.url/download", pom.getValue( "distributionManagement/downloadUrl" ) );
+ }
+ //*/
+
+ public void testNonInheritedElementsInSubtreesOverriddenByChild()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "limited-inheritance/child" );
+ assertEquals( null, pom.getValue( "organization/url" ) );
+ assertEquals( null, pom.getValue( "issueManagement/system" ) );
+ assertEquals( 0, ( (List<?>) pom.getValue( "ciManagement/notifiers" ) ).size() );
+ assertEquals( "child-distros", pom.getValue( "distributionManagement/repository/id" ) );
+ assertEquals( "ssh://child.url/distros", pom.getValue( "distributionManagement/repository/url" ) );
+ assertEquals( null, pom.getValue( "distributionManagement/repository/name" ) );
+ assertEquals( true, pom.getValue( "distributionManagement/repository/uniqueVersion" ) );
+ assertEquals( "default", pom.getValue( "distributionManagement/repository/layout" ) );
+ assertEquals( "child-snaps", pom.getValue( "distributionManagement/snapshotRepository/id" ) );
+ assertEquals( "ssh://child.url/snaps", pom.getValue( "distributionManagement/snapshotRepository/url" ) );
+ assertEquals( null, pom.getValue( "distributionManagement/snapshotRepository/name" ) );
+ assertEquals( true, pom.getValue( "distributionManagement/snapshotRepository/uniqueVersion" ) );
+ assertEquals( "default", pom.getValue( "distributionManagement/snapshotRepository/layout" ) );
+ assertEquals( "child-site", pom.getValue( "distributionManagement/site/id" ) );
+ assertEquals( "scp://child.url/site", pom.getValue( "distributionManagement/site/url" ) );
+ assertEquals( null, pom.getValue( "distributionManagement/site/name" ) );
+ }
+
+ public void testXmlTextCoalescing()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "xml-coalesce-text" );
+ assertEquals( "A Test Project Property", pom.getValue( "properties/prop0" ) );
+ assertEquals( "That's a test!", pom.getValue( "properties/prop1" ) );
+ assertEquals( 32 * 1024,
+ pom.getValue( "properties/prop2" ).toString().trim().replaceAll( "[\n\r]", "" ).length() );
+ }
+
+ public void testFullInterpolationOfNestedExpressions()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "full-interpolation" );
+ for ( int i = 0; i < 24; i++ )
+ {
+ String index = ( ( i < 10 ) ? "0" : "" ) + i;
+ assertEquals( "PASSED", pom.getValue( "properties/property" + index ) );
+ }
+ }
+
+ public void testInterpolationOfLegacyExpressionsThatDontIncludeTheProjectPrefix()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "unprefixed-expression-interpolation/child" );
+
+ assertEquals( pom.getBasedir(), new File( pom.getValue( "properties/projectDir" ).toString() ) );
+
+ assertEquals( "org.apache.maven.its.mng3831.child", pom.getValue( "properties/projectGroupId" ) );
+ assertEquals( "child", pom.getValue( "properties/projectArtifactId" ) );
+ assertEquals( "2.0-alpha-1", pom.getValue( "properties/projectVersion" ) );
+ assertEquals( "jar", pom.getValue( "properties/projectPackaging" ) );
+
+ assertEquals( "child-name", pom.getValue( "properties/projectName" ) );
+ assertEquals( "child-desc", pom.getValue( "properties/projectDesc" ) );
+ assertEquals( "http://child.org/", pom.getValue( "properties/projectUrl" ) );
+ assertEquals( "2008", pom.getValue( "properties/projectYear" ) );
+ assertEquals( "child-org-name", pom.getValue( "properties/projectOrgName" ) );
+
+ assertEquals( "2.0.0", pom.getValue( "properties/projectPrereqMvn" ) );
+ assertEquals( "http://scm.org/", pom.getValue( "properties/projectScmUrl" ) );
+ assertEquals( "http://issue.org/", pom.getValue( "properties/projectIssueUrl" ) );
+ assertEquals( "http://ci.org/", pom.getValue( "properties/projectCiUrl" ) );
+ assertEquals( "child-dist-repo", pom.getValue( "properties/projectDistRepoName" ) );
+ assertEquals( "http://dist.org/", pom.getValue( "properties/projectDistRepoUrl" ) );
+ assertEquals( "http://site.org/", pom.getValue( "properties/projectDistSiteUrl" ) );
+
+ assertEquals( "org.apache.maven.its.mng3831", pom.getValue( "properties/parentGroupId" ) );
+ assertEquals( "parent", pom.getValue( "properties/parentArtifactId" ) );
+ assertEquals( "1.0", pom.getValue( "properties/parentVersion" ) );
+
+ assertTrue( pom.getValue( "properties/projectBuildOut" ).toString().endsWith( "bin" ) );
+ assertTrue( pom.getValue( "properties/projectSiteOut" ).toString().endsWith( "doc" ) );
+ }
+
+ public void testInterpolationWithBasedirAlignedDirectories()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "basedir-aligned-interpolation" );
+ assertEquals( new File( pom.getBasedir(), "src/main/java" ),
+ new File( pom.getValue( "properties/buildMainSrc" ).toString() ) );
+ assertEquals( new File( pom.getBasedir(), "src/test/java" ),
+ new File( pom.getValue( "properties/buildTestSrc" ).toString() ) );
+ assertEquals( new File( pom.getBasedir(), "src/main/scripts" ),
+ new File( pom.getValue( "properties/buildScriptSrc" ).toString() ) );
+ assertEquals( new File( pom.getBasedir(), "target" ),
+ new File( pom.getValue( "properties/buildOut" ).toString() ) );
+ assertEquals( new File( pom.getBasedir(), "target/classes" ),
+ new File( pom.getValue( "properties/buildMainOut" ).toString() ) );
+ assertEquals( new File( pom.getBasedir(), "target/test-classes" ),
+ new File( pom.getValue( "properties/buildTestOut" ).toString() ) );
+ assertEquals( new File( pom.getBasedir(), "target/site" ),
+ new File( pom.getValue( "properties/siteOut" ).toString() ) );
+ }
+
+ /* MNG-3944*/
+ public void testInterpolationOfBasedirInPomWithUnusualName()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "basedir-interpolation/pom-with-unusual-name.xml" );
+ assertEquals( pom.getBasedir(), new File( pom.getValue( "properties/prop0" ).toString() ) );
+ assertEquals( pom.getBasedir(), new File( pom.getValue( "properties/prop1" ).toString() ) );
+ }
+
+ /* MNG-3979 */
+ public void testJoiningOfContainersWhenChildHasEmptyElements()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "id-container-joining-with-empty-elements/sub" );
+ assertNotNull( pom );
+ }
+
+ public void testOrderOfPluginConfigurationElementsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-order/wo-plugin-mngt" );
+ assertEquals( "one", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[1]" ) );
+ assertEquals( "two", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[2]" ) );
+ assertEquals( "three", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[3]" ) );
+ assertEquals( "four", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[4]" ) );
+ }
+
+ /* MNG-3827*/
+ public void testOrderOfPluginConfigurationElementsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-order/w-plugin-mngt" );
+ assertEquals( "one", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[1]" ) );
+ assertEquals( "two", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[2]" ) );
+ assertEquals( "three", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[3]" ) );
+ assertEquals( "four", pom.getValue( "build/plugins[1]/configuration/stringParams/stringParam[4]" ) );
+ }
+
+ public void testOrderOfPluginExecutionConfigurationElementsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-config-order/wo-plugin-mngt" );
+ String prefix = "build/plugins[1]/executions[1]/configuration/";
+ assertEquals( "one", pom.getValue( prefix + "stringParams/stringParam[1]" ) );
+ assertEquals( "two", pom.getValue( prefix + "stringParams/stringParam[2]" ) );
+ assertEquals( "three", pom.getValue( prefix + "stringParams/stringParam[3]" ) );
+ assertEquals( "four", pom.getValue( prefix + "stringParams/stringParam[4]" ) );
+ assertEquals( "key1", pom.getValue( prefix + "propertiesParam/property[1]/name" ) );
+ assertEquals( "key2", pom.getValue( prefix + "propertiesParam/property[2]/name" ) );
+ }
+
+ /* MNG-3864*/
+ public void testOrderOfPluginExecutionConfigurationElementsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-config-order/w-plugin-mngt" );
+ String prefix = "build/plugins[1]/executions[1]/configuration/";
+ assertEquals( "one", pom.getValue( prefix + "stringParams/stringParam[1]" ) );
+ assertEquals( "two", pom.getValue( prefix + "stringParams/stringParam[2]" ) );
+ assertEquals( "three", pom.getValue( prefix + "stringParams/stringParam[3]" ) );
+ assertEquals( "four", pom.getValue( prefix + "stringParams/stringParam[4]" ) );
+ assertEquals( "key1", pom.getValue( prefix + "propertiesParam/property[1]/name" ) );
+ assertEquals( "key2", pom.getValue( prefix + "propertiesParam/property[2]/name" ) );
+ }
+
+ /* MNG-3836*/
+ public void testMergeOfInheritedPluginConfiguration()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-merging/child" );
+
+ String prefix = "build/plugins[1]/configuration/";
+ assertEquals( "PASSED", pom.getValue( prefix + "propertiesFile" ) );
+ assertEquals( "PASSED", pom.getValue( prefix + "parent" ) );
+ assertEquals( "PASSED-1", pom.getValue( prefix + "stringParams/stringParam[1]" ) );
+ assertEquals( "PASSED-3", pom.getValue( prefix + "stringParams/stringParam[2]" ) );
+ assertEquals( "PASSED-2", pom.getValue( prefix + "stringParams/stringParam[3]" ) );
+ assertEquals( "PASSED-4", pom.getValue( prefix + "stringParams/stringParam[4]" ) );
+ assertEquals( "PASSED-1", pom.getValue( prefix + "listParam/listParam[1]" ) );
+ assertEquals( "PASSED-3", pom.getValue( prefix + "listParam/listParam[2]" ) );
+ assertEquals( "PASSED-2", pom.getValue( prefix + "listParam/listParam[3]" ) );
+ assertEquals( "PASSED-4", pom.getValue( prefix + "listParam/listParam[4]" ) );
+ }
+
+ /* MNG-2591 */
+ public void testAppendOfInheritedPluginConfigurationWithNoProfile()
+ throws Exception
+ {
+ testAppendOfInheritedPluginConfiguration( "no-profile" );
+ }
+
+ /* MNG-2591*/
+ public void testAppendOfInheritedPluginConfigurationWithActiveProfile()
+ throws Exception
+ {
+ testAppendOfInheritedPluginConfiguration( "with-profile" );
+ }
+
+ private void testAppendOfInheritedPluginConfiguration( String test )
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-append/" + test + "/subproject" );
+ String prefix = "build/plugins[1]/configuration/";
+ assertEquals( "PARENT-1", pom.getValue( prefix + "stringParams/stringParam[1]" ) );
+ assertEquals( "PARENT-3", pom.getValue( prefix + "stringParams/stringParam[2]" ) );
+ assertEquals( "PARENT-2", pom.getValue( prefix + "stringParams/stringParam[3]" ) );
+ assertEquals( "PARENT-4", pom.getValue( prefix + "stringParams/stringParam[4]" ) );
+ assertEquals( "CHILD-1", pom.getValue( prefix + "stringParams/stringParam[5]" ) );
+ assertEquals( "CHILD-3", pom.getValue( prefix + "stringParams/stringParam[6]" ) );
+ assertEquals( "CHILD-2", pom.getValue( prefix + "stringParams/stringParam[7]" ) );
+ assertEquals( "CHILD-4", pom.getValue( prefix + "stringParams/stringParam[8]" ) );
+ assertEquals( null, pom.getValue( prefix + "stringParams/stringParam[9]" ) );
+ assertEquals( "PARENT-1", pom.getValue( prefix + "listParam/listParam[1]" ) );
+ assertEquals( "PARENT-3", pom.getValue( prefix + "listParam/listParam[2]" ) );
+ assertEquals( "PARENT-2", pom.getValue( prefix + "listParam/listParam[3]" ) );
+ assertEquals( "PARENT-4", pom.getValue( prefix + "listParam/listParam[4]" ) );
+ assertEquals( "CHILD-1", pom.getValue( prefix + "listParam/listParam[5]" ) );
+ assertEquals( "CHILD-3", pom.getValue( prefix + "listParam/listParam[6]" ) );
+ assertEquals( "CHILD-2", pom.getValue( prefix + "listParam/listParam[7]" ) );
+ assertEquals( "CHILD-4", pom.getValue( prefix + "listParam/listParam[8]" ) );
+ assertEquals( null, pom.getValue( prefix + "listParam/listParam[9]" ) );
+ }
+
+ /* MNG-4000 */
+ public void testMultiplePluginExecutionsWithAndWithoutIdsWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-w-and-wo-id/wo-plugin-mngt" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
+ }
+
+ public void testMultiplePluginExecutionsWithAndWithoutIdsWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-w-and-wo-id/w-plugin-mngt" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( "log-string", pom.getValue( "build/plugins[1]/executions[2]/goals[1]" ) );
+ }
+
+ public void testDependencyOrderWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dependency-order/wo-plugin-mngt" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "a", pom.getValue( "dependencies[1]/artifactId" ) );
+ assertEquals( "c", pom.getValue( "dependencies[2]/artifactId" ) );
+ assertEquals( "b", pom.getValue( "dependencies[3]/artifactId" ) );
+ assertEquals( "d", pom.getValue( "dependencies[4]/artifactId" ) );
+ }
+
+ public void testDependencyOrderWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dependency-order/w-plugin-mngt" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "a", pom.getValue( "dependencies[1]/artifactId" ) );
+ assertEquals( "c", pom.getValue( "dependencies[2]/artifactId" ) );
+ assertEquals( "b", pom.getValue( "dependencies[3]/artifactId" ) );
+ assertEquals( "d", pom.getValue( "dependencies[4]/artifactId" ) );
+ }
+
+ public void testBuildDirectoriesUsePlatformSpecificFileSeparator()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "platform-file-separator" );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/directory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/outputDirectory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/testOutputDirectory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/sourceDirectory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/testSourceDirectory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/resources[1]/directory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/testResources[1]/directory" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "build/filters[1]" ) );
+ assertPathWithNormalizedFileSeparators( pom.getValue( "reporting/outputDirectory" ) );
+ }
+
+ /* MNG-4008 */
+ public void testMergedFilterOrder()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "merged-filter-order/sub" );
+
+ assertEquals( 7, ( (List<?>) pom.getValue( "build/filters" ) ).size() );
+ assertTrue( pom.getValue( "build/filters[1]" ).toString().endsWith( "child-a.properties" ) );
+ assertTrue( pom.getValue( "build/filters[2]" ).toString().endsWith( "child-c.properties" ) );
+ assertTrue( pom.getValue( "build/filters[3]" ).toString().endsWith( "child-b.properties" ) );
+ assertTrue( pom.getValue( "build/filters[4]" ).toString().endsWith( "child-d.properties" ) );
+ assertTrue( pom.getValue( "build/filters[5]" ).toString().endsWith( "parent-c.properties" ) );
+ assertTrue( pom.getValue( "build/filters[6]" ).toString().endsWith( "parent-b.properties" ) );
+ assertTrue( pom.getValue( "build/filters[7]" ).toString().endsWith( "parent-d.properties" ) );
+ }
+
+ /** MNG-4027*/
+ public void testProfileInjectedDependencies()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-injected-dependencies" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "a", pom.getValue( "dependencies[1]/artifactId" ) );
+ assertEquals( "c", pom.getValue( "dependencies[2]/artifactId" ) );
+ assertEquals( "b", pom.getValue( "dependencies[3]/artifactId" ) );
+ assertEquals( "d", pom.getValue( "dependencies[4]/artifactId" ) );
+ }
+
+ /** IT-0021*/
+ public void testProfileDependenciesMultipleProfiles()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-dependencies-multiple-profiles", "profile-1", "profile-2" );
+ assertEquals(2, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ }
+
+ public void testDependencyInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dependency-inheritance/sub" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "4.4", pom.getValue( "dependencies[1]/version" ) );
+ }
+
+ /** MNG-4034 */
+ public void testManagedProfileDependency()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "managed-profile-dependency/sub", "maven-core-it" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "org.apache.maven.its", pom.getValue( "dependencies[1]/groupId" ) );
+ assertEquals( "maven-core-it-support", pom.getValue( "dependencies[1]/artifactId" ) );
+ assertEquals( "1.3", pom.getValue( "dependencies[1]/version" ) );
+ assertEquals( "runtime", pom.getValue( "dependencies[1]/scope" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies[1]/exclusions" ) ).size() );
+ assertEquals( "commons-lang", pom.getValue( "dependencies[1]/exclusions[1]/groupId" ) );
+ }
+
+ /** MNG-4040 */
+ public void testProfileModuleInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "profile-module-inheritance/sub", "dist" );
+ assertEquals( 0, ( (List<?>) pom.getValue( "modules" ) ).size() );
+ }
+
+ /** MNG-3621 */
+ public void testUncPath()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "unc-path/sub" );
+ assertEquals( "file:////host/site/test-child", pom.getValue( "distributionManagement/site/url" ) );
+ }
+
+ /** MNG-2006 */
+ public void testUrlAppendWithChildPathAdjustment()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "url-append/child" );
+ assertEquals( "http://project.url/child", pom.getValue( "url" ) );
+ assertEquals( "http://viewvc.project.url/child", pom.getValue( "scm/url" ) );
+ assertEquals( "http://scm.project.url/child", pom.getValue( "scm/connection" ) );
+ assertEquals( "https://scm.project.url/child", pom.getValue( "scm/developerConnection" ) );
+ assertEquals( "http://site.project.url/child", pom.getValue( "distributionManagement/site/url" ) );
+ }
+
+ /** MNG-0479 */
+ public void testRepoInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "repo-inheritance" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "repositories" ) ).size() );
+ assertEquals( "it0043", pom.getValue( "repositories[1]/name" ) );
+ }
+
+ public void testEmptyScm()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "empty-scm" );
+ assertNull( pom.getValue( "scm" ) );
+ }
+
+ public void testPluginConfigurationUsingAttributesWithoutPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-attributes/wo-plugin-mngt" );
+ assertEquals( "src", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@todir" ) );
+ assertEquals( "true", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@overwrite" ) );
+ assertEquals( "target", pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@dir" ) );
+ assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@todir" ) );
+ assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@overwrite" ) );
+ }
+
+ /** MNG-4053*/
+ public void testPluginConfigurationUsingAttributesWithPluginManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-attributes/w-plugin-mngt" );
+ assertEquals( "src", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@todir" ) );
+ assertEquals( "true", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@overwrite" ) );
+ assertEquals( "target", pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@dir" ) );
+ assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@todir" ) );
+ assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@overwrite" ) );
+ }
+
+ public void testPluginConfigurationUsingAttributesWithPluginManagementAndProfile()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-attributes/w-profile", "maven-core-it" );
+ assertEquals( "src", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@todir" ) );
+ assertEquals( "true", pom.getValue( "build/plugins[1]/configuration/domParam/copy/@overwrite" ) );
+ assertEquals( "target", pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@dir" ) );
+ assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@todir" ) );
+ assertEquals( null, pom.getValue( "build/plugins[1]/configuration/domParam/copy/fileset/@overwrite" ) );
+ }
+
+ public void testPomEncoding()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "pom-encoding/utf-8" );
+ assertEquals( "TEST-CHARS: \u00DF\u0131\u03A3\u042F\u05D0\u20AC", pom.getValue( "description" ) );
+ pom = buildPom( "pom-encoding/latin-1" );
+ assertEquals( "TEST-CHARS: \u00C4\u00D6\u00DC\u00E4\u00F6\u00FC\u00DF", pom.getValue( "description" ) );
+ }
+
+ /* MNG-4070 */
+ public void testXmlWhitespaceHandling()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "xml-whitespace/sub" );
+ assertEquals( "org.apache.maven.its.mng4070", pom.getValue( "groupId" ) );
+ }
+
+ /* MNG-3760*/
+ public void testInterpolationOfBaseUrl()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "baseurl-interpolation/pom.xml" );
+ assertEquals( pom.getBasedir().toURI().toString(), pom.getValue( "properties/prop1" ).toString() );
+ }
+
+ /* MNG-3811*/
+ public void testReportingPluginConfig()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "reporting-plugin-config/sub" );
+
+ assertEquals( 3, ( (List<?>) pom.getValue( "reporting/plugins[1]/configuration/stringParams" ) ).size() );
+ assertEquals( "parentParam", pom.getValue( "reporting/plugins[1]/configuration/stringParams[1]/stringParam[1]" ) );
+ assertEquals( "childParam", pom.getValue( "reporting/plugins[1]/configuration/stringParams[1]/stringParam[2]" ) );
+ assertEquals( " preserve space ", pom.getValue( "reporting/plugins[1]/configuration/stringParams[1]/stringParam[3]" ) );
+ assertEquals( "true", pom.getValue( "reporting/plugins[1]/configuration/booleanParam" ) );
+ }
+
+ public void testPropertiesNoDuplication()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "properties-no-duplication/sub" );
+ assertEquals( 1, ( (Properties) pom.getValue( "properties" ) ).size() );
+ assertEquals( "child", pom.getValue( "properties/pomProfile" ) );
+ }
+
+ public void testPomInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "pom-inheritance/sub" );
+ assertEquals( "parent-description", pom.getValue( "description" ) );
+ assertEquals( "jar", pom.getValue( "packaging" ) );
+ }
+
+ public void testCompleteModelWithoutParent()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "complete-model/wo-parent" );
+
+ testCompleteModel( pom );
+ }
+
+ public void testCompleteModelWithParent()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "complete-model/w-parent/sub" );
+
+ testCompleteModel( pom );
+ }
+
+ private void testCompleteModel( PomTestWrapper pom )
+ throws Exception
+ {
+ assertEquals( "4.0.0", pom.getValue( "modelVersion" ) );
+
+ assertEquals( "org.apache.maven.its.mng", pom.getValue( "groupId" ) );
+ assertEquals( "test", pom.getValue( "artifactId" ) );
+ assertEquals( "0.2", pom.getValue( "version" ) );
+ assertEquals( "pom", pom.getValue( "packaging" ) );
+
+ assertEquals( "project-name", pom.getValue( "name" ) );
+ assertEquals( "project-description", pom.getValue( "description" ) );
+ assertEquals( "http://project.url/", pom.getValue( "url" ) );
+ assertEquals( "2009", pom.getValue( "inceptionYear" ) );
+
+ assertEquals( "project-org", pom.getValue( "organization/name" ) );
+ assertEquals( "http://project-org.url/", pom.getValue( "organization/url" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "licenses" ) ).size() );
+ assertEquals( "project-license", pom.getValue( "licenses[1]/name" ) );
+ assertEquals( "http://project.url/license", pom.getValue( "licenses[1]/url" ) );
+ assertEquals( "repo", pom.getValue( "licenses[1]/distribution" ) );
+ assertEquals( "free", pom.getValue( "licenses[1]/comments" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "developers" ) ).size() );
+ assertEquals( "dev", pom.getValue( "developers[1]/id" ) );
+ assertEquals( "project-developer", pom.getValue( "developers[1]/name" ) );
+ assertEquals( "developer@", pom.getValue( "developers[1]/email" ) );
+ assertEquals( "http://developer", pom.getValue( "developers[1]/url" ) );
+ assertEquals( "developer", pom.getValue( "developers[1]/organization" ) );
+ assertEquals( "http://devel.org", pom.getValue( "developers[1]/organizationUrl" ) );
+ assertEquals( "-1", pom.getValue( "developers[1]/timezone" ) );
+ assertEquals( "yes", pom.getValue( "developers[1]/properties/developer" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "developers[1]/roles" ) ).size() );
+ assertEquals( "devel", pom.getValue( "developers[1]/roles[1]" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "contributors" ) ).size() );
+ assertEquals( "project-contributor", pom.getValue( "contributors[1]/name" ) );
+ assertEquals( "contributor@", pom.getValue( "contributors[1]/email" ) );
+ assertEquals( "http://contributor", pom.getValue( "contributors[1]/url" ) );
+ assertEquals( "contributor", pom.getValue( "contributors[1]/organization" ) );
+ assertEquals( "http://contrib.org", pom.getValue( "contributors[1]/organizationUrl" ) );
+ assertEquals( "+1", pom.getValue( "contributors[1]/timezone" ) );
+ assertEquals( "yes", pom.getValue( "contributors[1]/properties/contributor" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "contributors[1]/roles" ) ).size() );
+ assertEquals( "contrib", pom.getValue( "contributors[1]/roles[1]" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "mailingLists" ) ).size() );
+ assertEquals( "project-mailing-list", pom.getValue( "mailingLists[1]/name" ) );
+ assertEquals( "subscribe@", pom.getValue( "mailingLists[1]/subscribe" ) );
+ assertEquals( "unsubscribe@", pom.getValue( "mailingLists[1]/unsubscribe" ) );
+ assertEquals( "post@", pom.getValue( "mailingLists[1]/post" ) );
+ assertEquals( "mail-archive", pom.getValue( "mailingLists[1]/archive" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "mailingLists[1]/otherArchives" ) ).size() );
+ assertEquals( "other-archive", pom.getValue( "mailingLists[1]/otherArchives[1]" ) );
+
+ assertEquals( "2.0.1", pom.getValue( "prerequisites/maven" ) );
+
+ assertEquals( "http://project.url/trunk", pom.getValue( "scm/url" ) );
+ assertEquals( "http://project.url/scm", pom.getValue( "scm/connection" ) );
+ assertEquals( "https://project.url/scm", pom.getValue( "scm/developerConnection" ) );
+ assertEquals( "TAG", pom.getValue( "scm/tag" ) );
+
+ assertEquals( "issues", pom.getValue( "issueManagement/system" ) );
+ assertEquals( "http://project.url/issues", pom.getValue( "issueManagement/url" ) );
+
+ assertEquals( "ci", pom.getValue( "ciManagement/system" ) );
+ assertEquals( "http://project.url/ci", pom.getValue( "ciManagement/url" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "ciManagement/notifiers" ) ).size() );
+ assertEquals( "irc", pom.getValue( "ciManagement/notifiers[1]/type" ) );
+ assertEquals( "ci@", pom.getValue( "ciManagement/notifiers[1]/address" ) );
+ assertEquals( Boolean.TRUE, pom.getValue( "ciManagement/notifiers[1]/sendOnError" ) );
+ assertEquals( Boolean.FALSE, pom.getValue( "ciManagement/notifiers[1]/sendOnFailure" ) );
+ assertEquals( Boolean.FALSE, pom.getValue( "ciManagement/notifiers[1]/sendOnWarning" ) );
+ assertEquals( Boolean.FALSE, pom.getValue( "ciManagement/notifiers[1]/sendOnSuccess" ) );
+ assertEquals( "ci", pom.getValue( "ciManagement/notifiers[1]/configuration/ciProp" ) );
+
+ assertEquals( "project.distros", pom.getValue( "distributionManagement/repository/id" ) );
+ assertEquals( "distros", pom.getValue( "distributionManagement/repository/name" ) );
+ assertEquals( "http://project.url/dist", pom.getValue( "distributionManagement/repository/url" ) );
+ assertEquals( Boolean.TRUE, pom.getValue( "distributionManagement/repository/uniqueVersion" ) );
+
+ assertEquals( "project.snaps", pom.getValue( "distributionManagement/snapshotRepository/id" ) );
+ assertEquals( "snaps", pom.getValue( "distributionManagement/snapshotRepository/name" ) );
+ assertEquals( "http://project.url/snaps", pom.getValue( "distributionManagement/snapshotRepository/url" ) );
+ assertEquals( Boolean.FALSE, pom.getValue( "distributionManagement/snapshotRepository/uniqueVersion" ) );
+
+ assertEquals( "project.site", pom.getValue( "distributionManagement/site/id" ) );
+ assertEquals( "docs", pom.getValue( "distributionManagement/site/name" ) );
+ assertEquals( "http://project.url/site", pom.getValue( "distributionManagement/site/url" ) );
+
+ assertEquals( "http://project.url/download", pom.getValue( "distributionManagement/downloadUrl" ) );
+ assertEquals( "reloc-gid", pom.getValue( "distributionManagement/relocation/groupId" ) );
+ assertEquals( "reloc-aid", pom.getValue( "distributionManagement/relocation/artifactId" ) );
+ assertEquals( "reloc-version", pom.getValue( "distributionManagement/relocation/version" ) );
+ assertEquals( "project-reloc-msg", pom.getValue( "distributionManagement/relocation/message" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "modules" ) ).size() );
+ assertEquals( "sub", pom.getValue( "modules[1]" ) );
+
+ assertEquals( 1, ( (Map<?, ?>) pom.getValue( "properties" ) ).size() );
+ assertEquals( "project-property", pom.getValue( "properties[1]/itProperty" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencyManagement/dependencies" ) ).size() );
+ assertEquals( "org.apache.maven.its", pom.getValue( "dependencyManagement/dependencies[1]/groupId" ) );
+ assertEquals( "managed-dep", pom.getValue( "dependencyManagement/dependencies[1]/artifactId" ) );
+ assertEquals( "0.1", pom.getValue( "dependencyManagement/dependencies[1]/version" ) );
+ assertEquals( "war", pom.getValue( "dependencyManagement/dependencies[1]/type" ) );
+ assertEquals( "runtime", pom.getValue( "dependencyManagement/dependencies[1]/scope" ) );
+ assertEquals( Boolean.FALSE, pom.getValue( "dependencyManagement/dependencies[1]/optional" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencyManagement/dependencies[1]/exclusions" ) ).size() );
+ assertEquals( "org.apache.maven.its",
+ pom.getValue( "dependencyManagement/dependencies[1]/exclusions[1]/groupId" ) );
+ assertEquals( "excluded-managed-dep",
+ pom.getValue( "dependencyManagement/dependencies[1]/exclusions[1]/artifactId" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ assertEquals( "org.apache.maven.its", pom.getValue( "dependencies[1]/groupId" ) );
+ assertEquals( "dep", pom.getValue( "dependencies[1]/artifactId" ) );
+ assertEquals( "0.2", pom.getValue( "dependencies[1]/version" ) );
+ assertEquals( "ejb", pom.getValue( "dependencies[1]/type" ) );
+ assertEquals( "test", pom.getValue( "dependencies[1]/scope" ) );
+ assertEquals( Boolean.TRUE, pom.getValue( "dependencies[1]/optional" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies[1]/exclusions" ) ).size() );
+ assertEquals( "org.apache.maven.its", pom.getValue( "dependencies[1]/exclusions[1]/groupId" ) );
+ assertEquals( "excluded-dep", pom.getValue( "dependencies[1]/exclusions[1]/artifactId" ) );
+
+ assertEquals( 2, ( (List<?>) pom.getValue( "repositories" ) ).size() );
+ assertEquals( "project-remote-repo", pom.getValue( "repositories[1]/id" ) );
+ assertEquals( "http://project.url/remote", pom.getValue( "repositories[1]/url" ) );
+ assertEquals( "repo", pom.getValue( "repositories[1]/name" ) );
+ assertEquals( RepositorySystem.DEFAULT_REMOTE_REPO_ID, pom.getValue( "repositories[2]/id" ) );
+ assertEquals( RepositorySystem.DEFAULT_REMOTE_REPO_URL, pom.getValue( "repositories[2]/url" ) );
+
+ assertEquals( "test", pom.getValue( "build/defaultGoal" ) );
+ assertEquals( "coreit", pom.getValue( "build/finalName" ) );
+
+ assertPathSuffixEquals( "build", pom.getValue( "build/directory" ) );
+ assertPathSuffixEquals( "build/main", pom.getValue( "build/outputDirectory" ) );
+ assertPathSuffixEquals( "build/test", pom.getValue( "build/testOutputDirectory" ) );
+ assertPathSuffixEquals( "sources/main", pom.getValue( "build/sourceDirectory" ) );
+ assertPathSuffixEquals( "sources/test", pom.getValue( "build/testSourceDirectory" ) );
+ assertPathSuffixEquals( "sources/scripts", pom.getValue( "build/scriptSourceDirectory" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/filters" ) ).size() );
+ assertPathSuffixEquals( "src/main/filter/it.properties", pom.getValue( "build/filters[1]" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/resources" ) ).size() );
+ assertPathSuffixEquals( "res/main", pom.getValue( "build/resources[1]/directory" ) );
+ assertPathSuffixEquals( "main", pom.getValue( "build/resources[1]/targetPath" ) );
+ assertEquals( Boolean.TRUE, pom.getValue( "build/resources[1]/filtering" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/resources[1]/includes" ) ).size() );
+ assertPathSuffixEquals( "main.included", pom.getValue( "build/resources[1]/includes[1]" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/resources[1]/excludes" ) ).size() );
+ assertPathSuffixEquals( "main.excluded", pom.getValue( "build/resources[1]/excludes[1]" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/testResources" ) ).size() );
+ assertPathSuffixEquals( "res/test", pom.getValue( "build/testResources[1]/directory" ) );
+ assertPathSuffixEquals( "test", pom.getValue( "build/testResources[1]/targetPath" ) );
+ assertEquals( Boolean.TRUE, pom.getValue( "build/testResources[1]/filtering" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/testResources[1]/includes" ) ).size() );
+ assertPathSuffixEquals( "test.included", pom.getValue( "build/testResources[1]/includes[1]" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/testResources[1]/excludes" ) ).size() );
+ assertPathSuffixEquals( "test.excluded", pom.getValue( "build/testResources[1]/excludes[1]" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/extensions" ) ).size() );
+ assertEquals( "org.apache.maven.its.ext", pom.getValue( "build/extensions[1]/groupId" ) );
+ assertEquals( "ext", pom.getValue( "build/extensions[1]/artifactId" ) );
+ assertEquals( "3.0", pom.getValue( "build/extensions[1]/version" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins" ) ).size() );
+ assertEquals( "org.apache.maven.its.plugins", pom.getValue( "build/plugins[1]/groupId" ) );
+ assertEquals( "maven-it-plugin-build", pom.getValue( "build/plugins[1]/artifactId" ) );
+ assertEquals( "2.1-SNAPSHOT", pom.getValue( "build/plugins[1]/version" ) );
+ assertEquals( "test.properties", pom.getValue( "build/plugins[1]/configuration/outputFile" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/executions" ) ).size() );
+ assertEquals( "test", pom.getValue( "build/plugins[1]/executions[1]/id" ) );
+ assertEquals( "validate", pom.getValue( "build/plugins[1]/executions[1]/phase" ) );
+ assertEquals( "pom.properties", pom.getValue( "build/plugins[1]/executions[1]/configuration/outputFile" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/goals" ) ).size() );
+ assertEquals( "eval", pom.getValue( "build/plugins[1]/executions[1]/goals[1]" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies" ) ).size() );
+ assertEquals( "org.apache.maven.its", pom.getValue( "build/plugins[1]/dependencies[1]/groupId" ) );
+ assertEquals( "build-plugin-dep", pom.getValue( "build/plugins[1]/dependencies[1]/artifactId" ) );
+ assertEquals( "0.3", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) );
+ assertEquals( "zip", pom.getValue( "build/plugins[1]/dependencies[1]/type" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins[1]/dependencies[1]/exclusions" ) ).size() );
+ assertEquals( "org.apache.maven.its", pom.getValue( "build/plugins[1]/dependencies[1]/exclusions[1]/groupId" ) );
+ assertEquals( "excluded-build-plugin-dep",
+ pom.getValue( "build/plugins[1]/dependencies[1]/exclusions[1]/artifactId" ) );
+
+ assertEquals( Boolean.TRUE, pom.getValue( "reporting/excludeDefaults" ) );
+ assertPathSuffixEquals( "docs", pom.getValue( "reporting/outputDirectory" ) );
+
+ assertEquals( 1, ( (List<?>) pom.getValue( "reporting/plugins" ) ).size() );
+ assertEquals( "org.apache.maven.its.plugins", pom.getValue( "reporting/plugins[1]/groupId" ) );
+ assertEquals( "maven-it-plugin-reporting", pom.getValue( "reporting/plugins[1]/artifactId" ) );
+ assertEquals( "2.0-SNAPSHOT", pom.getValue( "reporting/plugins[1]/version" ) );
+ assertEquals( "test.html", pom.getValue( "reporting/plugins[1]/configuration/outputFile" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "reporting/plugins[1]/reportSets" ) ).size() );
+ assertEquals( "it", pom.getValue( "reporting/plugins[1]/reportSets[1]/id" ) );
+ assertEquals( "index.html", pom.getValue( "reporting/plugins[1]/reportSets[1]/configuration/outputFile" ) );
+ assertEquals( 1, ( (List<?>) pom.getValue( "reporting/plugins[1]/reportSets[1]/reports" ) ).size() );
+ assertEquals( "run", pom.getValue( "reporting/plugins[1]/reportSets[1]/reports[1]" ) );
+ }
+
+ /* MNG-2309*/
+
+ public void testProfileInjectionOrder()
+ throws Exception
+ {
+ PomTestWrapper pom =
+ buildPom( "profile-injection-order", "pom-a", "pom-b", "pom-e", "pom-c", "pom-d" );
+ assertEquals( "e", pom.getValue( "properties[1]/pomProperty" ) );
+ }
+
+ public void testPropertiesInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "properties-inheritance/sub" );
+ assertEquals( "parent-property", pom.getValue( "properties/parentProperty" ) );
+ assertEquals( "child-property", pom.getValue( "properties/childProperty" ) );
+ assertEquals( "child-override", pom.getValue( "properties/overriddenProperty" ) );
+ }
+
+ /* MNG-4102*/
+ public void testInheritedPropertiesInterpolatedWithValuesFromChildWithoutProfiles()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "inherited-properties-interpolation/no-profile/sub" );
+
+ assertEquals( "CHILD", pom.getValue( "properties/overridden" ) );
+ assertEquals( "CHILD", pom.getValue( "properties/interpolated" ) );
+ }
+
+ /* MNG-4102 */
+ public void testInheritedPropertiesInterpolatedWithValuesFromChildWithActiveProfiles()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "inherited-properties-interpolation/active-profile/sub" );
+
+ assertEquals( 1, pom.getMavenProject().getModel().getProfiles().size() );
+
+ buildPom( "inherited-properties-interpolation/active-profile/sub", "it-parent", "it-child" );
+ assertEquals( "CHILD", pom.getValue( "properties/overridden" ) );
+ assertEquals( "CHILD", pom.getValue( "properties/interpolated" ) );
+ }
+
+ /* MNG-3545 */
+ public void testProfileDefaultActivation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-default-deactivation", "profile4" );
+ assertEquals( 1, pom.getMavenProject().getActiveProfiles().size() );
+ assertEquals( 1, ( (List<?>) pom.getValue( "build/plugins" ) ).size() );
+ assertEquals( "2.1", pom.getValue( "build/plugins[1]/version" ) );
+ }
+
+ /* MNG-1995 */
+ public void testBooleanInterpolation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "boolean-interpolation" );
+ assertTrue ((Boolean) pom.getValue( "repositories[1]/releases/enabled" ) );
+ assertTrue((Boolean) pom.getValue( "build/resources[1]/filtering" ) );
+ }
+
+
+ /* MNG-3899 */
+ public void testBuildExtensionInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "build-extension-inheritance/sub" );
+ assertEquals( 3, ( (List<?>) pom.getValue( "build/extensions" ) ).size() );
+ assertEquals( "b", pom.getValue( "build/extensions[1]/artifactId" ) );
+ assertEquals( "a", pom.getValue( "build/extensions[2]/artifactId" ) );
+ assertEquals( "0.2", pom.getValue( "build/extensions[2]/version" ) );
+ assertEquals( "c", pom.getValue( "build/extensions[3]/artifactId" ) );
+ }
+
+ /*MNG-1957*/
+ public void testJdkActivation()
+ throws Exception
+ {
+ Properties props = new Properties();
+ props.put( "java.version", "1.5.0_15" );
+
+ PomTestWrapper pom = buildPom( "jdk-activation", props );
+ assertEquals( 3, pom.getMavenProject().getActiveProfiles().size() );
+ assertEquals( "PASSED", pom.getValue( "properties/jdkProperty3" ) );
+ assertEquals( "PASSED", pom.getValue( "properties/jdkProperty2" ) );
+ assertEquals( "PASSED", pom.getValue( "properties/jdkProperty1" ) );
+ }
+
+ /* MNG-2174 */
+ public void testProfilePluginMngDependencies()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "profile-plugin-mng-dependencies/sub", "maven-core-it" );
+ assertEquals( "a", pom.getValue( "build/plugins[1]/dependencies[1]/artifactId" ) );
+ }
+
+ /** MNG-4116 */
+ public void testPercentEncodedUrlsMustNotBeDecoded()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "url-no-decoding" );
+ assertEquals( "http://maven.apache.org/spacy%20path", pom.getValue( "url" ) );
+ assertEquals( "http://svn.apache.org/viewvc/spacy%20path", pom.getValue( "scm/url" ) );
+ assertEquals( "scm:svn:svn+ssh://svn.apache.org/spacy%20path", pom.getValue( "scm/connection" ) );
+ assertEquals( "scm:svn:svn+ssh://svn.apache.org/spacy%20path", pom.getValue( "scm/developerConnection" ) );
+ assertEquals( "http://issues.apache.org/spacy%20path", pom.getValue( "issueManagement/url" ) );
+ assertEquals( "http://ci.apache.org/spacy%20path", pom.getValue( "ciManagement/url" ) );
+ assertEquals( "scm:svn:svn+ssh://dist.apache.org/spacy%20path",
+ pom.getValue( "distributionManagement/repository/url" ) );
+ assertEquals( "scm:svn:svn+ssh://snap.apache.org/spacy%20path",
+ pom.getValue( "distributionManagement/snapshotRepository/url" ) );
+ assertEquals( "scm:svn:svn+ssh://site.apache.org/spacy%20path",
+ pom.getValue( "distributionManagement/site/url" ) );
+ }
+
+ public void testPluginManagementInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "plugin-management-inheritance" );
+ assertEquals( "0.1-stub-SNAPSHOT",
+ pom.getValue( "build/pluginManagement/plugins[@artifactId='maven-compiler-plugin']/version" ) );
+ }
+
+ public void testProfilePlugins()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "profile-plugins", "standard" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins" ) ).size() );
+ assertEquals( "maven-assembly2-plugin", pom.getValue( "build/plugins[2]/artifactId" ) );
+ }
+
+ public void testPluginInheritanceSimple()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "plugin-inheritance-simple/sub" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins" ) ).size() );
+ }
+
+ public void testPluginManagementDuplicate()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "plugin-management-duplicate/sub" );
+ assertEquals( 12, ( (List<?>) pom.getValue( "build/pluginManagement/plugins" ) ).size() );
+ }
+
+ public void testDistributionManagement()
+ throws Exception
+ {
+ PomTestWrapper pom = this.buildPom( "distribution-management" );
+ assertEquals( "legacy", pom.getValue( "distributionManagement/repository/layout" ) );
+ }
+
+ public void testDependencyScopeInheritance()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dependency-scope-inheritance/sub" );
+ String scope = (String) pom.getValue( "dependencies[1]/scope" );
+ assertEquals( "compile", scope );
+ }
+
+ public void testDependencyScope()
+ throws Exception
+ {
+ buildPom( "dependency-scope/sub" );
+ }
+
+ //This will fail on a validation error if incorrect
+ public void testDependencyManagementWithInterpolation()
+ throws Exception
+ {
+ buildPom( "dependency-management-with-interpolation/sub" );
+ }
+
+ public void testInterpolationWithSystemProperty()
+ throws Exception
+ {
+ Properties sysProps = new Properties();
+ sysProps.setProperty( "system.property", "PASSED" );
+ PomTestWrapper pom = buildPom( "sytem-property-interpolation", sysProps );
+ assertEquals( "PASSED", pom.getValue( "name" ) );
+ }
+
+ /* MNG-4129 */
+ public void testPluginExecutionInheritanceWhenChildDoesNotDeclarePlugin()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-inheritance/wo-merge" );
+ @SuppressWarnings( "unchecked" )
+ List<PluginExecution> executions =
+ (List<PluginExecution>) pom.getValue( "build/pluginsAsMap[@name='org.apache.maven.its.plugins:maven-it-plugin-log-file']/executions" );
+ assertEquals( 1, executions.size() );
+ assertEquals( "inherited-execution", executions.get( 0 ).getId() );
+ }
+
+ public void testPluginExecutionInheritanceWhenChildDoesDeclarePluginAsWell()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-inheritance/w-merge" );
+ @SuppressWarnings( "unchecked" )
+ List<PluginExecution> executions =
+ (List<PluginExecution>) pom.getValue( "build/pluginsAsMap[@name='org.apache.maven.its.plugins:maven-it-plugin-log-file']/executions" );
+ assertEquals( 1, executions.size() );
+ assertEquals( "inherited-execution", executions.get( 0 ).getId() );
+ }
+
+ /* MNG-4193 */
+ public void testValidationErrorUponNonUniqueArtifactRepositoryId()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-repo-id/artifact-repo" );
+ fail( "Non-unique repository ids did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ /* MNG-4193 */
+ public void testValidationErrorUponNonUniquePluginRepositoryId()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-repo-id/plugin-repo" );
+ fail( "Non-unique repository ids did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ /* MNG-4193 */
+ public void testValidationErrorUponNonUniqueArtifactRepositoryIdInProfile()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-repo-id/artifact-repo-in-profile" );
+ fail( "Non-unique repository ids did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ /* MNG-4193 */
+ public void testValidationErrorUponNonUniquePluginRepositoryIdInProfile()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "unique-repo-id/plugin-repo-in-profile" );
+ fail( "Non-unique repository ids did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ /** MNG-3843 */
+ public void testPrerequisitesAreNotInherited()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "prerequisites-inheritance/child" );
+ assertSame( null, pom.getValue( "prerequisites" ) );
+ }
+
+ public void testLicensesAreInheritedButNotAggregated()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "licenses-inheritance/child-2" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "licenses" ) ).size() );
+ assertEquals( "child-license", pom.getValue( "licenses[1]/name" ) );
+ assertEquals( "http://child.url/license", pom.getValue( "licenses[1]/url" ) );
+ }
+
+ public void testDevelopersAreInheritedButNotAggregated()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "developers-inheritance/child-2" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "developers" ) ).size() );
+ assertEquals( "child-developer", pom.getValue( "developers[1]/name" ) );
+ }
+
+ public void testContributorsAreInheritedButNotAggregated()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "contributors-inheritance/child-2" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "contributors" ) ).size() );
+ assertEquals( "child-contributor", pom.getValue( "contributors[1]/name" ) );
+ }
+
+ public void testMailingListsAreInheritedButNotAggregated()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "mailing-lists-inheritance/child-2" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "mailingLists" ) ).size() );
+ assertEquals( "child-mailing-list", pom.getValue( "mailingLists[1]/name" ) );
+ }
+
+ public void testPluginInheritanceOrder()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-inheritance-order/child" );
+
+ assertEquals( "maven-it-plugin-log-file", pom.getValue( "build/plugins[1]/artifactId" ) );
+ assertEquals( "maven-it-plugin-expression", pom.getValue( "build/plugins[2]/artifactId" ) );
+ assertEquals( "maven-it-plugin-configuration", pom.getValue( "build/plugins[3]/artifactId" ) );
+
+ assertEquals( "maven-it-plugin-log-file", pom.getValue( "reporting/plugins[1]/artifactId" ) );
+ assertEquals( "maven-it-plugin-expression", pom.getValue( "reporting/plugins[2]/artifactId" ) );
+ assertEquals( "maven-it-plugin-configuration", pom.getValue( "reporting/plugins[3]/artifactId" ) );
+ }
+
+ public void testCliPropsDominateProjectPropsDuringInterpolation()
+ throws Exception
+ {
+ Properties props = new Properties();
+ props.setProperty( "testProperty", "PASSED" );
+ PomTestWrapper pom = buildPom( "interpolation-cli-wins", props );
+
+ assertEquals( "PASSED", pom.getValue( "properties/interpolatedProperty" ) );
+ }
+
+ public void testParentPomPackagingMustBePom()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "parent-pom-packaging/sub" );
+ fail( "Wrong packaging of parent POM was not rejected" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ /** MNG-522, MNG-3018 */
+ public void testManagedPluginConfigurationAppliesToImplicitPluginsIntroducedByPackaging()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-management-for-implicit-plugin/child" );
+ assertEquals( "passed.txt",
+ pom.getValue( "build/plugins[@artifactId='maven-resources-plugin']/configuration/pathname" ) );
+ assertEquals( "passed.txt",
+ pom.getValue( "build/plugins[@artifactId='maven-it-plugin-log-file']/configuration/logFile" ) );
+ }
+
+ public void testDefaultPluginsExecutionContributedByPackagingExecuteBeforeUserDefinedExecutions()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-order-and-default-exec" );
+ @SuppressWarnings( "unchecked" )
+ List<PluginExecution> executions =
+ (List<PluginExecution>) pom.getValue( "build/plugins[@artifactId='maven-resources-plugin']/executions" );
+ assertNotNull( executions );
+ assertEquals( 4, executions.size() );
+ assertEquals( "default-resources", executions.get( 0 ).getId() );
+ assertEquals( "default-testResources", executions.get( 1 ).getId() );
+ assertEquals( "test-1", executions.get( 2 ).getId() );
+ assertEquals( "test-2", executions.get( 3 ).getId() );
+ }
+
+ public void testPluginDeclarationsRetainPomOrderAfterInjectionOfDefaultPlugins()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-exec-order-with-lifecycle" );
+ @SuppressWarnings( "unchecked" )
+ List<Plugin> plugins = (List<Plugin>) pom.getValue( "build/plugins" );
+ int resourcesPlugin = -1;
+ int customPlugin = -1;
+ for ( int i = 0; i < plugins.size(); i++ )
+ {
+ Plugin plugin = plugins.get( i );
+ if ( "maven-resources-plugin".equals( plugin.getArtifactId() ) )
+ {
+ assertTrue( resourcesPlugin < 0 );
+ resourcesPlugin = i;
+ }
+ else if ( "maven-it-plugin-log-file".equals( plugin.getArtifactId() ) )
+ {
+ assertTrue( customPlugin < 0 );
+ customPlugin = i;
+ }
+ }
+ assertTrue( plugins.toString(), customPlugin == resourcesPlugin - 1 );
+ }
+
+ /** MNG-4415 */
+ public void testPluginOrderAfterMergingWithInheritedPlugins()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-inheritance-merge-order/sub" );
+
+ List<String> expected = new ArrayList<String>();
+ expected.add( "maven-it-plugin-error" );
+ expected.add( "maven-it-plugin-configuration" );
+ expected.add( "maven-it-plugin-dependency-resolution" );
+ expected.add( "maven-it-plugin-packaging" );
+ expected.add( "maven-it-plugin-log-file" );
+ expected.add( "maven-it-plugin-expression" );
+ expected.add( "maven-it-plugin-fork" );
+ expected.add( "maven-it-plugin-touch" );
+
+ List<String> actual = new ArrayList<String>();
+ @SuppressWarnings( "unchecked" )
+ List<Plugin> plugins = (List<Plugin>) pom.getValue( "build/plugins" );
+ for ( Plugin plugin : plugins )
+ {
+ actual.add( plugin.getArtifactId() );
+ }
+
+ actual.retainAll( expected );
+
+ assertEquals( actual, expected );
+ }
+
+ /** MNG-4416 */
+ public void testPluginOrderAfterMergingWithInjectedPlugins()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-injection-merge-order" );
+
+ List<String> expected = new ArrayList<String>();
+ expected.add( "maven-it-plugin-error" );
+ expected.add( "maven-it-plugin-configuration" );
+ expected.add( "maven-it-plugin-dependency-resolution" );
+ expected.add( "maven-it-plugin-packaging" );
+ expected.add( "maven-it-plugin-log-file" );
+ expected.add( "maven-it-plugin-expression" );
+ expected.add( "maven-it-plugin-fork" );
+ expected.add( "maven-it-plugin-touch" );
+
+ List<String> actual = new ArrayList<String>();
+ @SuppressWarnings( "unchecked" )
+ List<Plugin> plugins = (List<Plugin>) pom.getValue( "build/plugins" );
+ for ( Plugin plugin : plugins )
+ {
+ actual.add( plugin.getArtifactId() );
+ }
+
+ actual.retainAll( expected );
+
+ assertEquals( actual, expected );
+ }
+
+ public void testProjectArtifactIdIsNotInheritedButMandatory()
+ throws Exception
+ {
+ try
+ {
+ buildPom( "artifact-id-inheritance/child" );
+ fail( "Missing artifactId did not cause validation error" );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // expected
+ }
+ }
+
+ private void assertPathSuffixEquals( String expected, Object actual )
+ {
+ String a = actual.toString();
+ a = a.substring( a.length() - expected.length() ).replace( '\\', '/' );
+ assertEquals( expected, a );
+ }
+
+ private void assertPathWithNormalizedFileSeparators( Object value )
+ {
+ assertEquals( new File( value.toString() ).getPath(), value.toString() );
+ }
+
+ private PomTestWrapper buildPom( String pomPath, String... profileIds )
+ throws Exception
+ {
+ return buildPom( pomPath, null, profileIds );
+ }
+
+ private PomTestWrapper buildPom( String pomPath, Properties executionProperties, String... profileIds )
+ throws Exception
+ {
+ return buildPom( pomPath, false, executionProperties, profileIds );
+ }
+
+ private PomTestWrapper buildPom( String pomPath, boolean lenientValidation, Properties executionProperties,
+ String... profileIds )
+ throws Exception
+ {
+ File pomFile = new File( testDirectory, pomPath );
+ if ( pomFile.isDirectory() )
+ {
+ pomFile = new File( pomFile, "pom.xml" );
+ }
+
+ ProjectBuildingRequest config = new DefaultProjectBuildingRequest();
+
+ String localRepoUrl =
+ System.getProperty( "maven.repo.local", System.getProperty( "user.home" ) + "/.m2/repository" );
+ localRepoUrl = "file://" + localRepoUrl;
+ config.setLocalRepository( repositorySystem.createArtifactRepository( "local", localRepoUrl, new DefaultRepositoryLayout(), null, null ) );
+ config.setActiveProfileIds( Arrays.asList( profileIds ) );
+ config.setSystemProperties( executionProperties );
+ config.setUserProperties( executionProperties );
+ config.setValidationLevel( lenientValidation ? ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0
+ : ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
+
+ DefaultRepositorySystemSession repoSession = MavenRepositorySystemUtils.newSession();
+ LocalRepository localRepo = new LocalRepository( config.getLocalRepository().getBasedir() );
+ repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManagerFactory().newInstance( repoSession, localRepo ) );
+ config.setRepositorySession( repoSession );
+
+ return new PomTestWrapper( pomFile, projectBuilder.build( pomFile, config ).getProject() );
+ }
+
+ protected void assertModelEquals( PomTestWrapper pom, Object expected, String expression )
+ {
+ assertEquals( expected, pom.getValue( expression ) );
+ }
+
+ private static String createPath( List<String> elements )
+ {
+ StringBuilder buffer = new StringBuilder( 256 );
+ for ( String s : elements )
+ {
+ buffer.append( s ).append( File.separator );
+ }
+ return buffer.toString().substring( 0, buffer.toString().length() - 1 );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
new file mode 100644
index 00000000..5511cb1a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
@@ -0,0 +1,87 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.io.File;
+import java.util.Properties;
+
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.building.FileModelSource;
+import org.apache.maven.model.building.ModelSource;
+
+public class ProjectBuilderTest
+ extends AbstractCoreMavenComponentTestCase
+{
+ protected String getProjectsDirectory()
+ {
+ return "src/test/projects/project-builder";
+ }
+
+ public void testSystemScopeDependencyIsPresentInTheCompileClasspathElements()
+ throws Exception
+ {
+ File pom = getProject( "it0063" );
+
+ Properties eps = new Properties();
+ eps.setProperty( "jre.home", new File( pom.getParentFile(), "jdk/jre" ).getPath() );
+
+ MavenSession session = createMavenSession( pom, eps );
+ MavenProject project = session.getCurrentProject();
+
+ // Here we will actually not have any artifacts because the ProjectDependenciesResolver is not involved here. So
+ // right now it's not valid to ask for artifacts unless plugins require the artifacts.
+
+ project.getCompileClasspathElements();
+ }
+
+ public void testBuildFromModelSource()
+ throws Exception
+ {
+ File pomFile = new File( "src/test/resources/projects/modelsource/module01/pom.xml" );
+ MavenSession mavenSession = createMavenSession( pomFile );
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+ configuration.setRepositorySession( mavenSession.getRepositorySession() );
+ ModelSource modelSource = new FileModelSource( pomFile );
+ ProjectBuildingResult result =
+ lookup( org.apache.maven.project.ProjectBuilder.class ).build( modelSource, configuration );
+
+ assertNotNull( result.getProject().getParentFile() );
+ }
+
+ public void testVersionlessManagedDependency()
+ throws Exception
+ {
+ File pomFile = new File( "src/test/resources/projects/versionless-managed-dependency.xml" );
+ MavenSession mavenSession = createMavenSession( null );
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+ configuration.setRepositorySession( mavenSession.getRepositorySession() );
+
+ try
+ {
+ lookup( org.apache.maven.project.ProjectBuilder.class ).build( pomFile, configuration );
+ fail();
+ }
+ catch ( ProjectBuildingException e )
+ {
+ // this is expected
+ }
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
new file mode 100644
index 00000000..5cb45279
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java
@@ -0,0 +1,363 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Extension;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginManagement;
+import org.codehaus.plexus.util.dag.CycleDetectedException;
+
+/**
+ * Test sorting projects by dependencies.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public class ProjectSorterTest
+ extends TestCase
+{
+
+ private Parent createParent( MavenProject project )
+ {
+ return createParent( project.getGroupId(), project.getArtifactId(), project.getVersion() );
+ }
+
+ private Parent createParent( String groupId, String artifactId, String version )
+ {
+ Parent plugin = new Parent();
+ plugin.setGroupId( groupId );
+ plugin.setArtifactId( artifactId );
+ plugin.setVersion( version );
+ return plugin;
+ }
+
+ private Dependency createDependency( MavenProject project )
+ {
+ return createDependency( project.getGroupId(), project.getArtifactId(), project.getVersion() );
+ }
+
+ private Dependency createDependency( String groupId, String artifactId, String version )
+ {
+ Dependency depdendency = new Dependency();
+ depdendency.setGroupId( groupId );
+ depdendency.setArtifactId( artifactId );
+ depdendency.setVersion( version );
+ return depdendency;
+ }
+
+ private Plugin createPlugin( MavenProject project )
+ {
+ return createPlugin( project.getGroupId(), project.getArtifactId(), project.getVersion() );
+ }
+
+ private Plugin createPlugin( String groupId, String artifactId, String version )
+ {
+ Plugin plugin = new Plugin();
+ plugin.setGroupId( groupId );
+ plugin.setArtifactId( artifactId );
+ plugin.setVersion( version );
+ return plugin;
+ }
+
+ private Extension createExtension( String groupId, String artifactId, String version )
+ {
+ Extension extension = new Extension();
+ extension.setGroupId( groupId );
+ extension.setArtifactId( artifactId );
+ extension.setVersion( version );
+ return extension;
+ }
+
+ private static MavenProject createProject( String groupId, String artifactId, String version )
+ {
+ Model model = new Model();
+ model.setGroupId( groupId );
+ model.setArtifactId( artifactId );
+ model.setVersion( version );
+ model.setBuild( new Build() );
+ return new MavenProject( model );
+ }
+
+ public void testShouldNotFailWhenPluginDepReferencesCurrentProject()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ MavenProject project = createProject( "group", "artifact", "1.0" );
+
+ Build build = project.getModel().getBuild();
+
+ Plugin plugin = createPlugin( "other.group", "other-artifact", "1.0" );
+
+ Dependency dep = createDependency( "group", "artifact", "1.0" );
+
+ plugin.addDependency( dep );
+
+ build.addPlugin( plugin );
+
+ new ProjectSorter( Collections.singletonList( project ) );
+ }
+
+ public void testShouldNotFailWhenManagedPluginDepReferencesCurrentProject()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ MavenProject project = createProject( "group", "artifact", "1.0" );
+
+ Build build = project.getModel().getBuild();
+
+ PluginManagement pMgmt = new PluginManagement();
+
+ Plugin plugin = createPlugin( "other.group", "other-artifact", "1.0" );
+
+ Dependency dep = createDependency( "group", "artifact", "1.0" );
+
+ plugin.addDependency( dep );
+
+ pMgmt.addPlugin( plugin );
+
+ build.setPluginManagement( pMgmt );
+
+ new ProjectSorter( Collections.singletonList( project ) );
+ }
+
+ public void testShouldNotFailWhenProjectReferencesNonExistentProject()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ MavenProject project = createProject( "group", "artifact", "1.0" );
+
+ Build build = project.getModel().getBuild();
+
+ Extension extension = createExtension( "other.group", "other-artifact", "1.0" );
+
+ build.addExtension( extension );
+
+ new ProjectSorter( Collections.singletonList( project ) );
+ }
+
+ public void testMatchingArtifactIdsDifferentGroupIds()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+ MavenProject project1 = createProject( "groupId1", "artifactId", "1.0" );
+ projects.add( project1 );
+ MavenProject project2 = createProject( "groupId2", "artifactId", "1.0" );
+ projects.add( project2 );
+ project1.getDependencies().add( createDependency( project2 ) );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ assertEquals( project2, projects.get( 0 ) );
+ assertEquals( project1, projects.get( 1 ) );
+ }
+
+ public void testMatchingGroupIdsDifferentArtifactIds()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+ MavenProject project1 = createProject( "groupId", "artifactId1", "1.0" );
+ projects.add( project1 );
+ MavenProject project2 = createProject( "groupId", "artifactId2", "1.0" );
+ projects.add( project2 );
+ project1.getDependencies().add( createDependency( project2 ) );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ assertEquals( project2, projects.get( 0 ) );
+ assertEquals( project1, projects.get( 1 ) );
+ }
+
+ public void testMatchingIdsAndVersions()
+ throws CycleDetectedException
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+ MavenProject project1 = createProject( "groupId", "artifactId", "1.0" );
+ projects.add( project1 );
+ MavenProject project2 = createProject( "groupId", "artifactId", "1.0" );
+ projects.add( project2 );
+
+ try
+ {
+ projects = new ProjectSorter( projects ).getSortedProjects();
+ fail( "Duplicate projects should fail" );
+ }
+ catch ( DuplicateProjectException e )
+ {
+ // expected
+ assertTrue( true );
+ }
+ }
+
+ public void testMatchingIdsAndDifferentVersions()
+ throws CycleDetectedException, DuplicateProjectException
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+ MavenProject project1 = createProject( "groupId", "artifactId", "1.0" );
+ projects.add( project1 );
+ MavenProject project2 = createProject( "groupId", "artifactId", "2.0" );
+ projects.add( project2 );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+ assertEquals( project1, projects.get( 0 ) );
+ assertEquals( project2, projects.get( 1 ) );
+ }
+
+ public void testPluginDependenciesInfluenceSorting()
+ throws Exception
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+
+ MavenProject parentProject = createProject( "groupId", "parent", "1.0" );
+ projects.add( parentProject );
+
+ MavenProject declaringProject = createProject( "groupId", "declarer", "1.0" );
+ declaringProject.setParent( parentProject );
+ declaringProject.getModel().setParent( createParent( parentProject ) );
+ projects.add( declaringProject );
+
+ MavenProject pluginLevelDepProject = createProject( "groupId", "plugin-level-dep", "1.0" );
+ pluginLevelDepProject.setParent( parentProject );
+ pluginLevelDepProject.getModel().setParent( createParent( parentProject ) );
+ projects.add( pluginLevelDepProject );
+
+ MavenProject pluginProject = createProject( "groupId", "plugin", "1.0" );
+ pluginProject.setParent( parentProject );
+ pluginProject.getModel().setParent( createParent( parentProject ) );
+ projects.add( pluginProject );
+
+ Plugin plugin = createPlugin( pluginProject );
+
+ plugin.addDependency( createDependency( pluginLevelDepProject ) );
+
+ Build build = declaringProject.getModel().getBuild();
+
+ build.addPlugin( plugin );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ assertEquals( parentProject, projects.get( 0 ) );
+
+ // the order of these two is non-deterministic, based on when they're added to the reactor.
+ assertTrue( projects.contains( pluginProject ) );
+ assertTrue( projects.contains( pluginLevelDepProject ) );
+
+ // the declaring project MUST be listed after the plugin and its plugin-level dep, though.
+ assertEquals( declaringProject, projects.get( 3 ) );
+ }
+
+ public void testPluginDependenciesInfluenceSorting_DeclarationInParent()
+ throws Exception
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+
+ MavenProject parentProject = createProject( "groupId", "parent-declarer", "1.0" );
+ projects.add( parentProject );
+
+ MavenProject pluginProject = createProject( "groupId", "plugin", "1.0" );
+ pluginProject.setParent( parentProject );
+ pluginProject.getModel().setParent( createParent( parentProject ) );
+ projects.add( pluginProject );
+
+ MavenProject pluginLevelDepProject = createProject( "groupId", "plugin-level-dep", "1.0" );
+ pluginLevelDepProject.setParent( parentProject );
+ pluginLevelDepProject.getModel().setParent( createParent( parentProject ) );
+ projects.add( pluginLevelDepProject );
+
+ Plugin plugin = createPlugin( pluginProject );
+
+ plugin.addDependency( createDependency( pluginLevelDepProject ) );
+
+ Build build = parentProject.getModel().getBuild();
+
+ build.addPlugin( plugin );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ System.out.println( projects );
+
+ assertEquals( parentProject, projects.get( 0 ) );
+
+ // the order of these two is non-deterministic, based on when they're added to the reactor.
+ assertTrue( projects.contains( pluginProject ) );
+ assertTrue( projects.contains( pluginLevelDepProject ) );
+ }
+
+ public void testPluginVersionsAreConsidered()
+ throws Exception
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+
+ MavenProject pluginProjectA = createProject( "group", "plugin-a", "2.0-SNAPSHOT" );
+ projects.add( pluginProjectA );
+ pluginProjectA.getModel().getBuild().addPlugin( createPlugin( "group", "plugin-b", "1.0" ) );
+
+ MavenProject pluginProjectB = createProject( "group", "plugin-b", "2.0-SNAPSHOT" );
+ projects.add( pluginProjectB );
+ pluginProjectB.getModel().getBuild().addPlugin( createPlugin( "group", "plugin-a", "1.0" ) );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ assertTrue( projects.contains( pluginProjectA ) );
+ assertTrue( projects.contains( pluginProjectB ) );
+ }
+
+ public void testDependencyPrecedesProjectThatUsesSpecificDependencyVersion()
+ throws Exception
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+
+ MavenProject usingProject = createProject( "group", "project", "1.0" );
+ projects.add( usingProject );
+ usingProject.getModel().addDependency( createDependency( "group", "dependency", "1.0" ) );
+
+ MavenProject pluginProject = createProject( "group", "dependency", "1.0" );
+ projects.add( pluginProject );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ assertEquals( pluginProject, projects.get( 0 ) );
+ assertEquals( usingProject, projects.get( 1 ) );
+ }
+
+ public void testDependencyPrecedesProjectThatUsesUnresolvedDependencyVersion()
+ throws Exception
+ {
+ List<MavenProject> projects = new ArrayList<MavenProject>();
+
+ MavenProject usingProject = createProject( "group", "project", "1.0" );
+ projects.add( usingProject );
+ usingProject.getModel().addDependency( createDependency( "group", "dependency", "[1.0,)" ) );
+
+ MavenProject pluginProject = createProject( "group", "dependency", "1.0" );
+ projects.add( pluginProject );
+
+ projects = new ProjectSorter( projects ).getSortedProjects();
+
+ assertEquals( pluginProject, projects.get( 0 ) );
+ assertEquals( usingProject, projects.get( 1 ) );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/TestMetadataSource.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/TestMetadataSource.java
new file mode 100644
index 00000000..67c0037b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/TestMetadataSource.java
@@ -0,0 +1,51 @@
+package org.apache.maven.project;
+
+/*
+ * 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 java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.metadata.ResolutionGroup;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.artifact.MavenMetadataSource;
+import org.codehaus.plexus.component.annotations.Component;
+
+@SuppressWarnings( "deprecation" )
+@Component( role = ArtifactMetadataSource.class, hint = "classpath" )
+public class TestMetadataSource
+ extends MavenMetadataSource
+{
+ @Override
+ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
+ List<ArtifactRepository> remoteRepositories )
+ throws ArtifactMetadataRetrievalException
+ {
+ ResolutionGroup rg = super.retrieve( artifact, localRepository, remoteRepositories );
+
+ for ( Artifact a : rg.getArtifacts() )
+ {
+ a.setResolved( true );
+ }
+
+ return rg;
+ }
+} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
new file mode 100644
index 00000000..6b103b2c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
@@ -0,0 +1,81 @@
+package org.apache.maven.project.artifact;
+
+/*
+ * 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 java.util.Arrays;
+import java.util.Collections;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
+import org.apache.maven.project.artifact.DefaultMavenMetadataCache.CacheKey;
+import org.apache.maven.repository.DelegatingLocalArtifactRepository;
+import org.apache.maven.repository.RepositorySystem;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * @author Igor Fedorenko
+ */
+public class DefaultMavenMetadataCacheTest
+ extends PlexusTestCase
+{
+ private RepositorySystem repositorySystem;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repositorySystem = lookup( RepositorySystem.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ repositorySystem = null;
+ super.tearDown();
+ }
+
+ public void testCacheKey()
+ throws Exception
+ {
+ Artifact a1 = repositorySystem.createArtifact( "testGroup", "testArtifact", "1.2.3", "jar" );
+ @SuppressWarnings( "deprecation" )
+ ArtifactRepository lr1 = new DelegatingLocalArtifactRepository( repositorySystem.createDefaultLocalRepository() );
+ ArtifactRepository rr1 = repositorySystem.createDefaultRemoteRepository();
+ a1.setDependencyFilter( new ExcludesArtifactFilter( Arrays.asList( "foo" ) ) );
+
+ Artifact a2 = repositorySystem.createArtifact( "testGroup", "testArtifact", "1.2.3", "jar" );
+ @SuppressWarnings( "deprecation" )
+ ArtifactRepository lr2 = new DelegatingLocalArtifactRepository( repositorySystem.createDefaultLocalRepository() );
+ ArtifactRepository rr2 = repositorySystem.createDefaultRemoteRepository();
+ a2.setDependencyFilter( new ExcludesArtifactFilter( Arrays.asList( "foo" ) ) );
+
+ // sanity checks
+ assertNotSame( a1, a2 );
+ assertNotSame( lr1, lr2 );
+ assertNotSame( rr1, rr2 );
+
+ CacheKey k1 = new CacheKey( a1, false, lr1, Collections.singletonList( rr1 ) );
+ CacheKey k2 = new CacheKey( a2, false, lr2, Collections.singletonList( rr2 ) );
+
+ assertEquals(k1.hashCode(), k2.hashCode());
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
new file mode 100644
index 00000000..9c770da9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -0,0 +1,183 @@
+package org.apache.maven.project.artifact;
+
+/*
+ * 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.apache.maven.repository.RepositorySystem;
+import org.codehaus.plexus.PlexusTestCase;
+
+public class MavenMetadataSourceTest
+ extends PlexusTestCase
+{
+ private RepositorySystem repositorySystem;
+
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ repositorySystem = lookup( RepositorySystem.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ repositorySystem = null;
+ super.tearDown();
+ }
+
+ public void testShouldNotCarryExclusionsOverFromDependencyToDependency()
+ throws Exception
+ {
+ /*
+ Dependency dep1 = new Dependency();
+ dep1.setGroupId( "test" );
+ dep1.setArtifactId( "test-artifact" );
+ dep1.setVersion( "1" );
+ dep1.setType( "jar" );
+
+ Exclusion exc = new Exclusion();
+ exc.setGroupId( "test" );
+ exc.setArtifactId( "test-artifact3" );
+
+ dep1.addExclusion( exc );
+
+ Dependency dep2 = new Dependency();
+ dep2.setGroupId( "test" );
+ dep2.setArtifactId( "test-artifact2" );
+ dep2.setVersion( "1" );
+ dep2.setType( "jar" );
+
+ List deps = new ArrayList();
+ deps.add( dep1 );
+ deps.add( dep2 );
+
+ ArtifactFactory factory = lookup( ArtifactFactory.class );
+
+ ArtifactFilter dependencyFilter = new ScopeArtifactFilter( Artifact.SCOPE_COMPILE );
+
+ MavenProject project = new MavenProject( new Model() );
+
+ Set result = project.createArtifacts( dependencyFilter );
+
+ for ( Iterator it = result.iterator(); it.hasNext(); )
+ {
+ Artifact artifact = ( Artifact ) it.next();
+
+ if ( "test-artifact2".equals( artifact.getArtifactId() ) )
+ {
+ ArtifactFilter filter = artifact.getDependencyFilter();
+
+ assertSame( dependencyFilter, filter );
+ }
+ }
+ */
+ }
+
+ //TODO: restore these if it makes sense
+ /*
+ public void testShouldUseCompileScopeIfDependencyScopeEmpty()
+ throws Exception
+ {
+ String groupId = "org.apache.maven";
+ String artifactId = "maven-model";
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( groupId );
+ dep.setArtifactId( artifactId );
+ dep.setVersion( "2.0-alpha-3" );
+
+ Model model = new Model();
+
+ model.addDependency( dep );
+
+ MavenProject project = new MavenProject( model, repositorySystem );
+
+ project.setArtifacts( project.createArtifacts( null ) );
+
+ String key = ArtifactUtils.versionlessKey( groupId, artifactId );
+
+ Map artifactMap = project.getArtifactMap();
+
+ assertNotNull( "artifact-map should not be null.", artifactMap );
+ assertEquals( "artifact-map should contain 1 element.", 1, artifactMap.size() );
+
+ Artifact artifact = (Artifact) artifactMap.get( key );
+
+ assertNotNull( "dependency artifact not found in map.", artifact );
+ assertEquals( "dependency artifact has wrong scope.", Artifact.SCOPE_COMPILE, artifact.getScope() );
+
+ //check for back-propagation of default scope.
+ assertEquals( "default scope NOT back-propagated to dependency.", Artifact.SCOPE_COMPILE, dep.getScope() );
+ }
+
+ public void testShouldUseInjectedTestScopeFromDependencyManagement()
+ throws Exception
+ {
+ String groupId = "org.apache.maven";
+ String artifactId = "maven-model";
+
+ Dependency dep = new Dependency();
+
+ dep.setGroupId( groupId );
+ dep.setArtifactId( artifactId );
+ dep.setVersion( "2.0-alpha-3" );
+
+ Model model = new Model();
+
+ model.addDependency( dep );
+
+ Dependency mgd = new Dependency();
+ mgd.setGroupId( groupId );
+ mgd.setArtifactId( artifactId );
+ mgd.setScope( Artifact.SCOPE_TEST );
+
+ DependencyManagement depMgmt = new DependencyManagement();
+
+ depMgmt.addDependency( mgd );
+
+ model.setDependencyManagement( depMgmt );
+
+ MavenProject project = new MavenProject( model, repositorySystem );
+
+ TestModelDefaultsInjector injector = new TestModelDefaultsInjector();
+
+ injector.injectDefaults( model );
+
+ project.setArtifacts( project.createArtifacts( null ) );
+
+ String key = ArtifactUtils.versionlessKey( groupId, artifactId );
+
+ Map artifactMap = project.getArtifactMap();
+
+ assertNotNull( "artifact-map should not be null.", artifactMap );
+ assertEquals( "artifact-map should contain 1 element.", 1, artifactMap.size() );
+
+ Artifact artifact = (Artifact) artifactMap.get( key );
+
+ assertNotNull( "dependency artifact not found in map.", artifact );
+ assertEquals( "dependency artifact has wrong scope.", Artifact.SCOPE_TEST, artifact.getScope() );
+
+ //check for back-propagation of default scope.
+ assertEquals( "default scope NOT back-propagated to dependency.", Artifact.SCOPE_TEST, dep.getScope() );
+ }
+ */
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
new file mode 100644
index 00000000..8b6454da
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
@@ -0,0 +1,101 @@
+package org.apache.maven.project.canonical;
+
+/*
+ * 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 java.io.File;
+import java.util.List;
+
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.project.AbstractMavenProjectTestCase;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * @author Jason van Zyl
+ */
+public class CanonicalProjectBuilderTest
+ extends AbstractMavenProjectTestCase
+{
+ public void testProjectBuilder()
+ throws Exception
+ {
+ File f = getFileForClasspathResource( "canonical-pom.xml" );
+
+ MavenProject project = getProject( f );
+
+ // ----------------------------------------------------------------------
+ // Top-level elements
+ // ----------------------------------------------------------------------
+
+ assertEquals( "4.0.0", project.getModelVersion() );
+
+ // ----------------------------------------------------------------------
+ // Plugins
+ // ----------------------------------------------------------------------
+
+ List<Plugin> plugins = project.getBuildPlugins();
+
+ // Plugin0 [plexus]
+
+ String key = "org.apache.maven.plugins:maven-plexus-plugin";
+
+ Plugin plugin = null;
+ for ( Plugin check : plugins )
+ {
+ if ( key.equals( check.getKey() ) )
+ {
+ plugin = check;
+ break;
+ }
+ }
+
+ assertNotNull( plugin );
+
+ assertEquals( "1.0", plugin.getVersion() );
+
+ Xpp3Dom configuration = (Xpp3Dom) plugin.getConfiguration();
+
+ assertEquals( "src/conf/plexus.conf", configuration.getChild( "plexusConfiguration" ).getValue() );
+
+ assertEquals( "src/conf/plexus.properties",
+ configuration.getChild( "plexusConfigurationPropertiesFile" ).getValue() );
+
+ assertEquals( "Continuum", configuration.getChild( "plexusApplicationName" ).getValue() );
+
+ // ----------------------------------------------------------------------
+ // Goal specific configuration
+ // ----------------------------------------------------------------------
+
+ List<PluginExecution> executions = plugin.getExecutions();
+
+ PluginExecution execution = executions.get( 0 );
+
+ String g0 = execution.getGoals().get( 0 );
+
+ assertEquals( "plexus:runtime", g0 );
+
+ configuration = (Xpp3Dom) execution.getConfiguration();
+
+ assertEquals( "ContinuumPro", configuration.getChild( "plexusApplicationName" ).getValue() );
+
+ // Plugin1 [antlr]
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
new file mode 100644
index 00000000..c204140a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
@@ -0,0 +1,121 @@
+package org.apache.maven.project.harness;
+
+/*
+ * 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 java.io.File;
+import java.util.Iterator;
+
+import org.apache.commons.jxpath.JXPathContext;
+import org.apache.commons.jxpath.JXPathNotFoundException;
+import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
+import org.apache.maven.project.MavenProject;
+
+public class PomTestWrapper
+{
+
+ private File pomFile;
+
+ private JXPathContext context;
+
+ private MavenProject mavenProject;
+
+ static
+ {
+ JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() );
+ }
+
+ public PomTestWrapper( File pomFile, MavenProject mavenProject )
+ {
+ if ( mavenProject == null )
+ {
+ throw new IllegalArgumentException( "mavenProject: null" );
+ }
+ this.mavenProject = mavenProject;
+ this.pomFile = pomFile;
+ context = JXPathContext.newContext( mavenProject.getModel() );
+ }
+
+ public PomTestWrapper( MavenProject mavenProject )
+ {
+ if ( mavenProject == null )
+ {
+ throw new IllegalArgumentException( "mavenProject: null" );
+ }
+ this.mavenProject = mavenProject;
+ context = JXPathContext.newContext( mavenProject.getModel() );
+ }
+
+ public MavenProject getMavenProject()
+ {
+ return mavenProject;
+ }
+
+ public File getBasedir()
+ {
+ return ( pomFile != null ) ? pomFile.getParentFile() : null;
+ }
+
+ public void setValueOnModel( String expression, Object value )
+ {
+ context.setValue( expression, value );
+ }
+
+ /*
+ public int containerCountForUri( String uri )
+ throws IOException
+ {
+ if ( uri == null || uri.trim().equals( "" ) )
+ {
+ throw new IllegalArgumentException( "uri: null or empty" );
+ }
+ ModelDataSource source = new DefaultModelDataSource();
+ source.init( domainModel.getModelProperties(), null );
+ return source.queryFor( uri ).size();
+ }
+ */
+
+ public Iterator<?> getIteratorForXPathExpression( String expression )
+ {
+ return context.iterate( expression );
+ }
+
+ public boolean containsXPathExpression( String expression )
+ {
+ return context.getValue( expression ) != null;
+ }
+
+ public Object getValue( String expression )
+ {
+ try
+ {
+ return context.getValue( expression );
+ }
+ catch ( JXPathNotFoundException e )
+ {
+ return null;
+ }
+ }
+
+ public boolean xPathExpressionEqualsValue( String expression, String value )
+ {
+ return context.getValue( expression ) != null && context.getValue( expression ).equals( value );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributeIterator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributeIterator.java
new file mode 100644
index 00000000..2811a848
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributeIterator.java
@@ -0,0 +1,89 @@
+package org.apache.maven.project.harness;
+
+/*
+ * 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 java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.jxpath.ri.QName;
+import org.apache.commons.jxpath.ri.model.NodeIterator;
+import org.apache.commons.jxpath.ri.model.NodePointer;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * An attribute iterator for JXPath to support <code>Xpp3Dom</code>.
+ *
+ * @author Benjamin Bentmann
+ */
+class Xpp3DomAttributeIterator
+ implements NodeIterator
+{
+
+ private NodePointer parent;
+
+ private Xpp3Dom node;
+
+ private List<Map.Entry<String, String>> attributes;
+
+ private Map.Entry<String, String> attribute;
+
+ private int position;
+
+ public Xpp3DomAttributeIterator( NodePointer parent, QName qname )
+ {
+ this.parent = parent;
+ this.node = (Xpp3Dom) parent.getNode();
+
+ Map<String, String> map = new LinkedHashMap<String, String>();
+ for ( String name : this.node.getAttributeNames() )
+ {
+ if ( name.equals( qname.getName() ) || "*".equals( qname.getName() ) )
+ {
+ String value = this.node.getAttribute( name );
+ map.put( name, value );
+ }
+ }
+ this.attributes = new ArrayList<Map.Entry<String, String>>( map.entrySet() );
+ }
+
+ public NodePointer getNodePointer()
+ {
+ if ( position == 0 )
+ {
+ setPosition( 1 );
+ }
+ return ( attribute == null ) ? null : new Xpp3DomAttributePointer( parent, attribute );
+ }
+
+ public int getPosition()
+ {
+ return position;
+ }
+
+ public boolean setPosition( int position )
+ {
+ this.position = position;
+ attribute = ( position > 0 && position <= attributes.size() ) ? attributes.get( position - 1 ) : null;
+ return attribute != null;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributePointer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributePointer.java
new file mode 100644
index 00000000..04514b18
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomAttributePointer.java
@@ -0,0 +1,105 @@
+package org.apache.maven.project.harness;
+
+/*
+ * 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 java.util.Map;
+
+import org.apache.commons.jxpath.ri.QName;
+import org.apache.commons.jxpath.ri.model.NodePointer;
+
+/**
+ * An attribute pointer for JXPath to support <code>Xpp3Dom</code>.
+ *
+ * @author Benjamin Bentmann
+ */
+class Xpp3DomAttributePointer
+ extends NodePointer
+{
+
+ private Map.Entry<String, String> attrib;
+
+ public Xpp3DomAttributePointer( NodePointer parent, Map.Entry<String, String> attrib )
+ {
+ super( parent );
+ this.attrib = attrib;
+ }
+
+ @Override
+ public int compareChildNodePointers( NodePointer pointer1, NodePointer pointer2 )
+ {
+ // should never happen because attributes have no children
+ return 0;
+ }
+
+ @Override
+ public Object getValue()
+ {
+ return attrib.getValue();
+ }
+
+ @Override
+ public Object getBaseValue()
+ {
+ return attrib;
+ }
+
+ @Override
+ public Object getImmediateNode()
+ {
+ return attrib;
+ }
+
+ @Override
+ public int getLength()
+ {
+ return 1;
+ }
+
+ @Override
+ public QName getName()
+ {
+ return new QName( null, attrib.getKey() );
+ }
+
+ @Override
+ public boolean isActual()
+ {
+ return true;
+ }
+
+ @Override
+ public boolean isCollection()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isLeaf()
+ {
+ return true;
+ }
+
+ @Override
+ public void setValue( Object value )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodeIterator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodeIterator.java
new file mode 100644
index 00000000..796a5ca0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodeIterator.java
@@ -0,0 +1,161 @@
+package org.apache.maven.project.harness;
+
+/*
+ * 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 java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.jxpath.ri.Compiler;
+import org.apache.commons.jxpath.ri.compiler.NodeNameTest;
+import org.apache.commons.jxpath.ri.compiler.NodeTest;
+import org.apache.commons.jxpath.ri.compiler.NodeTypeTest;
+import org.apache.commons.jxpath.ri.model.NodeIterator;
+import org.apache.commons.jxpath.ri.model.NodePointer;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * A node iterator for JXPath to support <code>Xpp3Dom</code>.
+ *
+ * @author Benjamin Bentmann
+ */
+class Xpp3DomNodeIterator
+ implements NodeIterator
+{
+
+ private NodePointer parent;
+
+ private NodeTest test;
+
+ private Xpp3Dom node;
+
+ private Xpp3Dom[] children;
+
+ private List<Xpp3Dom> filteredChildren = new ArrayList<Xpp3Dom>();
+
+ private int filteredIndex;
+
+ private Xpp3Dom child;
+
+ private int position;
+
+ public Xpp3DomNodeIterator( NodePointer parent, NodeTest test, boolean reverse, NodePointer startWith )
+ {
+ this.parent = parent;
+ this.node = (Xpp3Dom) parent.getNode();
+ this.children = this.node.getChildren();
+ if ( startWith != null )
+ {
+ Xpp3Dom startWithNode = (Xpp3Dom) startWith.getNode();
+ for ( ; filteredIndex < children.length; filteredIndex++ )
+ {
+ if ( startWithNode.equals( children[filteredIndex] ) )
+ {
+ filteredIndex++;
+ break;
+ }
+ }
+ }
+ this.test = test;
+ if ( reverse )
+ {
+ throw new UnsupportedOperationException();
+ }
+ }
+
+ public NodePointer getNodePointer()
+ {
+ if ( position == 0 )
+ {
+ setPosition( 1 );
+ }
+ return ( child == null ) ? null : new Xpp3DomNodePointer( parent, child );
+ }
+
+ public int getPosition()
+ {
+ return position;
+ }
+
+ public boolean setPosition( int position )
+ {
+ this.position = position;
+ filterChildren( position );
+ child = ( position > 0 && position <= filteredChildren.size() ) ? filteredChildren.get( position - 1 ) : null;
+ return child != null;
+ }
+
+ private void filterChildren( int position )
+ {
+ for ( ; position > filteredChildren.size() && filteredIndex < children.length; filteredIndex++ )
+ {
+ Xpp3Dom child = children[filteredIndex];
+ if ( testNode( child ) )
+ {
+ filteredChildren.add( child );
+ }
+ }
+ }
+
+ private boolean testNode( Xpp3Dom node )
+ {
+ if ( test == null )
+ {
+ return true;
+ }
+ if ( test instanceof NodeNameTest )
+ {
+ String nodeName = node.getName();
+ if ( StringUtils.isEmpty( nodeName ) )
+ {
+ return false;
+ }
+
+ NodeNameTest nodeNameTest = (NodeNameTest) test;
+ String namespaceURI = nodeNameTest.getNamespaceURI();
+ boolean wildcard = nodeNameTest.isWildcard();
+ String testName = nodeNameTest.getNodeName().getName();
+ String testPrefix = nodeNameTest.getNodeName().getPrefix();
+ if ( wildcard && testPrefix == null )
+ {
+ return true;
+ }
+ if ( wildcard || testName.equals( nodeName ) )
+ {
+ return StringUtils.isEmpty( namespaceURI ) || StringUtils.isEmpty( testPrefix );
+ }
+ return false;
+ }
+ if ( test instanceof NodeTypeTest )
+ {
+ switch ( ( (NodeTypeTest) test ).getNodeType() )
+ {
+ case Compiler.NODE_TYPE_NODE:
+ return true;
+ case Compiler.NODE_TYPE_TEXT:
+ return node.getValue() != null;
+ default:
+ return false;
+ }
+ }
+ return false;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodePointer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodePointer.java
new file mode 100644
index 00000000..f93bd892
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomNodePointer.java
@@ -0,0 +1,155 @@
+package org.apache.maven.project.harness;
+
+/*
+ * 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 java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.jxpath.ri.QName;
+import org.apache.commons.jxpath.ri.compiler.NodeTest;
+import org.apache.commons.jxpath.ri.model.NodeIterator;
+import org.apache.commons.jxpath.ri.model.NodePointer;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * A node pointer for JXPath to support <code>Xpp3Dom</code>.
+ *
+ * @author Benjamin Bentmann
+ */
+class Xpp3DomNodePointer
+ extends NodePointer
+{
+
+ private Xpp3Dom node;
+
+ public Xpp3DomNodePointer( Xpp3Dom node )
+ {
+ super( null );
+ this.node = node;
+ }
+
+ public Xpp3DomNodePointer( NodePointer parent, Xpp3Dom node )
+ {
+ super( parent );
+ this.node = node;
+ }
+
+ @Override
+ public int compareChildNodePointers( NodePointer pointer1, NodePointer pointer2 )
+ {
+ Xpp3Dom node1 = (Xpp3Dom) pointer1.getBaseValue();
+ Xpp3Dom node2 = (Xpp3Dom) pointer2.getBaseValue();
+ if ( node1 == node2 )
+ {
+ return 0;
+ }
+ for ( int i = 0; i < node.getChildCount(); i++ )
+ {
+ Xpp3Dom child = node.getChild( i );
+ if ( child == node1 )
+ {
+ return -1;
+ }
+ if ( child == node2 )
+ {
+ return 1;
+ }
+ }
+ return 0;
+ }
+
+ @Override
+ public Object getValue()
+ {
+ return getValue( node );
+ }
+
+ private static Object getValue( Xpp3Dom node )
+ {
+ if ( node.getValue() != null )
+ {
+ return node.getValue();
+ }
+ else
+ {
+ List<Object> children = new ArrayList<Object>();
+ for ( int i = 0; i < node.getChildCount(); i++ )
+ {
+ children.add( getValue( node.getChild( i ) ) );
+ }
+ return children;
+ }
+ }
+
+ @Override
+ public Object getBaseValue()
+ {
+ return node;
+ }
+
+ @Override
+ public Object getImmediateNode()
+ {
+ return node;
+ }
+
+ @Override
+ public int getLength()
+ {
+ return 1;
+ }
+
+ @Override
+ public QName getName()
+ {
+ return new QName( null, node.getName() );
+ }
+
+ @Override
+ public boolean isCollection()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean isLeaf()
+ {
+ return node.getChildCount() <= 0;
+ }
+
+ @Override
+ public void setValue( Object value )
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public NodeIterator childIterator( NodeTest test, boolean reverse, NodePointer startWith )
+ {
+ return new Xpp3DomNodeIterator( this, test, reverse, startWith );
+ }
+
+ @Override
+ public NodeIterator attributeIterator( QName qname )
+ {
+ return new Xpp3DomAttributeIterator( this, qname );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomPointerFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomPointerFactory.java
new file mode 100644
index 00000000..28c0f8ff
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/project/harness/Xpp3DomPointerFactory.java
@@ -0,0 +1,61 @@
+package org.apache.maven.project.harness;
+
+/*
+ * 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 java.util.Locale;
+
+import org.apache.commons.jxpath.ri.QName;
+import org.apache.commons.jxpath.ri.model.NodePointer;
+import org.apache.commons.jxpath.ri.model.NodePointerFactory;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * A node pointer factory for JXPath to support <code>Xpp3Dom</code>.
+ *
+ * @author Benjamin Bentmann
+ */
+public class Xpp3DomPointerFactory
+ implements NodePointerFactory
+{
+
+ public int getOrder()
+ {
+ return 200;
+ }
+
+ public NodePointer createNodePointer( QName name, Object object, Locale locale )
+ {
+ if ( object instanceof Xpp3Dom )
+ {
+ return new Xpp3DomNodePointer( (Xpp3Dom) object );
+ }
+ return null;
+ }
+
+ public NodePointer createNodePointer( NodePointer parent, QName name, Object object )
+ {
+ if ( object instanceof Xpp3Dom )
+ {
+ return new Xpp3DomNodePointer( parent, (Xpp3Dom) object );
+ }
+ return null;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositoryLayout.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositoryLayout.java
new file mode 100644
index 00000000..77a6baef
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositoryLayout.java
@@ -0,0 +1,89 @@
+package org.apache.maven.repository;
+
+/*
+ * 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.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.codehaus.plexus.component.annotations.Component;
+
+/**
+ * @author jdcasey
+ */
+@Component(role=ArtifactRepositoryLayout.class, hint="legacy")
+public class LegacyRepositoryLayout
+ implements ArtifactRepositoryLayout
+{
+ private static final String PATH_SEPARATOR = "/";
+
+ public String getId()
+ {
+ return "legacy";
+ }
+
+ public String pathOf( Artifact artifact )
+ {
+ ArtifactHandler artifactHandler = artifact.getArtifactHandler();
+
+ StringBuilder path = new StringBuilder( 128 );
+
+ path.append( artifact.getGroupId() ).append( '/' );
+ path.append( artifactHandler.getDirectory() ).append( '/' );
+ path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
+
+ if ( artifact.hasClassifier() )
+ {
+ path.append( '-' ).append( artifact.getClassifier() );
+ }
+
+ if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
+ {
+ path.append( '.' ).append( artifactHandler.getExtension() );
+ }
+
+ return path.toString();
+ }
+
+ public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata,
+ ArtifactRepository repository )
+ {
+ return pathOfRepositoryMetadata( metadata, metadata.getLocalFilename( repository ) );
+ }
+
+ private String pathOfRepositoryMetadata( ArtifactMetadata metadata,
+ String filename )
+ {
+ StringBuilder path = new StringBuilder( 128 );
+
+ path.append( metadata.getGroupId() ).append( PATH_SEPARATOR ).append( "poms" ).append( PATH_SEPARATOR );
+
+ path.append( filename );
+
+ return path.toString();
+ }
+
+ public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
+ {
+ return pathOfRepositoryMetadata( metadata, metadata.getRemoteFilename() );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestArtifactHandler.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestArtifactHandler.java
new file mode 100644
index 00000000..db1fecb5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestArtifactHandler.java
@@ -0,0 +1,83 @@
+package org.apache.maven.repository;
+
+/*
+ * 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.apache.maven.artifact.handler.ArtifactHandler;
+
+/**
+ * Assists unit testing.
+ *
+ * @author Benjamin Bentmann
+ */
+class TestArtifactHandler
+ implements ArtifactHandler
+{
+
+ private String type;
+
+ private String extension;
+
+ public TestArtifactHandler( String type )
+ {
+ this( type, type );
+ }
+
+ public TestArtifactHandler( String type, String extension )
+ {
+ this.type = type;
+ this.extension = extension;
+ }
+
+ public String getClassifier()
+ {
+ return null;
+ }
+
+ public String getDirectory()
+ {
+ return getPackaging() + "s";
+ }
+
+ public String getExtension()
+ {
+ return extension;
+ }
+
+ public String getLanguage()
+ {
+ return "java";
+ }
+
+ public String getPackaging()
+ {
+ return type;
+ }
+
+ public boolean isAddedToClasspath()
+ {
+ return true;
+ }
+
+ public boolean isIncludesDependencies()
+ {
+ return false;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
new file mode 100644
index 00000000..91ace4f1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
@@ -0,0 +1,123 @@
+package org.apache.maven.repository;
+
+/*
+ * 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 java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collection;
+
+import org.codehaus.plexus.util.FileUtils;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.spi.connector.ArtifactDownload;
+import org.eclipse.aether.spi.connector.ArtifactUpload;
+import org.eclipse.aether.spi.connector.MetadataDownload;
+import org.eclipse.aether.spi.connector.MetadataUpload;
+import org.eclipse.aether.spi.connector.RepositoryConnector;
+import org.eclipse.aether.transfer.ArtifactNotFoundException;
+import org.eclipse.aether.transfer.ArtifactTransferException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+public class TestRepositoryConnector
+ implements RepositoryConnector
+{
+
+ private RemoteRepository repository;
+
+ private File basedir;
+
+ public TestRepositoryConnector( RemoteRepository repository )
+ {
+ this.repository = repository;
+ try
+ {
+ basedir = FileUtils.toFile( new URL( repository.getUrl() ) );
+ }
+ catch ( MalformedURLException e )
+ {
+ throw new IllegalStateException( e );
+ }
+ }
+
+ public void close()
+ {
+ }
+
+ public void get( Collection<? extends ArtifactDownload> artifactDownloads,
+ Collection<? extends MetadataDownload> metadataDownloads )
+ {
+ if ( artifactDownloads != null )
+ {
+ for ( ArtifactDownload download : artifactDownloads )
+ {
+ File remoteFile = new File( basedir, path( download.getArtifact() ) );
+ try
+ {
+ FileUtils.copyFile( remoteFile, download.getFile() );
+ }
+ catch ( IOException e )
+ {
+ if ( !remoteFile.exists() )
+ {
+ download.setException( new ArtifactNotFoundException( download.getArtifact(), repository ) );
+ }
+ else
+ {
+ download.setException( new ArtifactTransferException( download.getArtifact(), repository, e ) );
+ }
+ }
+ }
+ }
+ }
+
+ private String path( Artifact artifact )
+ {
+ StringBuilder path = new StringBuilder( 128 );
+
+ path.append( artifact.getGroupId().replace( '.', '/' ) ).append( '/' );
+
+ path.append( artifact.getArtifactId() ).append( '/' );
+
+ path.append( artifact.getBaseVersion() ).append( '/' );
+
+ path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
+
+ if ( artifact.getClassifier().length() > 0 )
+ {
+ path.append( '-' ).append( artifact.getClassifier() );
+ }
+
+ path.append( '.' ).append( artifact.getExtension() );
+
+ return path.toString();
+ }
+
+ public void put( Collection<? extends ArtifactUpload> artifactUploads,
+ Collection<? extends MetadataUpload> metadataUploads )
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnectorFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnectorFactory.java
new file mode 100644
index 00000000..17fd43f9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnectorFactory.java
@@ -0,0 +1,48 @@
+package org.apache.maven.repository;
+
+/*
+ * 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.codehaus.plexus.component.annotations.Component;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.spi.connector.RepositoryConnector;
+import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
+import org.eclipse.aether.transfer.NoRepositoryConnectorException;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Component( role = RepositoryConnectorFactory.class, hint = "test" )
+public class TestRepositoryConnectorFactory
+ implements RepositoryConnectorFactory
+{
+
+ public RepositoryConnector newInstance( RepositorySystemSession session, RemoteRepository repository )
+ throws NoRepositoryConnectorException
+ {
+ return new TestRepositoryConnector( repository );
+ }
+
+ public float getPriority()
+ {
+ return 0;
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java
new file mode 100644
index 00000000..c4afc7a9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java
@@ -0,0 +1,329 @@
+package org.apache.maven.repository;
+
+/*
+ * 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 java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.MavenArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
+import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.io.ModelReader;
+import org.apache.maven.project.artifact.ArtifactWithDependencies;
+import org.apache.maven.settings.Mirror;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
+import org.eclipse.aether.RepositorySystemSession;
+
+/**
+ * @author Benjamin Bentmann
+ */
+@Component( role = RepositorySystem.class )
+public class TestRepositorySystem
+ implements RepositorySystem
+{
+
+ @Requirement
+ private ModelReader modelReader;
+
+ @Requirement
+ private ArtifactFactory artifactFactory;
+
+ public ArtifactRepository buildArtifactRepository( Repository repository )
+ throws InvalidRepositoryException
+ {
+ return new MavenArtifactRepository( repository.getId(), repository.getUrl(), new DefaultRepositoryLayout(),
+ new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy() );
+ }
+
+ public Artifact createArtifact( String groupId, String artifactId, String version, String packaging )
+ {
+ return createArtifact( groupId, artifactId, version, null, packaging );
+ }
+
+ public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type )
+ {
+ return new DefaultArtifact( groupId, artifactId, version, scope, type, null, new TestArtifactHandler( type ) );
+ }
+
+ public ArtifactRepository createArtifactRepository( String id, String url,
+ ArtifactRepositoryLayout repositoryLayout,
+ ArtifactRepositoryPolicy snapshots,
+ ArtifactRepositoryPolicy releases )
+ {
+ return new MavenArtifactRepository( id, url, repositoryLayout, snapshots, releases );
+ }
+
+ public Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
+ String classifier )
+ {
+ return new DefaultArtifact( groupId, artifactId, version, null, type, classifier,
+ new TestArtifactHandler( type ) );
+ }
+
+ public ArtifactRepository createDefaultLocalRepository()
+ throws InvalidRepositoryException
+ {
+ return createLocalRepository( new File( System.getProperty( "basedir", "" ), "target/local-repo" ).getAbsoluteFile() );
+ }
+
+ public ArtifactRepository createDefaultRemoteRepository()
+ throws InvalidRepositoryException
+ {
+ return new MavenArtifactRepository( DEFAULT_REMOTE_REPO_ID, "file://"
+ + new File( System.getProperty( "basedir", "" ), "src/test/remote-repo" ).toURI().getPath(),
+ new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(),
+ new ArtifactRepositoryPolicy() );
+ }
+
+ public Artifact createDependencyArtifact( Dependency dependency )
+ {
+ Artifact artifact =
+ new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(),
+ dependency.getScope(), dependency.getType(), dependency.getClassifier(),
+ new TestArtifactHandler( dependency.getType() ) );
+
+ if ( Artifact.SCOPE_SYSTEM.equals( dependency.getScope() ) )
+ {
+ artifact.setFile( new File( dependency.getSystemPath() ) );
+ artifact.setResolved( true );
+ }
+
+ return artifact;
+ }
+
+ public ArtifactRepository createLocalRepository( File localRepository )
+ throws InvalidRepositoryException
+ {
+ return new MavenArtifactRepository( DEFAULT_LOCAL_REPO_ID, "file://" + localRepository.toURI().getPath(),
+ new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(),
+ new ArtifactRepositoryPolicy() );
+ }
+
+ public Artifact createPluginArtifact( Plugin plugin )
+ {
+ VersionRange versionRange;
+ try
+ {
+ String version = plugin.getVersion();
+ if ( StringUtils.isEmpty( version ) )
+ {
+ version = "RELEASE";
+ }
+ versionRange = VersionRange.createFromVersionSpec( version );
+ }
+ catch ( InvalidVersionSpecificationException e )
+ {
+ return null;
+ }
+
+ return artifactFactory.createPluginArtifact( plugin.getGroupId(), plugin.getArtifactId(), versionRange );
+ }
+
+ public Artifact createProjectArtifact( String groupId, String artifactId, String version )
+ {
+ return createArtifact( groupId, artifactId, version, "pom" );
+ }
+
+ public List<ArtifactRepository> getEffectiveRepositories( List<ArtifactRepository> repositories )
+ {
+ return repositories;
+ }
+
+ public Mirror getMirror( ArtifactRepository repository, List<Mirror> mirrors )
+ {
+ return null;
+ }
+
+ public void injectAuthentication( List<ArtifactRepository> repositories, List<Server> servers )
+ {
+ }
+
+ public void injectMirror( List<ArtifactRepository> repositories, List<Mirror> mirrors )
+ {
+ }
+
+ public void injectProxy( List<ArtifactRepository> repositories, List<Proxy> proxies )
+ {
+ }
+
+ public void publish( ArtifactRepository repository, File source, String remotePath,
+ ArtifactTransferListener transferListener )
+ throws ArtifactTransferFailedException
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
+ {
+ ArtifactResolutionResult result = new ArtifactResolutionResult();
+
+ if ( request.isResolveRoot() )
+ {
+ try
+ {
+ resolve( request.getArtifact(), request );
+ result.addArtifact( request.getArtifact() );
+ }
+ catch ( IOException e )
+ {
+ result.addMissingArtifact( request.getArtifact() );
+ }
+ }
+
+ if ( request.isResolveTransitively() )
+ {
+ Map<String, Artifact> artifacts = new LinkedHashMap<String, Artifact>();
+
+ if ( request.getArtifactDependencies() != null )
+ {
+ for ( Artifact artifact : request.getArtifactDependencies() )
+ {
+ artifacts.put( artifact.getDependencyConflictId(), artifact );
+ }
+ }
+
+ List<Dependency> dependencies = new ArrayList<Dependency>();
+ if ( request.getArtifact() instanceof ArtifactWithDependencies )
+ {
+ dependencies = ( (ArtifactWithDependencies) request.getArtifact() ).getDependencies();
+ }
+ else
+ {
+ Artifact pomArtifact =
+ createProjectArtifact( request.getArtifact().getGroupId(), request.getArtifact().getArtifactId(),
+ request.getArtifact().getVersion() );
+ File pomFile =
+ new File( request.getLocalRepository().getBasedir(),
+ request.getLocalRepository().pathOf( pomArtifact ) );
+
+ try
+ {
+ Model model = modelReader.read( pomFile, null );
+
+ dependencies = model.getDependencies();
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ for ( Dependency dependency : dependencies )
+ {
+ Artifact artifact = createDependencyArtifact( dependency );
+ if ( !artifacts.containsKey( artifact.getDependencyConflictId() ) )
+ {
+ artifacts.put( artifact.getDependencyConflictId(), artifact );
+ }
+ }
+
+ for ( Artifact artifact : artifacts.values() )
+ {
+ try
+ {
+ resolve( artifact, request );
+ result.addArtifact( artifact );
+ }
+ catch ( IOException e )
+ {
+ result.addMissingArtifact( artifact );
+ }
+ }
+ }
+
+ return result;
+ }
+
+ private void resolve( Artifact artifact, ArtifactResolutionRequest request )
+ throws IOException
+ {
+ if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
+ {
+ return;
+ }
+
+ ArtifactRepository localRepo = request.getLocalRepository();
+
+ File localFile = new File( localRepo.getBasedir(), localRepo.pathOf( artifact ) );
+
+ artifact.setFile( localFile );
+
+ if ( !localFile.exists() )
+ {
+ if ( request.getRemoteRepositories().isEmpty() )
+ {
+ throw new IOException( localFile + " does not exist and no remote repositories are configured" );
+ }
+
+ ArtifactRepository remoteRepo = request.getRemoteRepositories().get( 0 );
+
+ File remoteFile = new File( remoteRepo.getBasedir(), remoteRepo.pathOf( artifact ) );
+
+ FileUtils.copyFile( remoteFile, localFile );
+ }
+
+ artifact.setResolved( true );
+ }
+
+ public void retrieve( ArtifactRepository repository, File destination, String remotePath,
+ ArtifactTransferListener transferListener )
+ throws ArtifactTransferFailedException, ArtifactDoesNotExistException
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void injectMirror( RepositorySystemSession session, List<ArtifactRepository> repositories )
+ {
+ }
+
+ public void injectProxy( RepositorySystemSession session, List<ArtifactRepository> repositories )
+ {
+ }
+
+ public void injectAuthentication( RepositorySystemSession session, List<ArtifactRepository> repositories )
+ {
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
new file mode 100644
index 00000000..71be9284
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -0,0 +1,81 @@
+package org.apache.maven.rtinfo.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.apache.maven.rtinfo.RuntimeInformation;
+import org.codehaus.plexus.PlexusTestCase;
+
+public class DefaultRuntimeInformationTest
+ extends PlexusTestCase
+{
+
+ public void testGetMavenVersion()
+ throws Exception
+ {
+ RuntimeInformation rtInfo = lookup( RuntimeInformation.class );
+
+ String mavenVersion = rtInfo.getMavenVersion();
+ assertNotNull( mavenVersion );
+ assertTrue( mavenVersion.length() > 0 );
+ }
+
+ public void testIsMavenVersion()
+ throws Exception
+ {
+ RuntimeInformation rtInfo = lookup( RuntimeInformation.class );
+
+ assertTrue( rtInfo.isMavenVersion( "2.0" ) );
+ assertFalse( rtInfo.isMavenVersion( "9.9" ) );
+
+ assertTrue( rtInfo.isMavenVersion( "[2.0.11,2.1.0),[3.0,)" ) );
+ assertFalse( rtInfo.isMavenVersion( "[9.0,)" ) );
+
+ try
+ {
+ rtInfo.isMavenVersion( "[3.0," );
+ fail( "Bad version range wasn't rejected" );
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertTrue( true );
+ }
+
+ try
+ {
+ rtInfo.isMavenVersion( "" );
+ fail( "Bad version range wasn't rejected" );
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertTrue( true );
+ }
+
+ try
+ {
+ rtInfo.isMavenVersion( null );
+ fail( "Bad version range wasn't rejected" );
+ }
+ catch ( IllegalArgumentException e )
+ {
+ assertTrue( true );
+ }
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
new file mode 100644
index 00000000..5c166868
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@ -0,0 +1,159 @@
+package org.apache.maven.settings;
+
+/*
+ * 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 java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.model.Profile;
+import org.apache.maven.project.DefaultProjectBuilder;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuilder;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.harness.PomTestWrapper;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
+import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
+import org.eclipse.aether.repository.LocalRepository;
+
+public class PomConstructionWithSettingsTest
+ extends PlexusTestCase
+{
+ private static final String BASE_DIR = "src/test";
+
+ private static final String BASE_POM_DIR = BASE_DIR + "/resources-settings";
+
+ private DefaultProjectBuilder projectBuilder;
+
+ private RepositorySystem repositorySystem;
+
+ private File testDirectory;
+
+ @Override
+ protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
+ {
+ super.customizeContainerConfiguration( containerConfiguration );
+ containerConfiguration.setAutoWiring( true );
+ containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
+ }
+
+ protected void setUp()
+ throws Exception
+ {
+ testDirectory = new File( getBasedir(), BASE_POM_DIR );
+ projectBuilder = (DefaultProjectBuilder) lookup( ProjectBuilder.class );
+ repositorySystem = lookup( RepositorySystem.class );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ projectBuilder = null;
+
+ super.tearDown();
+ }
+
+ public void testSettingsNoPom() throws Exception
+ {
+ PomTestWrapper pom = buildPom( "settings-no-pom" );
+ assertEquals( "local-profile-prop-value", pom.getValue( "properties/local-profile-prop" ) );
+ }
+
+ /**MNG-4107 */
+ public void testPomAndSettingsInterpolation() throws Exception
+ {
+ PomTestWrapper pom = buildPom( "test-pom-and-settings-interpolation" );
+ assertEquals( "applied", pom.getValue( "properties/settingsProfile" ) );
+ assertEquals( "applied", pom.getValue( "properties/pomProfile" ) );
+ assertEquals( "settings", pom.getValue( "properties/pomVsSettings" ) );
+ assertEquals( "settings", pom.getValue( "properties/pomVsSettingsInterpolated" ) );
+ }
+
+ /**MNG-4107 */
+ public void testRepositories() throws Exception
+ {
+ PomTestWrapper pom = buildPom( "repositories" );
+ assertEquals( "maven-core-it-0", pom.getValue( "repositories[1]/id" ) );
+ }
+
+ private PomTestWrapper buildPom( String pomPath )
+ throws Exception
+ {
+ File pomFile = new File( testDirectory + File.separator + pomPath, "pom.xml" );
+ File settingsFile = new File( testDirectory + File.separator + pomPath, "settings.xml" );
+ Settings settings = readSettingsFile( settingsFile );
+
+ ProjectBuildingRequest config = new DefaultProjectBuildingRequest();
+
+ for ( org.apache.maven.settings.Profile rawProfile : settings.getProfiles() )
+ {
+ Profile profile = SettingsUtils.convertFromSettingsProfile( rawProfile );
+ config.addProfile( profile );
+ }
+
+ String localRepoUrl =
+ System.getProperty( "maven.repo.local", System.getProperty( "user.home" ) + "/.m2/repository" );
+ localRepoUrl = "file://" + localRepoUrl;
+ config.setLocalRepository( repositorySystem.createArtifactRepository( "local", localRepoUrl,
+ new DefaultRepositoryLayout(), null, null ) );
+ config.setActiveProfileIds( settings.getActiveProfiles() );
+
+ DefaultRepositorySystemSession repoSession = MavenRepositorySystemUtils.newSession();
+ LocalRepository localRepo = new LocalRepository( config.getLocalRepository().getBasedir() );
+ repoSession.setLocalRepositoryManager( new SimpleLocalRepositoryManagerFactory().newInstance( repoSession, localRepo ) );
+ config.setRepositorySession( repoSession );
+
+ return new PomTestWrapper( pomFile, projectBuilder.build( pomFile, config ).getProject() );
+ }
+
+ private static Settings readSettingsFile( File settingsFile )
+ throws IOException, XmlPullParserException
+ {
+ Settings settings = null;
+
+ Reader reader = null;
+
+ try
+ {
+ reader = ReaderFactory.newXmlReader( settingsFile );
+
+ SettingsXpp3Reader modelReader = new SettingsXpp3Reader();
+
+ settings = modelReader.read( reader );
+ }
+ finally
+ {
+ IOUtil.close( reader );
+ }
+
+ return settings;
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
new file mode 100644
index 00000000..f2231b3f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
@@ -0,0 +1,126 @@
+package org.apache.maven.settings;
+
+/*
+ * 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 junit.framework.TestCase;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+import java.util.Random;
+
+public class SettingsUtilsTest
+ extends TestCase
+{
+
+ public void testShouldAppendRecessivePluginGroupIds()
+ {
+ Settings dominant = new Settings();
+ dominant.addPluginGroup( "org.apache.maven.plugins" );
+ dominant.addPluginGroup( "org.codehaus.modello" );
+
+ Settings recessive = new Settings();
+ recessive.addPluginGroup( "org.codehaus.plexus" );
+
+ SettingsUtils.merge( dominant, recessive, Settings.GLOBAL_LEVEL );
+
+ List<String> pluginGroups = dominant.getPluginGroups();
+
+ assertNotNull( pluginGroups );
+ assertEquals( 3, pluginGroups.size() );
+ assertEquals( "org.apache.maven.plugins", pluginGroups.get( 0 ) );
+ assertEquals( "org.codehaus.modello", pluginGroups.get( 1 ) );
+ assertEquals( "org.codehaus.plexus", pluginGroups.get( 2 ) );
+ }
+
+ public void testRoundTripProfiles()
+ {
+ Random entropy = new Random();
+ Profile p = new Profile();
+ p.setId( "id" + Long.toHexString( entropy.nextLong() ) );
+ Activation a = new Activation();
+ a.setActiveByDefault( entropy.nextBoolean() );
+ a.setJdk( "jdk" + Long.toHexString( entropy.nextLong() ) );
+ ActivationFile af = new ActivationFile();
+ af.setExists( "exists" + Long.toHexString( entropy.nextLong() ) );
+ af.setMissing( "missing" + Long.toHexString( entropy.nextLong() ) );
+ a.setFile( af );
+ ActivationProperty ap = new ActivationProperty();
+ ap.setName( "name" + Long.toHexString( entropy.nextLong() ) );
+ ap.setValue( "value" + Long.toHexString( entropy.nextLong() ) );
+ a.setProperty( ap );
+ ActivationOS ao = new ActivationOS();
+ ao.setArch( "arch" + Long.toHexString( entropy.nextLong() ) );
+ ao.setFamily( "family" + Long.toHexString( entropy.nextLong() ) );
+ ao.setName( "name" + Long.toHexString( entropy.nextLong() ) );
+ ao.setVersion( "version" + Long.toHexString( entropy.nextLong() ) );
+ a.setOs( ao );
+ p.setActivation( a );
+ Properties props = new Properties();
+ int count = entropy.nextInt( 10 );
+ for ( int i = 0; i < count; i++ )
+ {
+ props.setProperty( "name" + Long.toHexString( entropy.nextLong() ),
+ "value" + Long.toHexString( entropy.nextLong() ) );
+ }
+ p.setProperties( props );
+ count = entropy.nextInt( 3 );
+ List<Repository> repos = new ArrayList<Repository>();
+ for ( int i = 0; i < count; i++ )
+ {
+ Repository r = new Repository();
+ r.setId( "id" + Long.toHexString( entropy.nextLong() ) );
+ r.setName( "name" + Long.toHexString( entropy.nextLong() ) );
+ r.setUrl( "url" + Long.toHexString( entropy.nextLong() ) );
+ repos.add( r );
+ }
+ p.setRepositories( repos );
+ count = entropy.nextInt( 3 );
+ repos = new ArrayList<Repository>();
+ for ( int i = 0; i < count; i++ )
+ {
+ Repository r = new Repository();
+ r.setId( "id" + Long.toHexString( entropy.nextLong() ) );
+ r.setName( "name" + Long.toHexString( entropy.nextLong() ) );
+ r.setUrl( "url" + Long.toHexString( entropy.nextLong() ) );
+ repos.add( r );
+ }
+ p.setPluginRepositories( repos );
+
+ Profile clone = SettingsUtils.convertToSettingsProfile( SettingsUtils.convertFromSettingsProfile( p ) );
+
+ assertEquals( p.getId(), clone.getId() );
+ assertEquals( p.getActivation().getJdk(), clone.getActivation().getJdk() );
+ assertEquals( p.getActivation().getFile().getExists(), clone.getActivation().getFile().getExists() );
+ assertEquals( p.getActivation().getFile().getMissing(), clone.getActivation().getFile().getMissing() );
+ assertEquals( p.getActivation().getProperty().getName(), clone.getActivation().getProperty().getName() );
+ assertEquals( p.getActivation().getProperty().getValue(), clone.getActivation().getProperty().getValue() );
+ assertEquals( p.getActivation().getOs().getArch(), clone.getActivation().getOs().getArch() );
+ assertEquals( p.getActivation().getOs().getFamily(), clone.getActivation().getOs().getFamily() );
+ assertEquals( p.getActivation().getOs().getName(), clone.getActivation().getOs().getName() );
+ assertEquals( p.getActivation().getOs().getVersion(), clone.getActivation().getOs().getVersion() );
+ assertEquals( p.getProperties(), clone.getProperties() );
+ assertEquals( p.getRepositories().size(), clone.getRepositories().size() );
+ // TODO deep compare the lists
+ assertEquals( p.getPluginRepositories().size(), clone.getPluginRepositories().size() );
+ // TODO deep compare the lists
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java
new file mode 100644
index 00000000..28a13bb2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivateTest.java
@@ -0,0 +1,166 @@
+package org.apache.maven.toolchain;
+
+/*
+ * 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.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.toolchain.model.ToolchainModel;
+import org.codehaus.plexus.logging.Logger;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class DefaultToolchainManagerPrivateTest
+{
+ // Mocks to inject into toolchainManager
+ @Mock
+ private Logger logger;
+
+ @InjectMocks
+ private DefaultToolchainManagerPrivate toolchainManager;
+
+ @Mock
+ private ToolchainFactory toolchainFactory_basicType;
+
+ @Mock
+ private ToolchainFactory toolchainFactory_rareType;
+
+ @Before
+ public void setUp()
+ {
+ toolchainManager = new DefaultToolchainManagerPrivate();
+
+ MockitoAnnotations.initMocks( this );
+
+ toolchainManager.factories = new HashMap<String, ToolchainFactory>();
+ toolchainManager.factories.put( "basic", toolchainFactory_basicType );
+ toolchainManager.factories.put( "rare", toolchainFactory_rareType );
+ }
+
+ @Test
+ public void testToolchainsForAvailableType()
+ throws Exception
+ {
+ // prepare
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest req = new DefaultMavenExecutionRequest();
+ when( session.getRequest() ).thenReturn( req );
+
+ ToolchainPrivate basicToolchain = mock( ToolchainPrivate.class );
+ when( toolchainFactory_basicType.createDefaultToolchain() ).thenReturn( basicToolchain );
+ ToolchainPrivate rareToolchain = mock( ToolchainPrivate.class );
+ when( toolchainFactory_rareType.createDefaultToolchain() ).thenReturn( rareToolchain );
+
+ // execute
+ ToolchainPrivate[] toolchains = toolchainManager.getToolchainsForType( "basic", session );
+
+ // verify
+ verify( logger, never() ).error( anyString() );
+ assertEquals( 1, toolchains.length );
+ }
+
+ @Test
+ public void testToolchainsForUnknownType()
+ throws Exception
+ {
+ // prepare
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest req = new DefaultMavenExecutionRequest();
+ when( session.getRequest() ).thenReturn( req );
+
+ ToolchainPrivate basicToolchain = mock( ToolchainPrivate.class );
+ when( toolchainFactory_basicType.createDefaultToolchain() ).thenReturn( basicToolchain );
+ ToolchainPrivate rareToolchain = mock( ToolchainPrivate.class );
+ when( toolchainFactory_rareType.createDefaultToolchain() ).thenReturn( rareToolchain );
+
+ // execute
+ ToolchainPrivate[] toolchains = toolchainManager.getToolchainsForType( "unknown", session );
+
+ // verify
+ verify( logger ).error( "Missing toolchain factory for type: unknown. Possibly caused by misconfigured project." );
+ assertEquals( 0, toolchains.length );
+ }
+
+ @Test
+ public void testToolchainsForConfiguredType()
+ throws Exception
+ {
+ // prepare
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest req = new DefaultMavenExecutionRequest();
+ when( session.getRequest() ).thenReturn( req );
+ Map<String, List<ToolchainModel>> groupedToolchains = new HashMap<String, List<ToolchainModel>>();
+ req.setToolchains( groupedToolchains );
+
+ List<ToolchainModel> basicToolchains = new ArrayList<ToolchainModel>();
+ ToolchainModel basicToolchainModel = new ToolchainModel();
+ basicToolchainModel.setType( "basic" );
+ basicToolchains.add( basicToolchainModel );
+ basicToolchains.add( basicToolchainModel );
+ groupedToolchains.put( "basic", basicToolchains );
+
+ List<ToolchainModel> rareToolchains = new ArrayList<ToolchainModel>();
+ ToolchainModel rareToolchainModel = new ToolchainModel();
+ rareToolchainModel.setType( "rare" );
+ rareToolchains.add( rareToolchainModel );
+ groupedToolchains.put( "rare", rareToolchains );
+
+ // execute
+ ToolchainPrivate[] toolchains = toolchainManager.getToolchainsForType( "basic", session );
+
+ // verify
+ verify( logger, never() ).error( anyString() );
+ assertEquals( 2, toolchains.length );
+ }
+
+ @SuppressWarnings( "unchecked" )
+ @Test( expected = MisconfiguredToolchainException.class )
+ public void testMisconfiguredToolchain()
+ throws Exception
+ {
+ // prepare
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest req = new DefaultMavenExecutionRequest();
+ when( session.getRequest() ).thenReturn( req );
+ when(toolchainFactory_basicType.createDefaultToolchain()).thenThrow( MisconfiguredToolchainException.class );
+
+ // execute
+ toolchainManager.getToolchainsForType( "basic", session );
+
+ // verify
+ fail( "Should exit with a MisconfiguredToolchainException" );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java
new file mode 100644
index 00000000..d464502f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainManagerTest.java
@@ -0,0 +1,153 @@
+package org.apache.maven.toolchain;
+
+/*
+ * 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.junit.Assert.assertEquals;
+import static org.mockito.Matchers.anyMap;
+import static org.mockito.Matchers.isA;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.toolchain.model.ToolchainModel;
+import org.codehaus.plexus.logging.Logger;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class DefaultToolchainManagerTest
+{
+ // Mocks to inject into toolchainManager
+ @Mock
+ private Logger logger;
+
+ @InjectMocks
+ private DefaultToolchainManager toolchainManager;
+
+ @Mock
+ private ToolchainFactory toolchainFactory_basicType;
+
+ @Mock
+ private ToolchainFactory toolchainFactory_rareType;
+
+ @Before
+ public void onSetup() throws Exception
+ {
+ toolchainManager = new DefaultToolchainManager();
+
+ MockitoAnnotations.initMocks( this );
+
+ toolchainManager.factories = new HashMap<String, ToolchainFactory>();
+ toolchainManager.factories.put( "basic", toolchainFactory_basicType );
+ toolchainManager.factories.put( "rare", toolchainFactory_rareType );
+ }
+
+ @Test
+ public void testNoModels()
+ {
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
+ when( session.getRequest() ).thenReturn( executionRequest );
+
+ List<Toolchain> toolchains = toolchainManager.getToolchains( session, "unknown", null );
+
+ assertEquals( 0, toolchains.size() );
+ }
+
+ @Test
+ public void testModelNoFactory()
+ {
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
+ Map<String, List<ToolchainModel>> toolchainModels = new HashMap<String, List<ToolchainModel>>();
+ toolchainModels.put( "unknown", Collections.singletonList( new ToolchainModel() ) );
+ executionRequest.setToolchains( toolchainModels );
+ when( session.getRequest() ).thenReturn( executionRequest );
+
+ List<Toolchain> toolchains = toolchainManager.getToolchains( session, "unknown", null );
+
+ assertEquals( 0, toolchains.size() );
+ verify( logger ).error( "Missing toolchain factory for type: unknown. Possibly caused by misconfigured project." );
+ }
+
+ @Test
+ public void testModelAndFactory()
+ {
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
+ Map<String, List<ToolchainModel>> toolchainModels = new HashMap<String, List<ToolchainModel>>();
+ toolchainModels.put( "basic", Arrays.asList( new ToolchainModel(), new ToolchainModel() ) );
+ toolchainModels.put( "rare", Collections.singletonList( new ToolchainModel() ) );
+ executionRequest.setToolchains( toolchainModels );
+ when( session.getRequest() ).thenReturn( executionRequest );
+
+ List<Toolchain> toolchains = toolchainManager.getToolchains( session, "rare", null );
+
+ assertEquals( 1, toolchains.size() );
+ }
+
+ @Test
+ public void testModelsAndFactory()
+ {
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
+ Map<String, List<ToolchainModel>> toolchainModels = new HashMap<String, List<ToolchainModel>>();
+ toolchainModels.put( "basic", Arrays.asList( new ToolchainModel(), new ToolchainModel() ) );
+ toolchainModels.put( "rare", Collections.singletonList( new ToolchainModel() ) );
+ executionRequest.setToolchains( toolchainModels );
+ when( session.getRequest() ).thenReturn( executionRequest );
+
+ List<Toolchain> toolchains = toolchainManager.getToolchains( session, "basic", null );
+
+ assertEquals( 2, toolchains.size() );
+ }
+
+ @Test
+ public void testRequirements()
+ throws Exception
+ {
+ MavenSession session = mock( MavenSession.class );
+ MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
+ Map<String, List<ToolchainModel>> toolchainModels = new HashMap<String, List<ToolchainModel>>();
+ toolchainModels.put( "basic", Arrays.asList( new ToolchainModel(), new ToolchainModel() ) );
+ toolchainModels.put( "rare", Collections.singletonList( new ToolchainModel() ) );
+ executionRequest.setToolchains( toolchainModels );
+ when( session.getRequest() ).thenReturn( executionRequest );
+ ToolchainPrivate basicPrivate = mock( ToolchainPrivate.class );
+ when( basicPrivate.matchesRequirements( anyMap() ) ).thenReturn( false ).thenReturn( true );
+ when( toolchainFactory_basicType.createToolchain( isA( ToolchainModel.class ) ) ).thenReturn( basicPrivate );
+
+ List<Toolchain> toolchains =
+ toolchainManager.getToolchains( session, "basic", Collections.singletonMap( "key", "value" ) );
+
+ assertEquals( 1, toolchains.size() );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java
new file mode 100644
index 00000000..3bba8177
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/DefaultToolchainTest.java
@@ -0,0 +1,158 @@
+package org.apache.maven.toolchain;
+
+/*
+ * 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.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.verify;
+
+import java.io.InputStream;
+import java.util.Collections;
+
+import org.apache.maven.toolchain.java.DefaultJavaToolChain;
+import org.apache.maven.toolchain.model.PersistedToolchains;
+import org.apache.maven.toolchain.model.ToolchainModel;
+import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.util.IOUtil;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class DefaultToolchainTest
+{
+ @Mock
+ private Logger logger;
+
+ private MavenToolchainsXpp3Reader reader = new MavenToolchainsXpp3Reader();
+
+ @Before
+ public void setUp() throws Exception
+ {
+ MockitoAnnotations.initMocks( this );
+ }
+
+ private DefaultToolchain newDefaultToolchain( ToolchainModel model )
+ {
+ return new DefaultToolchain( model, logger )
+ {
+ @Override
+ public String findTool( String toolName )
+ {
+ return null;
+ }
+ };
+ }
+
+ private DefaultToolchain newDefaultToolchain( ToolchainModel model, String type )
+ {
+ return new DefaultToolchain( model, type, logger )
+ {
+ @Override
+ public String findTool( String toolName )
+ {
+ return null;
+ }
+ };
+ }
+
+ @Test
+ public void testGetModel()
+ {
+ ToolchainModel model = new ToolchainModel();
+ DefaultToolchain toolchain = newDefaultToolchain( model );
+ assertEquals( model, toolchain.getModel() );
+ }
+
+ @Test
+ public void testGetType()
+ {
+ ToolchainModel model = new ToolchainModel();
+ DefaultToolchain toolchain = newDefaultToolchain( model, "TYPE" );
+ assertEquals( "TYPE", toolchain.getType() );
+
+ model.setType( "MODEL_TYPE" );
+ toolchain = newDefaultToolchain( model );
+ assertEquals( "MODEL_TYPE", toolchain.getType() );
+ }
+
+ @Test
+ public void testGetLogger()
+ {
+ ToolchainModel model = new ToolchainModel();
+ DefaultToolchain toolchain = newDefaultToolchain( model );
+ assertEquals( logger, toolchain.getLog() );
+ }
+
+ @Test
+ public void testMissingRequirementProperty()
+ {
+ ToolchainModel model = new ToolchainModel();
+ model.setType( "TYPE" );
+ DefaultToolchain toolchain = newDefaultToolchain( model );
+
+ assertFalse( toolchain.matchesRequirements( Collections.singletonMap( "name", "John Doe" ) ) );
+ verify( logger ).debug( "Toolchain type:TYPE{} is missing required property: name" );
+ }
+
+
+ @Test
+ public void testNonMatchingRequirementProperty()
+ {
+ ToolchainModel model = new ToolchainModel();
+ model.setType( "TYPE" );
+ DefaultToolchain toolchain = newDefaultToolchain( model );
+ toolchain.addProvideToken( "name", RequirementMatcherFactory.createExactMatcher( "Jane Doe" ) );
+
+ assertFalse( toolchain.matchesRequirements( Collections.singletonMap( "name", "John Doe" ) ) );
+ verify( logger ).debug( "Toolchain type:TYPE{name = Jane Doe} doesn't match required property: name" );
+ }
+
+
+ @Test
+ public void testEquals() throws Exception
+ {
+ InputStream jdksIS = null;
+ InputStream jdksExtraIS = null;
+ try
+ {
+ jdksIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+ jdksExtraIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks-extra.xml" );
+
+ PersistedToolchains jdks = reader.read( jdksIS );
+ PersistedToolchains jdksExtra = reader.read( jdksExtraIS );
+
+ DefaultToolchain tc1 = new DefaultJavaToolChain( jdks.getToolchains().get( 0 ), null );
+ DefaultToolchain tc2 = new DefaultJavaToolChain( jdksExtra.getToolchains().get( 0 ), null );
+
+ assertTrue( tc1.equals( tc1 ) );
+ assertFalse( tc1.equals( tc2 ) );
+ assertFalse( tc2.equals( tc1 ) );
+ assertTrue( tc2.equals( tc2 ) );
+ }
+ finally
+ {
+ IOUtil.close( jdksIS );
+ IOUtil.close( jdksExtraIS );
+ }
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
new file mode 100644
index 00000000..c102b11f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/RequirementMatcherFactoryTest.java
@@ -0,0 +1,72 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.toolchain;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author mkleint
+ */
+public class RequirementMatcherFactoryTest
+ extends TestCase
+{
+
+ public RequirementMatcherFactoryTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * Test of createExactMatcher method, of class RequirementMatcherFactory.
+ */
+ public void testCreateExactMatcher()
+ {
+ RequirementMatcher matcher;
+ matcher = RequirementMatcherFactory.createExactMatcher( "foo" );
+ assertFalse( matcher.matches( "bar" ) );
+ assertFalse( matcher.matches( "foobar" ) );
+ assertFalse( matcher.matches( "foob" ) );
+ assertTrue( matcher.matches( "foo" ) );
+ }
+
+ /**
+ * Test of createVersionMatcher method, of class RequirementMatcherFactory.
+ */
+ public void testCreateVersionMatcher()
+ {
+ RequirementMatcher matcher;
+ matcher = RequirementMatcherFactory.createVersionMatcher( "1.5.2" );
+ assertFalse( matcher.matches( "1.5" ) );
+ assertTrue( matcher.matches( "1.5.2" ) );
+ assertFalse( matcher.matches( "[1.4,1.5)" ) );
+ assertFalse( matcher.matches( "[1.5,1.5.2)" ) );
+ assertFalse( matcher.matches( "(1.5.2,1.6)" ) );
+ assertTrue( matcher.matches( "(1.4,1.5.2]" ) );
+ assertTrue( matcher.matches( "(1.5,)" ) );
+ assertEquals( "1.5.2", matcher.toString() );
+
+ // Ensure it is not printed as 1.5.0
+ matcher = RequirementMatcherFactory.createVersionMatcher( "1.5" );
+ assertEquals( "1.5", matcher.toString() );
+
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java
new file mode 100644
index 00000000..80fca094
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java
@@ -0,0 +1,185 @@
+package org.apache.maven.toolchain.building;
+
+/*
+ * 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.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyMap;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.maven.building.StringSource;
+import org.apache.maven.toolchain.io.ToolchainsParseException;
+import org.apache.maven.toolchain.io.ToolchainsReader;
+import org.apache.maven.toolchain.model.PersistedToolchains;
+import org.apache.maven.toolchain.model.ToolchainModel;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class DefaultToolchainsBuilderTest
+{
+ private static final String LS = System.getProperty( "line.separator" );
+
+ @Mock
+ private ToolchainsReader toolchainsReader;
+
+ @InjectMocks
+ private DefaultToolchainsBuilder toolchainBuilder = new DefaultToolchainsBuilder();
+
+ @Before
+ public void onSetup()
+ {
+ MockitoAnnotations.initMocks( this );
+ }
+
+ @Test
+ public void testBuildEmptyRequest()
+ throws Exception
+ {
+ ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest();
+ ToolchainsBuildingResult result = toolchainBuilder.build( request );
+ assertNotNull( result.getEffectiveToolchains() );
+ assertNotNull( result.getProblems() );
+ assertEquals( 0, result.getProblems().size() );
+ }
+
+ @Test
+ public void testBuildRequestWithUserToolchains()
+ throws Exception
+ {
+ ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest();
+ request.setUserToolchainsSource( new StringSource( "" ) );
+
+ PersistedToolchains userResult = new PersistedToolchains();
+ ToolchainModel toolchain = new ToolchainModel();
+ toolchain.setType( "TYPE" );
+ toolchain.addProvide( "key", "user_value" );
+ userResult.addToolchain( toolchain );
+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenReturn( userResult );
+
+ ToolchainsBuildingResult result = toolchainBuilder.build( request );
+ assertNotNull( result.getEffectiveToolchains() );
+ assertEquals( 1, result.getEffectiveToolchains().getToolchains().size() );
+ assertEquals( "TYPE", result.getEffectiveToolchains().getToolchains().get(0).getType() );
+ assertEquals( "user_value", result.getEffectiveToolchains().getToolchains().get(0).getProvides().getProperty( "key" ) );
+ assertNotNull( result.getProblems() );
+ assertEquals( 0, result.getProblems().size() );
+ }
+
+ @Test
+ public void testBuildRequestWithGlobalToolchains()
+ throws Exception
+ {
+ ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest();
+ request.setGlobalToolchainsSource( new StringSource( "" ) );
+
+ PersistedToolchains globalResult = new PersistedToolchains();
+ ToolchainModel toolchain = new ToolchainModel();
+ toolchain.setType( "TYPE" );
+ toolchain.addProvide( "key", "global_value" );
+ globalResult.addToolchain( toolchain );
+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenReturn( globalResult );
+
+ ToolchainsBuildingResult result = toolchainBuilder.build( request );
+ assertNotNull( result.getEffectiveToolchains() );
+ assertEquals( 1, result.getEffectiveToolchains().getToolchains().size() );
+ assertEquals( "TYPE", result.getEffectiveToolchains().getToolchains().get(0).getType() );
+ assertEquals( "global_value", result.getEffectiveToolchains().getToolchains().get(0).getProvides().getProperty( "key" ) );
+ assertNotNull( result.getProblems() );
+ assertEquals( 0, result.getProblems().size() );
+ }
+
+ @Test
+ public void testBuildRequestWithBothToolchains()
+ throws Exception
+ {
+ ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest();
+ request.setGlobalToolchainsSource( new StringSource( "" ) );
+ request.setUserToolchainsSource( new StringSource( "" ) );
+
+ PersistedToolchains userResult = new PersistedToolchains();
+ ToolchainModel userToolchain = new ToolchainModel();
+ userToolchain.setType( "TYPE" );
+ userToolchain.addProvide( "key", "user_value" );
+ userResult.addToolchain( userToolchain );
+
+ PersistedToolchains globalResult = new PersistedToolchains();
+ ToolchainModel globalToolchain = new ToolchainModel();
+ globalToolchain.setType( "TYPE" );
+ globalToolchain.addProvide( "key", "global_value" );
+ globalResult.addToolchain( globalToolchain );
+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenReturn( globalResult ).thenReturn( userResult );
+
+ ToolchainsBuildingResult result = toolchainBuilder.build( request );
+ assertNotNull( result.getEffectiveToolchains() );
+ assertEquals( 2, result.getEffectiveToolchains().getToolchains().size() );
+ assertEquals( "TYPE", result.getEffectiveToolchains().getToolchains().get(0).getType() );
+ assertEquals( "user_value", result.getEffectiveToolchains().getToolchains().get(0).getProvides().getProperty( "key" ) );
+ assertEquals( "TYPE", result.getEffectiveToolchains().getToolchains().get(1).getType() );
+ assertEquals( "global_value", result.getEffectiveToolchains().getToolchains().get(1).getProvides().getProperty( "key" ) );
+ assertNotNull( result.getProblems() );
+ assertEquals( 0, result.getProblems().size() );
+ }
+
+ @Test
+ public void testStrictToolchainsParseException() throws Exception
+ {
+ ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest();
+ request.setGlobalToolchainsSource( new StringSource( "" ) );
+ ToolchainsParseException parseException = new ToolchainsParseException( "MESSAGE", 4, 2 );
+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenThrow( parseException );
+
+ try
+ {
+ toolchainBuilder.build( request );
+ }
+ catch ( ToolchainsBuildingException e )
+ {
+ assertEquals( "1 problem was encountered while building the effective toolchains" + LS +
+ "[FATAL] Non-parseable toolchains (memory): MESSAGE @ line 4, column 2" + LS, e.getMessage() );
+ }
+ }
+
+ @Test
+ public void testIOException() throws Exception
+ {
+ ToolchainsBuildingRequest request = new DefaultToolchainsBuildingRequest();
+ request.setGlobalToolchainsSource( new StringSource( "", "LOCATION" ) );
+ IOException ioException = new IOException( "MESSAGE" );
+ when( toolchainsReader.read( any( InputStream.class ), anyMap() ) ).thenThrow( ioException );
+
+ try
+ {
+ toolchainBuilder.build( request );
+ }
+ catch ( ToolchainsBuildingException e )
+ {
+ assertEquals( "1 problem was encountered while building the effective toolchains" + LS +
+ "[FATAL] Non-readable toolchains LOCATION: MESSAGE" + LS, e.getMessage() );
+ }
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java
new file mode 100644
index 00000000..bf745c2a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/building/ToolchainsBuildingExceptionTest.java
@@ -0,0 +1,73 @@
+package org.apache.maven.toolchain.building;
+
+/*
+ * 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.junit.Assert.assertEquals;
+
+import java.util.Collections;
+
+import org.apache.maven.building.Problem;
+import org.apache.maven.building.ProblemCollector;
+import org.apache.maven.building.ProblemCollectorFactory;
+import org.junit.Test;
+
+public class ToolchainsBuildingExceptionTest
+{
+ private static final String LS = System.getProperty( "line.separator" );
+
+ @Test
+ public void testNoProblems()
+ {
+ ToolchainsBuildingException e = new ToolchainsBuildingException( Collections.<Problem>emptyList() );
+ assertEquals( "0 problems were encountered while building the effective toolchains" + LS, e.getMessage() );
+ }
+
+ @Test
+ public void testOneProblem()
+ {
+ ProblemCollector problemCollector = ProblemCollectorFactory.newInstance( null );
+ problemCollector.add( Problem.Severity.ERROR, "MESSAGE", 3, 5, new Exception() );
+ ToolchainsBuildingException e = new ToolchainsBuildingException( problemCollector.getProblems() );
+ assertEquals( "1 problem was encountered while building the effective toolchains" + LS +
+ "[ERROR] MESSAGE @ line 3, column 5" + LS, e.getMessage() );
+ }
+
+ @Test
+ public void testUnknownPositionAndSource()
+ {
+ ProblemCollector problemCollector = ProblemCollectorFactory.newInstance( null );
+ problemCollector.add( Problem.Severity.ERROR, "MESSAGE", -1, -1, new Exception() );
+ ToolchainsBuildingException e = new ToolchainsBuildingException( problemCollector.getProblems() );
+ assertEquals( "1 problem was encountered while building the effective toolchains" + LS +
+ "[ERROR] MESSAGE" + LS, e.getMessage() );
+ }
+
+ @Test
+ public void testUnknownPosition()
+ {
+ ProblemCollector problemCollector = ProblemCollectorFactory.newInstance( null );
+ problemCollector.setSource( "SOURCE" );
+ problemCollector.add( Problem.Severity.ERROR, "MESSAGE", -1, -1, new Exception() );
+ ToolchainsBuildingException e = new ToolchainsBuildingException( problemCollector.getProblems() );
+ assertEquals( "1 problem was encountered while building the effective toolchains" + LS +
+ "[ERROR] MESSAGE @ SOURCE" + LS, e.getMessage() );
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
new file mode 100644
index 00000000..9183e175
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java
@@ -0,0 +1,176 @@
+package org.apache.maven.toolchain.merge;
+
+/*
+ * 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.junit.Assert.assertEquals;
+
+import java.io.InputStream;
+
+import org.apache.maven.toolchain.model.PersistedToolchains;
+import org.apache.maven.toolchain.model.ToolchainModel;
+import org.apache.maven.toolchain.model.TrackableBase;
+import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.junit.Test;
+
+public class MavenToolchainMergerTest
+{
+ private MavenToolchainMerger merger = new MavenToolchainMerger();
+
+ private MavenToolchainsXpp3Reader reader = new MavenToolchainsXpp3Reader();
+
+ @Test
+ public void testMergeNulls()
+ {
+ merger.merge( null, null, null );
+
+ PersistedToolchains pt = new PersistedToolchains();
+ merger.merge( pt, null, null );
+ merger.merge( null, pt, null );
+ }
+
+ @Test
+ public void testMergeJdk() throws Exception
+ {
+ InputStream isDominant = null;
+ InputStream isRecessive = null;
+ try
+ {
+ isDominant = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+ isRecessive = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+
+ PersistedToolchains dominant = reader.read( isDominant );
+ PersistedToolchains recessive = reader.read( isRecessive );
+ assertEquals( 2, dominant.getToolchains().size() );
+
+ merger.merge( dominant, recessive, TrackableBase.USER_LEVEL );
+ assertEquals( 2, dominant.getToolchains().size() );
+ }
+ finally
+ {
+ IOUtil.close( isDominant );
+ }
+ }
+
+ @Test
+ public void testMergeJdkExtra() throws Exception
+ {
+ InputStream jdksIS = null;
+ InputStream jdksExtraIS = null;
+ try
+ {
+ jdksIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+ jdksExtraIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks-extra.xml" );
+
+ PersistedToolchains jdks = reader.read( jdksIS );
+ PersistedToolchains jdksExtra = reader.read( jdksExtraIS );
+ assertEquals( 2, jdks.getToolchains().size() );
+
+ merger.merge( jdks, jdksExtra, TrackableBase.USER_LEVEL );
+ assertEquals( 4, jdks.getToolchains().size() );
+ assertEquals( 2, jdksExtra.getToolchains().size() );
+ }
+ finally
+ {
+ IOUtil.close( jdksIS );
+ IOUtil.close( jdksExtraIS );
+ }
+
+ try
+ {
+ jdksIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+ jdksExtraIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks-extra.xml" );
+
+ PersistedToolchains jdks = reader.read( jdksIS );
+ PersistedToolchains jdksExtra = reader.read( jdksExtraIS );
+ assertEquals( 2, jdks.getToolchains().size() );
+
+ // switch dominant with reccessive
+ merger.merge( jdksExtra, jdks, TrackableBase.USER_LEVEL );
+ assertEquals( 4, jdksExtra.getToolchains().size() );
+ assertEquals( 2, jdks.getToolchains().size() );
+ }
+ finally
+ {
+ IOUtil.close( jdksIS );
+ IOUtil.close( jdksExtraIS );
+ }
+ }
+
+ @Test
+ public void testMergeJdkExtend() throws Exception
+ {
+ InputStream jdksIS = null;
+ InputStream jdksExtendIS = null;
+ try
+ {
+ jdksIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+ jdksExtendIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks-extend.xml" );
+
+ PersistedToolchains jdks = reader.read( jdksIS );
+ PersistedToolchains jdksExtend = reader.read( jdksExtendIS );
+ assertEquals( 2, jdks.getToolchains().size() );
+
+ merger.merge( jdks, jdksExtend, TrackableBase.USER_LEVEL );
+ assertEquals( 2, jdks.getToolchains().size() );
+ Xpp3Dom config0 = (Xpp3Dom) jdks.getToolchains().get( 0 ).getConfiguration();
+ assertEquals( "lib/tools.jar", config0.getChild( "toolsJar" ).getValue() );
+ assertEquals( 2, config0.getChildCount() );
+ Xpp3Dom config1 = (Xpp3Dom) jdks.getToolchains().get( 1 ).getConfiguration();
+ assertEquals( 2, config1.getChildCount() );
+ assertEquals( "lib/classes.jar", config1.getChild( "toolsJar" ).getValue() );
+ assertEquals( 2, jdksExtend.getToolchains().size() );
+ }
+ finally
+ {
+ IOUtil.close( jdksIS );
+ IOUtil.close( jdksExtendIS );
+ }
+
+ try
+ {
+ jdksIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks.xml" );
+ jdksExtendIS = ToolchainModel.class.getResourceAsStream( "toolchains-jdks-extend.xml" );
+
+ PersistedToolchains jdks = reader.read( jdksIS );
+ PersistedToolchains jdksExtend = reader.read( jdksExtendIS );
+ assertEquals( 2, jdks.getToolchains().size() );
+
+ // switch dominant with reccessive
+ merger.merge( jdksExtend, jdks, TrackableBase.USER_LEVEL );
+ assertEquals( 2, jdksExtend.getToolchains().size() );
+ Xpp3Dom config0 = (Xpp3Dom) jdksExtend.getToolchains().get( 0 ).getConfiguration();
+ assertEquals( "lib/tools.jar", config0.getChild( "toolsJar" ).getValue() );
+ assertEquals( 2, config0.getChildCount() );
+ Xpp3Dom config1 = (Xpp3Dom) jdksExtend.getToolchains().get( 1 ).getConfiguration();
+ assertEquals( 2, config1.getChildCount() );
+ assertEquals( "lib/classes.jar", config1.getChild( "toolsJar" ).getValue() );
+ assertEquals( 2, jdks.getToolchains().size() );
+ }
+ finally
+ {
+ IOUtil.close( jdksIS );
+ IOUtil.close( jdksExtendIS );
+ }
+
+ }
+
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-a/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-a/pom.xml
new file mode 100644
index 00000000..56ec3412
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-a/pom.xml
@@ -0,0 +1,19 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>cyclic-reference</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>module-a</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>cyclic-reference</groupId>
+ <artifactId>module-b</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-b/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-b/pom.xml
new file mode 100644
index 00000000..ffa4f347
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/module-b/pom.xml
@@ -0,0 +1,19 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>cyclic-reference</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>module-b</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>cyclic-reference</groupId>
+ <artifactId>module-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/pom.xml
new file mode 100644
index 00000000..e2666190
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/default-maven/cyclic-reference/pom.xml
@@ -0,0 +1,14 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>cyclic-reference</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>module-a</module>
+ <module>module-b</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/mojo-configuration/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/mojo-configuration/pom.xml
new file mode 100644
index 00000000..a821765b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/mojo-configuration/pom.xml
@@ -0,0 +1,67 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.lifecycle.test</groupId>
+ <artifactId>mojo-configuration</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <name>project-with-additional-lifecycle-elements</name>
+ <url>http://maven.apache.org</url>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-basic/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-basic/pom.xml
new file mode 100644
index 00000000..ab8584d9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-basic/pom.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.lifecycle.test</groupId>
+ <artifactId>project-basic</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Test Project</name>
+ <inceptionYear>2009</inceptionYear>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
new file mode 100644
index 00000000..83080888
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
@@ -0,0 +1,72 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.lifecycle.test</groupId>
+ <artifactId>project-with-additional-lifecycle-elements</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <name>project-with-additional-lifecycle-elements</name>
+ <url>http://maven.apache.org</url>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <goal>generate-test-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
new file mode 100644
index 00000000..826279cc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
@@ -0,0 +1,13 @@
+package org.apache.maven.lifecycle.test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
new file mode 100644
index 00000000..469cb2c4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
@@ -0,0 +1,38 @@
+package org.apache.maven.lifecycle.test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-inheritance/pom.xml
new file mode 100644
index 00000000..0f49e9ae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-inheritance/pom.xml
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>11</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>Maven is a project development management and
+ comprehension tool. Based on the concept of a project object model:
+ builds, dependency management, documentation creation, site
+ publication, and distribution publication are all controlled from
+ the declarative file. Maven can be extended by plugins to utilise a
+ number of other development tools for reporting or the build
+ process.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <inceptionYear>2001</inceptionYear>
+ <properties>
+ <classWorldsVersion>1.3</classWorldsVersion>
+ <commonsCliVersion>1.0</commonsCliVersion>
+ <!--
+
+ Do not update this, Doxia will be decoupled completely from 3.x and someone can
+ create a rendering engine for it if they like when the release stabilizes. JVZ
+
+ -->
+ <doxiaVersion>1.0-alpha-9</doxiaVersion>
+ <easyMockVersion>1.2_Java1.3</easyMockVersion>
+ <junitVersion>3.8.1</junitVersion>
+ <plexusVersion>1.0-beta-3.0.7</plexusVersion>
+ <plexusInteractivityVersion>1.0-alpha-6</plexusInteractivityVersion>
+ <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
+ <plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
+ <plexusUtilsVersion>1.5.8</plexusUtilsVersion>
+ <plexusJetty6Version>1.6</plexusJetty6Version>
+ <plexusWebdavVersion>1.0</plexusWebdavVersion>
+ <wagonVersion>1.0-beta-4</wagonVersion>
+ <modelBuilderVersion>1.7-SNAPSHOT</modelBuilderVersion>
+ <mercuryVersion>1.0-alpha-6-SNAPSHOT</mercuryVersion>
+ <mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
+ <securityDispatcherVersion>1.2</securityDispatcherVersion>
+ <woodstoxVersion>3.2.6</woodstoxVersion>
+ <modelloVersion>1.0.1-SNAPSHOT</modelloVersion>
+ <jxpathVersion>1.3</jxpathVersion>
+ </properties>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Developer List</name>
+ <subscribe>dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Developers-f179.html</otherArchive>
+ <otherArchive>http://maven.dev.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive>
+ <otherArchive>http://maven.users.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Issues-f15573.html</otherArchive>
+ <otherArchive>http://maven.issues.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Commits List</name>
+ <subscribe>commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-commits</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/commits@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Commits-f15575.html</otherArchive>
+ <otherArchive>http://maven.commits.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <!--
+ duplication from parent pom - temporary until they inherit
+ properly
+ -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/announce@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Announcements-f15617.html</otherArchive>
+ <otherArchive>http://maven.announce.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/notifications@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Notifications-f15574.html</otherArchive>
+ <otherArchive>http://maven.notifications.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ </mailingLists>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/trunk</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexusVersion}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <goal>generate-test-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>${modelloVersion}</version>
+ <configuration>
+ <useJava5>true</useJava5>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-core</module>
+ <module>apache-maven</module>
+ <module>maven-model</module>
+ <module>maven-plugin-api</module>
+ <module>maven-project</module>
+ <module>maven-reporting-api</module>
+ <module>maven-project-builder</module>
+ <module>maven-mercury</module>
+ <module>maven-embedder</module>
+ <module>maven-toolchain</module>
+ <module>maven-compat</module>
+ <module>maven-repository</module>
+ <module>maven-repository-mercury</module>
+ </modules>
+ <!--start-->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junitVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <!--end-->
+ <dependencies>
+ <!-- Maven Modules -->
+ <!--start-->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-lifecycle</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-toolchain</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-embedder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project-builder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!--end-->
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>${classWorldsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>${plexusInterpolationVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>${plexusInteractivityVersion}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- Plexus test dependencies -->
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-jetty6</artifactId>
+ <version>${plexusJetty6Version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>plexus-webdav</artifactId>
+ <version>${plexusWebdavVersion}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Wagon -->
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <!-- Doxia -->
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <version>${doxiaVersion}</version>
+ </dependency>
+ <!-- Maven Shared -->
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>model-builder</artifactId>
+ <version>${modelBuilderVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <version>${woodstoxVersion}</version>
+ </dependency>
+ <!-- Commons -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>${commonsCliVersion}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-lang</artifactId>
+ <groupId>commons-lang</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ <version>${jxpathVersion}</version>
+ </dependency>
+
+ <!-- Mercury -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-plexus</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.mercury</groupId>
+ <artifactId>mercury-mp3-cli</artifactId>
+ <version>${mercuryMp3Version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-sec-dispatcher</artifactId>
+ <version>${securityDispatcherVersion}</version>
+ </dependency>
+
+
+ <!-- Mercury test dependencies -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-plugin-manager</artifactId>
+ <version>${plexusPluginManagerVersion}</version>
+ </dependency>
+ <!--start-->
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>${easyMockVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <!--end-->
+ </dependencies>
+ <!--start-->
+ </dependencyManagement>
+ <!--end-->
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
+ </site>
+ </distributionManagement>
+ <profiles>
+ <profile>
+ <id>osgi</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Needed for including the manifest, see MJAR-71 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <inherited>false</inherited>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ <finalName>maven-${project.version}-src</finalName>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>strict</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <id>enforce-jdk-15</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>1.5</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/pom.xml
new file mode 100644
index 00000000..e7a38347
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/pom.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>project-with-multiple-executions</artifactId>
+ <version>1.0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <executions>
+ <execution>
+ <id>remote-resources</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.1.0</version>
+ <models>
+ <model>src/main/mdo/remote-resources.mdo</model>
+ </models>
+ </configuration>
+ </execution>
+ <execution>
+ <id>supplemental-models</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <models>
+ <model>src/main/mdo/supplemental-model.mdo</model>
+ </models>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/remote-resources.mdo b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/remote-resources.mdo
new file mode 100644
index 00000000..c64cfbc8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/remote-resources.mdo
@@ -0,0 +1,61 @@
+<!--
+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.
+-->
+
+<model>
+ <id>remoteResourcesBundle</id>
+ <name>RemoteResourcesBundle</name>
+ <description><![CDATA[
+ A bundle of remote resources.
+ This is the model specification for remote-resources.xml.
+ ]]></description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.plugin.resources.remote</value>
+ </default>
+ </defaults>
+ <classes>
+ <class rootElement="true" xml.tagName="remoteResourcesBundle">
+ <name>RemoteResourcesBundle</name>
+ <version>1.1.0</version>
+ <description>Root element of the remote-resources.xml file.</description>
+ <fields>
+ <field>
+ <name>remoteResources</name>
+ <version>1.1.0</version>
+ <description><![CDATA[
+ Remote resources that are contained in a remote resources bundle.
+ ]]></description>
+ <association>
+ <type>String</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>sourceEncoding</name>
+ <version>1.1.0</version>
+ <description><![CDATA[
+ Source encoding of the remote resources contained in the bundle.
+ ]]></description>
+ <type>String</type>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/supplemental-model.mdo b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/supplemental-model.mdo
new file mode 100644
index 00000000..102149df
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-multiple-executions/src/main/mdo/supplemental-model.mdo
@@ -0,0 +1,61 @@
+<!--
+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.
+-->
+
+<model>
+ <id>supplementalModel</id>
+ <name>SupplementalDataModel</name>
+ <description>Provides access to supplemental POM data models.</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.plugin.resources.remote</value>
+ </default>
+ </defaults>
+ <classes>
+ <class rootElement="true" xml.tagName="supplementalDataModels" xsd.compositor="sequence">
+ <name>SupplementalDataModel</name>
+ <version>1.0.0</version>
+ <description>Root element of the supplemental-models.xml file.</description>
+ <fields>
+ <field xml.listStyle="flat">
+ <name>supplement</name>
+ <version>1.0.0</version>
+ <description>Snippets of POM xml files used to supplement the data model.</description>
+ <association>
+ <type>Supplement</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
+ <class>
+ <name>Supplement</name>
+ <version>1.0.0</version>
+ <description>A single supplement</description>
+ <fields>
+ <field>
+ <name>project</name>
+ <version>1.0.0</version>
+ <description>Snippets of POM xml files used to supplement the data model.</description>
+ <type>DOM</type>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-plugin-level-configuration-only/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-plugin-level-configuration-only/pom.xml
new file mode 100644
index 00000000..b3bb2dd9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-executor/project-with-plugin-level-configuration-only/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>project-plugin-level-configuration-only</artifactId>
+ <version>1.0.1</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0.1</version>
+ <configuration>
+ <version>1.1.0</version>
+ <models>
+ <model>src/main/mdo/remote-resources.mdo</model>
+ </models>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-listener-dependency-injection/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-listener-dependency-injection/pom.xml
new file mode 100644
index 00000000..41b99c72
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-listener-dependency-injection/pom.xml
@@ -0,0 +1,30 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.lifecycle-listener.test</groupId>
+ <artifactId>simple</artifactId>
+ <version>1.0</version>
+
+ <properties>
+ <foo>${injected}</foo>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>it</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-a/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-a/pom.xml
new file mode 100644
index 00000000..6a173f61
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-a/pom.xml
@@ -0,0 +1,12 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>lifecycle-participant-reactor-dependency-injection</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>module-a</artifactId>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-b/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-b/pom.xml
new file mode 100644
index 00000000..795111a2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/module-b/pom.xml
@@ -0,0 +1,12 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>lifecycle-participant-reactor-dependency-injection</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>module-b</artifactId>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/pom.xml
new file mode 100644
index 00000000..2830b321
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/lifecycle-listener/lifecycle-participant-reactor-dependency-injection/pom.xml
@@ -0,0 +1,13 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>lifecycle-participant-reactor-dependency-injection</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>module-a</module>
+ <module>module-b</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/mng-5003-plugin-realm-cache/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/mng-5003-plugin-realm-cache/pom.xml
new file mode 100644
index 00000000..55f8e317
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/mng-5003-plugin-realm-cache/pom.xml
@@ -0,0 +1,8 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng5003</groupId>
+ <artifactId>mng-5003-plugin-realm-cache</artifactId>
+ <version>1.0</version>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml
new file mode 100644
index 00000000..a9fa3cac
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml
@@ -0,0 +1,44 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3586</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.0</version>
+
+ <name>Maven Integration Test :: MNG-3586</name>
+ <description>
+ Test that plugin dependencies with scope system are part of the plugin class realm.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3586</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.5.0</version>
+ <scope>system</scope>
+ <systemPath>${basedir}/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>load</id>
+ <phase>validate</phase>
+ <configuration>
+ <resourcePaths>maven-core-it.properties</resourcePaths>
+ <pluginClassLoaderOutput>target/pcl.properties</pluginClassLoaderOutput>
+ </configuration>
+ <goals>
+ <goal>load</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-build-extensions-plugin/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-build-extensions-plugin/pom.xml
new file mode 100644
index 00000000..d4e34a5d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-build-extensions-plugin/pom.xml
@@ -0,0 +1,31 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.test</groupId>
+ <artifactId>project-with-build-extensions-plugin</artifactId>
+ <version>1.0</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>load</id>
+ <phase>validate</phase>
+ <configuration>
+ <resourcePaths>maven-core-it.properties</resourcePaths>
+ <pluginClassLoaderOutput>target/pcl.properties</pluginClassLoaderOutput>
+ </configuration>
+ <goals>
+ <goal>load</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml
new file mode 100644
index 00000000..0f49e9ae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>11</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>Maven is a project development management and
+ comprehension tool. Based on the concept of a project object model:
+ builds, dependency management, documentation creation, site
+ publication, and distribution publication are all controlled from
+ the declarative file. Maven can be extended by plugins to utilise a
+ number of other development tools for reporting or the build
+ process.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <inceptionYear>2001</inceptionYear>
+ <properties>
+ <classWorldsVersion>1.3</classWorldsVersion>
+ <commonsCliVersion>1.0</commonsCliVersion>
+ <!--
+
+ Do not update this, Doxia will be decoupled completely from 3.x and someone can
+ create a rendering engine for it if they like when the release stabilizes. JVZ
+
+ -->
+ <doxiaVersion>1.0-alpha-9</doxiaVersion>
+ <easyMockVersion>1.2_Java1.3</easyMockVersion>
+ <junitVersion>3.8.1</junitVersion>
+ <plexusVersion>1.0-beta-3.0.7</plexusVersion>
+ <plexusInteractivityVersion>1.0-alpha-6</plexusInteractivityVersion>
+ <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
+ <plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
+ <plexusUtilsVersion>1.5.8</plexusUtilsVersion>
+ <plexusJetty6Version>1.6</plexusJetty6Version>
+ <plexusWebdavVersion>1.0</plexusWebdavVersion>
+ <wagonVersion>1.0-beta-4</wagonVersion>
+ <modelBuilderVersion>1.7-SNAPSHOT</modelBuilderVersion>
+ <mercuryVersion>1.0-alpha-6-SNAPSHOT</mercuryVersion>
+ <mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
+ <securityDispatcherVersion>1.2</securityDispatcherVersion>
+ <woodstoxVersion>3.2.6</woodstoxVersion>
+ <modelloVersion>1.0.1-SNAPSHOT</modelloVersion>
+ <jxpathVersion>1.3</jxpathVersion>
+ </properties>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Developer List</name>
+ <subscribe>dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Developers-f179.html</otherArchive>
+ <otherArchive>http://maven.dev.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive>
+ <otherArchive>http://maven.users.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Issues-f15573.html</otherArchive>
+ <otherArchive>http://maven.issues.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Commits List</name>
+ <subscribe>commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-commits</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/commits@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Commits-f15575.html</otherArchive>
+ <otherArchive>http://maven.commits.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <!--
+ duplication from parent pom - temporary until they inherit
+ properly
+ -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/announce@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Announcements-f15617.html</otherArchive>
+ <otherArchive>http://maven.announce.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/notifications@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Notifications-f15574.html</otherArchive>
+ <otherArchive>http://maven.notifications.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ </mailingLists>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/trunk</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexusVersion}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <goal>generate-test-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>${modelloVersion}</version>
+ <configuration>
+ <useJava5>true</useJava5>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-core</module>
+ <module>apache-maven</module>
+ <module>maven-model</module>
+ <module>maven-plugin-api</module>
+ <module>maven-project</module>
+ <module>maven-reporting-api</module>
+ <module>maven-project-builder</module>
+ <module>maven-mercury</module>
+ <module>maven-embedder</module>
+ <module>maven-toolchain</module>
+ <module>maven-compat</module>
+ <module>maven-repository</module>
+ <module>maven-repository-mercury</module>
+ </modules>
+ <!--start-->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junitVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <!--end-->
+ <dependencies>
+ <!-- Maven Modules -->
+ <!--start-->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-lifecycle</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-toolchain</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-embedder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project-builder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!--end-->
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>${classWorldsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>${plexusInterpolationVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>${plexusInteractivityVersion}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- Plexus test dependencies -->
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-jetty6</artifactId>
+ <version>${plexusJetty6Version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>plexus-webdav</artifactId>
+ <version>${plexusWebdavVersion}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Wagon -->
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <!-- Doxia -->
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <version>${doxiaVersion}</version>
+ </dependency>
+ <!-- Maven Shared -->
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>model-builder</artifactId>
+ <version>${modelBuilderVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <version>${woodstoxVersion}</version>
+ </dependency>
+ <!-- Commons -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>${commonsCliVersion}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-lang</artifactId>
+ <groupId>commons-lang</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ <version>${jxpathVersion}</version>
+ </dependency>
+
+ <!-- Mercury -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-plexus</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.mercury</groupId>
+ <artifactId>mercury-mp3-cli</artifactId>
+ <version>${mercuryMp3Version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-sec-dispatcher</artifactId>
+ <version>${securityDispatcherVersion}</version>
+ </dependency>
+
+
+ <!-- Mercury test dependencies -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-plugin-manager</artifactId>
+ <version>${plexusPluginManagerVersion}</version>
+ </dependency>
+ <!--start-->
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>${easyMockVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <!--end-->
+ </dependencies>
+ <!--start-->
+ </dependencyManagement>
+ <!--end-->
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
+ </site>
+ </distributionManagement>
+ <profiles>
+ <profile>
+ <id>osgi</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Needed for including the manifest, see MJAR-71 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <inherited>false</inherited>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ <finalName>maven-${project.version}-src</finalName>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>strict</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <id>enforce-jdk-15</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>1.5</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/pom.xml
new file mode 100644
index 00000000..32124c53
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/pom.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3906</name>
+ <description>
+ Test that project-level plugin dependencies are properly merged during inheritance.
+ </description>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>e</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>d</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/pom.xml
new file mode 100644
index 00000000..e13262b0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/pom.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3906</name>
+ <description>
+ Test that project-level plugin dependencies are properly merged during inheritance.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>c</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>load</id>
+ <phase>validate</phase>
+ <configuration>
+ <resourcePaths>org/apache/maven/its/mng3906/SomeClass.class</resourcePaths>
+ <pluginClassLoaderOutput>target/pcl.properties</pluginClassLoaderOutput>
+ </configuration>
+ <goals>
+ <goal>load</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.jar
new file mode 100644
index 00000000..0db2c9f4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.pom
new file mode 100644
index 00000000..ed095b25
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.1/a-0.1.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.jar
new file mode 100644
index 00000000..c5fb69a1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.pom
new file mode 100644
index 00000000..cb5373bd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/0.2/a-0.2.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/maven-metadata.xml
new file mode 100644
index 00000000..472f1c8c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/a/maven-metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <release>0.2</release>
+ <versions>
+ <version>0.1</version>
+ <version>0.2</version>
+ </versions>
+ <lastUpdated>20081214111115</lastUpdated>
+ </versioning>
+</metadata> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.jar
new file mode 100644
index 00000000..7817617f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.pom
new file mode 100644
index 00000000..d4dbbb73
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/0.1/b-0.1.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/maven-metadata.xml
new file mode 100644
index 00000000..2847985b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/b/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20081214111129</lastUpdated>
+ </versioning>
+</metadata> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.jar
new file mode 100644
index 00000000..a4dcec7a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.pom
new file mode 100644
index 00000000..afc967cb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/0.1/c-0.1.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>c</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/maven-metadata.xml
new file mode 100644
index 00000000..bcc92824
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/c/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>c</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20081214111138</lastUpdated>
+ </versioning>
+</metadata> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.jar
new file mode 100644
index 00000000..067491b4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.pom
new file mode 100644
index 00000000..bfd077cb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/0.1/d-0.1.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>d</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/maven-metadata.xml
new file mode 100644
index 00000000..06b6e18d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/d/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>d</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20081214111146</lastUpdated>
+ </versioning>
+</metadata> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.jar
new file mode 100644
index 00000000..2469da59
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.pom
new file mode 100644
index 00000000..24f2705e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/0.1/e-0.1.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>e</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/maven-metadata.xml
new file mode 100644
index 00000000..95023c7a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/repo/org/apache/maven/its/mng3906/e/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><metadata>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>e</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20081214111155</lastUpdated>
+ </versioning>
+</metadata> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/settings-template.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/settings-template.xml
new file mode 100644
index 00000000..cde42158
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/plugin-manager/project-with-plugin-classpath-ordering/sub/settings-template.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<settings>
+ <profiles>
+ <profile>
+ <id>maven-core-it-repo</id>
+ <repositories>
+ <repository>
+ <id>maven-core-it</id>
+ <url>@baseurl@/repo</url>
+ <releases>
+ <checksumPolicy>ignore</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven-core-it</id>
+ <url>@baseurl@/repo</url>
+ <releases>
+ <checksumPolicy>ignore</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+ <activeProfiles>
+ <activeProfile>maven-core-it-repo</activeProfile>
+ </activeProfiles>
+</settings>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/jre/placeholder.txt b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/jre/placeholder.txt
new file mode 100644
index 00000000..e26e8608
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/jre/placeholder.txt
@@ -0,0 +1 @@
+need it so that empty folder does not get deleted \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/lib/tools.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/lib/tools.jar
new file mode 100644
index 00000000..d6435519
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/jdk/lib/tools.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/pom.xml
new file mode 100644
index 00000000..0d7b08a9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/it0063/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.it0063</groupId>
+ <artifactId>maven-it-it0063</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: it0063</name>
+ <description>Test the use of a system scoped dependency to a (fake) tools.jar.</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.sun</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.4.2</version>
+ <scope>system</scope>
+ <systemPath>${jre.home}/../lib/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <compileClassPath>target/compile.txt</compileClassPath>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/consumer/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/consumer/pom.xml
new file mode 100644
index 00000000..a70b208c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/consumer/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>consumer</artifactId>
+
+ <name>Maven Integration Test :: MNG-3023 :: Consumer</name>
+ <description>Test that reactor projects are included in dependency resolution.</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>dependency</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>compile-classpath</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <configuration>
+ <compileClassPath>${project.build.directory}/compile.classpath</compileClassPath>
+ <significantPathLevels>1</significantPathLevels>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/dependency-1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/dependency-1.jar
new file mode 100644
index 00000000..d1fb4ec7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/dependency-1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/pom.xml
new file mode 100644
index 00000000..e783f85c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/dependency/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>dependency</artifactId>
+
+ <name>Maven Integration Test :: MNG-3023 :: Dependency</name>
+ <description>Test that reactor projects are included in dependency resolution.</description>
+
+ <build>
+ <outputDirectory>dependency-classes</outputDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-artifact</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>compile</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>set</goal>
+ </goals>
+ <configuration>
+ <mainFile>dependency-classes</mainFile>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>set</goal>
+ <goal>attach-pom</goal>
+ <goal>install</goal>
+ </goals>
+ <configuration>
+ <mainFile>dependency-1.jar</mainFile>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/pom.xml
new file mode 100644
index 00000000..23f09ce5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-builder/mng-3023/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3023</groupId>
+ <artifactId>parent</artifactId>
+ <version>1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3023</name>
+ <description>Test that reactor projects are included in dependency resolution.</description>
+
+ <modules>
+ <module>dependency</module>
+ <module>consumer</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/jre/placeholder.txt b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/jre/placeholder.txt
new file mode 100644
index 00000000..e26e8608
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/jre/placeholder.txt
@@ -0,0 +1 @@
+need it so that empty folder does not get deleted \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/lib/tools.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/lib/tools.jar
new file mode 100644
index 00000000..d6435519
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/jdk/lib/tools.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/pom.xml
new file mode 100644
index 00000000..0d7b08a9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/it0063/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.it0063</groupId>
+ <artifactId>maven-it-it0063</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: it0063</name>
+ <description>Test the use of a system scoped dependency to a (fake) tools.jar.</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.sun</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.4.2</version>
+ <scope>system</scope>
+ <systemPath>${jre.home}/../lib/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <compileClassPath>target/compile.txt</compileClassPath>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/project-with-exclusions/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/project-with-exclusions/pom.xml
new file mode 100644
index 00000000..9fae2925
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/projects/project-dependencies-resolver/project-with-exclusions/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.its.mng4034</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>maven-core-it-support</artifactId>
+ <version>1.3</version>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.jar
new file mode 100644
index 00000000..609ec21b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom
new file mode 100644
index 00000000..f4514188
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: Dummy Artifact</name>
+ <description>
+
+ </description>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/maven-metadata.xml
new file mode 100644
index 00000000..8099175e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/a/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023222756</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.jar
new file mode 100644
index 00000000..19df0485
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.pom
new file mode 100644
index 00000000..ca20cbf5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/0.1/b-0.1.pom
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: Dummy Artifact</name>
+ <description>
+
+ </description>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/maven-metadata.xml
new file mode 100644
index 00000000..e77af628
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/b/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023222817</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.jar
new file mode 100644
index 00000000..84a4bf7a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.pom
new file mode 100644
index 00000000..4cd0ff00
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/maven-it-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/pom.xml
new file mode 100644
index 00000000..4cd0ff00
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/0.1/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/maven-metadata.xml
new file mode 100644
index 00000000..65155293
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-it-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023233513</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-metadata.xml
new file mode 100644
index 00000000..637ec122
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/its/plugins/maven-metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <plugins>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>it</prefix>
+ <artifactId>maven-it-plugin</artifactId>
+ </plugin>
+ </plugins>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar
new file mode 100644
index 00000000..5150c162
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
new file mode 100644
index 00000000..f4ea8d1d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom
@@ -0,0 +1,23 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <name>Maven Plugin API</name>
+ <version>2.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven/2.0/maven-2.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven/2.0/maven-2.0.pom
new file mode 100644
index 00000000..3fe5d31d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/maven/2.0/maven-2.0.pom
@@ -0,0 +1,264 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven</name>
+ <version>2.0</version>
+ <description>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</description>
+ <url>http://maven.apache.org/maven2/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <notifiers>
+ <notifier>
+ <configuration>
+ <address>commits@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Developer List</name>
+ <subscribe>dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Commits List</name>
+ <subscribe>commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <post>commits@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ </developers>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/tags/maven-2.0</url>
+ </scm>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-archiver</module>
+ <module>maven-artifact</module>
+ <module>maven-artifact-manager</module>
+ <module>maven-artifact-ant</module>
+ <module>maven-artifact-test</module>
+ <module>maven-core</module>
+ <module>maven-error-diagnostics</module>
+ <module>maven-model</module>
+ <module>maven-monitor</module>
+ <module>maven-plugin-api</module>
+ <module>maven-plugin-descriptor</module>
+ <module>maven-plugin-parameter-documenter</module>
+ <module>maven-plugin-registry</module>
+ <module>maven-plugin-tools</module>
+ <module>maven-profile</module>
+ <module>maven-project</module>
+ <module>maven-reporting</module>
+ <module>maven-repository-metadata</module>
+ <module>maven-script</module>
+ <module>maven-settings</module>
+ </modules>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <id>snapshots</id>
+ <name>Maven Central Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>1.0-alpha-5</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ <site>
+ <id>website</id>
+ <url>scp://minotaur.apache.org/www/maven.apache.org/maven2/</url>
+ </site>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.jar
new file mode 100644
index 00000000..ee01f101
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.pom
new file mode 100644
index 00000000..e4318d07
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/0.1/maven-clean-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/maven-metadata.xml
new file mode 100644
index 00000000..91261b37
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-clean-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023224342</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.jar
new file mode 100644
index 00000000..e5ef4464
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.pom
new file mode 100644
index 00000000..22371630
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/0.1/maven-compiler-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
new file mode 100644
index 00000000..544f16ea
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023224813</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.jar
new file mode 100644
index 00000000..f2432a6d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.pom
new file mode 100644
index 00000000..82ed5748
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/0.1/maven-deploy-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
new file mode 100644
index 00000000..f0af94c7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-deploy-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023224421</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.jar
new file mode 100644
index 00000000..a6adb988
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.pom
new file mode 100644
index 00000000..1ce2bd06
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/0.1/maven-install-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
new file mode 100644
index 00000000..bb528791
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-install-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023224444</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.jar
new file mode 100644
index 00000000..0b03b350
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.pom
new file mode 100644
index 00000000..d8abdf6f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/0.1/maven-jar-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml
new file mode 100644
index 00000000..6b734ad5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023232454</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-metadata.xml
new file mode 100644
index 00000000..615714cc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-metadata.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <plugins>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>clean</prefix>
+ <artifactId>maven-clean-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>deploy</prefix>
+ <artifactId>maven-deploy-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>install</prefix>
+ <artifactId>maven-install-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>jar</prefix>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>surefire</prefix>
+ <artifactId>maven-surefire-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>compiler</prefix>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>resources</prefix>
+ <artifactId>maven-resources-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <name>Maven Integration Test Plugin</name>
+ <prefix>plugin</prefix>
+ <artifactId>maven-plugin-plugin</artifactId>
+ </plugin>
+ </plugins>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.jar
new file mode 100644
index 00000000..e2eab46e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.pom
new file mode 100644
index 00000000..7df6bdbc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/0.1/maven-plugin-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata.xml
new file mode 100644
index 00000000..4c29db7d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023225046</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.jar
new file mode 100644
index 00000000..ffa11df4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.pom
new file mode 100644
index 00000000..782dbf7d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/0.1/maven-resources-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml
new file mode 100644
index 00000000..38c5503a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023224958</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.jar
new file mode 100644
index 00000000..989e5837
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.pom
new file mode 100644
index 00000000..3588a043
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/0.1/maven-surefire-plugin-0.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>Maven Integration Test Plugin</name>
+ <description>
+ A test plugin to assist testing of Maven core.
+ </description>
+ <inceptionYear>2009</inceptionYear>
+
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ </repository>
+ </distributionManagement>
+
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>pom.xml</include>
+ <include>src/**</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml
new file mode 100644
index 00000000..c6d1df93
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/apache/maven/plugins/maven-surefire-plugin/maven-metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1</version>
+ <versioning>
+ <latest>0.1</latest>
+ <release>0.1</release>
+ <versions>
+ <version>0.1</version>
+ </versions>
+ <lastUpdated>20091023225125</lastUpdated>
+ </versioning>
+</metadata>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
new file mode 100644
index 00000000..5c50e177
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
new file mode 100644
index 00000000..6cf90799
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/remote-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.1</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/child/pom.xml
new file mode 100644
index 00000000..eee189d4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/child/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <!-- while groupId and version are inherited, artifactId is not and must be specified -->
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/pom.xml
new file mode 100644
index 00000000..f22afbc0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/artifact-id-inheritance/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <!--
+ NOTE: This extends the test to check an edge case of URL adjustment which must not error out during inheritance
+ if the child misses the artifactId (as to be reported by validation).
+ -->
+ <url>http://maven.apache.org/</url>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-aligned-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-aligned-interpolation/pom.xml
new file mode 100644
index 00000000..1885fc48
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-aligned-interpolation/pom.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3822</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3822</name>
+ <description>
+ Verify that POM interpolation uses basedir-aligned build directories.
+ </description>
+
+ <properties>
+ <!-- this is where we collect all the interpolated values for the POM dump -->
+ <buildMainSrc>${project.build.sourceDirectory}</buildMainSrc>
+ <buildTestSrc>${project.build.testSourceDirectory}</buildTestSrc>
+ <buildScriptSrc>${project.build.scriptSourceDirectory}</buildScriptSrc>
+ <buildOut>${project.build.directory}</buildOut>
+ <buildMainOut>${project.build.outputDirectory}</buildMainOut>
+ <buildTestOut>${project.build.testOutputDirectory}</buildTestOut>
+ <siteOut>${project.reporting.outputDirectory}</siteOut>
+ </properties>
+
+ <build>
+ <!--
+ NOTE: Deliberately set all build directories to relative paths to ensure they really need basedir alignment.
+ -->
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+ <directory>target</directory>
+ <outputDirectory>target/classes</outputDirectory>
+ <testOutputDirectory>target/test-classes</testOutputDirectory>
+ </build>
+
+ <reporting>
+ <outputDirectory>target/site</outputDirectory>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-interpolation/pom-with-unusual-name.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-interpolation/pom-with-unusual-name.xml
new file mode 100644
index 00000000..1c037e63
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/basedir-interpolation/pom-with-unusual-name.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3944</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3944</name>
+ <description>
+ Test that interpolation of ${basedir} works for a POM that is not named "pom.xml"
+ </description>
+
+ <properties>
+ <!-- this is where we collect all the interpolated values for the POM dump -->
+ <prop0>${basedir}</prop0>
+ <prop1>${project.basedir}</prop1>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/baseurl-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/baseurl-interpolation/pom.xml
new file mode 100644
index 00000000..f1d4e6ca
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/baseurl-interpolation/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3760</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3760</name>
+ <description>
+ Test interpolation of ${project.baseUri}
+ </description>
+
+ <properties>
+ <!-- this is where we collect all the interpolated values for the POM dump -->
+ <prop1>${project.baseUri}</prop1>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/boolean-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/boolean-interpolation/pom.xml
new file mode 100644
index 00000000..992eac1e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/boolean-interpolation/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng1995</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0</version>
+
+ <name>Maven Integration Test :: MNG-1995</name>
+ <description>
+ Verify that POM fields that are of type boolean can be interpolated with expressions.
+ </description>
+
+ <properties>
+ <filter.resources>true</filter.resources>
+ <releasesEnabled>true</releasesEnabled>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>maven-core-it</id>
+ <url>file:///${basedir}/repo</url>
+ <releases>
+ <!-- That's the boolean POM field we would like to interpolate -->
+ <enabled>${releasesEnabled}</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <!-- That's the boolean POM field we would like to interpolate -->
+ <filtering>${filter.resources}</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <outputFile>target/expression.properties</outputFile>
+ <expressions>
+ <expression>project/build/resources/0/filtering</expression>
+ <expression>project/repositories</expression>
+ </expressions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/pom.xml
new file mode 100644
index 00000000..262af4fb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3899</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3899</name>
+ <description>
+ Test that build extensions are properly merged during inheritance.
+ </description>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.its.mng3899</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </extension>
+ <extension>
+ <groupId>org.apache.maven.its.mng3899</groupId>
+ <artifactId>c</artifactId>
+ <version>0.1</version>
+ </extension>
+ </extensions>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/sub/pom.xml
new file mode 100644
index 00000000..dc8f6f5b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/build-extension-inheritance/sub/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3899</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3899</name>
+ <description>
+ Test that build extensions are properly merged during inheritance.
+ </description>
+
+ <build>
+ <!-- project extensions should precede inherited extensions -->
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.its.mng3899</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ </extension>
+ <extension>
+ <!-- project extensions should override inherited extension with equal gid:aid -->
+ <groupId>org.apache.maven.its.mng3899</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ </extension>
+ </extensions>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/extension.properties</outputFile>
+ <expressions>
+ <expression>project/build/extensions</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/pom.xml
new file mode 100644
index 00000000..ebcd7d1e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <!-- minimal parent just to have one more level of inheritance -->
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/sub/pom.xml
new file mode 100644
index 00000000..68ca28dd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/w-parent/sub/pom.xml
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng</groupId>
+ <artifactId>test</artifactId>
+ <version>0.2</version>
+ <packaging>pom</packaging>
+
+ <name>project-name</name>
+ <description>project-description</description>
+ <url>http://project.url/</url>
+ <inceptionYear>2009</inceptionYear>
+ <organization>
+ <name>project-org</name>
+ <url>http://project-org.url/</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>project-license</name>
+ <url>http://project.url/license</url>
+ <distribution>repo</distribution>
+ <comments>free</comments>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <id>dev</id>
+ <name>project-developer</name>
+ <email>developer@</email>
+ <url>http://developer</url>
+ <organization>developer</organization>
+ <organizationUrl>http://devel.org</organizationUrl>
+ <roles>
+ <role>devel</role>
+ </roles>
+ <timezone>-1</timezone>
+ <properties>
+ <developer>yes</developer>
+ </properties>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>project-contributor</name>
+ <email>contributor@</email>
+ <url>http://contributor</url>
+ <organization>contributor</organization>
+ <organizationUrl>http://contrib.org</organizationUrl>
+ <roles>
+ <role>contrib</role>
+ </roles>
+ <timezone>+1</timezone>
+ <properties>
+ <contributor>yes</contributor>
+ </properties>
+ </contributor>
+ </contributors>
+
+ <mailingLists>
+ <mailingList>
+ <name>project-mailing-list</name>
+ <subscribe>subscribe@</subscribe>
+ <unsubscribe>unsubscribe@</unsubscribe>
+ <post>post@</post>
+ <archive>mail-archive</archive>
+ <otherArchives>
+ <otherArchive>other-archive</otherArchive>
+ </otherArchives>
+ </mailingList>
+ </mailingLists>
+
+ <prerequisites>
+ <maven>2.0.1</maven>
+ </prerequisites>
+
+ <scm>
+ <url>http://project.url/trunk</url>
+ <connection>http://project.url/scm</connection>
+ <developerConnection>https://project.url/scm</developerConnection>
+ <tag>TAG</tag>
+ </scm>
+ <issueManagement>
+ <system>issues</system>
+ <url>http://project.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <system>ci</system>
+ <url>http://project.url/ci</url>
+ <notifiers>
+ <notifier>
+ <type>irc</type>
+ <address>ci@</address>
+ <sendOnError>true</sendOnError>
+ <sendOnFailure>false</sendOnFailure>
+ <sendOnSuccess>false</sendOnSuccess>
+ <sendOnWarning>false</sendOnWarning>
+ <configuration>
+ <ciProp>ci</ciProp>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <url>http://project.url/dist</url>
+ <id>project.distros</id>
+ <name>distros</name>
+ </repository>
+ <snapshotRepository>
+ <url>http://project.url/snaps</url>
+ <id>project.snaps</id>
+ <name>snaps</name>
+ <uniqueVersion>false</uniqueVersion>
+ </snapshotRepository>
+ <site>
+ <url>http://project.url/site</url>
+ <id>project.site</id>
+ <name>docs</name>
+ </site>
+ <downloadUrl>http://project.url/download</downloadUrl>
+ <relocation>
+ <groupId>reloc-gid</groupId>
+ <artifactId>reloc-aid</artifactId>
+ <version>reloc-version</version>
+ <message>project-reloc-msg</message>
+ </relocation>
+ </distributionManagement>
+
+ <modules>
+ <module>sub</module>
+ </modules>
+
+ <properties>
+ <itProperty>project-property</itProperty>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>managed-dep</artifactId>
+ <version>0.1</version>
+ <type>war</type>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>excluded-managed-dep</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>dep</artifactId>
+ <version>0.2</version>
+ <type>ejb</type>
+ <scope>test</scope>
+ <optional>true</optional>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>excluded-dep</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <id>project-remote-repo</id>
+ <url>http://project.url/remote</url>
+ <name>repo</name>
+ </repository>
+ </repositories>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.its.ext</groupId>
+ <artifactId>ext</artifactId>
+ <version>3.0</version>
+ </extension>
+ </extensions>
+
+ <defaultGoal>test</defaultGoal>
+ <directory>build</directory>
+ <sourceDirectory>sources/main</sourceDirectory>
+ <scriptSourceDirectory>sources/scripts</scriptSourceDirectory>
+ <testSourceDirectory>sources/test</testSourceDirectory>
+ <outputDirectory>build/main</outputDirectory>
+ <testOutputDirectory>build/test</testOutputDirectory>
+ <finalName>coreit</finalName>
+ <resources>
+ <resource>
+ <directory>res/main</directory>
+ <filtering>true</filtering>
+ <targetPath>main</targetPath>
+ <includes>
+ <include>main.included</include>
+ </includes>
+ <excludes>
+ <exclude>main.excluded</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>res/test</directory>
+ <filtering>true</filtering>
+ <targetPath>test</targetPath>
+ <includes>
+ <include>test.included</include>
+ </includes>
+ <excludes>
+ <exclude>test.excluded</exclude>
+ </excludes>
+ </testResource>
+ </testResources>
+ <filters>
+ <filter>src/main/filter/it.properties</filter>
+ </filters>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-build</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <outputFile>test.properties</outputFile>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>pom.properties</outputFile>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>build-plugin-dep</artifactId>
+ <version>0.3</version>
+ <type>zip</type>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>excluded-build-plugin-dep</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <excludeDefaults>true</excludeDefaults>
+ <outputDirectory>docs</outputDirectory>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-reporting</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <configuration>
+ <outputFile>test.html</outputFile>
+ </configuration>
+ <reportSets>
+ <reportSet>
+ <id>it</id>
+ <reports>
+ <report>run</report>
+ </reports>
+ <configuration>
+ <outputFile>index.html</outputFile>
+ </configuration>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/wo-parent/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/wo-parent/pom.xml
new file mode 100644
index 00000000..7b1ad794
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/complete-model/wo-parent/pom.xml
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng</groupId>
+ <artifactId>test</artifactId>
+ <version>0.2</version>
+ <packaging>pom</packaging>
+
+ <name>project-name</name>
+ <description>project-description</description>
+ <url>http://project.url/</url>
+ <inceptionYear>2009</inceptionYear>
+ <organization>
+ <name>project-org</name>
+ <url>http://project-org.url/</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>project-license</name>
+ <url>http://project.url/license</url>
+ <distribution>repo</distribution>
+ <comments>free</comments>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <id>dev</id>
+ <name>project-developer</name>
+ <email>developer@</email>
+ <url>http://developer</url>
+ <organization>developer</organization>
+ <organizationUrl>http://devel.org</organizationUrl>
+ <roles>
+ <role>devel</role>
+ </roles>
+ <timezone>-1</timezone>
+ <properties>
+ <developer>yes</developer>
+ </properties>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>project-contributor</name>
+ <email>contributor@</email>
+ <url>http://contributor</url>
+ <organization>contributor</organization>
+ <organizationUrl>http://contrib.org</organizationUrl>
+ <roles>
+ <role>contrib</role>
+ </roles>
+ <timezone>+1</timezone>
+ <properties>
+ <contributor>yes</contributor>
+ </properties>
+ </contributor>
+ </contributors>
+
+ <mailingLists>
+ <mailingList>
+ <name>project-mailing-list</name>
+ <subscribe>subscribe@</subscribe>
+ <unsubscribe>unsubscribe@</unsubscribe>
+ <post>post@</post>
+ <archive>mail-archive</archive>
+ <otherArchives>
+ <otherArchive>other-archive</otherArchive>
+ </otherArchives>
+ </mailingList>
+ </mailingLists>
+
+ <prerequisites>
+ <maven>2.0.1</maven>
+ </prerequisites>
+
+ <scm>
+ <url>http://project.url/trunk</url>
+ <connection>http://project.url/scm</connection>
+ <developerConnection>https://project.url/scm</developerConnection>
+ <tag>TAG</tag>
+ </scm>
+ <issueManagement>
+ <system>issues</system>
+ <url>http://project.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <system>ci</system>
+ <url>http://project.url/ci</url>
+ <notifiers>
+ <notifier>
+ <type>irc</type>
+ <address>ci@</address>
+ <sendOnError>true</sendOnError>
+ <sendOnFailure>false</sendOnFailure>
+ <sendOnSuccess>false</sendOnSuccess>
+ <sendOnWarning>false</sendOnWarning>
+ <configuration>
+ <ciProp>ci</ciProp>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <url>http://project.url/dist</url>
+ <id>project.distros</id>
+ <name>distros</name>
+ </repository>
+ <snapshotRepository>
+ <url>http://project.url/snaps</url>
+ <id>project.snaps</id>
+ <name>snaps</name>
+ <uniqueVersion>false</uniqueVersion>
+ </snapshotRepository>
+ <site>
+ <url>http://project.url/site</url>
+ <id>project.site</id>
+ <name>docs</name>
+ </site>
+ <downloadUrl>http://project.url/download</downloadUrl>
+ <relocation>
+ <groupId>reloc-gid</groupId>
+ <artifactId>reloc-aid</artifactId>
+ <version>reloc-version</version>
+ <message>project-reloc-msg</message>
+ </relocation>
+ </distributionManagement>
+
+ <modules>
+ <module>sub</module>
+ </modules>
+
+ <properties>
+ <itProperty>project-property</itProperty>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>managed-dep</artifactId>
+ <version>0.1</version>
+ <type>war</type>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>excluded-managed-dep</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>dep</artifactId>
+ <version>0.2</version>
+ <type>ejb</type>
+ <scope>test</scope>
+ <optional>true</optional>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>excluded-dep</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <id>project-remote-repo</id>
+ <url>http://project.url/remote</url>
+ <name>repo</name>
+ </repository>
+ </repositories>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.its.ext</groupId>
+ <artifactId>ext</artifactId>
+ <version>3.0</version>
+ </extension>
+ </extensions>
+
+ <defaultGoal>test</defaultGoal>
+ <directory>build</directory>
+ <sourceDirectory>sources/main</sourceDirectory>
+ <scriptSourceDirectory>sources/scripts</scriptSourceDirectory>
+ <testSourceDirectory>sources/test</testSourceDirectory>
+ <outputDirectory>build/main</outputDirectory>
+ <testOutputDirectory>build/test</testOutputDirectory>
+ <finalName>coreit</finalName>
+ <resources>
+ <resource>
+ <directory>res/main</directory>
+ <filtering>true</filtering>
+ <targetPath>main</targetPath>
+ <includes>
+ <include>main.included</include>
+ </includes>
+ <excludes>
+ <exclude>main.excluded</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>res/test</directory>
+ <filtering>true</filtering>
+ <targetPath>test</targetPath>
+ <includes>
+ <include>test.included</include>
+ </includes>
+ <excludes>
+ <exclude>test.excluded</exclude>
+ </excludes>
+ </testResource>
+ </testResources>
+ <filters>
+ <filter>src/main/filter/it.properties</filter>
+ </filters>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-build</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <outputFile>test.properties</outputFile>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>pom.properties</outputFile>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>build-plugin-dep</artifactId>
+ <version>0.3</version>
+ <type>zip</type>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>excluded-build-plugin-dep</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <excludeDefaults>true</excludeDefaults>
+ <outputDirectory>docs</outputDirectory>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-reporting</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <configuration>
+ <outputFile>test.html</outputFile>
+ </configuration>
+ <reportSets>
+ <reportSet>
+ <id>it</id>
+ <reports>
+ <report>run</report>
+ </reports>
+ <configuration>
+ <outputFile>index.html</outputFile>
+ </configuration>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/config-with-plugin-mng/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/config-with-plugin-mng/pom.xml
new file mode 100644
index 00000000..e13c8a89
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/config-with-plugin-mng/pom.xml
@@ -0,0 +1,39 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>nexus.xml</id>
+ <configuration>
+ <version>1.0.8</version>
+ </configuration>
+ </execution>
+ <execution>
+ <id>security.xml</id>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/security.xml</model>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/consecutive_empty_elements/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/consecutive_empty_elements/pom.xml
new file mode 100644
index 00000000..16d1968f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/consecutive_empty_elements/pom.xml
@@ -0,0 +1,14 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>artifact</artifactId>
+ <version>1.0</version>
+
+ <developers>
+ <developer>
+ <organization/>
+ <organizationUrl/>
+ </developer>
+ </developers>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/child-2/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/child-2/pom.xml
new file mode 100644
index 00000000..745289fd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/child-2/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ While <contributors> are inherited, they are not aggregated, only the child elements are used.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3843.child</groupId>
+ <artifactId>child-2</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <contributors>
+ <contributor>
+ <name>child-contributor</name>
+ </contributor>
+ </contributors>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/pom.xml
new file mode 100644
index 00000000..1f65eb5f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/contributors-inheritance/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <contributors>
+ <contributor>
+ <name>parent-contributor</name>
+ </contributor>
+ </contributors>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/maven-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/maven-parent.xml
new file mode 100644
index 00000000..6d642626
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/maven-parent.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>11</version>
+ <packaging>pom</packaging>
+
+ <name>Apache Maven</name>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/pom.xml
new file mode 100644
index 00000000..c2c061c3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>11</version>
+ <relativePath>maven-parent.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <properties>
+ <junitVersion>3.8.1</junitVersion>
+ </properties>
+ <!--start-->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junitVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <!--end-->
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/sub/pom.xml
new file mode 100644
index 00000000..788c5a72
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-inheritance/sub/pom.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>3.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project-builder</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <name>Maven Project Builder</name>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/pom.xml
new file mode 100644
index 00000000..49ffab5a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/pom.xml
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>asm-parent</artifactId>
+ <groupId>asm</groupId>
+ <version>3.0</version>
+ <packaging>pom</packaging>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <artifactId>asm-util</artifactId>
+ <groupId>${project.groupId}</groupId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/sub/pom.xml
new file mode 100644
index 00000000..2423568e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-management-with-interpolation/sub/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>asm-parent</artifactId>
+ <groupId>asm</groupId>
+ <version>3.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>asm-xml</artifactId>
+ <version>3.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm-util</artifactId>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..5882ab5c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-4003</name>
+ <description>
+ Verify that dependencies survive the project construction in the POM order.
+ </description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>d</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <!-- NOTE: The combination with a plugin management section is an essential part of the test -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..57bd6d0f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-4003</name>
+ <description>
+ Verify that dependencies survive the project construction in the POM order.
+ </description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4003</groupId>
+ <artifactId>d</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <!-- NOTE: The combination with a plugin section is an essential part of the test -->
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/pom.xml
new file mode 100644
index 00000000..9f2ab958
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/pom.xml
@@ -0,0 +1,16 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <version>1.0</version>
+ <artifactId>a</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/sub/pom.xml
new file mode 100644
index 00000000..80c5570c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope-inheritance/sub/pom.xml
@@ -0,0 +1,19 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p1</artifactId>
+ <version>1.0</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <version>1.0</version>
+ <artifactId>a</artifactId>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/pom.xml
new file mode 100644
index 00000000..0f9ae5c6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/pom.xml
@@ -0,0 +1,18 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-t10</groupId>
+ <artifactId>p0</artifactId>
+ <packaging>pom</packaging>
+ <name>p0</name>
+ <version>1.0</version>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>t10-a</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/sub/pom.xml
new file mode 100644
index 00000000..8cec33d1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dependency-scope/sub/pom.xml
@@ -0,0 +1,24 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven-t10</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-t10</groupId>
+ <artifactId>p1</artifactId>
+ <packaging>pom</packaging>
+ <name>p1</name>
+ <version>1.0</version>
+ <scm>
+ <url>scm-url</url>
+ </scm>
+
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>t10-a</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/child-2/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/child-2/pom.xml
new file mode 100644
index 00000000..dad2375b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/child-2/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ While <developers> are inherited, they are not aggregated, only the child elements are used.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3843.child</groupId>
+ <artifactId>child-2</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <developers>
+ <developer>
+ <name>child-developer</name>
+ </developer>
+ </developers>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/pom.xml
new file mode 100644
index 00000000..6e7c44d1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/developers-inheritance/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <developers>
+ <developer>
+ <name>parent-developer</name>
+ </developer>
+ </developers>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/distribution-management/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/distribution-management/pom.xml
new file mode 100644
index 00000000..1a0acb08
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/distribution-management/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.it0061</groupId>
+ <artifactId>maven-it-it0061</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: it0061</name>
+
+ <distributionManagement>
+ <repository>
+ <id>test</id>
+ <url>file:target/test-repo</url>
+ <layout>legacy</layout>
+ </repository>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/pom.xml
new file mode 100644
index 00000000..8833c089
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/pom.xml
@@ -0,0 +1,28 @@
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-parent</artifactId>
+ <version>1.0.0-alpha-3-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.5</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/sub/pom.xml
new file mode 100644
index 00000000..6ebd5994
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/dual-execution-ids/sub/pom.xml
@@ -0,0 +1,43 @@
+<project>
+
+<parent>
+ <artifactId>mercury-parent</artifactId>
+ <groupId>org.apache.maven.mercury</groupId>
+ <version>1.0.0-alpha-3-SNAPSHOT</version>
+</parent>
+
+<modelVersion>4.0.0</modelVersion>
+<groupId>org.apache.maven.mercury</groupId>
+<artifactId>mercury-util</artifactId>
+<name>Mercury Shared Utilities</name>
+<version>1.0.0-alpha-3-SNAPSHOT</version>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>default</id>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+</build>
+ </project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/nexus-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/nexus-parent.xml
new file mode 100644
index 00000000..d2ac100c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/nexus-parent.xml
@@ -0,0 +1,29 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-parent</artifactId>
+ <version>8-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <properties>
+ <plexus.version>1.0-beta-3.0.5-SNAPSHOT</plexus.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>${plexus.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/pom.xml
new file mode 100644
index 00000000..b12db4f0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/pom.xml
@@ -0,0 +1,33 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-parent</artifactId>
+ <version>8-SNAPSHOT</version>
+ <relativePath>nexus-parent.xml</relativePath>
+ </parent>
+
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Nexus Repository Manager</name>
+ <version>1.3.0-SNAPSHOT</version>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <scope>provided</scope>
+ <version>${plexus.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/sub/pom.xml
new file mode 100644
index 00000000..37b166d1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/duplicate-exclusions-dependency/sub/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>nexus-proxy</artifactId>
+ <dependencies>
+ <!-- For App basic -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-distMng-repo-url/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-distMng-repo-url/pom.xml
new file mode 100644
index 00000000..91ce38df
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-distMng-repo-url/pom.xml
@@ -0,0 +1,15 @@
+<project >
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>11</version>
+
+ <distributionManagement>
+ <repository>
+ <id>dummy</id>
+ <name>Dummy to avoid accidental deploys</name>
+ <url />
+ </repository>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-scm/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-scm/pom.xml
new file mode 100644
index 00000000..a0462ddd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/empty-scm/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ This (almost) minimal POM tests direct inheritance from the super POM.
+ -->
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>test-1</artifactId>
+ <version>0.1</version>
+
+ <name>test</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/pom.properties</outputFile>
+ <expressions>
+ <expression>project</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-deps/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-deps/pom.xml
new file mode 100644
index 00000000..d33b2bae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-deps/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3838</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3838</name>
+ <description>
+ Verify that using the same dependency for different plugins doesn't blow up the project builder.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <dependencies>
+ <!-- NOTE: That's exactly the same dependency as for the other plugin. -->
+ <dependency>
+ <groupId>org.apache.maven.its.mng3838</groupId>
+ <artifactId>dep</artifactId>
+ <version>123</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-b</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <dependencies>
+ <!-- NOTE: That's exactly the same dependency as for the other plugin. -->
+ <dependency>
+ <groupId>org.apache.maven.its.mng3838</groupId>
+ <artifactId>dep</artifactId>
+ <version>123</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-exec-ids/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-exec-ids/pom.xml
new file mode 100644
index 00000000..a05d45d0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/equal-plugin-exec-ids/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3821</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3821</name>
+ <description>
+ Verify that using the same id for executions/reportsets of different plugins doesn't blow up the project builder.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>the-one-and-only-id</id>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-b</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>the-one-and-only-id</id>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <reportSets>
+ <reportSet>
+ <id>the-one-and-only-id</id>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-b</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <reportSets>
+ <reportSet>
+ <id>the-one-and-only-id</id>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-join/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-join/pom.xml
new file mode 100644
index 00000000..28defaa2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-join/pom.xml
@@ -0,0 +1,35 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ <executions>
+ <execution>
+ <configuration>
+ <fileset dir="${basedir}">
+ <include name="LICENSE.txt" />
+ <include name="NOTICE.txt" />
+ </fileset>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-subcollections/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-subcollections/pom.xml
new file mode 100644
index 00000000..e5b19d4e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration-subcollections/pom.xml
@@ -0,0 +1,42 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>nexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Nexus Repository Manager</name>
+ <version>1.1-M1</version>
+
+ <!-- build information for the project -->
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <id>enforce</id>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <exclude>commons-logging:*</exclude>
+ </excludes>
+ <message>a</message>
+ </bannedDependencies>
+ <bannedDependencies>
+ <excludes>
+ <exclude>*:plexus-component-api</exclude>
+ </excludes>
+ </bannedDependencies>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration/pom.xml
new file mode 100644
index 00000000..130174d5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/execution-configuration/pom.xml
@@ -0,0 +1,58 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ <executions>
+ <execution>
+ <id>nexus.xml</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <version>1.0.8</version>
+ <packagedVersions>
+ <packagedVersion>1.0.0</packagedVersion>
+ <packagedVersion>1.0.1</packagedVersion>
+ <packagedVersion>1.0.6</packagedVersion>
+ </packagedVersions>
+ <model>src/main/mdo/nexus.xml</model>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>security.xml</id>
+ <goals>
+ <goal>java1</goal>
+ <goal>xpp3-reader1</goal>
+ <goal>xpp3-writer1</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/security.xml</model>
+ </configuration>
+ </execution>
+
+ </executions>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/foo/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/foo/sub/pom.xml
new file mode 100644
index 00000000..c5e3d9a6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/foo/sub/pom.xml
@@ -0,0 +1,418 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <!--
+ <parent>
+ <groupId>org.apache.maven.archetype</groupId>
+ <artifactId>maven-archetype</artifactId>
+ <version>2.0-alpha-1</version>
+ </parent>
+ -->
+ <artifactId>archetype-common</artifactId>
+ <name>Maven Archetype Common</name>
+ <packaging>jar</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.jchardet</groupId>
+ <artifactId>jchardet</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jdom</groupId>
+ <artifactId>jdom</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-plugin-testing-harness</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-velocity</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>velocity</groupId>
+ <artifactId>velocity</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-core-api-container</artifactId>
+ <version>0.9</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-core-api-util</artifactId>
+ <version>0.9</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-core-api-generic</artifactId>
+ <version>0.9</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-core-api-module</artifactId>
+ <version>0.9</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-core-container-jetty</artifactId>
+ <version>0.9</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>6.1.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http</artifactId>
+ <version>1.0-beta-2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>archetype-repository</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>archetype-proxy</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-14</version>
+ <executions>
+ <execution>
+ <id>archetype-common</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/archetype-common.mdo</model>
+ </configuration>
+ </execution>
+ <execution>
+ <id>archetype-registry</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/archetype-registry.mdo</model>
+ </configuration>
+ </execution>
+ <execution>
+ <id>archetype-descriptor</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/archetype-descriptor.mdo</model>
+ </configuration>
+ </execution>
+ <execution>
+ <id>archetype-catalog</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/archetype-catalog.mdo</model>
+ </configuration>
+ </execution>
+ <execution>
+ <id>archetype-old</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xsd</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/archetype.mdo</model>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/wars</outputDirectory>
+ <overWriteReleases>true</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ <includeTypes>war</includeTypes>
+ <stripVersion>true</stripVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant-antlr</artifactId>
+ <version>1.6.5</version>
+ </dependency>
+ </dependencies>
+
+ <executions>
+ <execution>
+ <id>archetype-test</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <property name="test.projects.name" value="basic" />
+ <property name="test.projects.version" value="1.0" />
+ <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+ <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+ <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+ <property name="test.projects.repository" value="repositories/central" />
+
+ <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+ <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>archetype-test-partial</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <property name="test.projects.name" value="partial" />
+ <property name="test.projects.version" value="1.0" />
+ <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+ <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+ <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+ <property name="test.projects.repository" value="repositories/central" />
+ <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+ <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>archetype-test-site</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <property name="test.projects.name" value="site" />
+ <property name="test.projects.version" value="1.0" />
+ <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+ <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+ <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+ <property name="test.projects.repository" value="repositories/central" />
+
+ <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+ <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>archetype-test-old</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <property name="test.projects.name" value="old" />
+ <property name="test.projects.version" value="1.0" />
+ <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+ <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+ <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+ <property name="test.projects.repository" value="repositories/central" />
+
+ <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+ <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>archetype-test-fileset</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <property name="test.projects.name" value="fileset" />
+ <property name="test.projects.version" value="1.0" />
+ <property name="test.projects.archetype" value="${test.projects.name}-${test.projects.version}" />
+ <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+ <property name="test.projects.target.directory" value="archetypes/${test.projects.name}/${test.projects.version}" />
+ <property name="test.projects.repository" value="repositories/central" />
+
+ <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/" />
+
+ <jar destfile="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}/${test.projects.archetype}.jar" basedir="${basedir}/src/test/archetypes/${test.projects.source.directory}/" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>repository-metadata</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <property name="test.projects.source.directory" value="${test.projects.archetype}" />
+ <property name="test.projects.target.directory" value="archetypes" />
+ <property name="test.projects.repository" value="repositories/central" />
+
+ <mkdir dir="${basedir}/target/test-classes/${test.projects.repository}/${test.projects.target.directory}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/ArchetyperRoundtripTest.java</exclude>
+ <exclude>**/ArchetyperRoundtripWithProxyTest.java</exclude>
+ <exclude>**/DefaultRepositoryCrawlerTest.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <profiles>
+ <profile>
+ <id>internal-catalog</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>**/*Verification.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/full-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/full-interpolation/pom.xml
new file mode 100644
index 00000000..503dadb9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/full-interpolation/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3833</groupId>
+ <artifactId>coreit</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-3833</name>
+ <description>
+ Test that POM interpolation fully interpolates all properties in data flow chain, i.e. where property
+ A depends on property B, and property B depends on property C and so on.
+ </description>
+
+ <properties>
+ <!--
+ NOTE: Both the ordering (i.e. neither ascending nor descending) and the number of properties is crucial to
+ exhibit the bug.
+ -->
+ <property23>${property22}</property23>
+ <property21>${property20}</property21>
+ <property19>${property18}</property19>
+ <property17>${property16}</property17>
+ <property15>${property14}</property15>
+ <property13>${property12}</property13>
+ <property11>${property10}</property11>
+ <property09>${property08}</property09>
+ <property07>${property06}</property07>
+ <property05>${property04}</property05>
+ <property03>${property02}</property03>
+ <property01>${property00}</property01>
+ <property00>PASSED</property00>
+ <property02>${property01}</property02>
+ <property04>${property03}</property04>
+ <property06>${property05}</property06>
+ <property10>${property09}</property10>
+ <property12>${property11}</property12>
+ <property08>${property07}</property08>
+ <property14>${property13}</property14>
+ <property16>${property15}</property16>
+ <property18>${property17}</property18>
+ <property20>${property19}</property20>
+ <property22>${property21}</property22>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/pom.xml
new file mode 100644
index 00000000..4db43cd4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/pom.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3979</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3979</name>
+ <description>
+ Test that during inheritance the merging/joining of sub trees with equal identifier doesn't crash if the parent
+ POM has a non-empty element and the child POM has an empty element to join.
+ </description>
+
+ <properties>
+ <prop0>test</prop0>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>equal-repo-id</id>
+ <url>http://maven.apache.org/null</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ <releases>
+ <checksumPolicy>ignore</checksumPolicy>
+ </releases>
+ </repository>
+ </repositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>equal-build-exec-id</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>reset</goal>
+ </goals>
+ <configuration>
+ <logFile>target/exec.log</logFile>
+ <string>test</string>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <reportSets>
+ <reportSet>
+ <id>equal-report-exec-id</id>
+ <reports>
+ <report>reset</report>
+ </reports>
+ <configuration>
+ <logFile>target/exec.log</logFile>
+ <string>test</string>
+ </configuration>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/sub/pom.xml
new file mode 100644
index 00000000..e65d26c2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/id-container-joining-with-empty-elements/sub/pom.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3979</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3979</name>
+ <description>
+ Test that during inheritance the merging/joining of sub trees with equal identifier doesn't crash if the parent
+ POM has a non-empty element and the child POM has an empty element to join.
+ </description>
+
+ <properties/>
+
+ <repositories>
+ <repository>
+ <id>equal-repo-id</id>
+ <url>file:///${basedir}/null</url>
+ <snapshots/>
+ <releases/>
+ </repository>
+ </repositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>equal-build-exec-id</id>
+ <phase>initialize</phase>
+ <goals/>
+ <configuration/>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <reportSets>
+ <reportSet>
+ <id>equal-report-exec-id</id>
+ <reports/>
+ <configuration/>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/pom.xml
new file mode 100644
index 00000000..640cf288
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/pom.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4102</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-4102</name>
+ <description>
+ Verify that the effective value of an inherited property reflects the values of any nested property
+ as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
+ </description>
+
+ <properties>
+ <overridden>PARENT</overridden>
+ <!-- Test the effective value of this property in the child when "overridden" is defined by child as well -->
+ <interpolated>${overridden}</interpolated>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>it-parent</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/sub/pom.xml
new file mode 100644
index 00000000..2aa40ded
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/active-profile/sub/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4102</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng4102</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4102 :: Child</name>
+ <description>
+ Verify that the effective value of an inherited property reflects the values of any nested property
+ as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
+ </description>
+
+ <properties>
+ <overridden>CHILD</overridden>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>it-child</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/pom.xml
new file mode 100644
index 00000000..3e11a6d6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4102</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-4102</name>
+ <description>
+ Verify that the effective value of an inherited property reflects the values of any nested property
+ as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
+ </description>
+
+ <properties>
+ <overridden>PARENT</overridden>
+ <!-- Test the effective value of this property in the child when "overridden" is defined by child as well -->
+ <interpolated>${overridden}</interpolated>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/sub/pom.xml
new file mode 100644
index 00000000..49c8fd21
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/inherited-properties-interpolation/no-profile/sub/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4102</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng4102</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4102 :: Child</name>
+ <description>
+ Verify that the effective value of an inherited property reflects the values of any nested property
+ as defined by the child. This boils down to the order of inheritance and (parent) interpolation.
+ </description>
+
+ <properties>
+ <overridden>CHILD</overridden>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/interpolation-cli-wins/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/interpolation-cli-wins/pom.xml
new file mode 100644
index 00000000..39d8d9f8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/interpolation-cli-wins/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4208</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4208</name>
+ <description>
+ Test that CLI properties specified by the user override project properties during interpolation.
+ </description>
+
+ <properties>
+ <testProperty>FAILED</testProperty>
+ <interpolatedProperty>${testProperty}</interpolatedProperty>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/jdk-activation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/jdk-activation/pom.xml
new file mode 100644
index 00000000..c0431f58
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/jdk-activation/pom.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng1957</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-1957</name>
+ <description>
+ Test that JDK profile activation allows version ranges.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/jdk.properties</outputFile>
+ <expressions>
+ <expression>project/properties</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>test-1</id>
+ <activation>
+ <jdk>[1.4,)</jdk>
+ </activation>
+ <properties>
+ <jdkProperty1>PASSED</jdkProperty1>
+ </properties>
+ </profile>
+ <profile>
+ <id>test-2</id>
+ <activation>
+ <jdk>(,100)</jdk>
+ </activation>
+ <properties>
+ <jdkProperty2>PASSED</jdkProperty2>
+ </properties>
+ </profile>
+ <profile>
+ <id>test-3</id>
+ <activation>
+ <jdk>(1.3,100)</jdk>
+ </activation>
+ <properties>
+ <jdkProperty3>PASSED</jdkProperty3>
+ </properties>
+ </profile>
+ <profile>
+ <id>test-4</id>
+ <activation>
+ <jdk>(100,)</jdk>
+ </activation>
+ <properties>
+ <jdkProperty4>FAILED</jdkProperty4>
+ </properties>
+ </profile>
+ <profile>
+ <id>test-5</id>
+ <activation>
+ <jdk>(,1.4)</jdk>
+ </activation>
+ <properties>
+ <jdkProperty5>FAILED</jdkProperty5>
+ </properties>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/join-different-containers-same-id/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/join-different-containers-same-id/pom.xml
new file mode 100644
index 00000000..b3f48caa
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/join-different-containers-same-id/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>mng3984</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>MNG-3984</name>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-b</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>foo</id>
+ <goals>
+ <goal>a</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>foo</id>
+ <goals>
+ <goal>b</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/child-2/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/child-2/pom.xml
new file mode 100644
index 00000000..9fd30bf5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/child-2/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ While <licenses> are inherited, they are not aggregated, only the child licenses are used.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3843.child</groupId>
+ <artifactId>child-2</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <licenses>
+ <license>
+ <name>child-license</name>
+ <url>http://child.url/license</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/pom.xml
new file mode 100644
index 00000000..641bb37f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/licenses-inheritance/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <licenses>
+ <license>
+ <name>parent-license</name>
+ <url>http://parent.url/license</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/child/pom.xml
new file mode 100644
index 00000000..8e9e6237
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/child/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3845</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <organization>
+ <name>child-org</name>
+ </organization>
+
+ <scm>
+ <developerConnection>https://child.url/scm</developerConnection>
+ </scm>
+ <issueManagement>
+ <url>http://child.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <system>child-ci</system>
+ <url>http://child.url/ci</url>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <id>child-distros</id>
+ <url>ssh://child.url/distros</url>
+ </repository>
+ <snapshotRepository>
+ <id>child-snaps</id>
+ <url>ssh://child.url/snaps</url>
+ </snapshotRepository>
+ <site>
+ <id>child-site</id>
+ <url>scp://child.url/site</url>
+ </site>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/pom.xml
new file mode 100644
index 00000000..8bbe6eae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/limited-inheritance/pom.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3845</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3845</name>
+ <description>
+ Test that inheritance is all-or-nothing for certain sub-trees of the POM.
+ </description>
+
+ <organization>
+ <name>parent-org</name>
+ <url>http://parent.url/org</url>
+ </organization>
+
+ <scm>
+ <url>http://parent.url/viewvc</url>
+ <connection>http://parent.url/scm</connection>
+ <developerConnection>https://parent.url/scm</developerConnection>
+ <tag>parent-tag</tag>
+ </scm>
+ <issueManagement>
+ <system>parent-issues</system>
+ <url>http://parent.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <system>parent-ci</system>
+ <url>http://parent.url/ci</url>
+ <notifiers>
+ <notifier>
+ <type>irc</type>
+ <sendOnError>true</sendOnError>
+ <sendOnFailure>true</sendOnFailure>
+ <sendOnSuccess>false</sendOnSuccess>
+ <sendOnWarning>false</sendOnWarning>
+ <configuration>
+ <address>irc://parent.url/#ci</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <id>parent-distros</id>
+ <name>parent-distros</name>
+ <url>ssh://parent.url/distros</url>
+ <uniqueVersion>false</uniqueVersion>
+ <layout>legacy</layout>
+ </repository>
+ <snapshotRepository>
+ <id>parent-snaps</id>
+ <name>parent-snaps</name>
+ <url>ssh://parent.url/snaps</url>
+ <uniqueVersion>false</uniqueVersion>
+ <layout>legacy</layout>
+ </snapshotRepository>
+ <site>
+ <id>parent-site</id>
+ <name>parent-site</name>
+ <url>scp://parent.url/site</url>
+ </site>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/child-2/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/child-2/pom.xml
new file mode 100644
index 00000000..95ce7fe6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/child-2/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ While <mailingLists> are inherited, they are not aggregated, only the child elements are used.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3843.child</groupId>
+ <artifactId>child-2</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <mailingLists>
+ <mailingList>
+ <name>child-mailing-list</name>
+ </mailingList>
+ </mailingLists>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/pom.xml
new file mode 100644
index 00000000..c9b05dfd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/mailing-lists-inheritance/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <mailingLists>
+ <mailingList>
+ <name>parent-mailing-list</name>
+ </mailingList>
+ </mailingLists>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/pom.xml
new file mode 100644
index 00000000..88c9813a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4034</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-4034</name>
+ <description>
+ Verify that dependencies defined in profiles are subject to the dependency management of the parent.
+ </description>
+
+ <modules>
+ <module>sub</module>
+ </modules>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>maven-core-it-support</artifactId>
+ <version>1.3</version>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/sub/pom.xml
new file mode 100644
index 00000000..88204fcd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/managed-profile-dependency/sub/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4034</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng4034</groupId>
+ <artifactId>child</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-4034</name>
+ <description>
+ Verify that dependencies defined in profiles are subject to the dependency management of the parent.
+ </description>
+
+ <profiles>
+ <profile>
+ <id>maven-core-it</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>maven-core-it-support</artifactId>
+ <!-- version should be injected from dependency management of parent -->
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/pom.xml
new file mode 100644
index 00000000..6f4df9ac
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4008</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-4008</name>
+ <description>
+ Verify that filter definitions are properly merged.
+ </description>
+
+ <build>
+ <filters>
+ <!-- NOTE: The first filter is deliberately defined by the child as well, so should not be added twice -->
+ <filter>src/main/filters/child-a.properties</filter>
+ <filter>src/main/filters/parent-c.properties</filter>
+ <filter>src/main/filters/parent-b.properties</filter>
+ <filter>src/main/filters/parent-d.properties</filter>
+ </filters>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/sub/pom.xml
new file mode 100644
index 00000000..7e7155bf
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-filter-order/sub/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4008</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng4008</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4008</name>
+ <description>
+ Verify that filter definitions are properly merged.
+ </description>
+
+ <build>
+ <filters>
+ <filter>src/main/filters/child-a.properties</filter>
+ <filter>src/main/filters/child-c.properties</filter>
+ <filter>src/main/filters/child-b.properties</filter>
+ <filter>src/main/filters/child-d.properties</filter>
+ </filters>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..aba6bdf0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3906</name>
+ <description>
+ Test that project-level plugin dependencies are properly merged during inheritance.
+ </description>
+
+ <build>
+ <!-- NOTE: This parent uses plugin management -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>e</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>d</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..1877ea54
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3906</name>
+ <description>
+ Test that project-level plugin dependencies are properly merged during inheritance.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..10226cfb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3906</name>
+ <description>
+ Test that project-level plugin dependencies are properly merged during inheritance.
+ </description>
+
+ <build>
+ <!-- NOTE: This parent does not use plugin management -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>e</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>d</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..1877ea54
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3906</name>
+ <description>
+ Test that project-level plugin dependencies are properly merged during inheritance.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>c</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>a</artifactId>
+ <version>2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3906</groupId>
+ <artifactId>b</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..fc09dba1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3937</groupId>
+ <artifactId>parent-2</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3937</name>
+ <description>
+ Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+ ordered.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>merge</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-b</goal>
+ <goal>merged</goal>
+ <goal>parent-a</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..2148aa9b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/w-plugin-mngt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3937</groupId>
+ <artifactId>parent-2</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child-2</artifactId>
+
+ <name>Maven Integration Test :: MNG-3937</name>
+ <description>
+ Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+ ordered.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>merge</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>child-a</goal>
+ <goal>merged</goal>
+ <goal>child-b</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..b9c3f18b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3937</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3937</name>
+ <description>
+ Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+ ordered.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>merge</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-b</goal>
+ <goal>merged</goal>
+ <goal>parent-a</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..fab233b2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-goals-order/wo-plugin-mngt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3937</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child-1</artifactId>
+
+ <name>Maven Integration Test :: MNG-3937</name>
+ <description>
+ Test that during inheritance/merging of a plugin execution the goals specified by child and parent are properly
+ ordered.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>merge</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>child-a</goal>
+ <goal>merged</goal>
+ <goal>child-b</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..ee4dedcf
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3925</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3925</name>
+ <description>
+ Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+ parent executions.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>parent-1</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-1</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>parent-2</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-2</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- NOTE: <id> deliberately omitted to use default value -->
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-default</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..bf777db9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/w-plugin-mngt/sub/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3925</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3925</name>
+ <description>
+ Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+ parent executions.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>child-1</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>child-1</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>child-2</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>child-2</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- NOTE: <id> deliberately omitted to use default value -->
+ <phase>validate</phase>
+ <goals>
+ <goal>child-default</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..a816975f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3925</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3925</name>
+ <description>
+ Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+ parent executions.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>parent-1</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-1</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>parent-2</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-2</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- NOTE: <id> deliberately omitted to use default value -->
+ <phase>validate</phase>
+ <goals>
+ <goal>parent-default</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..bf777db9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/merged-plugin-exec-order/wo-plugin-mngt/sub/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3925</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3925</name>
+ <description>
+ Test that plugin executions (in the same phase) are properly ordered after inheritance/merge with
+ parent executions.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>child-1</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>child-1</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>child-2</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>child-2</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- NOTE: <id> deliberately omitted to use default value -->
+ <phase>validate</phase>
+ <goals>
+ <goal>child-default</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/pom.xml
new file mode 100644
index 00000000..780faac2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/pom.xml
@@ -0,0 +1,124 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>spice-parent</artifactId>
+ <version>11</version>
+ <relativePath>spice-parent-9.pom</relativePath>
+ </parent>
+
+ <groupId>org.sonatype.micromailer</groupId>
+ <artifactId>micromailer</artifactId>
+ <version>1.0.3</version>
+ <packaging>jar</packaging>
+ <name>Micro Mailer</name>
+ <!-- SCM -->
+ <scm>
+ <connection>scm:svn:http://svn.sonatype.org/spice/trunk/micromailer</connection>
+ <url>http://svn.sonatype.org/spice/trunk/micromailer</url>
+ <developerConnection>scm:svn:https://svn.sonatype.org/spice/trunk/micromailer</developerConnection>
+ </scm>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-47</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.5</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+
+ <!-- Mail composition -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-velocity</artifactId>
+ <version>1.1.7</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>velocity</groupId>
+ <artifactId>velocity</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity</artifactId>
+ <version>1.5</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+
+ <!-- Mail sending -->
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <version>1.4</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+
+ <!-- Testing -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.2</version>
+ <type>jar</type>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <version>1.3.8</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>child-descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/spice-parent-9.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/spice-parent-9.pom
new file mode 100644
index 00000000..695c3c93
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/micromailer/spice-parent-9.pom
@@ -0,0 +1,103 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>spice-parent</artifactId>
+ <version>11</version>
+ <packaging>pom</packaging>
+ <name>Sonatype Spice Components</name>
+
+ <scm>
+ <connection>scm:svn:http://svn.sonatype.org/spice/trunk/spice-parent</connection>
+ <url>http://svn.sonatype.org/spice/trunk/spice-parent</url>
+ <developerConnection>scm:svn:https://svn.sonatype.org/spice/trunk/spice-parent</developerConnection>
+ </scm>
+
+ <properties>
+ <!-- 2008.12.07 Oleg: reverted to 6.1.12 as http transport only works with that version
+ | Please always sync with mercury-http-transport !!
+ -->
+ <jetty.version>6.1.12</jetty.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-beta-1</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>1.0-beta-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.5.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-client</artifactId>
+ <version>${jetty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>1.0-beta-1</version>
+ <executions>
+ <execution>
+ <id>process-classes</id>
+ <goals>
+ <goal>generate-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <version>1.3.8</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-filters/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-filters/pom.xml
new file mode 100644
index 00000000..1141efb5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-filters/pom.xml
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>b</artifactId>
+ <version>1.0</version>
+
+ <build>
+ <filters>
+ <filter>src/main/filters/a.properties</filter>
+ <filter>src/main/filters/c.properties</filter>
+ <filter>src/main/filters/b.properties</filter>
+ <filter>src/main/filters/d.properties</filter>
+ </filters>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/pom.xml
new file mode 100644
index 00000000..e59cd0c3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>mng3984</groupId>
+ <artifactId>test-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>MNG-3984</name>
+ <repositories>
+ <repository>
+ <id>central-parent</id>
+ <name>Maven Repository Switchboard</name>
+ <layout>default</layout>
+ <url>http://repo1.maven.org/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/sub/pom.xml
new file mode 100644
index 00000000..d7b21020
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/multiple-repos/sub/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>mng3984</groupId>
+ <artifactId>test-1</artifactId>
+ <version>0.1</version>
+ </parent>
+ <groupId>mng3984</groupId>
+ <artifactId>test-2</artifactId>
+ <version>0.1</version>
+
+ <name>MNG-3984</name>
+ <repositories>
+ <repository>
+ <id>central-child</id>
+ <name>Maven Repository Switchboard</name>
+ <layout>default</layout>
+ <url>http://repo1.maven.org/maven2</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/nested-build-dir-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/nested-build-dir-interpolation/pom.xml
new file mode 100644
index 00000000..5632fad4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/nested-build-dir-interpolation/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3904</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-3904</name>
+ <description>
+ Test that properties which refer to build directories which in turn refer to other build directories are
+ properly interpolated.
+ </description>
+
+ <properties>
+ <!-- These are the properties of interest -->
+ <dir0>${project.build.outputDirectory}/dir0</dir0>
+ <dir1>${project.build.testSourceDirectory}/dir1</dir1>
+ <dir2>${project.reporting.outputDirectory}/dir2</dir2>
+ </properties>
+
+ <build>
+ <!-- Test properties which finally refer to ${project.basedir} -->
+ <directory>${project.basedir}/target</directory>
+ <outputDirectory>${project.build.directory}/classes</outputDirectory>
+ <!-- Test properties which finally refer to ${basedir} -->
+ <sourceDirectory>${basedir}/src</sourceDirectory>
+ <testSourceDirectory>${project.build.sourceDirectory}/test</testSourceDirectory>
+ </build>
+
+ <reporting>
+ <outputDirectory>${project.build.directory}/site</outputDirectory>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/child3.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/child3.xml
new file mode 100644
index 00000000..873f6f97
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/child3.xml
@@ -0,0 +1,7 @@
+<project>
+ <groupId>gid</groupId>
+ <artifactId>child-3</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+ <modelVersion>4.0.0</modelVersion>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/pom.xml
new file mode 100644
index 00000000..89209d79
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/pom.xml
@@ -0,0 +1,11 @@
+<project>
+ <parent>
+ <groupId>gid</groupId>
+ <artifactId>child-3</artifactId>
+ <version>1.0</version>
+ <relativePath>child3.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>child-2</artifactId>
+ <packaging>pom</packaging>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/sub/pom.xml
new file mode 100644
index 00000000..2d4671ed
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-inheritance/sub/pom.xml
@@ -0,0 +1,9 @@
+<project>
+ <parent>
+ <groupId>gid</groupId>
+ <artifactId>child-2</artifactId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>child-1</artifactId>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/pom.xml
new file mode 100644
index 00000000..d2ae6ea2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/pom.xml
@@ -0,0 +1,16 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>${project.version}</version>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/sub/pom.xml
new file mode 100644
index 00000000..752852b1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-interpolation/sub/pom.xml
@@ -0,0 +1,9 @@
+<project>
+ <parent>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>a</artifactId>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/pom.xml
new file mode 100644
index 00000000..16952455
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4283</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <!-- NOTE: Any packaging other than "pom" must be rejected for a parent POM -->
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4283</name>
+ <description>
+ Test that the model builder fails when a parent POM has not "pom" packaging.
+ </description>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/sub/pom.xml
new file mode 100644
index 00000000..eca47eb3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/parent-pom-packaging/sub/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4283</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng4283</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4283</name>
+ <description>
+ Test that the model builder fails when a parent POM has not "pom" packaging.
+ </description>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/platform-file-separator/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/platform-file-separator/pom.xml
new file mode 100644
index 00000000..26ba2943
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/platform-file-separator/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3877</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-3877</name>
+ <description>
+ Verify that paths to project directories use the platform-specific file separator.
+ </description>
+
+ <build>
+ <filters>
+ <filter>src/main/filters/it.properties</filter>
+ </filters>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/pom.xml
new file mode 100644
index 00000000..60180d51
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/pom.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2591</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-2591</name>
+ <description>
+ Test aggregation of list configuration items for build plugins when using
+ 'combine.children=append' attribute.
+ </description>
+
+ <modules>
+ <module>subproject</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- inherit via <pluginManagement> -->
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <inherited>true</inherited>
+ <configuration>
+ <listParam>
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <listParam>PARENT-1</listParam>
+ <listParam>PARENT-3</listParam>
+ <listParam>PARENT-2</listParam>
+ <listParam>PARENT-4</listParam>
+ </listParam>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- inherit not via <pluginManagement> -->
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <inherited>true</inherited>
+ <configuration>
+ <stringParams>
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <stringParam>PARENT-1</stringParam>
+ <stringParam>PARENT-3</stringParam>
+ <stringParam>PARENT-2</stringParam>
+ <stringParam>PARENT-4</stringParam>
+ </stringParams>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/subproject/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/subproject/pom.xml
new file mode 100644
index 00000000..cef53d32
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/no-profile/subproject/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng2591</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>subproject</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>target/config.properties</propertiesFile>
+ <stringParams combine.children="append">
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <stringParam>CHILD-1</stringParam>
+ <stringParam>CHILD-3</stringParam>
+ <stringParam>CHILD-2</stringParam>
+ <stringParam>CHILD-4</stringParam>
+ </stringParams>
+ <listParam combine.children="append">
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <listParam>CHILD-1</listParam>
+ <listParam>CHILD-3</listParam>
+ <listParam>CHILD-2</listParam>
+ <listParam>CHILD-4</listParam>
+ </listParam>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/pom.xml
new file mode 100644
index 00000000..72ab3f45
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/pom.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2591</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-2591</name>
+ <description>
+ Test aggregation of list configuration items for build plugins when using
+ 'combine.children=append' attribute.
+ </description>
+
+ <modules>
+ <module>subproject</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- inherit via <pluginManagement> -->
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <inherited>true</inherited>
+ <configuration>
+ <listParam>
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <listParam>PARENT-1</listParam>
+ <listParam>PARENT-3</listParam>
+ <listParam>PARENT-2</listParam>
+ <listParam>PARENT-4</listParam>
+ </listParam>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- inherit not via <pluginManagement> -->
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <inherited>true</inherited>
+ <configuration>
+ <stringParams>
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <stringParam>PARENT-1</stringParam>
+ <stringParam>PARENT-3</stringParam>
+ <stringParam>PARENT-2</stringParam>
+ <stringParam>PARENT-4</stringParam>
+ </stringParams>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <!-- an active but empty profile to ensure profile injection does not interfere with plugin configuration -->
+ <id>parent</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/subproject/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/subproject/pom.xml
new file mode 100644
index 00000000..70235030
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-append/with-profile/subproject/pom.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng2591</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>subproject</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>target/config.properties</propertiesFile>
+ <stringParams combine.children="append">
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <stringParam>CHILD-1</stringParam>
+ <stringParam>CHILD-3</stringParam>
+ <stringParam>CHILD-2</stringParam>
+ <stringParam>CHILD-4</stringParam>
+ </stringParams>
+ <listParam combine.children="append">
+ <!-- NOTE: These values are deliberately not in alpha order! -->
+ <listParam>CHILD-1</listParam>
+ <listParam>CHILD-3</listParam>
+ <listParam>CHILD-2</listParam>
+ <listParam>CHILD-4</listParam>
+ </listParam>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <!-- an active but empty profile to ensure profile injection does not interfere with plugin configuration -->
+ <id>child</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..2f350715
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-plugin-mngt/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4053</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-4053</name>
+ <description>
+ Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
+ plugin management is used.
+ </description>
+
+ <build>
+ <!-- NOTE: This test used plugin management for the IT plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>target/config.properties</propertiesFile>
+ <domParam>
+ <copy todir="src" overwrite="true">
+ <fileset dir="target"/>
+ </copy>
+ </domParam>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-profile/pom.xml
new file mode 100644
index 00000000..f2d8c6c0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/w-profile/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4053</groupId>
+ <artifactId>test3</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-4053</name>
+ <description>
+ Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
+ plugin management and a profile are used.
+ </description>
+
+ <build>
+ <!-- NOTE: This test used plugin management for the IT plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <!-- NOTE: This test injects the plugin configuration via a profile -->
+ <id>maven-core-it</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>target/config.properties</propertiesFile>
+ <domParam>
+ <copy todir="src" overwrite="true">
+ <fileset dir="target"/>
+ </copy>
+ </domParam>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..c844b447
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-attributes/wo-plugin-mngt/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4053</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-4053</name>
+ <description>
+ Verify that attributes in plugin configuration elements are not erroneously duplicated to other elements when
+ no plugin management is used.
+ </description>
+
+ <build>
+ <!-- NOTE: This test does not use plugin management for the IT plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>target/config.properties</propertiesFile>
+ <domParam>
+ <copy todir="src" overwrite="true">
+ <fileset dir="target"/>
+ </copy>
+ </domParam>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/child/pom.xml
new file mode 100644
index 00000000..f8172448
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/child/pom.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3836</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3836</groupId>
+ <artifactId>child</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3836</name>
+ <description>
+ Verify that children can *override* inherited plugin configuration.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <!--
+ All of these values should override the ones inherited from the parent. In particular, collections should not
+ be merged with the values given by the parent POM.
+ -->
+ <propertiesFile>PASSED</propertiesFile>
+ <stringParams>
+ <stringParam>PASSED-1</stringParam>
+ <stringParam>PASSED-3</stringParam>
+ <stringParam>PASSED-2</stringParam>
+ <stringParam>PASSED-4</stringParam>
+ </stringParams>
+ <listParam>
+ <listParam>PASSED-1</listParam>
+ <listParam>PASSED-3</listParam>
+ <listParam>PASSED-2</listParam>
+ <listParam>PASSED-4</listParam>
+ </listParam>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/pom.xml
new file mode 100644
index 00000000..12f2c2d6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-merging/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3836</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3836</name>
+ <description>
+ Verify that children can *override* inherited plugin configuration.
+ </description>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>FAILED</propertiesFile>
+ <stringParams>
+ <stringParam>FAILED-1</stringParam>
+ <stringParam>FAILED-3</stringParam>
+ <stringParam>FAILED-2</stringParam>
+ <stringParam>FAILED-4</stringParam>
+ </stringParams>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <propertiesFile>FAILED</propertiesFile>
+ <listParam>
+ <listParam>FAILED-1</listParam>
+ <listParam>FAILED-3</listParam>
+ <listParam>FAILED-2</listParam>
+ <listParam>FAILED-4</listParam>
+ </listParam>
+ <parent>PASSED</parent>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..7d7dfd81
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3827</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3827</name>
+ <description>
+ Verify that plain plugin configuration works correctly.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <configuration>
+ <stringParams>
+ <stringParam>one</stringParam>
+ <stringParam>two</stringParam>
+ <stringParam>three</stringParam>
+ <stringParam>four</stringParam>
+ </stringParams>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..e300fe1e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3827</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3827</name>
+ <description>
+ Verify that plain plugin configuration works correctly.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <stringParams>
+ <stringParam>one</stringParam>
+ <stringParam>two</stringParam>
+ <stringParam>three</stringParam>
+ <stringParam>four</stringParam>
+ </stringParams>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-properties/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-properties/pom.xml
new file mode 100644
index 00000000..e5660391
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-config-properties/pom.xml
@@ -0,0 +1,30 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>a</groupId>
+ <artifactId>b</artifactId>
+ <version>1.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ </plugin>
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>my.property</name>
+ <value>my.value</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..9f66b49e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3827</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3864</name>
+ <description>
+ Verify that plain per-execution plugin configuration works correctly.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ <configuration>
+ <stringParams>
+ <stringParam>one</stringParam>
+ <stringParam>two</stringParam>
+ <stringParam>three</stringParam>
+ <stringParam>four</stringParam>
+ </stringParams>
+ <propertiesParam>
+ <property>
+ <name>key1</name>
+ <value>value1</value>
+ </property>
+ <property>
+ <name>key2</name>
+ <value>value2</value>
+ </property>
+ </propertiesParam>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..4e1eafe3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-config-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3827</groupId>
+ <artifactId>test1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-3864</name>
+ <description>
+ Verify that plain per-execution plugin configuration works correctly.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>config</goal>
+ </goals>
+ <configuration>
+ <stringParams>
+ <stringParam>one</stringParam>
+ <stringParam>two</stringParam>
+ <stringParam>three</stringParam>
+ <stringParam>four</stringParam>
+ </stringParams>
+ <propertiesParam>
+ <property>
+ <name>key1</name>
+ <value>value1</value>
+ </property>
+ <property>
+ <name>key2</name>
+ <value>value2</value>
+ </property>
+ </propertiesParam>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..d4ac3b0e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3886</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3886</name>
+ <description>
+ Test that the goals from a plugin execution are executed in the order given by the POM, regardless whether
+ plugin management is present or not.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>b</goal>
+ <goal>a</goal>
+ <goal>d</goal>
+ <goal>c</goal>
+ <goal>e</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..438d9d1a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-goals-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3886</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3886</name>
+ <description>
+ Test that the goals from a plugin execution are executed in the order given by the POM, regardless whether
+ plugin management is present or not.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>b</goal>
+ <goal>a</goal>
+ <goal>d</goal>
+ <goal>c</goal>
+ <goal>e</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/pom.xml
new file mode 100644
index 00000000..2b534d76
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4129</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-4129</name>
+ <description>
+ Verify that plugin executions defined in the parent with inherited=false are not executed in child modules.
+ </description>
+
+ <modules>
+ <module>child-1</module>
+ <module>child-2</module>
+ </modules>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>inherited-execution</id>
+ <inherited>true</inherited>
+ <phase>validate</phase>
+ <goals>
+ <goal>log-string</goal>
+ </goals>
+ <configuration>
+ <logFile>target/executions.txt</logFile>
+ <string>inherited-execution</string>
+ </configuration>
+ </execution>
+ <execution>
+ <id>non-inherited-execution</id>
+ <inherited>false</inherited>
+ <phase>validate</phase>
+ <goals>
+ <goal>log-string</goal>
+ </goals>
+ <configuration>
+ <logFile>target/executions.txt</logFile>
+ <string>non-inherited-execution</string>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/w-merge/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/w-merge/pom.xml
new file mode 100644
index 00000000..f60cfd5c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/w-merge/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4129</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child-1</artifactId>
+
+ <name>Maven Integration Test :: MNG-4129 :: Child-1</name>
+ <description>
+ Verify that plugin executions defined in the parent with inherited=false are not executed in child modules.
+ </description>
+
+ <build>
+ <plugins>
+ <!-- NOTE: It's essential part of this test variant to redefine the test plugin again, i.e. trigger plugin merging -->
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/wo-merge/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/wo-merge/pom.xml
new file mode 100644
index 00000000..23cfc0c2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-inheritance/wo-merge/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4129</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child-2</artifactId>
+
+ <name>Maven Integration Test :: MNG-4129 :: Child-2</name>
+ <description>
+ Verify that plugin executions defined in the parent with inherited=false are not executed in child modules.
+ </description>
+
+ <build>
+ <plugins>
+ <!-- NOTE: It's essential part of this test variant to *not* define the test plugin again, i.e. bypass plugin merging -->
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/pom.xml
new file mode 100644
index 00000000..b64af3ae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3916</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3943</name>
+ <description>
+ Test that plugin executions are properly merged during inheritance, even if the child uses a different
+ plugin version than the parent.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <!-- NOTE: Use different version than child -->
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>parent-1</id>
+ <phase>parent-1</phase>
+ </execution>
+ <execution>
+ <id>parent-2</id>
+ <phase>parent-2</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/sub/pom.xml
new file mode 100644
index 00000000..f96116ad
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-version-insensitive/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3916</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3943</name>
+ <description>
+ Test that plugin executions are properly merged during inheritance, even if the child uses a different
+ plugin version than the parent.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <!-- NOTE: Use different version than parent -->
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>child-1</id>
+ <phase>child-1</phase>
+ </execution>
+ <execution>
+ <id>child-2</id>
+ <phase>child-2</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/pom.xml
new file mode 100644
index 00000000..127fa259
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3916</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3916</name>
+ <description>
+ Test that plugin executions are properly merged during inheritance, even if the child plugin section has no
+ version.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>parent-1</id>
+ <phase>parent-1</phase>
+ </execution>
+ <execution>
+ <id>parent-2</id>
+ <phase>parent-2</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/sub/pom.xml
new file mode 100644
index 00000000..61841aec
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging-wo-version/sub/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3916</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3916</name>
+ <description>
+ Test that plugin executions are properly merged during inheritance, even if the child plugin section has no
+ version.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <!-- NOTE: <version> element deliberately omitted here -->
+ <executions>
+ <execution>
+ <id>child-1</id>
+ <phase>child-1</phase>
+ </execution>
+ <execution>
+ <id>child-2</id>
+ <phase>child-2</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..6bcfee56
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3938</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3938</name>
+ <description>
+ Test that plugin executions with the same id are merged during inheritance, especially executions using the
+ default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <!-- NOTE: Implicitly reference "default" id here, i.e. omit the <id> element -->
+ <phase>parent-default</phase>
+ </execution>
+ <execution>
+ <id>non-default</id>
+ <phase>parent-non-default</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..3129ad02
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/w-plugin-mngt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3938</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3938</name>
+ <description>
+ Test that plugin executions with the same id are merged during inheritance, especially executions using the
+ default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <!-- NOTE: Explicitly reference "default" id here -->
+ <id>default</id>
+ <phase>child-default</phase>
+ </execution>
+ <execution>
+ <id>non-default</id>
+ <phase>child-non-default</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..63db85f6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3938</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3938</name>
+ <description>
+ Test that plugin executions with the same id are merged during inheritance, especially executions using the
+ default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <!-- NOTE: Implicitly reference "default" id here, i.e. omit the <id> element -->
+ <phase>parent-default</phase>
+ </execution>
+ <execution>
+ <id>non-default</id>
+ <phase>parent-non-default</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml
new file mode 100644
index 00000000..3129ad02
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-merging/wo-plugin-mngt/sub/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3938</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+
+ <name>Maven Integration Test :: MNG-3938</name>
+ <description>
+ Test that plugin executions with the same id are merged during inheritance, especially executions using the
+ default id, regardless whether the id is given explicitly by the user or implicitly assumed from defaults.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <!-- NOTE: Explicitly reference "default" id here -->
+ <id>default</id>
+ <phase>child-default</phase>
+ </execution>
+ <execution>
+ <id>non-default</id>
+ <phase>child-non-default</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-and-default-exec/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-and-default-exec/pom.xml
new file mode 100644
index 00000000..864fedb9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-and-default-exec/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4332</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <!-- NOTE: The upper-case packaging name is intentional and triggers a special mode in the EmptyLifecycleExecutor -->
+ <packaging>JAR</packaging>
+
+ <name>Maven Integration Test :: MNG-4332</name>
+ <description>
+ Verify that default plugin executions contributed by the packaging are executed before user-defined
+ executions from the POM's build section, regardless whether the executions are defined in the regular
+ plugins section or the plugin management section.
+ </description>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.2</version>
+ <executions>
+ <execution>
+ <id>test-1</id>
+ <goals>
+ <goal>resources</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.2</version>
+ <executions>
+ <execution>
+ <id>test-2</id>
+ <goals>
+ <goal>resources</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-with-lifecycle/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-with-lifecycle/pom.xml
new file mode 100644
index 00000000..6035e816
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order-with-lifecycle/pom.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4341</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <!-- NOTE: The upper-case packaging name is intentional and triggers a special mode in the EmptyLifecycleExecutor -->
+ <packaging>JAR</packaging>
+
+ <name>Maven Integration Test :: MNG-4341</name>
+ <description>
+ Test that plugins bound to the same phase get executed in POM order even if one of the plugins participates
+ in the default lifecycle bindings for the project's packaging.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <!-- NOTE: It's essential that this plugin is also referenced by the default lifecycle bindings -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..2c552d4c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/w-plugin-mngt/pom.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3887</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3887</name>
+ <description>
+ Test that multiple plugin executions bound to the same phase are executed in the order given by the POM.
+ </description>
+
+ <build>
+ <!-- This project uses plugin management for the test plugin -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>b</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>a</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>d</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>c</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>e</id>
+ <phase>validate</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..c4ceaae3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-order/wo-plugin-mngt/pom.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3887</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3887</name>
+ <description>
+ Test that multiple plugin executions bound to the same phase are executed in the order given by the POM.
+ </description>
+
+ <build>
+ <!-- This project does not use plugin management for the test plugin -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>b</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>a</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>d</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>c</id>
+ <phase>validate</phase>
+ </execution>
+ <execution>
+ <id>e</id>
+ <phase>validate</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml
new file mode 100644
index 00000000..fbae181f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/w-plugin-mngt/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4000</groupId>
+ <artifactId>test2</artifactId>
+ <version>0.1</version>
+
+ <name>Maven Integration Test :: MNG-4000</name>
+ <description>
+ Test that plugin executions without id are not lost among other plugin executions.
+ </description>
+
+ <build>
+ <!-- NOTE: This test uses plugin management for the IT plugin. -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <configuration>
+ <logFile>target/exec.log</logFile>
+ <string>exec</string>
+ </configuration>
+ <executions>
+ <execution>
+ <id>exec-1</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>log-string</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- NOTE: <id> deliberately omitted here! -->
+ <phase>validate</phase>
+ <goals>
+ <goal>log-string</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml
new file mode 100644
index 00000000..7910084f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-exec-w-and-wo-id/wo-plugin-mngt/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4000</groupId>
+ <artifactId>test1</artifactId>
+ <version>0.1</version>
+
+ <name>Maven Integration Test :: MNG-4000</name>
+ <description>
+ Test that plugin executions without id are not lost among other plugin executions.
+ </description>
+
+ <build>
+ <!-- NOTE: This test does not use plugin management for the IT plugin. -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <logFile>target/exec.log</logFile>
+ <string>exec</string>
+ </configuration>
+ <executions>
+ <execution>
+ <id>exec-1</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>log-string</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- NOTE: <id> deliberately omitted here! -->
+ <phase>validate</phase>
+ <goals>
+ <goal>log-string</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/pom.xml
new file mode 100644
index 00000000..e42b0306
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/pom.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4415</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-4415</name>
+ <description>
+ Test that merging of plugins during inheritance follows these rules regarding ordering:
+ parent: X -> A -> B -> D -> E
+ child: Y -> A -> C -> D -> F
+ result: X -> Y -> A -> B -> C -> D -> E -> F
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-error</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-packaging</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-fork</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/sub/pom.xml
new file mode 100644
index 00000000..8d44b8cc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-merge-order/sub/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng4415</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng4415</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+
+ <name>Maven Integration Test :: MNG-4415</name>
+ <description>
+ Test that merging of plugins during inheritance follows these rules regarding ordering:
+ parent: X -> A -> B -> D -> E
+ child: Y -> A -> C -> D -> F
+ result: X -> Y -> A -> B -> C -> D -> E -> F
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-touch</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/child/pom.xml
new file mode 100644
index 00000000..5350fa87
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/child/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3808</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ </parent>
+ <artifactId>child</artifactId>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml
new file mode 100644
index 00000000..f66ae25c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-order/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3808</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3808</name>
+ <description>
+ Test the reports are executeed in the order given in the POM.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <modules>
+ <module>child</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/pom.xml
new file mode 100644
index 00000000..b73bfce5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/pom.xml
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/sub/pom.xml
new file mode 100644
index 00000000..f6ed4dd4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-inheritance-simple/sub/pom.xml
@@ -0,0 +1,20 @@
+<project>
+ <parent>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin2</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-injection-merge-order/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-injection-merge-order/pom.xml
new file mode 100644
index 00000000..76459e2d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-injection-merge-order/pom.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4416</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+
+ <name>Maven Integration Test :: MNG-4416</name>
+ <description>
+ Test that merging of plugins during profile injection follows these rules regarding ordering:
+ model: X -> A -> B -> D -> E
+ profile: Y -> A -> C -> D -> F
+ result: X -> Y -> A -> B -> C -> D -> E -> F
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-error</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-packaging</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-fork</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>test</id>
+ <activation>
+ <property>
+ <name>!skip-mng4416</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <logFile>target/it.properties</logFile>
+ </configuration>
+ <executions>
+ <execution>
+ <id>first</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>reset</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <outputFile>target/it.properties</outputFile>
+ <expressions>
+ <expression>project/build/plugins</expression>
+ </expressions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>second</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-touch</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/pom.xml
new file mode 100644
index 00000000..bcdb05aa
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/pom.xml
@@ -0,0 +1,25 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ <dependencies>
+ <dependency>
+ <groupId>a</groupId>
+ <artifactId>b</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml
new file mode 100644
index 00000000..7f73423e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml
@@ -0,0 +1,25 @@
+<project>
+ <parent>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <profiles>
+ <profile>
+ <id>test</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/pom.xml
new file mode 100644
index 00000000..37e7278a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins
+ </groupId>
+ <artifactId>maven-it-plugin-configuration
+ </artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml
new file mode 100644
index 00000000..5e844b79
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <parent>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4053</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
new file mode 100644
index 00000000..fce35882
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/child/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng0522</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>child-project</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <!-- NOTE: The upper-case packaging name is intentional and triggers a special mode in the EmptyLifecycleExecutor -->
+ <packaging>JAR</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>reset</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
new file mode 100644
index 00000000..d9412769
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-for-implicit-plugin/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng0522</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-522</name>
+ <description>Test for pluginManagement injection of plugin configuration.</description>
+
+ <modules>
+ <module>child</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <!-- this checks handling of a plugin which is implicitly bound to the lifecycle -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ <configuration>
+ <pathname>passed.txt</pathname>
+ </configuration>
+ </plugin>
+ <plugin>
+ <!-- this checks handling of a plugin which is explicitly bound to the lifecycle -->
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-log-file</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <logFile>passed.txt</logFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-inheritance/pom.xml
new file mode 100644
index 00000000..85b7bd94
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-management-inheritance/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.it0052</groupId>
+ <artifactId>maven-it-it0052</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: it0052</name>
+ <description>Test that source attachment doesn't take place when -DperformRelease=true is missing.</description>
+
+ <!-- NOTE: Use stub versions of the core plugins referenced by the build -->
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>0.1-stub-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-merge-simple/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-merge-simple/pom.xml
new file mode 100644
index 00000000..10eac25f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-merge-simple/pom.xml
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-indexer</artifactId>
+ <version>1.1.3-SNAPSHOT</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/nexus-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/nexus-parent.xml
new file mode 100644
index 00000000..607da777
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/nexus-parent.xml
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-parent</artifactId>
+ <version>8-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>1.4.0</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/pom.xml
new file mode 100644
index 00000000..408d17f0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/plugin-order/pom.xml
@@ -0,0 +1,28 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-parent</artifactId>
+ <version>8-SNAPSHOT</version>
+ <relativePath>nexus-parent.xml</relativePath>
+ </parent>
+
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus-indexer</artifactId>
+ <version>1.1.3-SNAPSHOT</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.3</version>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml
new file mode 100644
index 00000000..477451df
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml
@@ -0,0 +1,18 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml
new file mode 100644
index 00000000..319e6adb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml
@@ -0,0 +1,17 @@
+<project>
+ <parent>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>a</artifactId>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/latin-1/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/latin-1/pom.xml
new file mode 100644
index 00000000..b338399f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/latin-1/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+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.
+-->
+
+<!--
+NOTE: This POM's XML declaration intentionally declares Latin-1 encoding.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2254</groupId>
+ <artifactId>latin-1</artifactId>
+ <version>0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-2254 :: Latin-1</name>
+ <description>TEST-CHARS: ÄÖÜäöüß</description>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/utf-8/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/utf-8/pom.xml
new file mode 100644
index 00000000..4400aa70
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-encoding/utf-8/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!--
+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.
+-->
+
+<!--
+NOTE: This POM's XML declaration specified no encoding which should therefore default to UTF-8.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2254</groupId>
+ <artifactId>utf-8</artifactId>
+ <version>0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-2254 :: UTF-8</name>
+ <description>TEST-CHARS: ßıΣЯ×€</description>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/pom.xml
new file mode 100644
index 00000000..f96a9400
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/pom.xml
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ This parent POM overrides most super POM defaults to test inheritance in child modules.
+ -->
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>parent-name</name>
+ <description>parent-description</description>
+ <url>http://parent.url/</url>
+ <inceptionYear>2008</inceptionYear>
+ <organization>
+ <name>parent-org</name>
+ <url>http://parent-org.url/</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>parent-license</name>
+ <url>http://parent.url/license</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <name>parent-developer</name>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>parent-contributor</name>
+ </contributor>
+ </contributors>
+
+ <mailingLists>
+ <mailingList>
+ <name>parent-mailing-list</name>
+ </mailingList>
+ </mailingLists>
+
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+
+ <modules>
+ <module>child-1</module>
+ <module>child-2</module>
+ </modules>
+
+ <scm>
+ <url>http://parent.url/trunk</url>
+ <connection>http://parent.url/scm</connection>
+ <developerConnection>https://parent.url/scm</developerConnection>
+ </scm>
+ <issueManagement>
+ <url>http://parent.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <url>http://parent.url/ci</url>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <url>http://parent.url/dist</url>
+ <id>parent.distros</id>
+ </repository>
+ <snapshotRepository>
+ <url>http://parent.url/snaps</url>
+ <id>parent.snaps</id>
+ </snapshotRepository>
+ <site>
+ <url>http://parent.url/site</url>
+ <id>parent.site</id>
+ </site>
+ <downloadUrl>http://parent.url/download</downloadUrl>
+ <relocation>
+ <message>parent-reloc-msg</message>
+ </relocation>
+ </distributionManagement>
+
+ <properties>
+ <parentProperty>parent-property</parentProperty>
+ <overriddenProperty>parent-property</overriddenProperty>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-dep-a</artifactId>
+ <version>1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-dep-b</artifactId>
+ <version>1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <id>parent-remote-repo</id>
+ <url>http://parent.url/remote</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <defaultGoal>initialize</defaultGoal>
+ <directory>out</directory>
+ <sourceDirectory>src/main</sourceDirectory>
+ <scriptSourceDirectory>src/scripts</scriptSourceDirectory>
+ <testSourceDirectory>src/test</testSourceDirectory>
+ <outputDirectory>out/main</outputDirectory>
+ <testOutputDirectory>out/test</testOutputDirectory>
+ <resources>
+ <resource>
+ <directory>res/main</directory>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>res/test</directory>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/pom.properties</outputFile>
+ <expressions>
+ <expression>project</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <reporting>
+ <excludeDefaults>true</excludeDefaults>
+ <outputDirectory>site</outputDirectory>
+ </reporting>
+
+ <profiles>
+ <profile>
+ <id>parent-profile</id>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml
new file mode 100644
index 00000000..ae749028
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/pom-inheritance/sub/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ This minimalistic POM tests mere inheritance from its parent.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child-1</artifactId>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml
new file mode 100644
index 00000000..349a0c38
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/child/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ This minimalistic POM tests mere inheritance from its parent. The <prerequisites> should not be inherited.
+ -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child-1</artifactId>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/pom.xml
new file mode 100644
index 00000000..3e4d8a45
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/prerequisites-inheritance/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <prerequisites>
+ <maven>2.0</maven>
+ </prerequisites>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-default-deactivation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-default-deactivation/pom.xml
new file mode 100644
index 00000000..dfe19253
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-default-deactivation/pom.xml
@@ -0,0 +1,35 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.its.mng3545</groupId>
+ <artifactId>test-artifact</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <profiles>
+ <profile>
+ <id>profile1</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-touch</artifactId>
+ <version>2.2</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>profile4</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-touch</artifactId>
+ <version>2.1</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-dependencies-multiple-profiles/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-dependencies-multiple-profiles/pom.xml
new file mode 100644
index 00000000..d7af4e27
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-dependencies-multiple-profiles/pom.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.it0021</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: it0021</name>
+ <description>
+ Test pom-level profile inclusion (this one is activated by system property).
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-dependency-resolution</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>profile-1</id>
+ <activation>
+ <property>
+ <name>includeProfile</name>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.it0021</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>profile-2</id>
+ <!-- to be activated explicitly on the CLI by its id -->
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.it0021</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injected-dependencies/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injected-dependencies/pom.xml
new file mode 100644
index 00000000..3fe02fbd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injected-dependencies/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng1412</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-1412</name>
+ <description>
+ Check that dependencies are available in classpath in same order as declared in POM.
+ </description>
+
+ <dependencies>
+ <!-- model dependencies first, in the order given -->
+ <dependency>
+ <groupId>org.apache.maven.its.mng1412</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng1412</groupId>
+ <artifactId>c</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng1412</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+
+ <profiles>
+ <profile>
+ <id>mng-1412</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <!-- profile dependencies last, in the order given -->
+ <dependencies>
+ <dependency>
+ <!-- deliberately respecifying this dep to check merging behavior -->
+ <groupId>org.apache.maven.its.mng1412</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng1412</groupId>
+ <artifactId>d</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injection-order/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injection-order/pom.xml
new file mode 100644
index 00000000..daf4607f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-injection-order/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2309</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-2309</name>
+ <description>
+ Test that profiles are injected in declaration order, with the last profile being the most dominant.
+ </description>
+
+ <profiles>
+ <!-- NOTE: Using intentionally more than two profiles to prevent random test success -->
+ <profile>
+ <id>pom-a</id>
+ <properties>
+ <pomProperty>a</pomProperty>
+ </properties>
+ </profile>
+ <profile>
+ <id>pom-b</id>
+ <properties>
+ <pomProperty>b</pomProperty>
+ </properties>
+ </profile>
+ <profile>
+ <id>pom-c</id>
+ <properties>
+ <pomProperty>c</pomProperty>
+ </properties>
+ </profile>
+ <profile>
+ <id>pom-d</id>
+ <properties>
+ <pomProperty>d</pomProperty>
+ </properties>
+ </profile>
+ <profile>
+ <id>pom-e</id>
+ <properties>
+ <pomProperty>e</pomProperty>
+ </properties>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/pom.xml
new file mode 100644
index 00000000..4e4c40b2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/pom.xml
@@ -0,0 +1,18 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.ops4j.pax</groupId>
+ <artifactId>construct</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <profiles>
+ <profile>
+ <id>dist</id>
+ <modules>
+ <module>maven-inherit-plugin</module>
+ <module>maven-pax-plugin</module>
+ </modules>
+ </profile>
+ </profiles>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/sub/pom.xml
new file mode 100644
index 00000000..60f057cc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module-inheritance/sub/pom.xml
@@ -0,0 +1,12 @@
+<project>
+ <parent>
+ <groupId>org.ops4j.pax</groupId>
+ <artifactId>construct</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.ops4j</groupId>
+ <artifactId>maven-inherit-plugin</artifactId>
+ <version>1.1</version>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module/pom.xml
new file mode 100644
index 00000000..b6336fd4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-module/pom.xml
@@ -0,0 +1,24 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+ <modules>
+ <module>module-2</module>
+ <module>module-1</module>
+ <module>module-3</module>
+ </modules>
+ <profiles>
+ <profile>
+ <id>a</id>
+ <properties>
+ <b>test-prop</b>
+ </properties>
+ <modules>
+ <module>module-1</module>
+ <module>module-4</module>
+ </modules>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/pom.xml
new file mode 100644
index 00000000..e283bb09
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/pom.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2174</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-2174</name>
+ <description>
+ Verify that plugin dependencies defined by plugin management of a parent profile are not lost when the
+ parent's main plugin management section is also present.
+ </description>
+
+ <modules>
+ <module>sub</module>
+ </modules>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>maven-core-it</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng2174</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/sub/pom.xml
new file mode 100644
index 00000000..3614e305
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugin-mng-dependencies/sub/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng2174</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng2174</groupId>
+ <artifactId>child</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: MNG-2174</name>
+ <description>
+ Verify that plugin dependencies defined by plugin management of a parent profile are not lost when the
+ parent's main plugin management section is also present.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <configuration>
+ <resourcePaths>mng-2174.properties</resourcePaths>
+ <pluginClassLoaderOutput>target/pcl.properties</pluginClassLoaderOutput>
+ </configuration>
+ <goals>
+ <goal>load</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugins/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugins/pom.xml
new file mode 100644
index 00000000..32e94d73
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-plugins/pom.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>3.0-SNAPSHOT</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.3</version>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>standard</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly2-plugin</artifactId>
+ <version>2.0</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-properties-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-properties-interpolation/pom.xml
new file mode 100644
index 00000000..a95e253b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/profile-properties-interpolation/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3900 </groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-3900</name>
+ <description>
+ Test that build properties defined via active profiles are used for
+ interpolation.
+ </description>
+
+ <!--
+ These are some POM elements we would like to interpolate with
+ properties from the profile.
+ -->
+ <url>http://maven.apache.org/${test}
+ </url>
+ <properties>
+ <test>FAILED</test>
+ <property>${test}</property>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>interpolation-profile</id>
+ <!-- This profile defines the properties to use for interpolation. -->
+ <properties>
+ <test>PASSED</test>
+ <test1>PASSED</test1>
+ </properties>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/pom.xml
new file mode 100644
index 00000000..6d17dd3a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/pom.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <properties>
+ <parentProperty>parent-property</parentProperty>
+ <overriddenProperty>parent-property</overriddenProperty>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/sub/pom.xml
new file mode 100644
index 00000000..c5394df5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-inheritance/sub/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3843</groupId>
+ <artifactId>parent-1</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3843.child</groupId>
+ <artifactId>child-2</artifactId>
+ <version>0.2</version>
+ <packaging>jar</packaging>
+
+ <properties>
+ <childProperty>child-property</childProperty>
+ <overriddenProperty>child-override</overriddenProperty>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/pom.xml
new file mode 100644
index 00000000..c74f4465
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>test-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <properties>
+ <pomProfile>parent</pomProfile>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/sub/pom.xml
new file mode 100644
index 00000000..9241b8bb
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/properties-no-duplication/sub/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>test-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <properties>
+ <pomProfile>child</pomProfile>
+ </properties>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml
new file mode 100644
index 00000000..5c1dacab
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/repo-inheritance/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.it0043</groupId>
+ <artifactId>maven-it-it0043</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Maven Integration Test :: it0043</name>
+ <description>Test for repository inheritence - ensure using the same id overrides the defaults</description>
+
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>it0043</name>
+ <url>file:///${basedir}/target/maven-core-it0043-repo</url>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>central</id>
+ <name>it0043</name>
+ <url>file:///${basedir}/target/maven-core-it0043-repo</url>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <outputFile>target/expression.properties</outputFile>
+ <expressions>
+ <expression>project/repositories</expression>
+ <expression>project/pluginRepositories</expression>
+ </expressions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-interpolation/pom.xml
new file mode 100644
index 00000000..49df00a8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-interpolation/pom.xml
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/pom.xml
new file mode 100644
index 00000000..fdb455a0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3811</groupId>
+ <artifactId>test-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>MNG-3811 :: Parent</name>
+ <description>Test inheritance of reporting plugin configuration</description>
+
+ <modules>
+ <module>child</module>
+ </modules>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <booleanParam>true</booleanParam>
+ <stringParams>
+ <stringParam>parentParam</stringParam>
+ </stringParams>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/sub/pom.xml
new file mode 100644
index 00000000..b0768271
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/reporting-plugin-config/sub/pom.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+<parent>
+ <groupId>org.apache.maven.its.mng3811</groupId>
+ <artifactId>test-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>test-child</artifactId>
+
+ <name>MNG-3811 :: Child</name>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-configuration</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <stringParams combine.children="append">
+ <stringParam> childParam </stringParam>
+ <stringParam xml:space="preserve"> preserve space </stringParam>
+ </stringParams>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml
new file mode 100644
index 00000000..40031e36
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/jetty-parent.xml
@@ -0,0 +1,37 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-parent</artifactId>
+ <packaging>pom</packaging>
+ <name>Jetty :: Administrative Parent</name>
+ <version>7</version>
+
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <id>enforce-java</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.6,)</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>[1.5,)</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/pom.xml
new file mode 100644
index 00000000..695ffaff
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/single-configuration-inheritance/pom.xml
@@ -0,0 +1,41 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-parent</artifactId>
+ <version>7</version>
+ <relativePath>jetty-parent.xml</relativePath>
+ </parent>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>project</artifactId>
+ <packaging>pom</packaging>
+ <name>Jetty Server Project</name>
+ <version>6.1.12</version>
+ <build>
+ <defaultGoal>install</defaultGoal>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-java</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>2.0.6</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>[1.4,)</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml
new file mode 100644
index 00000000..7d48d903
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/sytem-property-interpolation/pom.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+
+ <name>${system.property}</name>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/pom.xml
new file mode 100644
index 00000000..be2a825a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3621</groupId>
+ <artifactId>test-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>MNG-3621 :: Parent</name>
+ <description>Test inheritance of UNC paths</description>
+
+ <modules>
+ <module>child</module>
+ </modules>
+
+ <distributionManagement>
+ <site>
+ <id>site</id>
+ <url>file:////host/site</url>
+ </site>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/sub/pom.xml
new file mode 100644
index 00000000..fddd8723
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unc-path/sub/pom.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+<parent>
+ <groupId>org.apache.maven.its.mng3621</groupId>
+ <artifactId>test-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>test-child</artifactId>
+
+ <name>MNG-3621 :: Child</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <configuration>
+ <outputFile>target/pom.properties</outputFile>
+ <expressions>
+ <expression>project/distributionManagement/site/url</expression>
+ </expressions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml
new file mode 100644
index 00000000..38ad7f71
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt-in-profile/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <profiles>
+ <profile>
+ <id>test</id>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml
new file mode 100644
index 00000000..de69bb4b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/dep-mngt/pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps-in-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps-in-profile/pom.xml
new file mode 100644
index 00000000..8d4ae56d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps-in-profile/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <profiles>
+ <profile>
+ <id>test</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps/pom.xml
new file mode 100644
index 00000000..a629c9f5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-dependency-key/deps/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its.mng4005</groupId>
+ <artifactId>a</artifactId>
+ <version>0.2</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo-in-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo-in-profile/pom.xml
new file mode 100644
index 00000000..eb73c4e2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo-in-profile/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4193</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4193</name>
+ <description>
+ Test that multiple artifact repository declarations with the same id cause a validation error even if the
+ repositories are defined within a (non-active) profile.
+ </description>
+
+ <profiles>
+ <profile>
+ <id>test</id>
+ <repositories>
+ <repository>
+ <id>one</id>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ <repository>
+ <id>one</id>
+ <url>http://repository.codehaus.org/</url>
+ </repository>
+ </repositories>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo/pom.xml
new file mode 100644
index 00000000..76d4f74a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/artifact-repo/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4193</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4193</name>
+ <description>
+ Test that multiple artifact repository declarations with the same id cause a validation error.
+ </description>
+
+ <repositories>
+ <repository>
+ <id>one</id>
+ <url>http://repo1.maven.org/maven2</url>
+ </repository>
+ <repository>
+ <id>one</id>
+ <url>http://repository.codehaus.org/</url>
+ </repository>
+ </repositories>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo-in-profile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo-in-profile/pom.xml
new file mode 100644
index 00000000..ac1fada5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo-in-profile/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4193</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4193</name>
+ <description>
+ Test that multiple plugin repository declarations with the same id cause a validation error even if the
+ repositories are defined within a (non-active) profile.
+ </description>
+
+ <profiles>
+ <profile>
+ <id>test</id>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>one</id>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>one</id>
+ <url>http://repository.codehaus.org/</url>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo/pom.xml
new file mode 100644
index 00000000..92fd1264
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unique-repo-id/plugin-repo/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4193</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4193</name>
+ <description>
+ Test that multiple plugin repository declarations with the same id cause a validation error.
+ </description>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>one</id>
+ <url>http://repo1.maven.org/maven2</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>one</id>
+ <url>http://repository.codehaus.org/</url>
+ </pluginRepository>
+ </pluginRepositories>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/child/pom.xml
new file mode 100644
index 00000000..9304f5d0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/child/pom.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3831</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <groupId>org.apache.maven.its.mng3831.child</groupId>
+ <artifactId>child</artifactId>
+ <version>2.0-alpha-1</version>
+ <packaging>jar</packaging>
+
+ <name>child-name</name>
+ <description>child-desc</description>
+ <url>http://child.org/</url>
+ <inceptionYear>2008</inceptionYear>
+ <organization>
+ <name>child-org-name</name>
+ </organization>
+
+ <prerequisites>
+ <maven>2.0.0</maven>
+ </prerequisites>
+
+ <scm>
+ <url>http://scm.org/</url>
+ </scm>
+ <issueManagement>
+ <url>http://issue.org/</url>
+ </issueManagement>
+ <ciManagement>
+ <url>http://ci.org/</url>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <id>maven-core-it</id>
+ <name>child-dist-repo</name>
+ <url>http://dist.org/</url>
+ </repository>
+ <site>
+ <id>maven-core-it</id>
+ <name>child-site</name>
+ <url>http://site.org/</url>
+ </site>
+ </distributionManagement>
+
+ <properties>
+ <!-- this is where we collect all the interpolated values for the POM dump -->
+ <projectDir>${basedir}</projectDir>
+ <projectGroupId>${groupId}</projectGroupId>
+ <projectArtifactId>${artifactId}</projectArtifactId>
+ <projectVersion>${version}</projectVersion>
+ <projectPackaging>${packaging}</projectPackaging>
+ <projectName>${name}</projectName>
+ <projectDesc>${description}</projectDesc>
+ <projectUrl>${url}</projectUrl>
+ <projectYear>${inceptionYear}</projectYear>
+ <projectOrgName>${organization.name}</projectOrgName>
+ <projectPrereqMvn>${prerequisites.maven}</projectPrereqMvn>
+ <projectScmUrl>${scm.url}</projectScmUrl>
+ <projectIssueUrl>${issueManagement.url}</projectIssueUrl>
+ <projectCiUrl>${ciManagement.url}</projectCiUrl>
+ <projectDistRepoName>${distributionManagement.repository.name}</projectDistRepoName>
+ <projectDistRepoUrl>${distributionManagement.repository.url}</projectDistRepoUrl>
+ <projectDistSiteUrl>${distributionManagement.site.url}</projectDistSiteUrl>
+ <projectBuildOut>${build.outputDirectory}</projectBuildOut>
+ <projectSiteOut>${reporting.outputDirectory}</projectSiteOut>
+ <parentGroupId>${parent.groupId}</parentGroupId>
+ <parentArtifactId>${parent.artifactId}</parentArtifactId>
+ <parentVersion>${parent.version}</parentVersion>
+ </properties>
+
+ <build>
+ <outputDirectory>target/bin</outputDirectory>
+ </build>
+
+ <reporting>
+ <outputDirectory>target/doc</outputDirectory>
+ </reporting>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/pom.xml
new file mode 100644
index 00000000..768a5e98
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/unprefixed-expression-interpolation/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3831</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3831</name>
+ <description>Test POM interpolation with expressions of the form $ { * } (ugly but real)</description>
+
+ <modules>
+ <module>parent/child</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/child/pom.xml
new file mode 100644
index 00000000..1f377df1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/child/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.its.mng2006</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <relativePath>../parent/pom.xml</relativePath>
+ </parent>
+
+ <artifactId>child</artifactId>
+ <name>Child Project</name>
+ <description>
+ Test that inheritance of those URLs which automatically append the child's artifact id take the child's
+ relative location to the parent into account.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/pom.properties</outputFile>
+ <expressions>
+ <expression>project/url</expression>
+ <expression>project/scm</expression>
+ <expression>project/distributionManagement/site</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/parent/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/parent/pom.xml
new file mode 100644
index 00000000..f8b069f8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-append/parent/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng2006</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-2006</name>
+ <description>
+ Test that inheritance of those URLs which automatically append the child's artifact id take the child's
+ relative location to the parent into account.
+ </description>
+
+ <modules>
+ <module>../child</module>
+ </modules>
+
+ <url>http://project.url/parent</url>
+
+ <scm>
+ <url>http://viewvc.project.url/parent</url>
+ <connection>http://scm.project.url/parent</connection>
+ <developerConnection>https://scm.project.url/parent</developerConnection>
+ </scm>
+ <distributionManagement>
+ <site>
+ <url>http://site.project.url/parent</url>
+ <id>parent.site</id>
+ </site>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/pom.xml
new file mode 100644
index 00000000..463772fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- NOTE: The base directory name of this project deliberately does not match its artifact id! -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3846</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>ap</artifactId>
+ <packaging>pom</packaging>
+ <name>Another Parent to test multi-level URL adjustment</name>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/sub/pom.xml
new file mode 100644
index 00000000..128e63d1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/sub/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- NOTE: The base directory name of this project deliberately does not match its artifact id! -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3846</groupId>
+ <artifactId>ap</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+ <name>Child Project</name>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/pom.xml
new file mode 100644
index 00000000..ed4cdf08
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/pom.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3846</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ <packaging>pom</packaging>
+
+ <name>Maven Integration Test :: MNG-3846</name>
+ <description>
+ Test that inheritance of certain URLs automatically appends the child's artifact id.
+ </description>
+
+ <url>http://parent.url</url>
+ <organization>
+ <name>parent-org</name>
+ <url>http://parent.url/org</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>parent-license</name>
+ <url>http://parent.url/license.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <scm>
+ <url>http://parent.url/viewvc</url>
+ <connection>http://parent.url/scm</connection>
+ <developerConnection>https://parent.url/scm</developerConnection>
+ </scm>
+ <issueManagement>
+ <url>http://parent.url/issues</url>
+ </issueManagement>
+ <ciManagement>
+ <url>http://parent.url/ci</url>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <url>http://parent.url/dist</url>
+ <id>parent.distros</id>
+ </repository>
+ <snapshotRepository>
+ <url>http://parent.url/snaps</url>
+ <id>parent.snaps</id>
+ </snapshotRepository>
+ <site>
+ <url>http://parent.url/site</url>
+ <id>parent.site</id>
+ </site>
+ <downloadUrl>http://parent.url/download</downloadUrl>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/sub/pom.xml
new file mode 100644
index 00000000..c8e9c108
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-inheritance/sub/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- NOTE: The base directory name of this project deliberately does not match its artifact id! -->
+
+ <parent>
+ <groupId>org.apache.maven.its.mng3846</groupId>
+ <artifactId>parent</artifactId>
+ <version>0.1</version>
+ </parent>
+
+ <artifactId>child</artifactId>
+ <name>Child Project</name>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-no-decoding/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-no-decoding/pom.xml
new file mode 100644
index 00000000..2dcceb93
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/url-no-decoding/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4116</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4116</name>
+ <description>
+ Test that the project builder does not decode URLs (which must be done by the transport layer instead).
+ </description>
+
+ <!-- some URLs using percent-encoded characters -->
+ <url>http://maven.apache.org/spacy%20path</url>
+ <scm>
+ <connection>scm:svn:svn+ssh://svn.apache.org/spacy%20path</connection>
+ <developerConnection>scm:svn:svn+ssh://svn.apache.org/spacy%20path</developerConnection>
+ <url>http://svn.apache.org/viewvc/spacy%20path</url>
+ </scm>
+ <issueManagement>
+ <system>none</system>
+ <url>http://issues.apache.org/spacy%20path</url>
+ </issueManagement>
+ <ciManagement>
+ <system>none</system>
+ <url>http://ci.apache.org/spacy%20path</url>
+ </ciManagement>
+ <distributionManagement>
+ <repository>
+ <id>dist</id>
+ <url>scm:svn:svn+ssh://dist.apache.org/spacy%20path</url>
+ </repository>
+ <snapshotRepository>
+ <id>snap</id>
+ <url>scm:svn:svn+ssh://snap.apache.org/spacy%20path</url>
+ </snapshotRepository>
+ <site>
+ <id>site</id>
+ <url>scm:svn:svn+ssh://site.apache.org/spacy%20path</url>
+ </site>
+ </distributionManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml
new file mode 100644
index 00000000..5822d8d3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-coalesce-text/pom.xml
@@ -0,0 +1,567 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3839</groupId>
+ <artifactId>coreit</artifactId>
+ <version>0.1</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-3839</name>
+ <description>
+ Test that POM parsing properly coalesces text data.
+ </description>
+
+ <properties>
+ <!--
+ This checks the coalescing of CHARACTERS and CDATA events. Note that inner whitespace must be retained.
+ -->
+ <prop0>A <![CDATA[ Test ]]> Project<![CDATA[ ]]>Property</prop0>
+
+ <!--
+ This checks the coalescing of CHARACTERS events that are interleaved with comments. Note that inner whitespace
+ formed by whitespace-only events must be retained.
+ -->
+ <prop1><!-- X -->That's<!-- X --> <!-- X -->a<!-- X --> <!-- X -->test!<!-- X --></prop1>
+
+ <!--
+ This checks the coalescing of CHARACTERS events which would otherwise be reported in chunks of the internal parser
+ buffer size (usually 4 or 8 KB). The text block is designed such that its length is exactly 32 KB after leading
+ and traling whitespace has been removed and all line terminators have been removed.
+ -->
+ <prop2>
+00 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+01 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+02 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+03 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+04 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+05 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+06 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+07 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+08 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+09 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+10 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+11 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+12 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+13 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+14 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+15 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+16 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+17 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+18 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+19 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+20 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+21 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+22 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+23 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+24 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+25 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+26 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+27 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+28 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+29 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+30 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+31 KB 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+0 1 2 3 4 5 6 X
+ </prop2>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-markup-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-markup-interpolation/pom.xml
new file mode 100644
index 00000000..584712fd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-markup-interpolation/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3924</groupId>
+ <artifactId>test</artifactId>
+ <version>0.1-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-3924</name>
+ <description>
+ Test that interpolation of properties that resolve to XML markup doesn't crash the project builder.
+ </description>
+
+ <properties>
+ <!-- That's the property containing escaped XML markup -->
+ <xmlMarkup>&lt;?xml version='1.0'?&gt;Tom&amp;Jerry</xmlMarkup>
+ <!-- That's a property where the above property will be resolved -->
+ <xmlTest>${xmlMarkup}</xmlTest>
+ </properties>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/pom.xml
new file mode 100644
index 00000000..433dd522
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- NOTE: The ugly formatting is essential part of this test! -->
+ <groupId>
+ org.apache.maven.its.mng4070
+ </groupId>
+ <artifactId>
+ parent
+ </artifactId>
+ <version>
+ 1.0
+ </version>
+ <packaging>
+ pom
+ </packaging>
+
+ <name>Maven Integration Test :: MNG-4070</name>
+ <description>
+ Test that whitespace around artifact coordinates does not change artifact identity.
+ </description>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/sub/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/sub/pom.xml
new file mode 100644
index 00000000..f5ea684d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-project-builder/xml-whitespace/sub/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- NOTE: The ugly formatting is essential part of this test! -->
+ <parent>
+ <groupId> org.apache.maven.its.mng4070 </groupId>
+ <artifactId> parent </artifactId>
+ <version> 1.0 </version>
+ </parent>
+
+ <artifactId>subproject</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4070 :: Child</name>
+ <description>
+ Test that whitespace around artifact coordinates does not change artifact identity.
+ </description>
+
+ <dependencies>
+ <dependency>
+ <!-- NOTE: The ugly formatting is essential part of this test! -->
+ <groupId> org.apache.maven.its.mng4070 </groupId>
+ <artifactId> a </artifactId>
+ <version> 0.1 </version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/pom.xml
new file mode 100644
index 00000000..97023414
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4107</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/settings.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/settings.xml
new file mode 100644
index 00000000..6f96f0b6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/repositories/settings.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<settings>
+ <profiles>
+ <profile>
+ <id>maven-core-it-repo</id>
+ <repositories>
+ <repository>
+ <id>maven-core-it-0</id>
+ <url>@baseurl@/repo-0</url>
+ <releases>
+ <checksumPolicy>ignore</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven-core-it-1</id>
+ <url>@baseurl@/repo-1</url>
+ <releases>
+ <checksumPolicy>ignore</checksumPolicy>
+ </releases>
+ <snapshots>
+ <checksumPolicy>ignore</checksumPolicy>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+ <activeProfiles>
+ <activeProfile>maven-core-it-repo</activeProfile>
+ </activeProfiles>
+</settings>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/pom.xml
new file mode 100644
index 00000000..ee627826
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3099</groupId>
+ <artifactId>maven-mng3099-plugin</artifactId>
+ <version>1</version>
+ <packaging>maven-plugin</packaging>
+
+ <name>maven-mng3099-plugin</name>
+ <description>Tests properties injected as a result of active profiles in the user settings file.</description>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/settings.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/settings.xml
new file mode 100644
index 00000000..964e0512
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/settings-no-pom/settings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<settings
+ xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+
+ <profiles>
+ <profile>
+ <id>local-profile</id>
+ <properties>
+ <local-profile-prop>local-profile-prop-value</local-profile-prop>
+ </properties>
+ </profile>
+ </profiles>
+
+ <activeProfiles>
+ <activeProfile>local-profile</activeProfile>
+ </activeProfiles>
+
+</settings>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/pom.xml
new file mode 100644
index 00000000..245349a6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng4107</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>Maven Integration Test :: MNG-4107</name>
+ <description>
+ Test that POM interpolation uses the property values from the dominant profile source (POM vs. profiles.xml
+ vs. settings.xml). This boils down to the proper order of profile injection and interpolation, i.e.
+ interpolate after profiles from all sources are injected.
+ </description>
+
+ <properties>
+ <!-- collect the effective property values as derived by interpolation -->
+ <pomVsSettingsInterpolated>${pomVsSettings}</pomVsSettingsInterpolated>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>pom</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <pomProfile>applied</pomProfile>
+ <pomVsSettings>pom</pomVsSettings>
+ </properties>
+ </profile>
+ </profiles>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-expression</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>eval</goal>
+ </goals>
+ <configuration>
+ <outputFile>target/pom.properties</outputFile>
+ <expressions>
+ <expression>project/properties</expression>
+ </expressions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/settings.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/settings.xml
new file mode 100644
index 00000000..2d42d495
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources-settings/test-pom-and-settings-interpolation/settings.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<settings>
+ <profiles>
+ <profile>
+ <id>settings</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <settingsProfile>applied</settingsProfile>
+ <pomVsSettings>settings</pomVsSettings>
+ </properties>
+ </profile>
+ </profiles>
+</settings>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties
new file mode 100644
index 00000000..ef45373a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/maven/org.apache.maven/maven-core/pom.properties
@@ -0,0 +1 @@
+version=2.1-SNAPSHOT \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/plexus/components.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/plexus/components.xml
new file mode 100644
index 00000000..714cb36b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/META-INF/plexus/components.xml
@@ -0,0 +1,113 @@
+<component-set>
+ <components>
+ <component>
+ <role>org.apache.maven.lifecycle.binding.LegacyLifecycleParsingTestComponent</role>
+ <role-hint>default</role-hint>
+ <implementation>org.apache.maven.lifecycle.binding.LegacyLifecycleParsingTestComponent</implementation>
+ <configuration>
+ <lifecycles>
+ <lifecycle>
+ <id>default</id>
+ <phases>
+ <phase>validate</phase>
+ <phase>initialize</phase>
+ <phase>generate-sources</phase>
+ <phase>process-sources</phase>
+ <phase>generate-resources</phase>
+ <phase>process-resources</phase>
+ <phase>compile</phase>
+ <phase>process-classes</phase>
+ <phase>generate-test-sources</phase>
+ <phase>process-test-sources</phase>
+ <phase>generate-test-resources</phase>
+ <phase>process-test-resources</phase>
+ <phase>test-compile</phase>
+ <phase>process-test-classes</phase>
+ <phase>test</phase>
+ <phase>prepare-package</phase>
+ <phase>package</phase>
+ <phase>pre-integration-test</phase>
+ <phase>integration-test</phase>
+ <phase>post-integration-test</phase>
+ <phase>verify</phase>
+ <phase>install</phase>
+ <phase>deploy</phase>
+ </phases>
+ </lifecycle>
+ <lifecycle>
+ <id>clean</id>
+ <phases>
+ <phase>pre-clean</phase>
+ <phase>clean</phase>
+ <phase>post-clean</phase>
+ </phases>
+ <default-phases>
+ <clean>org.apache.maven.plugins:maven-clean-plugin:clean</clean>
+ </default-phases>
+ </lifecycle>
+ <lifecycle>
+ <id>site</id>
+ <phases>
+ <phase>pre-site</phase>
+ <phase>site</phase>
+ <phase>post-site</phase>
+ <phase>site-deploy</phase>
+ </phases>
+ <default-phases>
+ <site>org.apache.maven.plugins:maven-site-plugin:site</site>
+ <site-deploy>org.apache.maven.plugins:maven-site-plugin:deploy</site-deploy>
+ </default-phases>
+ </lifecycle>
+ </lifecycles>
+ </configuration>
+ </component>
+ <component>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+ <role-hint>test-mapping</role-hint>
+ <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
+ <configuration>
+ <lifecycles>
+ <lifecycle>
+ <id>default</id>
+ <!-- START SNIPPET: pom-lifecycle -->
+
+ <phases>
+ <package>org.apache.maven.plugins:maven-site-plugin:attach-descriptor</package>
+ <install>org.apache.maven.plugins:maven-install-plugin:install</install>
+ <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
+ </phases>
+ <optional-mojos>
+ <optional-mojo>org.apache.maven.plugins:maven-site-plugin:attach-descriptor</optional-mojo>
+ </optional-mojos>
+ <!-- END SNIPPET: pom-lifecycle -->
+ </lifecycle>
+ </lifecycles>
+ </configuration>
+ </component>
+ <component>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+ <role-hint>test-mapping2</role-hint>
+ <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
+ <configuration>
+ <lifecycles>
+ <lifecycle>
+ <id>default</id>
+ <!-- START SNIPPET: pom-lifecycle -->
+ <phases>
+ <package>
+ org.apache.maven.plugins:maven-site-plugin:attach-descriptor,
+ org.apache.maven.plugins:maven-clean-plugin:clean
+ </package>
+ <install>org.apache.maven.plugins:maven-install-plugin:install</install>
+ <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
+ </phases>
+ <optional-mojos>
+ <optional-mojo>org.apache.maven.plugins:maven-site-plugin:attach-descriptor</optional-mojo>
+ </optional-mojos>
+ <!-- END SNIPPET: pom-lifecycle -->
+ </lifecycle>
+ </lifecycles>
+ </configuration>
+ </component>
+ </components>
+</component-set> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/canonical-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/canonical-pom.xml
new file mode 100644
index 00000000..82bf8725
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/canonical-pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0-SNAPSHOT</version>
+
+ <name>Maven</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-plexus-plugin</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <plexusConfiguration>src/conf/plexus.conf</plexusConfiguration>
+ <plexusConfigurationPropertiesFile>src/conf/plexus.properties</plexusConfigurationPropertiesFile>
+ <plexusApplicationName>Continuum</plexusApplicationName>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>plexus:runtime</goal>
+ </goals>
+ <configuration>
+ <plexusApplicationName>ContinuumPro</plexusApplicationName>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/dependencyManagement-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/dependencyManagement-pom.xml
new file mode 100644
index 00000000..2accaca8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/dependencyManagement-pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0-SNAPSHOT</version>
+
+ <name>Maven</name>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-plexus-plugin</artifactId>
+ <version>1.0</version>
+ <configuration>
+ <plexusConfiguration>src/conf/plexus.conf</plexusConfiguration>
+ <plexusConfigurationPropertiesFile>src/conf/plexus.properties</plexusConfigurationPropertiesFile>
+ <plexusApplicationName>Continuum</plexusApplicationName>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>plexus:runtime</goal>
+ </goals>
+ <configuration>
+ <plexusApplicationName>ContinuumPro</plexusApplicationName>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/distributionManagement-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/distributionManagement-pom.xml
new file mode 100644
index 00000000..1a8ee7ff
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/distributionManagement-pom.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0-SNAPSHOT</version>
+
+ <name>Maven</name>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>repo-id</id>
+ <name>my snapshot repository</name>
+ <url>file:///path/to/snapshot/repo</url>
+ </snapshotRepository>
+ <repository>
+ <id>repo-id2</id>
+ <name>my repository</name>
+ <url>file:///path/to/repo</url>
+ </repository>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.1.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-a-1.1.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.1.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-b-1.1.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.1.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-c-1.1.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.1.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.1.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.2.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.2.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/jars/maven-test-d-1.2.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.0.pom
new file mode 100644
index 00000000..93fc0d0b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.0.pom
@@ -0,0 +1,14 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Fake Maven Central Repository</name>
+ <url>file://dummy</url>
+ </repository>
+ </repositories>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.1.pom
new file mode 100644
index 00000000..a0830861
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-a-1.1.pom
@@ -0,0 +1,14 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <packaging>jar</packaging>
+ <version>1.1</version>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Fake Maven Central Repository</name>
+ <url>file://dummy</url>
+ </repository>
+ </repositories>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.0.pom
new file mode 100644
index 00000000..c173c663
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.0.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.1.pom
new file mode 100644
index 00000000..fff241a1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-b-1.1.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <packaging>jar</packaging>
+ <version>1.1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.0.pom
new file mode 100644
index 00000000..1f049786
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.0.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.1.pom
new file mode 100644
index 00000000..8bd52514
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-c-1.1.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <packaging>jar</packaging>
+ <version>1.1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.0.pom
new file mode 100644
index 00000000..ac6ef12e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.0.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.1.pom
new file mode 100644
index 00000000..6e22f608
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.1.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <packaging>jar</packaging>
+ <version>1.1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.2.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.2.pom
new file mode 100644
index 00000000..16f8d905
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/maven-test/poms/maven-test-d-1.2.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <packaging>jar</packaging>
+ <version>1.2</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p1/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p1/pom.xml
new file mode 100644
index 00000000..7bfca342
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p1/pom.xml
@@ -0,0 +1,45 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p1</artifactId>
+ <packaging>pom</packaging>
+ <name>p1</name>
+ <version>1.0</version>
+ <scm>
+ <url>scm-url</url>
+ </scm>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <tasks><echo>${project.parent.basedir}</echo></tasks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p2/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p2/pom.xml
new file mode 100644
index 00000000..b45ce9c6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p2/pom.xml
@@ -0,0 +1,56 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p2</artifactId>
+ <packaging>pom</packaging>
+ <name>p2</name>
+ <version>1.0</version>
+ <scm>
+ <url>scm-url</url>
+ </scm>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven</groupId>
+ <artifactId>p1</artifactId>
+ <version>1.0</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <tasks><echo>${project.parent.basedir}</echo></tasks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p3/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p3/pom.xml
new file mode 100644
index 00000000..e9648e39
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p3/pom.xml
@@ -0,0 +1,59 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p3</artifactId>
+ <packaging>pom</packaging>
+ <name>p3</name>
+ <version>1.0</version>
+ <scm>
+ <url>scm-url</url>
+ </scm>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <tasks><echo>${project.parent.basedir}</echo></tasks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p4/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p4/pom.xml
new file mode 100644
index 00000000..7ffef9d7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/p4/pom.xml
@@ -0,0 +1,67 @@
+<project>
+ <parent>
+ <artifactId>p0</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p4</artifactId>
+ <packaging>pom</packaging>
+ <name>p4</name>
+ <version>1.0</version>
+ <scm>
+ <url>scm-url</url>
+ </scm>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven</groupId>
+ <artifactId>p2</artifactId>
+ <version>1.0</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>maven</groupId>
+ <artifactId>p3</artifactId>
+ <version>1.0</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <version>1.1</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <configuration>
+ <tasks><echo>${project.parent.basedir}</echo></tasks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/pom.xml
new file mode 100644
index 00000000..3ccf7e63
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/imports-repo/t01/p0/pom.xml
@@ -0,0 +1,26 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>p0</artifactId>
+ <packaging>pom</packaging>
+ <name>p0</name>
+ <version>1.0</version>
+ <organization>
+ <name>Codehaus</name>
+ </organization>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <modules>
+ <module>p1</module>
+ <module>p2</module>
+ <module>p3</module>
+ <module>p4</module>
+ </modules>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/marker.txt b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/marker.txt
new file mode 100644
index 00000000..d9bab060
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/marker.txt
@@ -0,0 +1 @@
+this is just a marker file. \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-a-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-a-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-a-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-b-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-b-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-b-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-c-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-c-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-c-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-d-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-d-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/jars/maven-test-d-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-a-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-a-1.0.pom
new file mode 100644
index 00000000..6905f6c8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-a-1.0.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Fake Maven Central Repository</name>
+ <url>file://dummy</url>
+ </repository>
+ </repositories>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-b-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-b-1.0.pom
new file mode 100644
index 00000000..e814951a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-b-1.0.pom
@@ -0,0 +1,23 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <version>1.1</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-c-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-c-1.0.pom
new file mode 100644
index 00000000..4631b88f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-c-1.0.pom
@@ -0,0 +1,16 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-c</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <version>1.2</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.1.pom
new file mode 100644
index 00000000..6e22f608
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.1.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <packaging>jar</packaging>
+ <version>1.1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.2.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.2.pom
new file mode 100644
index 00000000..6e22f608
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/maven-test/poms/maven-test-d-1.2.pom
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-d</artifactId>
+ <packaging>jar</packaging>
+ <version>1.1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar
new file mode 100644
index 00000000..c2c027fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+local \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version
new file mode 100644
index 00000000..09f9180f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version
@@ -0,0 +1 @@
+20040101.101010 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar
new file mode 100644
index 00000000..c2c027fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+local \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version
new file mode 100644
index 00000000..09f9180f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version
@@ -0,0 +1 @@
+20040101.101010 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar
new file mode 100644
index 00000000..c2c027fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+local \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar.snapshot-version b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar.snapshot-version
new file mode 100644
index 00000000..09f9180f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/jars/maven-snapshot-e-1.0-SNAPSHOT.jar.snapshot-version
@@ -0,0 +1 @@
+20040101.101010 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/poms/maven-test-snapshot-resolving-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/poms/maven-test-snapshot-resolving-1.0.pom
new file mode 100644
index 00000000..64a075f4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/local-repo/snapshot-test/poms/maven-test-snapshot-resolving-1.0.pom
@@ -0,0 +1,49 @@
+<project>
+ <groupId>snapshot-test</groupId>
+ <artifactId>maven-test-snapshot-resolving</artifactId>
+ <packaging>jar</packaging>
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Fake Maven Central Repository</name>
+ <url>file://dummy</url>
+ </repository>
+ </repositories>
+ <dependencies>
+ <dependency>
+ <groupId>snapshot-test</groupId>
+ <artifactId>maven-snapshot-a</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>snapshot-test</groupId>
+ <artifactId>maven-snapshot-b</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>snapshot-test</groupId>
+ <artifactId>maven-snapshot-c</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>snapshot-test</groupId>
+ <artifactId>maven-snapshot-d</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>snapshot-test</groupId>
+ <artifactId>maven-snapshot-e</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/MavenLifecycleParticipantTest.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/MavenLifecycleParticipantTest.xml
new file mode 100644
index 00000000..ebbbf791
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/MavenLifecycleParticipantTest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.project.ProjectBuildingHelper</role>
+ <implementation>org.apache.maven.project.EmptyProjectBuildingHelper</implementation>
+ </component>
+ </components>
+</plexus>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/execution/test-extension-1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/execution/test-extension-1.jar
new file mode 100644
index 00000000..0272ee3c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/execution/test-extension-1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar
new file mode 100644
index 00000000..674d71e8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.md5
new file mode 100644
index 00000000..92c6c765
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.md5
@@ -0,0 +1 @@
+1f40fb782a4f2cf78f161d32670f7a3a \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.sha1
new file mode 100644
index 00000000..ed10f030
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.jar.sha1
@@ -0,0 +1 @@
+99129f16442844f6a4a11ae22fbbee40b14d774f \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom
new file mode 100644
index 00000000..2169a65d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <name>JUnit</name>
+ <url>http://junit.org</url>
+ <description>
+ JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.
+ </description>
+ <organization>
+ <name>JUnit</name>
+ <url>http://www.junit.org</url>
+ </organization>
+ <licenses>
+ <license>
+ <name>Common Public License Version 1.0</name>
+ <url>http://www.opensource.org/licenses/cpl1.0.txt</url>
+ </license>
+ </licenses>
+ <scm>
+ <url>http://junit.cvs.sourceforge.net/junit/</url>
+ </scm>
+ <dependencies>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.md5
new file mode 100644
index 00000000..51e102f6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.md5
@@ -0,0 +1 @@
+50b40cb7342f52b702e6337d5debf1ae \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.sha1
new file mode 100644
index 00000000..82ac6705
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/junit/junit/3.8.1/junit-3.8.1.pom.sha1
@@ -0,0 +1 @@
+16d74791c801c89b0071b1680ea0bc85c93417bb \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom
new file mode 100644
index 00000000..1fc7e406
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- Shared parent. Doesn't define a lot of things about Apache like general mailing lists, but does
+ define the settings common to all projects at Apache -->
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>3</version>
+ <packaging>pom</packaging>
+ <name>The Apache Software Foundation</name>
+ <description>
+ The Apache Software Foundation provides support for the Apache community of open-source software projects.
+ The Apache projects are characterized by a collaborative, consensus based development process, an open and
+ pragmatic software license, and a desire to create high quality software that leads the way in its field.
+ We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
+ and users.
+ </description>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+ <url>http://www.apache.org/</url>
+ <repositories>
+ <repository>
+ <id>apache.snapshots</id>
+ <name>Apache Snapshot Repository</name>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <distributionManagement>
+ <!-- Site omitted - each project must provide their own -->
+ <repository>
+ <id>apache.releases</id>
+ <name>Apache Release Distribution Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+ </repository>
+ <snapshotRepository>
+ <id>apache.snapshots</id>
+ <name>Apache Development Snapshot Repository</name>
+ <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Apache Announce List</name>
+ <subscribe>announce-subscribe@apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@apache.org</unsubscribe>
+ <post>announce@apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/www-announce/</archive>
+ </mailingList>
+ </mailingLists>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.md5
new file mode 100644
index 00000000..b9d0ea16
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.md5
@@ -0,0 +1 @@
+c857ebbb5f303f435495e40e6c9e45a2 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.sha1
new file mode 100644
index 00000000..ffb57bbc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/apache/3/apache-3.pom.sha1
@@ -0,0 +1 @@
+1bc0010136a890e2fd38d901a0b7ecdf0e3f9871 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar
new file mode 100644
index 00000000..5bc9c06c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.md5
new file mode 100644
index 00000000..5ff89e83
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.md5
@@ -0,0 +1 @@
+430da483dcfb2964a9dcd619c29a6c78 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.sha1
new file mode 100644
index 00000000..a3418804
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.jar.sha1
@@ -0,0 +1 @@
+ea9e3f3fdc25f386d5f9ac861a55b6c3bb773d91 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom
new file mode 100644
index 00000000..8de3ce6d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>maven-parent</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>5</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.artifact</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <name>Maven Artifact</name>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/artifact/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/artifact/trunk</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/artifact/trunk</url>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-32</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-active-collections</artifactId>
+ <version>1.0-beta-1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>1.0-beta-2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>1.2_Java1.3</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-17</version>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/metadata.mdo</model>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/testutils/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.md5
new file mode 100644
index 00000000..11e35363
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.md5
@@ -0,0 +1 @@
+794377b5385c68c660ee9ca26e6b5cf1 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.sha1
new file mode 100644
index 00000000..4beb688d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/artifact/maven-artifact/3.0-SNAPSHOT/maven-artifact-3.0-SNAPSHOT.pom.sha1
@@ -0,0 +1 @@
+358254e73f075bcfb9d587d0da553083abd0cc45 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.jar
new file mode 100644
index 00000000..0272ee3c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom
new file mode 100644
index 00000000..70114e72
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom
@@ -0,0 +1,73 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.core.test</groupId>
+ <artifactId>test-extension</artifactId>
+ <packaging>jar</packaging>
+ <version>1</version>
+ <name>test-extension</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.artifact</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <version>1.0.11</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>repo-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>repo.xml</descriptor>
+ </descriptors>
+ <finalName>test-extension</finalName>
+ <appendAssemblyId>true</appendAssemblyId>
+ <outputDirectory>${pom.basedir}/../../resources/org/apache/maven/extension</outputDirectory>
+ <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <id>dummy</id>
+ <url>file:///tmp/dummy-repo</url>
+ </repository>
+ </distributionManagement>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.md5
new file mode 100644
index 00000000..ad06718c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.md5
@@ -0,0 +1 @@
+e8f6e0f4ef9c2ed3fb185ef44165fb40 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.sha1
new file mode 100644
index 00000000..6065ee04
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-extension/1/test-extension-1.pom.sha1
@@ -0,0 +1 @@
+88ace5d78ee32fa0ce59714a4a42a73af3b52bd3 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.jar
new file mode 100644
index 00000000..04fe3846
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom
new file mode 100644
index 00000000..d9e4cde9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom
@@ -0,0 +1,44 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.core.test</groupId>
+ <artifactId>test-lifecycle-and-artifactHandler</artifactId>
+ <packaging>jar</packaging>
+ <version>1</version>
+ <name>test-lifecycle-and-artifactHandler</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <id>repo-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>repo.xml</descriptor>
+ </descriptors>
+ <finalName>test-extension</finalName>
+ <appendAssemblyId>true</appendAssemblyId>
+ <outputDirectory>${pom.basedir}/../../resources/org/apache/maven/extension</outputDirectory>
+ <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <id>dummy</id>
+ <url>file:///tmp/dummy-repo</url>
+ </repository>
+ </distributionManagement>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.md5
new file mode 100644
index 00000000..01d51942
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.md5
@@ -0,0 +1 @@
+7f10427af029d20cbea57c21d1aec65e \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.sha1
new file mode 100644
index 00000000..dac1e45a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/core/test/test-lifecycle-and-artifactHandler/1/test-lifecycle-and-artifactHandler-1.pom.sha1
@@ -0,0 +1 @@
+ed98c808239aefb0ec51a8b9e96f191da7fd92e6 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom
new file mode 100644
index 00000000..132d9d73
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2005-2006 The Apache Software Foundation.
+ ~
+ ~ Licensed 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>3</version>
+ <relativePath>../asf/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>4</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>
+ Maven is a software project management and comprehension tool. Based on the concept of a project object model
+ (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MPA</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://maven.zones.apache.org:8080/continuum</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>notifications@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>snicoll</id>
+ <name>Stephane Nicoll</name>
+ <email>snicoll@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>fgiust</id>
+ <name>Fabrizio Giustina</name>
+ <email>fgiust@apache.org</email>
+ <organization>openmind</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>epunzalan</id>
+ <name>Edwin Punzalan</name>
+ <email>epunzalan@mergere.com</email>
+ <organization>Mergere</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>mperham</id>
+ <name>Mike Perham</name>
+ <email>mperham@gmail.com</email>
+ <organization>IBM</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>carlos</id>
+ <name>Carlos Sanchez</name>
+ <email>carlos@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>dennisl</id>
+ <name>Dennis Lundberg</name>
+ <email>dennisl@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ </developers>
+
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org</url>
+ </site>
+ </distributionManagement>
+
+<!-- Disabled until projects have been made to comply
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>cpd-check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+-->
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml</configLocation>
+ <headerLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt</headerLocation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/maven/tags/maven-parent-4</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/maven/tags/maven-parent-4</developerConnection>
+ <url>http://svn.apache.org/viewvc/maven/pom/maven/tags/maven-parent-4</url>
+ </scm>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.md5
new file mode 100644
index 00000000..9c417645
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.md5
@@ -0,0 +1 @@
+2a4e926f3a76c6e74b0b126f513ad4e7 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.sha1
new file mode 100644
index 00000000..b6caacf5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/4/maven-parent-4.pom.sha1
@@ -0,0 +1 @@
+0fc039b0bd4d17d7c147a30e1d83994629c5297c \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom
new file mode 100644
index 00000000..b3350401
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>3</version>
+ <relativePath>../asf/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>5</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>
+ Maven is a software project management and comprehension tool. Based on the concept of a project object model
+ (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MPA</url>
+ </issueManagement>
+ <ciManagement>
+ <system>continuum</system>
+ <url>http://maven.zones.apache.org/continuum</url>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>notifications@maven.apache.org</address>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2002</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <post>issues@maven.apache.org</post>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <post>notifications@maven.apache.org</post>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Chair</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>brett@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+10</timezone>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>kenney</id>
+ <name>Kenney Westerhof</name>
+ <email>kenney@apache.org</email>
+ <organization>Neonics</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>snicoll</id>
+ <name>Stephane Nicoll</name>
+ <email>snicoll@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vmassol</id>
+ <name>Vincent Massol</name>
+ <email>vmassol@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>fgiust</id>
+ <name>Fabrizio Giustina</name>
+ <email>fgiust@apache.org</email>
+ <organization>openmind</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>epunzalan</id>
+ <name>Edwin Punzalan</name>
+ <email>epunzalan@mergere.com</email>
+ <organization>Mergere</organization>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>mperham</id>
+ <name>Mike Perham</name>
+ <email>mperham@gmail.com</email>
+ <organization>IBM</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>jdcasey</id>
+ <name>John Casey</name>
+ <email>jdcasey@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstol</name>
+ <email>trygvis@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>vsiveton</id>
+ <name>Vincent Siveton</name>
+ <email>vsiveton@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>carlos</id>
+ <name>Carlos Sanchez</name>
+ <email>carlos@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>dennisl</id>
+ <name>Dennis Lundberg</name>
+ <email>dennisl@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>aheritier</id>
+ <name>Arnaud Heritier</name>
+ <email>aheritier@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+ <developer>
+ <id>handyande</id>
+ <name>Andrew Williams</name>
+ <email>handyande@apache.org</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>0</timezone>
+ </developer>
+ <developer>
+ <id>jtolentino</id>
+ <name>Ernesto Tolentino Jr.</name>
+ <email>jtolentino@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>+8</timezone>
+ </developer>
+ <developer>
+ <id>joakime</id>
+ <name>Joakim Erdfelt</name>
+ <email>joakime@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+ <developer>
+ <id>jmcconnell</id>
+ <name>Jesse McConnell</name>
+ <email>jmcconnell@apache.org</email>
+ <organization>ASF</organization>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>wsmoak</id>
+ <name>Wendy Smoak</name>
+ <email>wsmoak@apache.org</email>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <timezone>-7</timezone>
+ </developer>
+
+ </developers>
+
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org</url>
+ </site>
+ </distributionManagement>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-4</version>
+ <configuration>
+ <!-- This element will be overriden by children -->
+ <tagBase>https://svn.apache.org/repos/asf/maven/pom/tags</tagBase>
+ <useReleaseProfile>false</useReleaseProfile>
+ <goals>deploy</goals>
+ <arguments>-Prelease</arguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>ci</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>cpd-check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>reporting</id>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml</configLocation>
+ <headerLocation>http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt</headerLocation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ </profile>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+ <plugin>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <configuration>
+ <passphrase>${gpg.passphrase}</passphrase>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- We want to deploy the artifact to a staging location for perusal -->
+ <plugin>
+ <inherited>true</inherited>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
+ <updateReleaseInfo>true</updateReleaseInfo>
+ </configuration>
+ </plugin>
+ <!-- We want to package up license resources in the JARs produced -->
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.0</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.2</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.2</version>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5</url>
+ </scm>
+</project>
+
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.md5
new file mode 100644
index 00000000..27ba3aaf
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.md5
@@ -0,0 +1 @@
+4da85635ce64dbec5b00232d5bb26453 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
new file mode 100644
index 00000000..5d7a3eba
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1
@@ -0,0 +1 @@
+5c1ab38decaca1ccd08294aeab135047ebbae00d \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar
new file mode 100644
index 00000000..79fcf226
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.md5
new file mode 100644
index 00000000..60aecbcd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.md5
@@ -0,0 +1 @@
+f41eb4e07a725eea3332743a29057855 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.sha1
new file mode 100644
index 00000000..e3f05109
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar.sha1
@@ -0,0 +1 @@
+abd1c9ace6e87c94a4b91f5176aeb09d954b23a3 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
new file mode 100644
index 00000000..dca027b2
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
@@ -0,0 +1,21 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>wagon</artifactId>
+ <groupId>org.apache.maven.wagon</groupId>
+ <version>1.0-beta-2</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>wagon-provider-api</artifactId>
+ <name>Maven Wagon API</name>
+ <version>1.0-beta-2</version>
+ <description>Maven Wagon API that defines the contract between different Wagon implementations</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.md5
new file mode 100644
index 00000000..0f10b3fd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.md5
@@ -0,0 +1 @@
+97f0a0bd0b81520ccccf8736b1fe380c \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.sha1
new file mode 100644
index 00000000..56b9559d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom.sha1
@@ -0,0 +1 @@
+8b3013d0754edbeb694831ddf1c5d1a0019ee042 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
new file mode 100644
index 00000000..27faa8ef
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>maven-parent</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>4</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon</artifactId>
+ <packaging>pom</packaging>
+ <name>Maven Wagon</name>
+ <version>1.0-beta-2</version>
+ <description>Tools to manage artifacts and deployment</description>
+ <url>http://maven.apache.org/wagon</url>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/WAGON</url>
+ </issueManagement>
+ <inceptionYear>2003</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Wagon User List</name>
+ <subscribe>wagon-users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-users-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-wagon-users/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Wagon Developer List</name>
+ <subscribe>wagon-dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-dev-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-wagon-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Maven Commits List</name>
+ <subscribe>wagon-commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>wagon-commits-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-wagon-commits/</archive>
+ </mailingList>
+ </mailingLists>
+ <developers>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>michal@codehaus.org</email>
+ <organization>Codehaus</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0-beta-2</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0-beta-2</developerConnection>
+ <url>https://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0-beta-2</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/wagon/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>wagon-provider-api</module>
+ <module>wagon-provider-test</module>
+ <module>wagon-providers</module>
+ </modules>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-test</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-common-test</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-common</artifactId>
+ <version>1.0-beta-2</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>1.0-alpha-4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.4</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <!-- TODO: point to ref location
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/wagon/</url>
+ </site>
+ </distributionManagement>
+ -->
+ <profiles>
+ <profile>
+ <id>sharedResources</id>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>people.apache.org</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0-alpha-1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.0</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.md5
new file mode 100644
index 00000000..45e066d7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.md5
@@ -0,0 +1 @@
+e739bffedc84a18c6e10a0958e2006ad \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.sha1
new file mode 100644
index 00000000..5f82f766
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom.sha1
@@ -0,0 +1 @@
+6cf8a47018be792d2b1774d2bacd7541c888ae50 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar
new file mode 100644
index 00000000..d3232758
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.md5
new file mode 100644
index 00000000..1a9a2b6f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.md5
@@ -0,0 +1 @@
+1078ac2103fe666952a3cbcbff19ec71 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.sha1
new file mode 100644
index 00000000..17dbef2e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.jar.sha1
@@ -0,0 +1 @@
+c76ce4f9f1a3d04ef849c1d067519b77f07e01f3 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom
new file mode 100644
index 00000000..80ac6d90
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom
@@ -0,0 +1,51 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>plexus-components</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.1.6</version>
+ </parent>
+
+ <artifactId>plexus-active-collections</artifactId>
+ <version>1.0-beta-1</version>
+ <name>Plexus Container-Backed Active Collections</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/TestComponent.java</exclude>
+ <exclude>**/TestBadComponent.java</exclude>
+ <exclude>**/*TCK.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:svn:https://svn.codehaus.org/plexus/tags/plexus-active-collections-1.0-beta-1</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/tags/plexus-active-collections-1.0-beta-1</developerConnection>
+ </scm>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.md5
new file mode 100644
index 00000000..14519126
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.md5
@@ -0,0 +1 @@
+d844f3e1934a76cefc25342bf02f3bff \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.sha1
new file mode 100644
index 00000000..5442cbcd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-active-collections/1.0-beta-1/plexus-active-collections-1.0-beta-1.pom.sha1
@@ -0,0 +1 @@
+cf6a9d40df4ca79c210b2b8a90ce28fffb202769 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar
new file mode 100644
index 00000000..e2143250
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.md5
new file mode 100644
index 00000000..c7dfa1ea
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.md5
@@ -0,0 +1 @@
+f55402879506f435a386f2c002ed5001 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.sha1
new file mode 100644
index 00000000..a333efb8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.jar.sha1
@@ -0,0 +1 @@
+fc41205635dab152bf794785be80a0a70fda686e \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom
new file mode 100644
index 00000000..be71f49f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom
@@ -0,0 +1,94 @@
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~
+ ~ Copyright 2001-2006 The Codehaus Foundation.
+ ~
+ ~ Licensed 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.10</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <packaging>jar</packaging>
+ <name>Plexus Classworlds</name>
+ <version>1.2-alpha-10</version>
+ <description />
+ <inceptionYear>2002</inceptionYear>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkMode>once</forkMode>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/classworlds/event/*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>debug</id>
+ <dependencies>
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>1.5.0</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>aspectj-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <complianceLevel>1.4</complianceLevel>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-10</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-10</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-10</url>
+ </scm>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.md5
new file mode 100644
index 00000000..47dbce55
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.md5
@@ -0,0 +1 @@
+1a7177f5992983aeb393089af67e51dc \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.sha1
new file mode 100644
index 00000000..eafd9a79
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-10/plexus-classworlds-1.2-alpha-10.pom.sha1
@@ -0,0 +1 @@
+11215912b045533ec9aaba9f63ea27acf6da850e \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar
new file mode 100644
index 00000000..a8f6a7d3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.md5
new file mode 100644
index 00000000..09c3bbad
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.md5
@@ -0,0 +1 @@
+b00a4521e82cd7cdf502039dd59a1ffb \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.sha1
new file mode 100644
index 00000000..9a43138c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.jar.sha1
@@ -0,0 +1 @@
+ed03d1eeb9b2576747df0d2883d9006fa5e1febe \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
new file mode 100644
index 00000000..6e29cd26
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom
@@ -0,0 +1,78 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.9</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <name>Plexus Classworlds</name>
+ <version>1.2-alpha-7</version>
+ <description></description>
+ <inceptionYear>2002</inceptionYear>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-7</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-7</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-7</url>
+ </scm>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkMode>once</forkMode>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/classworlds/event/*</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>debug</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>aspectj-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <complianceLevel>1.4</complianceLevel>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>1.5.0</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.md5
new file mode 100644
index 00000000..e9083e79
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.md5
@@ -0,0 +1 @@
+80962d09b250824806ca66b0bd0ad4c1 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
new file mode 100644
index 00000000..4b9e8a40
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1
@@ -0,0 +1 @@
+6944ec0d0cab19adf167332f7197e045d64a577c \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar
new file mode 100644
index 00000000..85669fdd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.md5
new file mode 100644
index 00000000..1830fc9e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.md5
@@ -0,0 +1 @@
+4fe3c03b97ff12905d0fb10fc5b36766 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.sha1
new file mode 100644
index 00000000..7456120d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.jar.sha1
@@ -0,0 +1 @@
+5a2100a1c6a37804b1abfc70000b0ea33b83b7f9 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
new file mode 100644
index 00000000..b1511640
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom
@@ -0,0 +1,63 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>plexus-containers</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0-alpha-16</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-component-api</artifactId>
+ <name>Plexus Component API</name>
+ <version>1.0-alpha-16</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.md5
new file mode 100644
index 00000000..78fc8ace
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.md5
@@ -0,0 +1 @@
+751ea77f1e617aea90f36d7156762bf5 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
new file mode 100644
index 00000000..dea60884
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1
@@ -0,0 +1 @@
+53ad54acd9589c497ba54740f0455fec55db64d7 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar
new file mode 100644
index 00000000..5e3a919c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.md5
new file mode 100644
index 00000000..beb51a4f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.md5
@@ -0,0 +1 @@
+7146edcc3412c2b54df27edaf66b00a6 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.sha1
new file mode 100644
index 00000000..4a7df6b7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.jar.sha1
@@ -0,0 +1 @@
+b226de4eb8db939dff4e14eb5aa1be045c39f6f4 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom
new file mode 100644
index 00000000..6369d8ec
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom
@@ -0,0 +1,61 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-containers</artifactId>
+ <version>1.0-alpha-32</version>
+ </parent>
+ <artifactId>plexus-component-api</artifactId>
+ <name>Plexus Component API</name>
+ <version>1.0-alpha-32</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ </dependency>
+ </dependencies>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.md5
new file mode 100644
index 00000000..40890b2c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.md5
@@ -0,0 +1 @@
+a181ee89516009cff7658eec175ccb23 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.sha1
new file mode 100644
index 00000000..f854c7a1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-component-api/1.0-alpha-32/plexus-component-api-1.0-alpha-32.pom.sha1
@@ -0,0 +1 @@
+e214782e714b87b38d5605cb8da53b7d98efde06 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
new file mode 100644
index 00000000..0afa8021
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom
@@ -0,0 +1,60 @@
+<!--
+
+ !!!
+
+ NOTE: If you change this file, you MUST bump the version up from 1.0. That is the version of the POM, and was
+ used for releases of plexus-compiler and plexus-archiver in the past.
+
+ !!!
+
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.8</version>
+ </parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-components</artifactId>
+ <packaging>pom</packaging>
+ <version>1.1.6</version>
+ <name>Plexus Components Parent Project</name>
+ <!--
+ TODO: should this be pushed down to all the dependencies?
+ - a more stable API JAR may be useful, for the interfaces and classes such as AbstractLogEnabled
+ -->
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-8</version>
+ </dependency>
+ </dependencies>
+ <modules>
+ <module>plexus-action</module>
+ <module>plexus-archiver</module>
+ <module>plexus-bayesian</module>
+ <module>plexus-command</module>
+ <module>plexus-compiler</module>
+ <module>plexus-drools</module>
+ <module>plexus-formica</module>
+ <module>plexus-formica-web</module>
+ <module>plexus-hibernate</module>
+ <module>plexus-i18n</module>
+ <module>plexus-interactivity</module>
+ <module>plexus-ircbot</module>
+ <module>plexus-jdo</module>
+ <module>plexus-jetty-httpd</module>
+ <module>plexus-jetty</module>
+ <module>plexus-mimetyper</module>
+ <module>plexus-notification</module>
+ <module>plexus-resource</module>
+ <module>plexus-security</module>
+ <module>plexus-summit</module>
+ <module>plexus-taskqueue</module>
+ <module>plexus-velocity</module>
+ <module>plexus-xmlrpc</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.md5
new file mode 100644
index 00000000..cf57067b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.md5
@@ -0,0 +1 @@
+b76cb94eb4ade475f4743d3656c40899 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
new file mode 100644
index 00000000..b9f0aa79
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1
@@ -0,0 +1 @@
+682713aa402653d0ea5e224870dc899803734519 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar
new file mode 100644
index 00000000..ef2bd907
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.md5
new file mode 100644
index 00000000..fc1ee0b6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.md5
@@ -0,0 +1 @@
+00b4ce443fa584a1998cd6f991ea6514 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.sha1
new file mode 100644
index 00000000..879c8890
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.jar.sha1
@@ -0,0 +1 @@
+dcad8d44306c5ecc109b9449f292fb28b75d37ef \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom
new file mode 100644
index 00000000..f5ae5489
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom
@@ -0,0 +1,56 @@
+<?xml version="1.0"?><project>
+ <parent>
+ <artifactId>plexus-containers</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0-alpha-16</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-16</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkMode>once</forkMode>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jmock</groupId>
+ <artifactId>jmock</artifactId>
+ <version>1.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.md5
new file mode 100644
index 00000000..611807a8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.md5
@@ -0,0 +1 @@
+883b6e1e40cccb06c1d1ce93728b0a9d \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.sha1
new file mode 100644
index 00000000..ea4d6dc0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-16/plexus-container-default-1.0-alpha-16.pom.sha1
@@ -0,0 +1 @@
+435f5d09ea241e93acaecd4b6680ddb13a36837d \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar
new file mode 100644
index 00000000..308893f6
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.md5
new file mode 100644
index 00000000..291ffea0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.md5
@@ -0,0 +1 @@
+556231599b5413a7c1f16a5fd15be574 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.sha1
new file mode 100644
index 00000000..b8ef047d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.jar.sha1
@@ -0,0 +1 @@
+91410b971f9659f76b0ff26a97b9fbac5de2f69e \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom
new file mode 100644
index 00000000..fbfdb2ba
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom
@@ -0,0 +1,98 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-containers</artifactId>
+ <version>1.0-alpha-32</version>
+ </parent>
+ <artifactId>plexus-container-default</artifactId>
+ <name>Default Plexus Container</name>
+ <version>1.0-alpha-32</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkMode>once</forkMode>
+ <excludes>
+ <exclude>**/Test*.java</exclude>
+ <exclude>**/Abstract*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>shade-maven-plugin</artifactId>
+ <groupId>org.codehaus.mojo</groupId>
+ <version>1.0-alpha-9</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <excludes>
+ <exclude>classworlds:classworlds</exclude>
+ <exclude>junit:junit</exclude>
+ <exclude>jmock:jmock</exclude>
+ <exclude>org.codehaus.plexus:plexus-classworlds</exclude>
+ <exclude>org.codehaus.plexus:plexus-utils</exclude>
+ </excludes>
+ </artifactSet>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jmock</groupId>
+ <artifactId>jmock</artifactId>
+ <version>1.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <!--plugin>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin-->
+ <plugin>
+ <artifactId>maven-pmd-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <links>
+ <link>http://java.sun.com/j2ee/1.4/docs/api</link>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
+ <link>http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/</link>
+ <link>http://jakarta.apache.org/commons/dbcp/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/fileupload/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/httpclient/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/logging/apidocs/</link>
+ <link>http://jakarta.apache.org/commons/pool/apidocs/</link>
+ <link>http://www.junit.org/junit/javadoc/</link>
+ <link>http://logging.apache.org/log4j/docs/api/</link>
+ <link>http://jakarta.apache.org/regexp/apidocs/</link>
+ <link>http://jakarta.apache.org/velocity/api/</link>
+ </links>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.md5
new file mode 100644
index 00000000..3b237719
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.md5
@@ -0,0 +1 @@
+af4ca0022b674405556b3f397e375adc \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.sha1
new file mode 100644
index 00000000..00b60872
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-container-default/1.0-alpha-32/plexus-container-default-1.0-alpha-32.pom.sha1
@@ -0,0 +1 @@
+8f4d09d36a2345a39301dbd77ef9906c795887f7 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
new file mode 100644
index 00000000..5800d75b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom
@@ -0,0 +1,49 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <version>1.0.9</version>
+ </parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-containers</artifactId>
+ <packaging>pom</packaging>
+ <name>Parent Plexus Container POM</name>
+ <version>1.0-alpha-16</version>
+ <modules>
+ <module>plexus-component-api</module>
+ <module>plexus-container-default</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-16</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-16</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-16</url>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>1.2-alpha-7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ <version>1.0-alpha-16</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.3</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.md5
new file mode 100644
index 00000000..3db22e20
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.md5
@@ -0,0 +1 @@
+3eee2016e3e307618048e30f088b546e \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
new file mode 100644
index 00000000..3eb36271
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1
@@ -0,0 +1 @@
+46b79dd7d6a8130d2fa81c80b16b695d491548fe \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom
new file mode 100644
index 00000000..4678bd87
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom
@@ -0,0 +1,49 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <version>1.0.11</version>
+ </parent>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-containers</artifactId>
+ <packaging>pom</packaging>
+ <name>Parent Plexus Container POM</name>
+ <version>1.0-alpha-32</version>
+ <modules>
+ <module>plexus-component-api</module>
+ <module>plexus-container-default</module>
+ </modules>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-32</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-32</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-32</url>
+ </scm>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>1.2-alpha-10</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.4.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ <version>1.0-alpha-32</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.md5
new file mode 100644
index 00000000..41815f08
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.md5
@@ -0,0 +1 @@
+8ac33e07134648d37e2b1253286889a7 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.sha1
new file mode 100644
index 00000000..41260716
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-containers/1.0-alpha-32/plexus-containers-1.0-alpha-32.pom.sha1
@@ -0,0 +1 @@
+8486ff9b37d1ade2a4524c6fee72d394f88fbe08 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
new file mode 100644
index 00000000..5c50e177
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.md5
new file mode 100644
index 00000000..a7ca769a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.md5
@@ -0,0 +1 @@
+49e112a6c1ad24962643ef9494f9cbe1 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha1
new file mode 100644
index 00000000..28f6dbb5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha1
@@ -0,0 +1 @@
+fa632b7f1cb7c50963d0fb7d818ca93c75c10127 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
new file mode 100644
index 00000000..6cf90799
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.1</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.md5
new file mode 100644
index 00000000..6de9bf47
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.md5
@@ -0,0 +1 @@
+6e902bab552ae52fef5875d27c4cf0a0 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
new file mode 100644
index 00000000..4dc64d4a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
@@ -0,0 +1 @@
+15492ecd00920daca9ec15f6acd695b626621e5b \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar
new file mode 100644
index 00000000..449afb9c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.md5
new file mode 100644
index 00000000..eff56f28
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.md5
@@ -0,0 +1 @@
+e158df8d1a539cc6482567f9689cc36f \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.sha1
new file mode 100644
index 00000000..953f76d8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.jar.sha1
@@ -0,0 +1 @@
+56559396674aacd498c298964b691db0177027c0 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
new file mode 100644
index 00000000..bc634a6f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.11</version>
+ <relativePath>../pom/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.4.5</version>
+ <url>http://plexus.codehaus.org/plexus-utils</url>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <!-- surefire requires plexus-utils to be jdk 1.3 compatible -->
+ <source>1.3</source>
+ <target>1.3</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- required to ensure the test classes are used, not surefire's plexus-utils -->
+ <childDelegation>true</childDelegation>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ <systemProperties>
+ <property>
+ <name>JAVA_HOME</name>
+ <value>${JAVA_HOME}</value>
+ </property>
+ <property>
+ <name>M2_HOME</name>
+ <value>${M2_HOME}</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.5</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.5</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.5</url>
+ </scm>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jxr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.md5
new file mode 100644
index 00000000..905f70a9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.md5
@@ -0,0 +1 @@
+fccab705018ed5559df9f8e815b79aaa \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
new file mode 100644
index 00000000..247cd943
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1
@@ -0,0 +1 @@
+0bdc8a7fbce7d9007a93d289a029b43e1196d85c \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
new file mode 100644
index 00000000..bc94e24b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom
@@ -0,0 +1,273 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.10</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus User List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/user</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Announce List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/announce</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Commit List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/scm</archive>
+ </mailingList>
+ </mailingLists>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.codehaus.org/browse/PLX</url>
+ </issueManagement>
+
+ <distributionManagement>
+ <repository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Repository</name>
+ <url>dav:https://dav.codehaus.org/repository/plexus</url>
+ </repository>
+ <snapshotRepository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Development Repository</name>
+ <url>dav:https://dav.codehaus.org/snapshots.repository/plexus</url>
+ </snapshotRepository>
+ <site>
+ <id>codehaus.org</id>
+ <url>dav:https://dav.codehaus.org/plexus</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>codehaus.snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email />
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstol</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Carlos Sanchez</name>
+ <id>carlos</id>
+ <email>carlos@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <id>brett</id>
+ <email>brett@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John Casey</name>
+ <id>jdcasey</id>
+ <email>jdcasey@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Andrew Williams</name>
+ <id>handyande</id>
+ <email>andy@handyande.co.uk</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Rahul Thakur</name>
+ <id>rahul</id>
+ <email>rahul.thakur.xdev@gmail.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Joakim Erdfelt</name>
+ <id>joakime</id>
+ <email>joakim@erdfelt.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Olivier Lamy</name>
+ <id>olamy</id>
+ <email>olamy@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-1.0.10</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-1.0.10</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-1.0.10</url>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.md5
new file mode 100644
index 00000000..7ae43d7e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.md5
@@ -0,0 +1 @@
+6ab958c91424c0d7c3a2cc861867905e \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
new file mode 100644
index 00000000..8ed366f9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1
@@ -0,0 +1 @@
+039c3f6a3cbe1f9e7b4a3309d9d7062b6e390fa7 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
new file mode 100644
index 00000000..28ee5744
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom
@@ -0,0 +1,308 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.11</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus User List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/user</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Announce List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/announce</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Commit List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/scm</archive>
+ </mailingList>
+ </mailingLists>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.codehaus.org/browse/PLX</url>
+ </issueManagement>
+
+ <distributionManagement>
+ <repository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Repository</name>
+ <url>dav:https://dav.codehaus.org/repository/plexus</url>
+ </repository>
+ <snapshotRepository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Development Repository</name>
+ <url>dav:https://dav.codehaus.org/snapshots.repository/plexus</url>
+ </snapshotRepository>
+ <site>
+ <id>codehaus.org</id>
+ <url>dav:https://dav.codehaus.org/plexus</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>codehaus.snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email />
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstol</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Carlos Sanchez</name>
+ <id>carlos</id>
+ <email>carlos@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <id>brett</id>
+ <email>brett@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John Casey</name>
+ <id>jdcasey</id>
+ <email>jdcasey@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Andrew Williams</name>
+ <id>handyande</id>
+ <email>andy@handyande.co.uk</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Rahul Thakur</name>
+ <id>rahul</id>
+ <email>rahul.thakur.xdev@gmail.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Joakim Erdfelt</name>
+ <id>joakime</id>
+ <email>joakim@erdfelt.com</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Olivier Lamy</name>
+ <id>olamy</id>
+ <email>olamy@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/pom/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/pom/trunk/</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/pom/trunk/</url>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ <!--
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>1.0-alpha-2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ <configuration>
+ <resourceBundles>
+ <resourceBundle>org.apache:apache-jar-resource-bundle:1.1.1-SNAPSHOT</resourceBundle>
+ </resourceBundles>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+ </plugins>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <goals>deploy</goals>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.md5
new file mode 100644
index 00000000..2cabbba0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.md5
@@ -0,0 +1 @@
+bdf8dcfe0877af604f7e19e9ffdf260b \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
new file mode 100644
index 00000000..1ba2b3af
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1
@@ -0,0 +1 @@
+4693d4512d50c5159bef1c49def1d2690a327c30 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
new file mode 100644
index 00000000..2cf5d569
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom
@@ -0,0 +1,205 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.4</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <distributionManagement>
+ <repository>
+ <id>repo1</id>
+ <name>Maven Central Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots</id>
+ <name>Maven Central Development Repository</name>
+ <url>scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>snapshots</id>
+ <name>Maven Snapshot Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>snapshots-plugins</id>
+ <name>Maven Snapshot Plugins Development Repository</name>
+ <url>http://snapshots.maven.codehaus.org/maven2</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugst&oslash;l</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <module>plexus-appserver</module>
+ <module>plexus-archetypes</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-services</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.md5
new file mode 100644
index 00000000..ec5562d8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.md5
@@ -0,0 +1 @@
+2e97f3a7666e337ce5d2d98b9c384cae \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
new file mode 100644
index 00000000..456d5347
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1
@@ -0,0 +1 @@
+06f66b2f7d2eef1d805c11bca91c89984cda4137 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
new file mode 100644
index 00000000..cba2014f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.8</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</subscribe>
+ <unsubscribe>http://lists.codehaus.org/mailman/listinfo/plexus-dev</unsubscribe>
+ <archive>http://lists.codehaus.org/pipermail/plexus-dev/</archive>
+ </mailingList>
+ </mailingLists>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.codehaus.org/browse/PLX</url>
+ </issueManagement>
+
+ <distributionManagement>
+ <repository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Repository</name>
+ <url>dav:https://dav.codehaus.org/repository/plexus</url>
+ </repository>
+ <snapshotRepository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Development Repository</name>
+ <url>dav:https://dav.codehaus.org/snapshots.repository/plexus</url>
+ </snapshotRepository>
+ <site>
+ <id>codehaus.org</id>
+ <url>dav:https://dav.codehaus.org/plexus</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>apache-snapshots</id>
+ <name>Snapshot repository</name>
+ <url>http://people.apache.org/maven-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email></email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization></organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstol</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Carlos Sanchez</name>
+ <id>carlos</id>
+ <email>carlos@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <id>brett</id>
+ <email>brett@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John Casey</name>
+ <id>jdcasey</id>
+ <email>jdcasey@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/trunk</developerConnection>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <modules>
+ <!--
+
+ Until the bug is fixed in Maven which is pulling in the trunk to the
+ appserver build.
+ <module>plexus-appserver</module>
+ -->
+ <module>plexus-archetypes</module>
+ <module>plexus-examples</module>
+ <module>plexus-components</module>
+ <module>plexus-component-factories</module>
+ <module>plexus-containers</module>
+ <module>plexus-logging</module>
+ <module>plexus-maven-plugin</module>
+ <module>plexus-tools</module>
+ <module>plexus-utils</module>
+ </modules>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-1</version>
+ </extension>
+ </extensions>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.codehaus.org/plexus/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.md5
new file mode 100644
index 00000000..e0d40fcd
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.md5
@@ -0,0 +1 @@
+2da4039a1c4c959c75d3e6126f2029cf \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
new file mode 100644
index 00000000..5234d563
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1
@@ -0,0 +1 @@
+9e7c8432829962afe796b32587c1bfa841a317d5 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
new file mode 100644
index 00000000..f6fca7c8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom
@@ -0,0 +1,257 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.9</version>
+ <ciManagement>
+ <notifiers>
+ <notifier>
+ <type>mail</type>
+ <configuration>
+ <address>dev@plexus.codehaus.org</address>
+ </configuration>
+ </notifier>
+ <notifier>
+ <type>irc</type>
+ <configuration>
+ <host>irc.codehaus.org</host>
+ <port>6667</port>
+ <channel>#plexus</channel>
+ </configuration>
+ </notifier>
+ </notifiers>
+ </ciManagement>
+ <inceptionYear>2001</inceptionYear>
+ <mailingLists>
+ <mailingList>
+ <name>Plexus User List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/user</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Developer List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/dev</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Announce List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/announce</archive>
+ </mailingList>
+ <mailingList>
+ <name>Plexus Commit List</name>
+ <subscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</subscribe>
+ <unsubscribe>http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org</unsubscribe>
+ <archive>http://archive.plexus.codehaus.org/scm</archive>
+ </mailingList>
+ </mailingLists>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.codehaus.org/browse/PLX</url>
+ </issueManagement>
+
+ <distributionManagement>
+ <repository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Repository</name>
+ <url>dav:https://dav.codehaus.org/repository/plexus</url>
+ </repository>
+ <snapshotRepository>
+ <id>codehaus.org</id>
+ <name>Plexus Central Development Repository</name>
+ <url>dav:https://dav.codehaus.org/snapshots.repository/plexus</url>
+ </snapshotRepository>
+ <site>
+ <id>codehaus.org</id>
+ <url>dav:https://dav.codehaus.org/plexus</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>apache-snapshots</id>
+ <name>Snapshot repository</name>
+ <url>http://people.apache.org/maven-snapshot-repository</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ <repository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus-snapshots</id>
+ <name>Codehaus Snapshot Development Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <developers>
+ <developer>
+ <id>jvanzyl</id>
+ <name>Jason van Zyl</name>
+ <email>jason@maven.org</email>
+ <roles>
+ <role>Developer</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kaz</id>
+ <name>Pete Kazmier</name>
+ <email />
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>jtaylor</id>
+ <name>James Taylor</name>
+ <email>james@jamestaylor.org</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dandiep</id>
+ <name>Dan Diephouse</name>
+ <email>dan@envoisolutions.com</email>
+ <organization>Envoi solutions</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>kasper</id>
+ <name>Kasper Nielsen</name>
+ <email>apache@kav.dk</email>
+ <organization />
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>bwalding</id>
+ <name>Ben Walding</name>
+ <email>bwalding@codehaus.org</email>
+ <organization>Walding Consulting Services</organization>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mhw</id>
+ <name>Mark Wilkinson</name>
+ <email>mhw@kremvax.net</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>michal</id>
+ <name>Michal Maczka</name>
+ <email>mmaczka@interia.pl</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>evenisse</id>
+ <name>Emmanuel Venisse</name>
+ <email>evenisse@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Trygve Laugstol</name>
+ <id>trygvis</id>
+ <email>trygvis@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Kenney Westerhof</name>
+ <id>kenney</id>
+ <email>kenney@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Carlos Sanchez</name>
+ <id>carlos</id>
+ <email>carlos@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Brett Porter</name>
+ <id>brett</id>
+ <email>brett@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John Casey</name>
+ <id>jdcasey</id>
+ <email>jdcasey@codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>Andrew Williams</name>
+ <id>handyande</id>
+ <email>andy@handyande.co.uk</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <scm>
+ <connection>scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-1.0.9</connection>
+ <developerConnection>scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-1.0.9</developerConnection>
+ <url>http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-1.0.9</url>
+ </scm>
+ <organization>
+ <name>Codehaus</name>
+ <url>http://www.codehaus.org/</url>
+ </organization>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-beta-1</version>
+ </extension>
+ </extensions>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.md5
new file mode 100644
index 00000000..3910bf8b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.md5
@@ -0,0 +1 @@
+acf338e422e5c0d9c6242e4f21e63dc9 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
new file mode 100644
index 00000000..df40a701
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1
@@ -0,0 +1 @@
+89d241b1e5ee6a72d3dd95d9eb90f635deebcdb2 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/repo-marker.txt b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/repo-marker.txt
new file mode 100644
index 00000000..14a481e1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/extension/test-extension-repo/repo-marker.txt
@@ -0,0 +1 @@
+This is a marker file to allow the repository to be found in the classpath. \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/LifecycleExecutorTest.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/LifecycleExecutorTest.xml
new file mode 100644
index 00000000..ebbbf791
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/LifecycleExecutorTest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.project.ProjectBuildingHelper</role>
+ <implementation>org.apache.maven.project.EmptyProjectBuildingHelper</implementation>
+ </component>
+ </components>
+</plexus>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/pom.xml
new file mode 100644
index 00000000..fb2f91c3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/lifecycle/pom.xml
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>11</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>Maven is a project development management and
+ comprehension tool. Based on the concept of a project object model:
+ builds, dependency management, documentation creation, site
+ publication, and distribution publication are all controlled from
+ the declarative file. Maven can be extended by plugins to utilise a
+ number of other development tools for reporting or the build
+ process.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <inceptionYear>2001</inceptionYear>
+ <properties>
+ <classWorldsVersion>1.3</classWorldsVersion>
+ <commonsCliVersion>1.0</commonsCliVersion>
+ <!--
+
+ Do not update this, Doxia will be decoupled completely from 3.x and someone can
+ create a rendering engine for it if they like when the release stabilizes. JVZ
+
+ -->
+ <doxiaVersion>1.0-alpha-9</doxiaVersion>
+ <easyMockVersion>1.2_Java1.3</easyMockVersion>
+ <junitVersion>3.8.1</junitVersion>
+ <plexusVersion>1.0-beta-3.0.7-SNAPSHOT</plexusVersion>
+ <plexusInteractivityVersion>1.0-alpha-6</plexusInteractivityVersion>
+ <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
+ <plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
+ <plexusUtilsVersion>1.5.8</plexusUtilsVersion>
+ <plexusJetty6Version>1.6</plexusJetty6Version>
+ <plexusWebdavVersion>1.0</plexusWebdavVersion>
+ <wagonVersion>1.0-beta-4</wagonVersion>
+ <modelBuilderVersion>1.7-SNAPSHOT</modelBuilderVersion>
+ <mercuryVersion>1.0-alpha-6-SNAPSHOT</mercuryVersion>
+ <mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
+ <securityDispatcherVersion>1.2</securityDispatcherVersion>
+ <woodstoxVersion>3.2.6</woodstoxVersion>
+ <modelloVersion>1.0.1-SNAPSHOT</modelloVersion>
+ <jxpathVersion>1.3</jxpathVersion>
+ </properties>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Developer List</name>
+ <subscribe>dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Developers-f179.html</otherArchive>
+ <otherArchive>http://maven.dev.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive>
+ <otherArchive>http://maven.users.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Issues-f15573.html</otherArchive>
+ <otherArchive>http://maven.issues.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Commits List</name>
+ <subscribe>commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-commits</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/commits@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Commits-f15575.html</otherArchive>
+ <otherArchive>http://maven.commits.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <!--
+ duplication from parent pom - temporary until they inherit
+ properly
+ -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/announce@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Announcements-f15617.html</otherArchive>
+ <otherArchive>http://maven.announce.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/notifications@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Notifications-f15574.html</otherArchive>
+ <otherArchive>http://maven.notifications.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ </mailingLists>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/trunk</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexusVersion}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <goal>generate-test-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>${modelloVersion}</version>
+ <configuration>
+ <useJava5>true</useJava5>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-core</module>
+ <module>apache-maven</module>
+ <module>maven-model</module>
+ <module>maven-plugin-api</module>
+ <module>maven-project</module>
+ <module>maven-reporting-api</module>
+ <module>maven-project-builder</module>
+ <module>maven-mercury</module>
+ <module>maven-embedder</module>
+ <module>maven-toolchain</module>
+ <module>maven-compat</module>
+ <module>maven-repository</module>
+ <module>maven-repository-mercury</module>
+ </modules>
+ <!--start-->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junitVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <!--end-->
+ <dependencies>
+ <!-- Maven Modules -->
+ <!--start-->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-lifecycle</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-toolchain</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-embedder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project-builder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!--end-->
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>${classWorldsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>${plexusInterpolationVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>${plexusInteractivityVersion}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- Plexus test dependencies -->
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-jetty6</artifactId>
+ <version>${plexusJetty6Version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>plexus-webdav</artifactId>
+ <version>${plexusWebdavVersion}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Wagon -->
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <!-- Doxia -->
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <version>${doxiaVersion}</version>
+ </dependency>
+ <!-- Maven Shared -->
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>model-builder</artifactId>
+ <version>${modelBuilderVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <version>${woodstoxVersion}</version>
+ </dependency>
+ <!-- Commons -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>${commonsCliVersion}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-lang</artifactId>
+ <groupId>commons-lang</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ <version>${jxpathVersion}</version>
+ </dependency>
+
+ <!-- Mercury -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-plexus</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.mercury</groupId>
+ <artifactId>mercury-mp3-cli</artifactId>
+ <version>${mercuryMp3Version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-sec-dispatcher</artifactId>
+ <version>${securityDispatcherVersion}</version>
+ </dependency>
+
+
+ <!-- Mercury test dependencies -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-plugin-manager</artifactId>
+ <version>${plexusPluginManagerVersion}</version>
+ </dependency>
+ <!--start-->
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>${easyMockVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <!--end-->
+ </dependencies>
+ <!--start-->
+ </dependencyManagement>
+ <!--end-->
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
+ </site>
+ </distributionManagement>
+ <profiles>
+ <profile>
+ <id>osgi</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Needed for including the manifest, see MJAR-71 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <inherited>false</inherited>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ <finalName>maven-${project.version}-src</finalName>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>strict</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <id>enforce-jdk-15</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>1.5</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/plugin/PluginManagerTest.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/plugin/PluginManagerTest.xml
new file mode 100644
index 00000000..ebbbf791
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/plugin/PluginManagerTest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.project.ProjectBuildingHelper</role>
+ <implementation>org.apache.maven.project.EmptyProjectBuildingHelper</implementation>
+ </component>
+ </components>
+</plexus>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml
new file mode 100644
index 00000000..e052489b
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.lifecycle.LifeCyclePluginAnalyzer</role>
+ <implementation>org.apache.maven.lifecycle.EmptyLifecyclePluginAnalyzer</implementation>
+ </component>
+ </components>
+</plexus>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml
new file mode 100644
index 00000000..e3c3ab34
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.lifecycle.LifeCyclePluginAnalyzer</role>
+ <implementation>org.apache.maven.lifecycle.EmptyLifecyclePluginAnalyzer</implementation>
+ </component>
+ <component>
+ <role>org.apache.maven.project.ProjectBuildingHelper</role>
+ <implementation>org.apache.maven.project.EmptyProjectBuildingHelper</implementation>
+ </component>
+ </components>
+</plexus>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromFile/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromFile/pom.xml
new file mode 100644
index 00000000..c8a8b85f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromFile/pom.xml
@@ -0,0 +1,8 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.tests</groupId>
+ <artifactId>build-from-file</artifactId>
+ <version>1</version>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/1/project-caching-1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/1/project-caching-1.pom
new file mode 100644
index 00000000..d4211765
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/1/project-caching-1.pom
@@ -0,0 +1,8 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>tests</groupId>
+ <artifactId>project-caching</artifactId>
+ <version>1</version>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/maven-metadata-local.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/maven-metadata-local.xml
new file mode 100644
index 00000000..a608b4f8
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildFromRepo/tests/project-caching/maven-metadata-local.xml
@@ -0,0 +1,11 @@
+<metadata>
+ <groupId>tests</groupId>
+ <artifactId>project-caching</artifactId>
+ <versioning>
+ <release>1</release>
+ <latest>1</latest>
+ <versions>
+ <version>1</version>
+ </versions>
+ </versioning>
+</metadata> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildModelLineage/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildModelLineage/pom.xml
new file mode 100644
index 00000000..8f5154fc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/buildModelLineage/pom.xml
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>tests</groupId>
+ <artifactId>build-model-lineage</artifactId>
+ <version>1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/child/pom.xml
new file mode 100644
index 00000000..4d1d23ee
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/child/pom.xml
@@ -0,0 +1,10 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>tests</groupId>
+ <artifactId>childAndParent-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>childAndParent-child</artifactId>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/pom.xml
new file mode 100644
index 00000000..164506fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/childAndParent/pom.xml
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>tests</groupId>
+ <artifactId>childAndParent-parent</artifactId>
+ <version>1</version>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/pom.xml
new file mode 100644
index 00000000..9633029a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/project/workspace/resolveParentPom/pom.xml
@@ -0,0 +1,10 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>tests</groupId>
+ <artifactId>resolve-parent-pom-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>resolve-parent-pom</artifactId>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml
new file mode 100644
index 00000000..c6769290
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.lifecycle.LifecycleExecutor</role>
+ <implementation>org.apache.maven.project.EmptyLifecycleExecutor</implementation>
+ </component>
+ </components>
+</plexus>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/global.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/global.xml
new file mode 100644
index 00000000..cd9be74c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/global.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF8"?>
+
+<!--
+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.
+-->
+
+<toolchains>
+ <toolchain>
+ <type>basic</type>
+ <configuration>
+ <global>true</global>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>rare</type>
+ <configuration>
+ <global>true</global>
+ </configuration>
+ </toolchain>
+</toolchains> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extend.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extend.xml
new file mode 100644
index 00000000..4fb00930
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extend.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF8"?>
+
+<!--
+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.
+-->
+
+<toolchains>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.5</version>
+ <vendor>sun</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA_HOME}</jdkHome>
+ <toolsJar>lib/tools.jar</toolsJar>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.6</version>
+ <vendor>sun</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA_HOME}</jdkHome>
+ <toolsJar>lib/classes.jar</toolsJar>
+ </configuration>
+ </toolchain>
+</toolchains> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extra.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extra.xml
new file mode 100644
index 00000000..35c32172
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks-extra.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF8"?>
+
+<!--
+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.
+-->
+
+<toolchains>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.4</version>
+ <vendor>sun</vendor>
+ <!-- no id, so it's considered 'default' -->
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.7</version>
+ <vendor>ibm</vendor>
+ <id>ibm_17</id>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+</toolchains> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks.xml
new file mode 100644
index 00000000..5233a338
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/model/toolchains-jdks.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF8"?>
+
+<!--
+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.
+-->
+
+<toolchains>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.5</version>
+ <vendor>sun</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>1.6</version>
+ <vendor>sun</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${env.JAVA_HOME}</jdkHome>
+ </configuration>
+ </toolchain>
+</toolchains> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/user.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/user.xml
new file mode 100644
index 00000000..d11181fc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/apache/maven/toolchain/user.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF8"?>
+
+<!--
+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.
+-->
+
+<toolchains>
+ <toolchain>
+ <type>basic</type>
+ <configuration>
+ <user>true</user>
+ </configuration>
+ </toolchain>
+ <toolchain>
+ <type>rare</type>
+ <configuration>
+ <user>true</user>
+ </configuration>
+ </toolchain>
+</toolchains> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
new file mode 100644
index 00000000..5c50e177
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha1
new file mode 100644
index 00000000..28f6dbb5
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar.sha1
@@ -0,0 +1 @@
+fa632b7f1cb7c50963d0fb7d818ca93c75c10127 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
new file mode 100644
index 00000000..6cf90799
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>plexus</artifactId>
+ <groupId>org.codehaus.plexus</groupId>
+ <version>1.0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>plexus-utils</artifactId>
+ <name>Plexus Common Utilities</name>
+ <version>1.1</version>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/codehaus/plexus/util/FileBasedTestCase.java</exclude>
+ <exclude>**/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
new file mode 100644
index 00000000..4dc64d4a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1
@@ -0,0 +1 @@
+15492ecd00920daca9ec15f6acd695b626621e5b \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/pom.xml
new file mode 100644
index 00000000..cf4c29c0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/pom.xml
@@ -0,0 +1,52 @@
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>Maven</name>
+ <inceptionYear>2001</inceptionYear>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm-connection</connection>
+ </scm>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/plugin-level-dep.pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/plugin-level-dep.pom.xml
new file mode 100644
index 00000000..98873675
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/plugin-level-dep.pom.xml
@@ -0,0 +1,24 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>testing</groupId>
+ <artifactId>plugin-level-dep</artifactId>
+ <packaging>jar</packaging>
+ <version>3.8.1</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-interp.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-interp.xml
new file mode 100644
index 00000000..40fdb414
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-interp.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.test</groupId>
+ <artifactId>test-build-dynamism</artifactId>
+ <version>1</version>
+
+ <build>
+ <sourceDirectory>/${project.groupId}/src/main/java</sourceDirectory>
+ <testSourceDirectory>/${pom.groupId}/src/test/java</testSourceDirectory>
+ <scriptSourceDirectory>/${groupId}/src/main/scripts</scriptSourceDirectory>
+
+ <plugins>
+ <plugin>
+ <artifactId>my-plugin</artifactId>
+ <configuration>
+ <testOne>${project.groupId}</testOne>
+ <testTwo>${pom.groupId}</testTwo>
+ <testThree>${groupId}</testThree>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-relative.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-relative.xml
new file mode 100644
index 00000000..bb22b3d0
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom-relative.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.test</groupId>
+ <artifactId>test-build-dynamism</artifactId>
+ <version>1</version>
+
+ <properties>
+ <myProperty>${pom.build.directory}</myProperty>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>${pom.build.directory}/generated-resources/plexus</directory>
+ </resource>
+ </resources>
+
+ <filters>
+ <filter>${pom.build.directory}/generated-filters.properties</filter>
+ </filters>
+
+ <directory>target</directory>
+
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
+
+ <outputDirectory>${pom.build.directory}/classes</outputDirectory>
+ <testOutputDirectory>${pom.build.directory}/test-classes</testOutputDirectory>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom.xml
new file mode 100644
index 00000000..37797f2e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/project-dynamism/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.test</groupId>
+ <artifactId>test-build-dynamism</artifactId>
+ <version>1</version>
+
+ <properties>
+ <myProperty>${pom.build.directory}</myProperty>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>${pom.build.directory}/generated-resources/plexus</directory>
+ </resource>
+ </resources>
+
+ <filters>
+ <filter>${pom.build.directory}/generated-filters.properties</filter>
+ </filters>
+
+ <directory>target</directory>
+
+ <sourceDirectory>${pom.basedir}/src/main/java</sourceDirectory>
+ <testSourceDirectory>${pom.basedir}/src/test/java</testSourceDirectory>
+ <scriptSourceDirectory>${pom.basedir}/src/main/scripts</scriptSourceDirectory>
+
+ <outputDirectory>${pom.build.directory}/classes</outputDirectory>
+ <testOutputDirectory>${pom.build.directory}/test-classes</testOutputDirectory>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-dependency.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-dependency.xml
new file mode 100644
index 00000000..4b5424ae
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-dependency.xml
@@ -0,0 +1,27 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>test</groupId>
+ <artifactId>invalid</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <repositories>
+ <repository>
+ <id>central</id>
+ <url>file:src/test/remote-repo</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <!-- groupId deliberately missing -->
+ <artifactId>b</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-project.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-project.xml
new file mode 100644
index 00000000..e415318c
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/bad-project.xml
@@ -0,0 +1,20 @@
+i want to be a <!--
+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.
+-->
+
+POM! \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment-child.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment-child.xml
new file mode 100644
index 00000000..ee2207ee
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment-child.xml
@@ -0,0 +1,33 @@
+<!--
+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.
+-->
+
+<project>
+
+ <extend>project-which-needs-directory-alignment.xml</extend>
+
+ <parent>
+ <groupId>maven</groupId>
+ <artifactId>project-which-needs-directory-alignment.xml</artifactId>
+ <version>1.0-beta-9</version>
+ </parent>
+
+ <groupId>maven</groupId>
+ <artifactId>maven-foo</artifactId>
+ <version>1.0</version>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml
new file mode 100644
index 00000000..cefbcb04
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>project-which-needs-directory-alignment</artifactId>
+ <name>Maven</name>
+ <version>1.0-beta-9</version>
+ <inceptionYear>2001</inceptionYear>
+ <description>Description</description>
+ <url>http://maven.apache.org/</url>
+
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://apache.org/</url>
+ </organization>
+
+ <scm>
+ <connection>anon-connection</connection>
+ <developerConnection>developer-connection</developerConnection>
+ <url>repository-url</url>
+ </scm>
+
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>subscribe</subscribe>
+ <unsubscribe>unsubscribe</unsubscribe>
+ <archive>archive</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <name>Jason van Zyl</name>
+ <id>jvanzyl</id>
+ <email>jason@maven.org</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Founder</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ </developers>
+
+ <contributors>
+ <contributor>
+ <name>Martin van dem Bemt</name>
+ <email>mvdb@mvdb.com</email>
+ </contributor>
+ </contributors>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>g1</groupId>
+ <artifactId>d1</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>g2</groupId>
+ <artifactId>d2</artifactId>
+ <version>2.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>g3</groupId>
+ <artifactId>d3</artifactId>
+ </dependency>
+
+ </dependencies>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>g3</groupId>
+ <artifactId>d3</artifactId>
+ <version>3.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <sourceDirectory>sourceDirectory</sourceDirectory>
+ <testSourceDirectory>unitTestSourceDirectory</testSourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/test</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/conf</directory>
+ <includes>
+ <include>*.xsd</include>
+ <include>*.dtd</include>
+ <include>*.mod</include>
+ <include>log4j.properties</include>
+ <include>driver.jelly</include>
+ <include>driver.properties</include>
+ </includes>
+ </testResource>
+ <testResource>
+ <directory>src/messages</directory>
+ <targetPath>org/apache/maven/messages</targetPath>
+ <includes>
+ <include>messages*.properties</include>
+ </includes>
+ </testResource>
+ </testResources>
+ </build>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/subproject/project-which-needs-directory-alignment-child.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/subproject/project-which-needs-directory-alignment-child.xml
new file mode 100644
index 00000000..68775efc
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/base-directory-alignment/subproject/project-which-needs-directory-alignment-child.xml
@@ -0,0 +1,29 @@
+<!--
+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.
+-->
+
+<project>
+
+ <extend>../project-which-needs-directory-alignment.xml</extend>
+
+ <parent>
+ <groupId>maven</groupId>
+ <artifactId>project-which-needs-directory-alignment</artifactId>
+ <version>1.0-beta-9</version>
+ </parent>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build-path-expression-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build-path-expression-pom.xml
new file mode 100644
index 00000000..d7e296f4
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build-path-expression-pom.xml
@@ -0,0 +1,14 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.project.tests</groupId>
+ <artifactId>build-path-expression</artifactId>
+ <version>1</version>
+ <build>
+ <sourceDirectory>sources</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>${project.build.sourceDirectory}</directory>
+ </resource>
+ </resources>
+ </build>
+</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build.properties
new file mode 100644
index 00000000..01626c39
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/build.properties
@@ -0,0 +1,18 @@
+# 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.
+
+name = sarel
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-which-inherits-from-super-model.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-which-inherits-from-super-model.xml
new file mode 100644
index 00000000..58cae23e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-which-inherits-from-super-model.xml
@@ -0,0 +1,28 @@
+<!--
+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.
+-->
+
+<model>
+ <groupId>foo</groupId>
+ <artifactId>bar</artifactId>
+ <name>Babar</name>
+ <version>4.5</version>
+
+ <!-- Build element should be inherited from the super model -->
+
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-with-bogus-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-with-bogus-parent.xml
new file mode 100644
index 00000000..a072fc74
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child-with-bogus-parent.xml
@@ -0,0 +1,29 @@
+<!--
+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.
+-->
+
+<model>
+
+ <extend>${basedir}/bogus.xml</extend>
+
+ <parent>
+ <groupId>maven</groupId>
+ <artifactId>bogus</artifactId>
+ <version>1.0-beta-9</version>
+ </parent>
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child.xml
new file mode 100644
index 00000000..a6d702ce
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/child.xml
@@ -0,0 +1,33 @@
+<!--
+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.
+-->
+
+<model>
+
+ <extend>project.xml</extend>
+
+ <parent>
+ <groupId>maven</groupId>
+ <artifactId>maven-project-test</artifactId>
+ <version>1.0-beta-9</version>
+ </parent>
+
+ <artifactId>child-artifact</artifactId>
+ <groupId>maven</groupId>
+ <version>1.0-beta-9</version>
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/duplicate-plugins-merged-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/duplicate-plugins-merged-pom.xml
new file mode 100644
index 00000000..7383109f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/duplicate-plugins-merged-pom.xml
@@ -0,0 +1,48 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>tests.project</groupId>
+ <artifactId>duplicate-plugin-defs-merged</artifactId>
+ <version>1</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>group</groupId>
+ <artifactId>first</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>first</id>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>group</groupId>
+ <artifactId>second</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>second</id>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/fully-populated-child.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/fully-populated-child.xml
new file mode 100644
index 00000000..61d6b672
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/fully-populated-child.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<model>
+ <extend>project.xml</extend>
+ <parent>
+ <groupId>maven</groupId>
+ <artifactId>maven-project-test</artifactId>
+ <version>1.0-beta-9</version>
+ </parent>
+ <modelVersion>3</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>maven</artifactId>
+ <name>Maven</name>
+ <version>1.0-beta-9</version>
+ <inceptionYear>2001</inceptionYear>
+ <package>org.apache.maven</package>
+ <description>Description</description>
+ <shortDescription>shortDescription</shortDescription>
+ <url>http://maven.apache.org/</url>
+ <issueTrackingUrl>issueTrackingUrl</issueTrackingUrl>
+ <distributionManagement>
+ <repository>
+ <id>childDistributionRepositoryId</id>
+ <name>childDistributionRepositoryName</name>
+ <url>childDistributionRepository</url>
+ </repository>
+ <site>
+ <id>childSiteDistributionId</id>
+ <name>childSiteDistributionName</name>
+ <url>childSiteDistributionUrl</url>
+ </site>
+ </distributionManagement>
+
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://apache.org/</url>
+ <logo>/images/jakarta-logo-blue.gif</logo>
+ </organization>
+
+ <scm>
+ <connection>anon-connection</connection>
+ <developerConnection>developer-connection</developerConnection>
+ <url>repository-url</url>
+ </scm>
+
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>subscribe</subscribe>
+ <unsubscribe>unsubscribe</unsubscribe>
+ <archive>archive</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <name>Jason van Zyl</name>
+ <id>jvanzyl</id>
+ <email>jason@maven.org</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Founder</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ </developers>
+
+ <contributors>
+ <contributor>
+ <name>Martin van dem Bemt</name>
+ <email>mvdb@mvdb.com</email>
+ </contributor>
+ </contributors>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>g1</groupId>
+ <artifactId>d1</artifactId>
+ <version>1.0</version>
+ <url>d1-url</url>
+ </dependency>
+
+ <dependency>
+ <groupId>g2</groupId>
+ <artifactId>d2</artifactId>
+ <version>2.0</version>
+ <url>d2-url</url>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <nagEmailAddress>jason@maven.org</nagEmailAddress>
+ <sourceDirectory>/sourceDirectory</sourceDirectory>
+ <unitTestSourceDirectory>/unitTestSourceDirectory</unitTestSourceDirectory>
+ <unitTest>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/RepositoryTest.java</exclude>
+ <exclude>**/JAXPTest.java</exclude>
+ </excludes>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/test</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </resource>
+ </resources>
+ </unitTest>
+ <resources>
+ <resource>
+ <directory>/src/conf</directory>
+ <includes>
+ <include>*.xsd</include>
+ <include>*.dtd</include>
+ <include>*.mod</include>
+ <include>log4j.properties</include>
+ <include>driver.jelly</include>
+ <include>driver.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>/src/messages</directory>
+ <targetPath>org/apache/maven/messages</targetPath>
+ <includes>
+ <include>messages*.properties</include>
+ </includes>
+ </resource>
+ </resources>
+ </build>
+
+ <reports>
+ <report>maven-jdepend-plugin</report>
+ <report>maven-checkstyle-plugin</report>
+ <report>maven-changelog-plugin</report>
+ <report>maven-file-activity-plugin</report>
+ <report>maven-developer-activity-plugin</report>
+ <report>maven-javadoc-plugin</report>
+ <report>maven-jxr-plugin</report>
+ <report>maven-junit-report-plugin</report>
+ <report>maven-tasklist-plugin</report>
+ <report>maven-jellydoc-plugin</report>
+ </reports>
+
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/grandchild/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/grandchild/pom.xml
new file mode 100644
index 00000000..56bed2c9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/grandchild/pom.xml
@@ -0,0 +1,10 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>grandchildtest</groupId>
+ <artifactId>child</artifactId>
+ <version>1</version>
+ </parent>
+ <artifactId>grandchild</artifactId>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/pom.xml
new file mode 100644
index 00000000..0858c6d1
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/child/pom.xml
@@ -0,0 +1,13 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>grandchildtest</groupId>
+ <artifactId>root-pom</artifactId>
+ <version>1</version>
+ </parent>
+ <artifactId>child</artifactId>
+ <packaging>pom</packaging>
+ <modules>
+ <module>grandchild</module>
+ </modules>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/pom.xml
new file mode 100644
index 00000000..3b1ebd0e
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/grandchild-check/pom.xml
@@ -0,0 +1,7 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>grandchildtest</groupId>
+ <artifactId>root-pom</artifactId>
+ <version>1</version>
+ <packaging>pom</packaging>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml
new file mode 100644
index 00000000..4c29a3b9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/import-scope-pom-resolves-from-property-based-repository.xml
@@ -0,0 +1,31 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>test</groupId>
+ <artifactId>imported-pom-found</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <properties>
+ <repo.url>file:src/test/remote-repo</repo.url>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>central</id>
+ <url>${repo.url}</url>
+ </repository>
+ </repositories>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ <version>0.1</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/module01/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/module01/pom.xml
new file mode 100644
index 00000000..cfaf9e8f
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/module01/pom.xml
@@ -0,0 +1,12 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>test.readparent</groupId>
+ <artifactId>local-parent</artifactId>
+ <version>1.0</version>
+ </parent>
+
+ <artifactId>module01</artifactId>
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/pom.xml
new file mode 100644
index 00000000..0fe29370
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/modelsource/pom.xml
@@ -0,0 +1,13 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test.readparent</groupId>
+ <artifactId>local-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0</version>
+
+ <modules>
+ <module>module</module>
+ </modules>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/project.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/project.xml
new file mode 100644
index 00000000..a9119714
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/project.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<model>
+ <modelVersion>3</modelVersion>
+ <groupId>maven</groupId>
+ <artifactId>maven-project-test</artifactId>
+ <name>Maven</name>
+ <version>1.0-beta-9</version>
+ <inceptionYear>2001</inceptionYear>
+ <package>org.apache.maven</package>
+ <description>Description</description>
+ <shortDescription>shortDescription</shortDescription>
+ <url>http://maven.apache.org/</url>
+ <issueTrackingUrl>issueTrackingUrl</issueTrackingUrl>
+ <distributionManagement>
+ <repository>
+ <id>distributionRepositoryId</id>
+ <name>distributionRepositoryName</name>
+ <url>distributionRepository</url>
+ </repository>
+ <site>
+ <id>siteDistributionId</id>
+ <name>siteDistributionName</name>
+ <url>siteDistributionUrl</url>
+ </site>
+ </distributionManagement>
+
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>http://apache.org/</url>
+ <logo>/images/jakarta-logo-blue.gif</logo>
+ </organization>
+
+ <scm>
+ <connection>anon-connection</connection>
+ <developerConnection>developer-connection</developerConnection>
+ <url>repository-url</url>
+ </scm>
+
+ <mailingLists>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>subscribe</subscribe>
+ <unsubscribe>unsubscribe</unsubscribe>
+ <archive>archive</archive>
+ </mailingList>
+ </mailingLists>
+
+ <developers>
+ <developer>
+ <name>Jason van Zyl</name>
+ <id>jvanzyl</id>
+ <email>jason@maven.org</email>
+ <organization>Zenplex</organization>
+ <roles>
+ <role>Founder</role>
+ <role>Release Manager</role>
+ </roles>
+ </developer>
+ </developers>
+
+ <contributors>
+ <contributor>
+ <name>Martin van dem Bemt</name>
+ <email>mvdb@mvdb.com</email>
+ </contributor>
+ </contributors>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>g1</groupId>
+ <artifactId>d1</artifactId>
+ <version>1.0</version>
+ <url>d1-url</url>
+ </dependency>
+
+ <dependency>
+ <groupId>g2</groupId>
+ <artifactId>d2</artifactId>
+ <version>2.0</version>
+ <url>d2-url</url>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <nagEmailAddress>jason@maven.org</nagEmailAddress>
+ <sourceDirectory>/sourceDirectory</sourceDirectory>
+ <unitTestSourceDirectory>/unitTestSourceDirectory</unitTestSourceDirectory>
+ <unitTest>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/RepositoryTest.java</exclude>
+ <exclude>**/JAXPTest.java</exclude>
+ </excludes>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/test</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </resource>
+ </resources>
+ </unitTest>
+ <resources>
+ <resource>
+ <directory>/src/conf</directory>
+ <includes>
+ <include>*.xsd</include>
+ <include>*.dtd</include>
+ <include>*.mod</include>
+ <include>log4j.properties</include>
+ <include>driver.jelly</include>
+ <include>driver.properties</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>/src/messages</directory>
+ <targetPath>org/apache/maven/messages</targetPath>
+ <includes>
+ <include>messages*.properties</include>
+ </includes>
+ </resource>
+ </resources>
+ </build>
+
+ <reports>
+ <report>maven-jdepend-plugin</report>
+ <report>maven-checkstyle-plugin</report>
+ <report>maven-changelog-plugin</report>
+ <report>maven-file-activity-plugin</report>
+ <report>maven-developer-activity-plugin</report>
+ <report>maven-javadoc-plugin</report>
+ <report>maven-jxr-plugin</report>
+ <report>maven-junit-report-plugin</report>
+ <report>maven-tasklist-plugin</report>
+ <report>maven-jellydoc-plugin</report>
+ </reports>
+
+</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/versionless-managed-dependency.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/versionless-managed-dependency.xml
new file mode 100644
index 00000000..40bf2955
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/projects/versionless-managed-dependency.xml
@@ -0,0 +1,24 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>test</groupId>
+ <artifactId>versionless-managed-dependency.xml</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ </dependency>
+ </dependencies>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>a</artifactId>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar
new file mode 100644
index 00000000..9ff33b6d
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar
Binary files differ
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar.md5 b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar.md5
new file mode 100644
index 00000000..a8406fd7
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/jars/maven-test-b-1.0.jar.md5
@@ -0,0 +1 @@
+a5c3b5cd0605bb7331d1846cdc14b13b
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/poms/maven-test-b-1.0.pom b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/poms/maven-test-b-1.0.pom
new file mode 100644
index 00000000..ed5c2693
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/maven-test/poms/maven-test-b-1.0.pom
@@ -0,0 +1,21 @@
+<model>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-a</artifactId>
+ <packaging>jar</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-b</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>maven-test</groupId>
+ <artifactId>maven-test-z</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</model> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar
new file mode 100644
index 00000000..b3da0186
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+remote \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version
new file mode 100644
index 00000000..c1c3c3e3
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-a-1.0-SNAPSHOT.jar.snapshot-version
@@ -0,0 +1 @@
+20050101.101010 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar
new file mode 100644
index 00000000..c2c027fe
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+local \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version
new file mode 100644
index 00000000..b2954fe9
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-b-1.0-SNAPSHOT.jar.snapshot-version
@@ -0,0 +1 @@
+20030101.101010 \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar
new file mode 100644
index 00000000..b3da0186
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar
@@ -0,0 +1 @@
+remote \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar.snapshot-version b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar.snapshot-version
new file mode 100644
index 00000000..7c5f8a57
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-1/snapshot-test/jars/maven-snapshot-c-1.0-SNAPSHOT.jar.snapshot-version
@@ -0,0 +1 @@
+20040101.101010
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-2/maven-test/jars/maven-test-z-1.0.jar b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-2/maven-test/jars/maven-test-z-1.0.jar
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/remote-repo-2/maven-test/jars/maven-test-z-1.0.jar
@@ -0,0 +1 @@
+foo
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/withActiveByDefaultProfile-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/withActiveByDefaultProfile-pom.xml
new file mode 100644
index 00000000..95ee353a
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-core/src/test/resources/withActiveByDefaultProfile-pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>2.0-SNAPSHOT</version>
+
+ <name>Maven</name>
+
+ <profiles>
+ <profile>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <id>test</id>
+ </profile>
+ </profiles>
+</project>