aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-model-builder/src')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/AbstractModelBuildingListener.java37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java1309
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java243
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingEvent.java64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java408
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java180
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java175
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblemCollector.java200
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProcessor.java84
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java285
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEvent.java53
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java180
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java338
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingResult.java99
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCache.java56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCacheTag.java132
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelData.java222
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java117
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollector.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorExt.java37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorRequest.java101
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java171
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProcessor.java32
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource.java38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource2.java56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java255
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/StringModelSource.java56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/UrlModelSource.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DependencyManagementImporter.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java255
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java271
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/MavenBuildTimestamp.java70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ProblemDetectingValueSource.java87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java504
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/UrlNormalizingPostProcessor.java69
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelReader.java134
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelWriter.java118
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelParseException.java93
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelReader.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelWriter.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/DefaultModelLocator.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/ModelLocator.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java110
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java137
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DependencyManagementInjector.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/PluginManagementInjector.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java729
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java135
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java111
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelUrlNormalizer.java84
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultPathTranslator.java66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultUrlNormalizer.java65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelUrlNormalizer.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/PathTranslator.java43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/UrlNormalizer.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.java65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java240
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/LifecycleBindingsInjector.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportConfigurationExpander.java43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileActivationContext.java259
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java249
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileSelector.java143
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileActivationContext.java79
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileSelector.java49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java192
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java224
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java168
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/ProfileActivator.java59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/PropertyProfileActivator.java126
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/InvalidRepositoryException.java73
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java93
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/UnresolvableModelException.java126
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/WorkspaceModelResolver.java33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/SuperPomProvider.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java1076
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/mdo/profiles.mdo399
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml150
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/index.apt187
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/super-pom.apt.vm30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/site.xml40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java60
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java108
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java494
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java505
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java85
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java92
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java185
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java185
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java630
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/complex.xml49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/simple.xml81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-child.xml61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-parent.xml89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-exclusion-id.xml40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-scope.xml69
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-version.xml43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-classifier.xml38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-type.xml37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-scope.xml70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-version.xml46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-repository-id.xml50
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-snapshot-version.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-version.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/basedir-system-path.xml42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/distribution-management-status.xml29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-module.xml31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin-execution.xml103
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin.xml81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-profile-id.xml35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-module.xml30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-plugin-version.xml34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/hard-coded-system-path.xml42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/incomplete-parent.xml30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-aggregator-packaging-pom.xml30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml26
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-1-pom.xml21
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-artifactId-pom.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-artifactId-pom.xml32
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-exclusion-id.xml39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-groupId-pom.xml32
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-artifactId-pom.xml34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-groupId-pom.xml34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-version-pom.xml34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-version-pom.xml32
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-groupId-pom.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-modelVersion-pom.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-artifactId-pom.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-artifactId.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-groupId.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-version.xml41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-version-pom.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-artifactId-pom.xml33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-version-pom.xml57
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-repository-id-pom.xml36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-resource-directory-pom.xml38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-type-pom.xml26
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-version-pom.xml25
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/reserved-repository-id.xml50
161 files changed, 0 insertions, 18465 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/AbstractModelBuildingListener.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/AbstractModelBuildingListener.java
deleted file mode 100644
index 5138776a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/AbstractModelBuildingListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.maven.model.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.
- */
-
-/**
- * Provides a skeleton implementation for model building listeners. The methods of this class are empty.
- *
- * @author Benjamin Bentmann
- */
-public class AbstractModelBuildingListener
- implements ModelBuildingListener
-{
-
- @Override
- public void buildExtensionsAssembled( ModelBuildingEvent event )
- {
- // default does nothing
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
deleted file mode 100644
index 52b3c9c8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ /dev/null
@@ -1,1309 +0,0 @@
-package org.apache.maven.model.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.apache.maven.model.building.Result.error;
-import static org.apache.maven.model.building.Result.newResult;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.maven.model.Activation;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.InputLocation;
-import org.apache.maven.model.InputSource;
-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.apache.maven.model.Profile;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.composition.DependencyManagementImporter;
-import org.apache.maven.model.inheritance.InheritanceAssembler;
-import org.apache.maven.model.interpolation.ModelInterpolator;
-import org.apache.maven.model.io.ModelParseException;
-import org.apache.maven.model.management.DependencyManagementInjector;
-import org.apache.maven.model.management.PluginManagementInjector;
-import org.apache.maven.model.normalization.ModelNormalizer;
-import org.apache.maven.model.path.ModelPathTranslator;
-import org.apache.maven.model.path.ModelUrlNormalizer;
-import org.apache.maven.model.plugin.LifecycleBindingsInjector;
-import org.apache.maven.model.plugin.PluginConfigurationExpander;
-import org.apache.maven.model.plugin.ReportConfigurationExpander;
-import org.apache.maven.model.plugin.ReportingConverter;
-import org.apache.maven.model.profile.DefaultProfileActivationContext;
-import org.apache.maven.model.profile.ProfileInjector;
-import org.apache.maven.model.profile.ProfileSelector;
-import org.apache.maven.model.resolution.InvalidRepositoryException;
-import org.apache.maven.model.resolution.ModelResolver;
-import org.apache.maven.model.resolution.UnresolvableModelException;
-import org.apache.maven.model.resolution.WorkspaceModelResolver;
-import org.apache.maven.model.superpom.SuperPomProvider;
-import org.apache.maven.model.validation.ModelValidator;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * @author Benjamin Bentmann
- */
-@Component( role = ModelBuilder.class )
-public class DefaultModelBuilder
- implements ModelBuilder
-{
- @Requirement
- private ModelProcessor modelProcessor;
-
- @Requirement
- private ModelValidator modelValidator;
-
- @Requirement
- private ModelNormalizer modelNormalizer;
-
- @Requirement
- private ModelInterpolator modelInterpolator;
-
- @Requirement
- private ModelPathTranslator modelPathTranslator;
-
- @Requirement
- private ModelUrlNormalizer modelUrlNormalizer;
-
- @Requirement
- private SuperPomProvider superPomProvider;
-
- @Requirement
- private InheritanceAssembler inheritanceAssembler;
-
- @Requirement
- private ProfileSelector profileSelector;
-
- @Requirement
- private ProfileInjector profileInjector;
-
- @Requirement
- private PluginManagementInjector pluginManagementInjector;
-
- @Requirement
- private DependencyManagementInjector dependencyManagementInjector;
-
- @Requirement
- private DependencyManagementImporter dependencyManagementImporter;
-
- @Requirement( optional = true )
- private LifecycleBindingsInjector lifecycleBindingsInjector;
-
- @Requirement
- private PluginConfigurationExpander pluginConfigurationExpander;
-
- @Requirement
- private ReportConfigurationExpander reportConfigurationExpander;
-
- @Requirement
- private ReportingConverter reportingConverter;
-
- public DefaultModelBuilder setModelProcessor( ModelProcessor modelProcessor )
- {
- this.modelProcessor = modelProcessor;
- return this;
- }
-
- public DefaultModelBuilder setModelValidator( ModelValidator modelValidator )
- {
- this.modelValidator = modelValidator;
- return this;
- }
-
- public DefaultModelBuilder setModelNormalizer( ModelNormalizer modelNormalizer )
- {
- this.modelNormalizer = modelNormalizer;
- return this;
- }
-
- public DefaultModelBuilder setModelInterpolator( ModelInterpolator modelInterpolator )
- {
- this.modelInterpolator = modelInterpolator;
- return this;
- }
-
- public DefaultModelBuilder setModelPathTranslator( ModelPathTranslator modelPathTranslator )
- {
- this.modelPathTranslator = modelPathTranslator;
- return this;
- }
-
- public DefaultModelBuilder setModelUrlNormalizer( ModelUrlNormalizer modelUrlNormalizer )
- {
- this.modelUrlNormalizer = modelUrlNormalizer;
- return this;
- }
-
- public DefaultModelBuilder setSuperPomProvider( SuperPomProvider superPomProvider )
- {
- this.superPomProvider = superPomProvider;
- return this;
- }
-
- public DefaultModelBuilder setProfileSelector( ProfileSelector profileSelector )
- {
- this.profileSelector = profileSelector;
- return this;
- }
-
- public DefaultModelBuilder setProfileInjector( ProfileInjector profileInjector )
- {
- this.profileInjector = profileInjector;
- return this;
- }
-
- public DefaultModelBuilder setInheritanceAssembler( InheritanceAssembler inheritanceAssembler )
- {
- this.inheritanceAssembler = inheritanceAssembler;
- return this;
- }
-
- public DefaultModelBuilder setDependencyManagementImporter( DependencyManagementImporter depMngmntImporter )
- {
- this.dependencyManagementImporter = depMngmntImporter;
- return this;
- }
-
- public DefaultModelBuilder setDependencyManagementInjector( DependencyManagementInjector depMngmntInjector )
- {
- this.dependencyManagementInjector = depMngmntInjector;
- return this;
- }
-
- public DefaultModelBuilder setLifecycleBindingsInjector( LifecycleBindingsInjector lifecycleBindingsInjector )
- {
- this.lifecycleBindingsInjector = lifecycleBindingsInjector;
- return this;
- }
-
- public DefaultModelBuilder setPluginConfigurationExpander( PluginConfigurationExpander pluginConfigurationExpander )
- {
- this.pluginConfigurationExpander = pluginConfigurationExpander;
- return this;
- }
-
- public DefaultModelBuilder setPluginManagementInjector( PluginManagementInjector pluginManagementInjector )
- {
- this.pluginManagementInjector = pluginManagementInjector;
- return this;
- }
-
- public DefaultModelBuilder setReportConfigurationExpander( ReportConfigurationExpander reportConfigurationExpander )
- {
- this.reportConfigurationExpander = reportConfigurationExpander;
- return this;
- }
-
- public DefaultModelBuilder setReportingConverter( ReportingConverter reportingConverter )
- {
- this.reportingConverter = reportingConverter;
- return this;
- }
-
- @Override
- public ModelBuildingResult build( ModelBuildingRequest request )
- throws ModelBuildingException
- {
- // phase 1
- DefaultModelBuildingResult result = new DefaultModelBuildingResult();
-
- DefaultModelProblemCollector problems = new DefaultModelProblemCollector( result );
-
- // profile activation
- DefaultProfileActivationContext profileActivationContext = getProfileActivationContext( request );
-
- problems.setSource( "(external profiles)" );
- List<Profile> activeExternalProfiles = profileSelector.getActiveProfiles( request.getProfiles(),
- profileActivationContext, problems );
-
- result.setActiveExternalProfiles( activeExternalProfiles );
-
- if ( !activeExternalProfiles.isEmpty() )
- {
- Properties profileProps = new Properties();
- for ( Profile profile : activeExternalProfiles )
- {
- profileProps.putAll( profile.getProperties() );
- }
- profileProps.putAll( profileActivationContext.getUserProperties() );
- profileActivationContext.setUserProperties( profileProps );
- }
-
- // read and validate raw model
- Model inputModel = request.getRawModel();
- if ( inputModel == null )
- {
- inputModel = readModel( request.getModelSource(), request.getPomFile(), request, problems );
- }
-
- problems.setRootModel( inputModel );
-
- ModelData resultData = new ModelData( request.getModelSource(), inputModel );
- ModelData superData = new ModelData( null, getSuperModel() );
-
- Collection<String> parentIds = new LinkedHashSet<String>();
- List<ModelData> lineage = new ArrayList<ModelData>();
-
- for ( ModelData currentData = resultData; currentData != null; )
- {
- lineage.add( currentData );
-
- Model rawModel = currentData.getModel();
- currentData.setRawModel( rawModel );
-
- Model tmpModel = rawModel.clone();
- currentData.setModel( tmpModel );
-
- problems.setSource( tmpModel );
-
- // model normalization
- modelNormalizer.mergeDuplicates( tmpModel, request, problems );
-
- profileActivationContext.setProjectProperties( tmpModel.getProperties() );
-
- List<Profile> activePomProfiles = profileSelector.getActiveProfiles( rawModel.getProfiles(),
- profileActivationContext, problems );
- currentData.setActiveProfiles( activePomProfiles );
-
- Map<String, Activation> interpolatedActivations = getProfileActivations( rawModel, false );
- injectProfileActivations( tmpModel, interpolatedActivations );
-
- // profile injection
- for ( Profile activeProfile : activePomProfiles )
- {
- profileInjector.injectProfile( tmpModel, activeProfile, request, problems );
- }
-
- if ( currentData == resultData )
- {
- for ( Profile activeProfile : activeExternalProfiles )
- {
- profileInjector.injectProfile( tmpModel, activeProfile, request, problems );
- }
- }
-
- if ( currentData == superData )
- {
- break;
- }
-
- configureResolver( request.getModelResolver(), tmpModel, problems );
-
- ModelData parentData = readParent( tmpModel, currentData.getSource(), request, problems );
-
- if ( parentData == null )
- {
- currentData = superData;
- }
- else if ( currentData == resultData )
- { // First iteration - add initial parent id after version resolution.
- currentData.setGroupId( currentData.getRawModel().getGroupId() == null ? parentData.getGroupId()
- : currentData.getRawModel()
- .getGroupId() );
-
- currentData.setVersion( currentData.getRawModel().getVersion() == null ? parentData.getVersion()
- : currentData.getRawModel()
- .getVersion() );
-
- currentData.setArtifactId( currentData.getRawModel().getArtifactId() );
- parentIds.add( currentData.getId() );
- // Reset - only needed for 'getId'.
- currentData.setGroupId( null );
- currentData.setArtifactId( null );
- currentData.setVersion( null );
- currentData = parentData;
- }
- else if ( !parentIds.add( parentData.getId() ) )
- {
- String message = "The parents form a cycle: ";
- for ( String modelId : parentIds )
- {
- message += modelId + " -> ";
- }
- message += parentData.getId();
-
- problems.add( new ModelProblemCollectorRequest( ModelProblem.Severity.FATAL, ModelProblem.Version.BASE )
- .setMessage( message ) );
-
- throw problems.newModelBuildingException();
- }
- else
- {
- currentData = parentData;
- }
- }
-
- problems.setSource( inputModel );
- checkPluginVersions( lineage, request, problems );
-
- // inheritance assembly
- assembleInheritance( lineage, request, problems );
-
- Model resultModel = resultData.getModel();
-
- problems.setSource( resultModel );
- problems.setRootModel( resultModel );
-
- // model interpolation
- resultModel = interpolateModel( resultModel, request, problems );
- resultData.setModel( resultModel );
-
- // url normalization
- modelUrlNormalizer.normalize( resultModel, request );
-
- // Now the fully interpolated model is available: reconfigure the resolver
- configureResolver( request.getModelResolver(), resultModel, problems, true );
-
- resultData.setGroupId( resultModel.getGroupId() );
- resultData.setArtifactId( resultModel.getArtifactId() );
- resultData.setVersion( resultModel.getVersion() );
-
- result.setEffectiveModel( resultModel );
-
- for ( ModelData currentData : lineage )
- {
- String modelId = ( currentData != superData ) ? currentData.getId() : "";
-
- result.addModelId( modelId );
- result.setActivePomProfiles( modelId, currentData.getActiveProfiles() );
- result.setRawModel( modelId, currentData.getRawModel() );
- }
-
- if ( !request.isTwoPhaseBuilding() )
- {
- build( request, result );
- }
-
- return result;
- }
-
- @Override
- public ModelBuildingResult build( ModelBuildingRequest request, ModelBuildingResult result )
- throws ModelBuildingException
- {
- return build( request, result, new LinkedHashSet<String>() );
- }
-
- private ModelBuildingResult build( ModelBuildingRequest request, ModelBuildingResult result,
- Collection<String> imports )
- throws ModelBuildingException
- {
- // phase 2
- Model resultModel = result.getEffectiveModel();
-
- DefaultModelProblemCollector problems = new DefaultModelProblemCollector( result );
- problems.setSource( resultModel );
- problems.setRootModel( resultModel );
-
- // model path translation
- modelPathTranslator.alignToBaseDirectory( resultModel, resultModel.getProjectDirectory(), request );
-
- // plugin management injection
- pluginManagementInjector.injectManagement( resultModel, request, problems );
-
- fireEvent( resultModel, request, problems, ModelBuildingEventCatapult.BUILD_EXTENSIONS_ASSEMBLED );
-
- if ( request.isProcessPlugins() )
- {
- if ( lifecycleBindingsInjector == null )
- {
- throw new IllegalStateException( "lifecycle bindings injector is missing" );
- }
-
- // lifecycle bindings injection
- lifecycleBindingsInjector.injectLifecycleBindings( resultModel, request, problems );
- }
-
- // dependency management import
- importDependencyManagement( resultModel, request, problems, imports );
-
- // dependency management injection
- dependencyManagementInjector.injectManagement( resultModel, request, problems );
-
- modelNormalizer.injectDefaultValues( resultModel, request, problems );
-
- if ( request.isProcessPlugins() )
- {
- // reports configuration
- reportConfigurationExpander.expandPluginConfiguration( resultModel, request, problems );
-
- // reports conversion to decoupled site plugin
- reportingConverter.convertReporting( resultModel, request, problems );
-
- // plugins configuration
- pluginConfigurationExpander.expandPluginConfiguration( resultModel, request, problems );
- }
-
- // effective model validation
- modelValidator.validateEffectiveModel( resultModel, request, problems );
-
- if ( hasModelErrors( problems ) )
- {
- throw problems.newModelBuildingException();
- }
-
- return result;
- }
-
- @Override
- public Result<? extends Model> buildRawModel( File pomFile, int validationLevel, boolean locationTracking )
- {
- final ModelBuildingRequest request = new DefaultModelBuildingRequest().setValidationLevel( validationLevel )
- .setLocationTracking( locationTracking );
- final DefaultModelProblemCollector collector =
- new DefaultModelProblemCollector( new DefaultModelBuildingResult() );
- try
- {
- return newResult( readModel( null, pomFile, request, collector ), collector.getProblems() );
- }
- catch ( ModelBuildingException e )
- {
- return error( collector.getProblems() );
- }
- }
-
- private Model readModel( ModelSource modelSource, File pomFile, ModelBuildingRequest request,
- DefaultModelProblemCollector problems )
- throws ModelBuildingException
- {
- Model model;
-
- if ( modelSource == null )
- {
- if ( pomFile != null )
- {
- modelSource = new FileModelSource( pomFile );
- }
- else
- {
- throw new IllegalArgumentException( "neither model source nor input file are specified" );
- }
- }
-
- problems.setSource( modelSource.getLocation() );
- try
- {
- boolean strict = request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0;
- InputSource source = request.isLocationTracking() ? new InputSource() : null;
-
- Map<String, Object> options = new HashMap<String, Object>();
- options.put( ModelProcessor.IS_STRICT, strict );
- options.put( ModelProcessor.INPUT_SOURCE, source );
- options.put( ModelProcessor.SOURCE, modelSource );
-
- try
- {
- model = modelProcessor.read( modelSource.getInputStream(), options );
- }
- catch ( ModelParseException e )
- {
- if ( !strict )
- {
- throw e;
- }
-
- options.put( ModelProcessor.IS_STRICT, Boolean.FALSE );
-
- try
- {
- model = modelProcessor.read( modelSource.getInputStream(), options );
- }
- catch ( ModelParseException ne )
- {
- // still unreadable even in non-strict mode, rethrow original error
- throw e;
- }
-
- if ( pomFile != null )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.V20 )
- .setMessage( "Malformed POM " + modelSource.getLocation() + ": " + e.getMessage() )
- .setException( e ) );
- }
- else
- {
- problems.add( new ModelProblemCollectorRequest( Severity.WARNING, Version.V20 )
- .setMessage( "Malformed POM " + modelSource.getLocation() + ": " + e.getMessage() )
- .setException( e ) );
- }
- }
-
- if ( source != null )
- {
- source.setModelId( ModelProblemUtils.toId( model ) );
- source.setLocation( modelSource.getLocation() );
- }
- }
- catch ( ModelParseException e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.BASE )
- .setMessage( "Non-parseable POM " + modelSource.getLocation() + ": " + e.getMessage() )
- .setException( e ) );
- throw problems.newModelBuildingException();
- }
- catch ( IOException e )
- {
- String msg = e.getMessage();
- if ( msg == null || msg.length() <= 0 )
- {
- // NOTE: There's java.nio.charset.MalformedInputException and sun.io.MalformedInputException
- if ( e.getClass().getName().endsWith( "MalformedInputException" ) )
- {
- msg = "Some input bytes do not match the file encoding.";
- }
- else
- {
- msg = e.getClass().getSimpleName();
- }
- }
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.BASE )
- .setMessage( "Non-readable POM " + modelSource.getLocation() + ": " + msg ).setException( e ) );
- throw problems.newModelBuildingException();
- }
-
- model.setPomFile( pomFile );
-
- problems.setSource( model );
- modelValidator.validateRawModel( model, request, problems );
-
- if ( hasFatalErrors( problems ) )
- {
- throw problems.newModelBuildingException();
- }
-
- return model;
- }
-
- private DefaultProfileActivationContext getProfileActivationContext( ModelBuildingRequest request )
- {
- DefaultProfileActivationContext context = new DefaultProfileActivationContext();
-
- context.setActiveProfileIds( request.getActiveProfileIds() );
- context.setInactiveProfileIds( request.getInactiveProfileIds() );
- context.setSystemProperties( request.getSystemProperties() );
- context.setUserProperties( request.getUserProperties() );
- context.setProjectDirectory( ( request.getPomFile() != null ) ? request.getPomFile().getParentFile() : null );
-
- return context;
- }
-
- private void configureResolver( ModelResolver modelResolver, Model model, DefaultModelProblemCollector problems )
- {
- configureResolver( modelResolver, model, problems, false );
- }
-
- private void configureResolver( ModelResolver modelResolver, Model model, DefaultModelProblemCollector problems,
- boolean replaceRepositories )
- {
- if ( modelResolver == null )
- {
- return;
- }
-
- problems.setSource( model );
-
- List<Repository> repositories = model.getRepositories();
-
- for ( Repository repository : repositories )
- {
- try
- {
- modelResolver.addRepository( repository, replaceRepositories );
- }
- catch ( InvalidRepositoryException e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Invalid repository " + repository.getId() + ": " + e.getMessage() )
- .setLocation( repository.getLocation( "" ) ).setException( e ) );
- }
- }
- }
-
- private void checkPluginVersions( List<ModelData> lineage, ModelBuildingRequest request,
- ModelProblemCollector problems )
- {
- if ( request.getValidationLevel() < ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- return;
- }
-
- Map<String, Plugin> plugins = new HashMap<String, Plugin>();
- Map<String, String> versions = new HashMap<String, String>();
- Map<String, String> managedVersions = new HashMap<String, String>();
-
- for ( int i = lineage.size() - 1; i >= 0; i-- )
- {
- Model model = lineage.get( i ).getModel();
- Build build = model.getBuild();
- if ( build != null )
- {
- for ( Plugin plugin : build.getPlugins() )
- {
- String key = plugin.getKey();
- if ( versions.get( key ) == null )
- {
- versions.put( key, plugin.getVersion() );
- plugins.put( key, plugin );
- }
- }
- PluginManagement mngt = build.getPluginManagement();
- if ( mngt != null )
- {
- for ( Plugin plugin : mngt.getPlugins() )
- {
- String key = plugin.getKey();
- if ( managedVersions.get( key ) == null )
- {
- managedVersions.put( key, plugin.getVersion() );
- }
- }
- }
- }
- }
-
- for ( String key : versions.keySet() )
- {
- if ( versions.get( key ) == null && managedVersions.get( key ) == null )
- {
- InputLocation location = plugins.get( key ).getLocation( "" );
- problems
- .add( new ModelProblemCollectorRequest( Severity.WARNING, Version.V20 )
- .setMessage( "'build.plugins.plugin.version' for " + key + " is missing." )
- .setLocation( location ) );
- }
- }
- }
-
- private void assembleInheritance( List<ModelData> lineage, ModelBuildingRequest request,
- ModelProblemCollector problems )
- {
- for ( int i = lineage.size() - 2; i >= 0; i-- )
- {
- Model parent = lineage.get( i + 1 ).getModel();
- Model child = lineage.get( i ).getModel();
- inheritanceAssembler.assembleModelInheritance( child, parent, request, problems );
- }
- }
-
- private Map<String, Activation> getProfileActivations( Model model, boolean clone )
- {
- Map<String, Activation> activations = new HashMap<String, Activation>();
- for ( Profile profile : model.getProfiles() )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- continue;
- }
-
- if ( clone )
- {
- activation = activation.clone();
- }
-
- activations.put( profile.getId(), activation );
- }
-
- return activations;
- }
-
- private void injectProfileActivations( Model model, Map<String, Activation> activations )
- {
- for ( Profile profile : model.getProfiles() )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- continue;
- }
-
- // restore activation
- profile.setActivation( activations.get( profile.getId() ) );
- }
- }
-
- private Model interpolateModel( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- // save profile activations before interpolation, since they are evaluated with limited scope
- Map<String, Activation> originalActivations = getProfileActivations( model, true );
-
- Model result = modelInterpolator.interpolateModel( model, model.getProjectDirectory(), request, problems );
- result.setPomFile( model.getPomFile() );
-
- // restore profiles with file activation to their value before full interpolation
- injectProfileActivations( model, originalActivations );
-
- return result;
- }
-
- private ModelData readParent( Model childModel, ModelSource childSource, ModelBuildingRequest request,
- DefaultModelProblemCollector problems )
- throws ModelBuildingException
- {
- ModelData parentData;
-
- Parent parent = childModel.getParent();
-
- if ( parent != null )
- {
- String groupId = parent.getGroupId();
- String artifactId = parent.getArtifactId();
- String version = parent.getVersion();
-
- parentData = getCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.RAW );
-
- if ( parentData == null )
- {
- parentData = readParentLocally( childModel, childSource, request, problems );
-
- if ( parentData == null )
- {
- parentData = readParentExternally( childModel, request, problems );
- }
-
- putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.RAW, parentData );
- }
- else
- {
- /*
- * NOTE: This is a sanity check of the cache hit. If the cached parent POM was locally resolved, the
- * child's <relativePath> should point at that parent, too. If it doesn't, we ignore the cache and
- * resolve externally, to mimic the behavior if the cache didn't exist in the first place. Otherwise,
- * the cache would obscure a bad POM.
- */
-
- File pomFile = parentData.getModel().getPomFile();
- if ( pomFile != null )
- {
- ModelSource expectedParentSource = getParentPomFile( childModel, childSource );
-
- if ( expectedParentSource instanceof ModelSource2
- && !pomFile.toURI().equals( ( (ModelSource2) expectedParentSource ).getLocationURI() ) )
- {
- parentData = readParentExternally( childModel, request, problems );
- }
- }
- }
-
- Model parentModel = parentData.getModel();
-
- if ( !"pom".equals( parentModel.getPackaging() ) )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Invalid packaging for parent POM " + ModelProblemUtils.toSourceHint( parentModel )
- + ", must be \"pom\" but is \"" + parentModel.getPackaging() + "\"" )
- .setLocation( parentModel.getLocation( "packaging" ) ) );
- }
- }
- else
- {
- parentData = null;
- }
-
- return parentData;
- }
-
- private ModelData readParentLocally( Model childModel, ModelSource childSource, ModelBuildingRequest request,
- DefaultModelProblemCollector problems )
- throws ModelBuildingException
- {
- final Parent parent = childModel.getParent();
- final ModelSource candidateSource;
- final Model candidateModel;
- final WorkspaceModelResolver resolver = request.getWorkspaceModelResolver();
- if ( resolver == null )
- {
- candidateSource = getParentPomFile( childModel, childSource );
-
- if ( candidateSource == null )
- {
- return null;
- }
-
- File pomFile = null;
- if ( candidateSource instanceof FileModelSource )
- {
- pomFile = ( (FileModelSource) candidateSource ).getPomFile();
- }
-
- candidateModel = readModel( candidateSource, pomFile, request, problems );
- }
- else
- {
- try
- {
- candidateModel =
- resolver.resolveRawModel( parent.getGroupId(), parent.getArtifactId(), parent.getVersion() );
- }
- catch ( UnresolvableModelException e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.BASE ) //
- .setMessage( e.getMessage().toString() ).setLocation( parent.getLocation( "" ) ).setException( e ) );
- throw problems.newModelBuildingException();
- }
- if ( candidateModel == null )
- {
- return null;
- }
- candidateSource = new FileModelSource( candidateModel.getPomFile() );
- }
-
- //
- // TODO:jvz Why isn't all this checking the job of the duty of the workspace resolver, we know that we
- // have a model that is suitable, yet more checks are done here and the one for the version is problematic
- // before because with parents as ranges it will never work in this scenario.
- //
-
- String groupId = candidateModel.getGroupId();
- if ( groupId == null && candidateModel.getParent() != null )
- {
- groupId = candidateModel.getParent().getGroupId();
- }
- String artifactId = candidateModel.getArtifactId();
- String version = candidateModel.getVersion();
- if ( version == null && candidateModel.getParent() != null )
- {
- version = candidateModel.getParent().getVersion();
- }
-
- if ( groupId == null || !groupId.equals( parent.getGroupId() ) || artifactId == null
- || !artifactId.equals( parent.getArtifactId() ) )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( "'parent.relativePath'" );
- if ( childModel != problems.getRootModel() )
- {
- buffer.append( " of POM " ).append( ModelProblemUtils.toSourceHint( childModel ) );
- }
- buffer.append( " points at " ).append( groupId ).append( ":" ).append( artifactId );
- buffer.append( " instead of " ).append( parent.getGroupId() ).append( ":" );
- buffer.append( parent.getArtifactId() ).append( ", please verify your project structure" );
-
- problems.setSource( childModel );
- problems.add( new ModelProblemCollectorRequest( Severity.WARNING, Version.BASE )
- .setMessage( buffer.toString() ).setLocation( parent.getLocation( "" ) ) );
- return null;
- }
-
- //
- // Here we just need to know that a version is fine to use but this validation we can do in our workspace
- // resolver.
- //
-
- /*
- * if ( version == null || !version.equals( parent.getVersion() ) ) { return null; }
- */
-
- ModelData parentData = new ModelData( candidateSource, candidateModel, groupId, artifactId, version );
-
- return parentData;
- }
-
- private ModelSource getParentPomFile( Model childModel, ModelSource source )
- {
- if ( !( source instanceof ModelSource2 ) )
- {
- return null;
- }
-
- String parentPath = childModel.getParent().getRelativePath();
-
- if ( parentPath == null || parentPath.length() <= 0 )
- {
- return null;
- }
-
- return ( (ModelSource2) source ).getRelatedSource( parentPath );
- }
-
- private ModelData readParentExternally( Model childModel, ModelBuildingRequest request,
- DefaultModelProblemCollector problems )
- throws ModelBuildingException
- {
- problems.setSource( childModel );
-
- Parent parent = childModel.getParent().clone();
-
- String groupId = parent.getGroupId();
- String artifactId = parent.getArtifactId();
- String version = parent.getVersion();
-
- ModelResolver modelResolver = request.getModelResolver();
-
- if ( modelResolver == null )
- {
- throw new IllegalArgumentException( "no model resolver provided, cannot resolve parent POM "
- + ModelProblemUtils.toId( groupId, artifactId, version ) + " for POM "
- + ModelProblemUtils.toSourceHint( childModel ) );
- }
-
- ModelSource modelSource;
- try
- {
- modelSource = modelResolver.resolveModel( parent );
- }
- catch ( UnresolvableModelException e )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( "Non-resolvable parent POM" );
- if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) )
- {
- buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) );
- }
- if ( childModel != problems.getRootModel() )
- {
- buffer.append( " for " ).append( ModelProblemUtils.toId( childModel ) );
- }
- buffer.append( ": " ).append( e.getMessage() );
- if ( childModel.getProjectDirectory() != null )
- {
- if ( parent.getRelativePath() == null || parent.getRelativePath().length() <= 0 )
- {
- buffer.append( " and 'parent.relativePath' points at no local POM" );
- }
- else
- {
- buffer.append( " and 'parent.relativePath' points at wrong local POM" );
- }
- }
-
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.BASE )
- .setMessage( buffer.toString() ).setLocation( parent.getLocation( "" ) ).setException( e ) );
- throw problems.newModelBuildingException();
- }
-
- ModelBuildingRequest lenientRequest = request;
- if ( request.getValidationLevel() > ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- lenientRequest = new FilterModelBuildingRequest( request )
- {
- @Override
- public int getValidationLevel()
- {
- return ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0;
- }
- };
- }
-
- Model parentModel = readModel( modelSource, null, lenientRequest, problems );
-
- if ( !parent.getVersion().equals( version ) )
- {
- if ( childModel.getVersion() == null )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
- .setMessage( "Version must be a constant" ).setLocation( childModel.getLocation( "" ) ) );
-
- }
- else
- {
- if ( childModel.getVersion().indexOf( "${" ) > -1 )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.V31 )
- .setMessage( "Version must be a constant" )
- .setLocation( childModel.getLocation( "version" ) ) );
-
- }
- }
-
- // MNG-2199: What else to check here ?
- }
-
- ModelData parentData = new ModelData( modelSource, parentModel, parent.getGroupId(), parent.getArtifactId(),
- parent.getVersion() );
-
- return parentData;
- }
-
- private Model getSuperModel()
- {
- return superPomProvider.getSuperModel( "4.0.0" ).clone();
- }
-
- private void importDependencyManagement( Model model, ModelBuildingRequest request,
- DefaultModelProblemCollector problems, Collection<String> importIds )
- {
- DependencyManagement depMngt = model.getDependencyManagement();
-
- if ( depMngt == null )
- {
- return;
- }
-
- String importing = model.getGroupId() + ':' + model.getArtifactId() + ':' + model.getVersion();
-
- importIds.add( importing );
-
- final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver();
- final ModelResolver modelResolver = request.getModelResolver();
-
- ModelBuildingRequest importRequest = null;
-
- List<DependencyManagement> importMngts = null;
-
- for ( Iterator<Dependency> it = depMngt.getDependencies().iterator(); it.hasNext(); )
- {
- Dependency dependency = it.next();
-
- if ( !"pom".equals( dependency.getType() ) || !"import".equals( dependency.getScope() ) )
- {
- continue;
- }
-
- it.remove();
-
- String groupId = dependency.getGroupId();
- String artifactId = dependency.getArtifactId();
- String version = dependency.getVersion();
-
- if ( groupId == null || groupId.length() <= 0 )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "'dependencyManagement.dependencies.dependency.groupId' for "
- + dependency.getManagementKey() + " is missing." )
- .setLocation( dependency.getLocation( "" ) ) );
- continue;
- }
- if ( artifactId == null || artifactId.length() <= 0 )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "'dependencyManagement.dependencies.dependency.artifactId' for "
- + dependency.getManagementKey() + " is missing." )
- .setLocation( dependency.getLocation( "" ) ) );
- continue;
- }
- if ( version == null || version.length() <= 0 )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "'dependencyManagement.dependencies.dependency.version' for "
- + dependency.getManagementKey() + " is missing." )
- .setLocation( dependency.getLocation( "" ) ) );
- continue;
- }
-
- String imported = groupId + ':' + artifactId + ':' + version;
-
- if ( importIds.contains( imported ) )
- {
- String message = "The dependencies of type=pom and with scope=import form a cycle: ";
- for ( String modelId : importIds )
- {
- message += modelId + " -> ";
- }
- message += imported;
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ).setMessage( message ) );
-
- continue;
- }
-
- DependencyManagement importMngt = getCache( request.getModelCache(), groupId, artifactId, version,
- ModelCacheTag.IMPORT );
-
- if ( importMngt == null )
- {
- if ( workspaceResolver == null && modelResolver == null )
- {
- throw new IllegalArgumentException( "no model resolver provided, cannot resolve import POM "
- + ModelProblemUtils.toId( groupId, artifactId, version ) + " for POM "
- + ModelProblemUtils.toSourceHint( model ) );
- }
-
- Model importModel = null;
- if ( workspaceResolver != null )
- {
- try
- {
- importModel = workspaceResolver.resolveEffectiveModel( groupId, artifactId, version );
- }
- catch ( UnresolvableModelException e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.FATAL, Version.BASE )
- .setMessage( e.getMessage().toString() ).setException( e ) );
- continue;
- }
- }
-
- // no workspace resolver or workspace resolver returned null (i.e. model not in workspace)
- if ( importModel == null )
- {
- final ModelSource importSource;
- try
- {
- importSource = modelResolver.resolveModel( groupId, artifactId, version );
- }
- catch ( UnresolvableModelException e )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( "Non-resolvable import POM" );
- if ( !containsCoordinates( e.getMessage(), groupId, artifactId, version ) )
- {
- buffer.append( " " ).append( ModelProblemUtils.toId( groupId, artifactId, version ) );
- }
- buffer.append( ": " ).append( e.getMessage() );
-
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( buffer.toString() ).setLocation( dependency.getLocation( "" ) )
- .setException( e ) );
- continue;
- }
-
- if ( importRequest == null )
- {
- importRequest = new DefaultModelBuildingRequest();
- importRequest.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
- importRequest.setModelCache( request.getModelCache() );
- importRequest.setSystemProperties( request.getSystemProperties() );
- importRequest.setUserProperties( request.getUserProperties() );
- importRequest.setLocationTracking( request.isLocationTracking() );
- }
-
- importRequest.setModelSource( importSource );
- importRequest.setModelResolver( modelResolver.newCopy() );
-
- final ModelBuildingResult importResult;
- try
- {
- importResult = build( importRequest );
- }
- catch ( ModelBuildingException e )
- {
- problems.addAll( e.getProblems() );
- continue;
- }
-
- problems.addAll( importResult.getProblems() );
-
- importModel = importResult.getEffectiveModel();
- }
-
- importMngt = importModel.getDependencyManagement();
-
- if ( importMngt == null )
- {
- importMngt = new DependencyManagement();
- }
-
- putCache( request.getModelCache(), groupId, artifactId, version, ModelCacheTag.IMPORT, importMngt );
- }
-
- if ( importMngts == null )
- {
- importMngts = new ArrayList<DependencyManagement>();
- }
-
- importMngts.add( importMngt );
- }
-
- importIds.remove( importing );
-
- dependencyManagementImporter.importManagement( model, importMngts, request, problems );
- }
-
- private <T> void putCache( ModelCache modelCache, String groupId, String artifactId, String version,
- ModelCacheTag<T> tag, T data )
- {
- if ( modelCache != null )
- {
- modelCache.put( groupId, artifactId, version, tag.getName(), tag.intoCache( data ) );
- }
- }
-
- private <T> T getCache( ModelCache modelCache, String groupId, String artifactId, String version,
- ModelCacheTag<T> tag )
- {
- if ( modelCache != null )
- {
- Object data = modelCache.get( groupId, artifactId, version, tag.getName() );
- if ( data != null )
- {
- return tag.fromCache( tag.getType().cast( data ) );
- }
- }
- return null;
- }
-
- private void fireEvent( Model model, ModelBuildingRequest request, ModelProblemCollector problems,
- ModelBuildingEventCatapult catapult )
- throws ModelBuildingException
- {
- ModelBuildingListener listener = request.getModelBuildingListener();
-
- if ( listener != null )
- {
- ModelBuildingEvent event = new DefaultModelBuildingEvent( model, request, problems );
-
- catapult.fire( listener, event );
- }
- }
-
- private boolean containsCoordinates( String message, String groupId, String artifactId, String version )
- {
- return message != null && ( groupId == null || message.contains( groupId ) )
- && ( artifactId == null || message.contains( artifactId ) )
- && ( version == null || message.contains( version ) );
- }
-
- protected boolean hasModelErrors( ModelProblemCollectorExt problems )
- {
- if ( problems instanceof DefaultModelProblemCollector )
- {
- return ( (DefaultModelProblemCollector) problems ).hasErrors();
- }
- else
- {
- // the default execution path only knows the DefaultModelProblemCollector,
- // only reason it's not in signature is because it's package private
- throw new IllegalStateException();
- }
- }
-
- protected boolean hasFatalErrors( ModelProblemCollectorExt problems )
- {
- if ( problems instanceof DefaultModelProblemCollector )
- {
- return ( (DefaultModelProblemCollector) problems ).hasFatalErrors();
- }
- else
- {
- // the default execution path only knows the DefaultModelProblemCollector,
- // only reason it's not in signature is because it's package private
- throw new IllegalStateException();
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java
deleted file mode 100644
index 36a0f46a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-import org.apache.maven.model.composition.DefaultDependencyManagementImporter;
-import org.apache.maven.model.composition.DependencyManagementImporter;
-import org.apache.maven.model.inheritance.DefaultInheritanceAssembler;
-import org.apache.maven.model.inheritance.InheritanceAssembler;
-import org.apache.maven.model.interpolation.ModelInterpolator;
-import org.apache.maven.model.interpolation.StringSearchModelInterpolator;
-import org.apache.maven.model.io.DefaultModelReader;
-import org.apache.maven.model.io.ModelReader;
-import org.apache.maven.model.locator.DefaultModelLocator;
-import org.apache.maven.model.locator.ModelLocator;
-import org.apache.maven.model.management.DefaultDependencyManagementInjector;
-import org.apache.maven.model.management.DefaultPluginManagementInjector;
-import org.apache.maven.model.management.DependencyManagementInjector;
-import org.apache.maven.model.management.PluginManagementInjector;
-import org.apache.maven.model.normalization.DefaultModelNormalizer;
-import org.apache.maven.model.normalization.ModelNormalizer;
-import org.apache.maven.model.path.DefaultModelPathTranslator;
-import org.apache.maven.model.path.DefaultModelUrlNormalizer;
-import org.apache.maven.model.path.DefaultPathTranslator;
-import org.apache.maven.model.path.DefaultUrlNormalizer;
-import org.apache.maven.model.path.ModelPathTranslator;
-import org.apache.maven.model.path.ModelUrlNormalizer;
-import org.apache.maven.model.path.PathTranslator;
-import org.apache.maven.model.path.UrlNormalizer;
-import org.apache.maven.model.plugin.DefaultPluginConfigurationExpander;
-import org.apache.maven.model.plugin.DefaultReportConfigurationExpander;
-import org.apache.maven.model.plugin.DefaultReportingConverter;
-import org.apache.maven.model.plugin.LifecycleBindingsInjector;
-import org.apache.maven.model.plugin.PluginConfigurationExpander;
-import org.apache.maven.model.plugin.ReportConfigurationExpander;
-import org.apache.maven.model.plugin.ReportingConverter;
-import org.apache.maven.model.profile.DefaultProfileInjector;
-import org.apache.maven.model.profile.DefaultProfileSelector;
-import org.apache.maven.model.profile.ProfileInjector;
-import org.apache.maven.model.profile.ProfileSelector;
-import org.apache.maven.model.profile.activation.FileProfileActivator;
-import org.apache.maven.model.profile.activation.JdkVersionProfileActivator;
-import org.apache.maven.model.profile.activation.OperatingSystemProfileActivator;
-import org.apache.maven.model.profile.activation.ProfileActivator;
-import org.apache.maven.model.profile.activation.PropertyProfileActivator;
-import org.apache.maven.model.superpom.DefaultSuperPomProvider;
-import org.apache.maven.model.superpom.SuperPomProvider;
-import org.apache.maven.model.validation.DefaultModelValidator;
-import org.apache.maven.model.validation.ModelValidator;
-
-/**
- * A factory to create model builder instances when no dependency injection is available. <em>Note:</em> This class is
- * only meant as a utility for developers that want to employ the model builder outside of the Maven build system, Maven
- * plugins should always acquire model builder instances via dependency injection. Developers might want to subclass
- * this factory to provide custom implementations for some of the components used by the model builder.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultModelBuilderFactory
-{
-
- protected ModelProcessor newModelProcessor()
- {
- DefaultModelProcessor processor = new DefaultModelProcessor();
- processor.setModelLocator( newModelLocator() );
- processor.setModelReader( newModelReader() );
- return processor;
- }
-
- protected ModelLocator newModelLocator()
- {
- return new DefaultModelLocator();
- }
-
- protected ModelReader newModelReader()
- {
- return new DefaultModelReader();
- }
-
- protected ProfileSelector newProfileSelector()
- {
- DefaultProfileSelector profileSelector = new DefaultProfileSelector();
-
- for ( ProfileActivator activator : newProfileActivators() )
- {
- profileSelector.addProfileActivator( activator );
- }
-
- return profileSelector;
- }
-
- protected ProfileActivator[] newProfileActivators()
- {
- return new ProfileActivator[] { new JdkVersionProfileActivator(), new OperatingSystemProfileActivator(),
- new PropertyProfileActivator(), new FileProfileActivator().setPathTranslator( newPathTranslator() ) };
- }
-
- protected UrlNormalizer newUrlNormalizer()
- {
- return new DefaultUrlNormalizer();
- }
-
- protected PathTranslator newPathTranslator()
- {
- return new DefaultPathTranslator();
- }
-
- protected ModelInterpolator newModelInterpolator()
- {
- UrlNormalizer normalizer = newUrlNormalizer();
- PathTranslator pathTranslator = newPathTranslator();
- return new StringSearchModelInterpolator().setPathTranslator( pathTranslator ).setUrlNormalizer( normalizer );
- }
-
- protected ModelValidator newModelValidator()
- {
- return new DefaultModelValidator();
- }
-
- protected ModelNormalizer newModelNormalizer()
- {
- return new DefaultModelNormalizer();
- }
-
- protected ModelPathTranslator newModelPathTranslator()
- {
- return new DefaultModelPathTranslator().setPathTranslator( newPathTranslator() );
- }
-
- protected ModelUrlNormalizer newModelUrlNormalizer()
- {
- return new DefaultModelUrlNormalizer().setUrlNormalizer( newUrlNormalizer() );
- }
-
- protected InheritanceAssembler newInheritanceAssembler()
- {
- return new DefaultInheritanceAssembler();
- }
-
- protected ProfileInjector newProfileInjector()
- {
- return new DefaultProfileInjector();
- }
-
- protected SuperPomProvider newSuperPomProvider()
- {
- return new DefaultSuperPomProvider().setModelProcessor( newModelProcessor() );
- }
-
- protected DependencyManagementImporter newDependencyManagementImporter()
- {
- return new DefaultDependencyManagementImporter();
- }
-
- protected DependencyManagementInjector newDependencyManagementInjector()
- {
- return new DefaultDependencyManagementInjector();
- }
-
- protected LifecycleBindingsInjector newLifecycleBindingsInjector()
- {
- return new StubLifecycleBindingsInjector();
- }
-
- protected PluginManagementInjector newPluginManagementInjector()
- {
- return new DefaultPluginManagementInjector();
- }
-
- protected PluginConfigurationExpander newPluginConfigurationExpander()
- {
- return new DefaultPluginConfigurationExpander();
- }
-
- protected ReportConfigurationExpander newReportConfigurationExpander()
- {
- return new DefaultReportConfigurationExpander();
- }
-
- protected ReportingConverter newReportingConverter()
- {
- return new DefaultReportingConverter();
- }
-
- /**
- * Creates a new model builder instance.
- *
- * @return The new model builder instance, never {@code null}.
- */
- public DefaultModelBuilder newInstance()
- {
- DefaultModelBuilder modelBuilder = new DefaultModelBuilder();
-
- modelBuilder.setModelProcessor( newModelProcessor() );
- modelBuilder.setModelValidator( newModelValidator() );
- modelBuilder.setModelNormalizer( newModelNormalizer() );
- modelBuilder.setModelPathTranslator( newModelPathTranslator() );
- modelBuilder.setModelUrlNormalizer( newModelUrlNormalizer() );
- modelBuilder.setModelInterpolator( newModelInterpolator() );
- modelBuilder.setInheritanceAssembler( newInheritanceAssembler() );
- modelBuilder.setProfileInjector( newProfileInjector() );
- modelBuilder.setProfileSelector( newProfileSelector() );
- modelBuilder.setSuperPomProvider( newSuperPomProvider() );
- modelBuilder.setDependencyManagementImporter( newDependencyManagementImporter() );
- modelBuilder.setDependencyManagementInjector( newDependencyManagementInjector() );
- modelBuilder.setLifecycleBindingsInjector( newLifecycleBindingsInjector() );
- modelBuilder.setPluginManagementInjector( newPluginManagementInjector() );
- modelBuilder.setPluginConfigurationExpander( newPluginConfigurationExpander() );
- modelBuilder.setReportConfigurationExpander( newReportConfigurationExpander() );
- modelBuilder.setReportingConverter( newReportingConverter() );
-
- return modelBuilder;
- }
-
- private static class StubLifecycleBindingsInjector
- implements LifecycleBindingsInjector
- {
-
- @Override
- public void injectLifecycleBindings( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingEvent.java
deleted file mode 100644
index f72403b2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingEvent.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-
-/**
- * Holds data relevant for a model building event.
- *
- * @author Benjamin Bentmann
- */
-class DefaultModelBuildingEvent
- implements ModelBuildingEvent
-{
-
- private final Model model;
-
- private final ModelBuildingRequest request;
-
- private final ModelProblemCollector problems;
-
- public DefaultModelBuildingEvent( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- this.model = model;
- this.request = request;
- this.problems = problems;
- }
-
- @Override
- public Model getModel()
- {
- return model;
- }
-
- @Override
- public ModelBuildingRequest getRequest()
- {
- return request;
- }
-
- @Override
- public ModelProblemCollector getProblems()
- {
- return problems;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
deleted file mode 100644
index 8b4a01b3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
+++ /dev/null
@@ -1,408 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.resolution.ModelResolver;
-import org.apache.maven.model.resolution.WorkspaceModelResolver;
-
-/**
- * Collects settings that control building of effective models.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultModelBuildingRequest
- implements ModelBuildingRequest
-{
-
- private Model rawModel;
-
- private File pomFile;
-
- private ModelSource modelSource;
-
- private int validationLevel = VALIDATION_LEVEL_STRICT;
-
- private boolean processPlugins;
-
- private boolean twoPhaseBuilding;
-
- private boolean locationTracking;
-
- private List<Profile> profiles;
-
- private List<String> activeProfileIds;
-
- private List<String> inactiveProfileIds;
-
- private Properties systemProperties;
-
- private Properties userProperties;
-
- private Date buildStartTime;
-
- private ModelResolver modelResolver;
-
- private ModelBuildingListener modelBuildingListener;
-
- private ModelCache modelCache;
-
- private WorkspaceModelResolver workspaceResolver;
-
- /**
- * Creates an empty request.
- */
- public DefaultModelBuildingRequest()
- {
- }
-
- /**
- * Creates a shallow copy of the specified request.
- *
- * @param request The request to copy, must not be {@code null}.
- */
- public DefaultModelBuildingRequest( ModelBuildingRequest request )
- {
- setPomFile( request.getPomFile() );
- setModelSource( request.getModelSource() );
- setValidationLevel( request.getValidationLevel() );
- setProcessPlugins( request.isProcessPlugins() );
- setTwoPhaseBuilding( request.isTwoPhaseBuilding() );
- setProfiles( request.getProfiles() );
- setActiveProfileIds( request.getActiveProfileIds() );
- setInactiveProfileIds( request.getInactiveProfileIds() );
- setSystemProperties( request.getSystemProperties() );
- setUserProperties( request.getUserProperties() );
- setBuildStartTime( request.getBuildStartTime() );
- setModelResolver( request.getModelResolver() );
- setModelBuildingListener( request.getModelBuildingListener() );
- setModelCache( request.getModelCache() );
- }
-
- @Override
- public File getPomFile()
- {
- return pomFile;
- }
-
- @Override
- public DefaultModelBuildingRequest setPomFile( File pomFile )
- {
- this.pomFile = ( pomFile != null ) ? pomFile.getAbsoluteFile() : null;
-
- return this;
- }
-
- @Override
- public synchronized ModelSource getModelSource()
- {
- if ( modelSource == null && pomFile != null )
- {
- modelSource = new FileModelSource( pomFile );
- }
- return modelSource;
- }
-
- @Override
- public DefaultModelBuildingRequest setModelSource( ModelSource modelSource )
- {
- this.modelSource = modelSource;
-
- return this;
- }
-
- @Override
- public int getValidationLevel()
- {
- return validationLevel;
- }
-
- @Override
- public DefaultModelBuildingRequest setValidationLevel( int validationLevel )
- {
- this.validationLevel = validationLevel;
-
- return this;
- }
-
- @Override
- public boolean isProcessPlugins()
- {
- return processPlugins;
- }
-
- @Override
- public DefaultModelBuildingRequest setProcessPlugins( boolean processPlugins )
- {
- this.processPlugins = processPlugins;
-
- return this;
- }
-
- @Override
- public boolean isTwoPhaseBuilding()
- {
- return twoPhaseBuilding;
- }
-
- @Override
- public DefaultModelBuildingRequest setTwoPhaseBuilding( boolean twoPhaseBuilding )
- {
- this.twoPhaseBuilding = twoPhaseBuilding;
-
- return this;
- }
-
- @Override
- public boolean isLocationTracking()
- {
- return locationTracking;
- }
-
- @Override
- public DefaultModelBuildingRequest setLocationTracking( boolean locationTracking )
- {
- this.locationTracking = locationTracking;
-
- return this;
- }
-
- @Override
- public List<Profile> getProfiles()
- {
- if ( profiles == null )
- {
- profiles = new ArrayList<Profile>();
- }
-
- return profiles;
- }
-
- @Override
- public DefaultModelBuildingRequest setProfiles( List<Profile> profiles )
- {
- if ( profiles != null )
- {
- this.profiles = new ArrayList<Profile>( profiles );
- }
- else
- {
- this.profiles = null;
- }
-
- return this;
- }
-
- @Override
- public List<String> getActiveProfileIds()
- {
- if ( activeProfileIds == null )
- {
- activeProfileIds = new ArrayList<String>();
- }
-
- return activeProfileIds;
- }
-
- @Override
- public DefaultModelBuildingRequest setActiveProfileIds( List<String> activeProfileIds )
- {
- if ( activeProfileIds != null )
- {
- this.activeProfileIds = new ArrayList<String>( activeProfileIds );
- }
- else
- {
- this.activeProfileIds = null;
- }
-
- return this;
- }
-
- @Override
- public List<String> getInactiveProfileIds()
- {
- if ( inactiveProfileIds == null )
- {
- inactiveProfileIds = new ArrayList<String>();
- }
-
- return inactiveProfileIds;
- }
-
- @Override
- public DefaultModelBuildingRequest setInactiveProfileIds( List<String> inactiveProfileIds )
- {
- if ( inactiveProfileIds != null )
- {
- this.inactiveProfileIds = new ArrayList<String>( inactiveProfileIds );
- }
- else
- {
- this.inactiveProfileIds = null;
- }
-
- return this;
- }
-
- @Override
- public Properties getSystemProperties()
- {
- if ( systemProperties == null )
- {
- systemProperties = new Properties();
- }
-
- return systemProperties;
- }
-
- @Override
- public DefaultModelBuildingRequest setSystemProperties( Properties systemProperties )
- {
- if ( systemProperties != null )
- {
- this.systemProperties = new Properties();
- this.systemProperties.putAll( systemProperties );
- }
- else
- {
- this.systemProperties = null;
- }
-
- return this;
- }
-
- @Override
- public Properties getUserProperties()
- {
- if ( userProperties == null )
- {
- userProperties = new Properties();
- }
-
- return userProperties;
- }
-
- @Override
- public DefaultModelBuildingRequest setUserProperties( Properties userProperties )
- {
- if ( userProperties != null )
- {
- this.userProperties = new Properties();
- this.userProperties.putAll( userProperties );
- }
- else
- {
- this.userProperties = null;
- }
-
- return this;
- }
-
- @Override
- public Date getBuildStartTime()
- {
- return buildStartTime;
- }
-
- @Override
- public ModelBuildingRequest setBuildStartTime( Date buildStartTime )
- {
- this.buildStartTime = buildStartTime;
-
- return this;
- }
-
- @Override
- public ModelResolver getModelResolver()
- {
- return this.modelResolver;
- }
-
- @Override
- public DefaultModelBuildingRequest setModelResolver( ModelResolver modelResolver )
- {
- this.modelResolver = modelResolver;
-
- return this;
- }
-
- @Override
- public ModelBuildingListener getModelBuildingListener()
- {
- return modelBuildingListener;
- }
-
- @Override
- public ModelBuildingRequest setModelBuildingListener( ModelBuildingListener modelBuildingListener )
- {
- this.modelBuildingListener = modelBuildingListener;
-
- return this;
- }
-
- @Override
- public ModelCache getModelCache()
- {
- return this.modelCache;
- }
-
- @Override
- public DefaultModelBuildingRequest setModelCache( ModelCache modelCache )
- {
- this.modelCache = modelCache;
-
- return this;
- }
-
- @Override
- public Model getRawModel()
- {
- return rawModel;
- }
-
- @Override
- public ModelBuildingRequest setRawModel( Model rawModel )
- {
- this.rawModel = rawModel;
- return this;
- }
-
- @Override
- public WorkspaceModelResolver getWorkspaceModelResolver()
- {
- return workspaceResolver;
- }
-
- @Override
- public ModelBuildingRequest setWorkspaceModelResolver( WorkspaceModelResolver workspaceResolver )
- {
- this.workspaceResolver = workspaceResolver;
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java
deleted file mode 100644
index 61fb434a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.apache.maven.model.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 java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-
-/**
- * Collects the output of the model builder.
- *
- * @author Benjamin Bentmann
- */
-class DefaultModelBuildingResult
- implements ModelBuildingResult
-{
-
- private Model effectiveModel;
-
- private List<String> modelIds;
-
- private Map<String, Model> rawModels;
-
- private Map<String, List<Profile>> activePomProfiles;
-
- private List<Profile> activeExternalProfiles;
-
- private List<ModelProblem> problems;
-
- public DefaultModelBuildingResult()
- {
- modelIds = new ArrayList<String>();
- rawModels = new HashMap<String, Model>();
- activePomProfiles = new HashMap<String, List<Profile>>();
- activeExternalProfiles = new ArrayList<Profile>();
- problems = new ArrayList<ModelProblem>();
- }
-
- @Override
- public Model getEffectiveModel()
- {
- return effectiveModel;
- }
-
- public DefaultModelBuildingResult setEffectiveModel( Model model )
- {
- this.effectiveModel = model;
-
- return this;
- }
-
- @Override
- public List<String> getModelIds()
- {
- return modelIds;
- }
-
- public DefaultModelBuildingResult addModelId( String modelId )
- {
- if ( modelId == null )
- {
- throw new IllegalArgumentException( "no model identifier specified" );
- }
-
- modelIds.add( modelId );
-
- return this;
- }
-
- @Override
- public Model getRawModel()
- {
- return rawModels.get( modelIds.get( 0 ) );
- }
-
- @Override
- public Model getRawModel( String modelId )
- {
- return rawModels.get( modelId );
- }
-
- public DefaultModelBuildingResult setRawModel( String modelId, Model rawModel )
- {
- if ( modelId == null )
- {
- throw new IllegalArgumentException( "no model identifier specified" );
- }
-
- rawModels.put( modelId, rawModel );
-
- return this;
- }
-
- @Override
- public List<Profile> getActivePomProfiles( String modelId )
- {
- return activePomProfiles.get( modelId );
- }
-
- public DefaultModelBuildingResult setActivePomProfiles( String modelId, List<Profile> activeProfiles )
- {
- if ( modelId == null )
- {
- throw new IllegalArgumentException( "no model identifier specified" );
- }
-
- if ( activeProfiles != null )
- {
- this.activePomProfiles.put( modelId, new ArrayList<Profile>( activeProfiles ) );
- }
- else
- {
- this.activePomProfiles.remove( modelId );
- }
-
- return this;
- }
-
- @Override
- public List<Profile> getActiveExternalProfiles()
- {
- return activeExternalProfiles;
- }
-
- public DefaultModelBuildingResult setActiveExternalProfiles( List<Profile> activeProfiles )
- {
- if ( activeProfiles != null )
- {
- this.activeExternalProfiles = new ArrayList<Profile>( activeProfiles );
- }
- else
- {
- this.activeExternalProfiles.clear();
- }
-
- return this;
- }
-
- @Override
- public List<ModelProblem> getProblems()
- {
- return problems;
- }
-
- public DefaultModelBuildingResult setProblems( List<ModelProblem> problems )
- {
- if ( problems != null )
- {
- this.problems = new ArrayList<ModelProblem>( problems );
- }
- else
- {
- this.problems.clear();
- }
-
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java
deleted file mode 100644
index 0892f0a5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblem.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-
-/**
- * Describes a problem that was encountered during model building. A problem can either be an exception that was thrown
- * or a simple string message. In addition, a problem carries a hint about its source, e.g. the POM file that exhibits
- * the problem.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultModelProblem
- implements ModelProblem
-{
-
- private final String source;
-
- private final int lineNumber;
-
- private final int columnNumber;
-
- private final String modelId;
-
- private final String message;
-
- private final Exception exception;
-
- private final Severity severity;
-
- private final Version version;
-
-
- /**
- * Creates a new problem with the specified message and exception.
- *
- * @param message The message describing the problem, may be {@code null}.
- * @param severity The severity level of the problem, may be {@code null} to default to
- * {@link ModelProblem.Severity#ERROR}.
- * @param source The source of the problem, may be {@code null}.
- * @param lineNumber The one-based index of the line containing the error or {@code -1} if unknown.
- * @param columnNumber The one-based index of the column containing the error or {@code -1} if unknown.
- * @param exception The exception that caused this problem, may be {@code null}.
- */
- //mkleint: does this need to be public?
- public DefaultModelProblem( String message, Severity severity, Version version, Model source, int lineNumber,
- int columnNumber, Exception exception )
- {
- this( message, severity, version, ModelProblemUtils.toPath( source ), lineNumber, columnNumber,
- ModelProblemUtils.toId( source ), exception );
- }
-
- /**
- * Creates a new problem with the specified message and exception.
- *
- * @param message The message describing the problem, may be {@code null}.
- * @param severity The severity level of the problem, may be {@code null} to default to
- * {@link ModelProblem.Severity#ERROR}.
- * @param version The version since the problem is relevant
- * @param source A hint about the source of the problem like a file path, may be {@code null}.
- * @param lineNumber The one-based index of the line containing the problem or {@code -1} if unknown.
- * @param columnNumber The one-based index of the column containing the problem or {@code -1} if unknown.
- * @param modelId The identifier of the model that exhibits the problem, may be {@code null}.
- * @param exception The exception that caused this problem, may be {@code null}.
- */
- //mkleint: does this need to be public?
- public DefaultModelProblem( String message, Severity severity, Version version, String source, int lineNumber,
- int columnNumber, String modelId, Exception exception )
- {
- this.message = message;
- this.severity = ( severity != null ) ? severity : Severity.ERROR;
- this.source = ( source != null ) ? source : "";
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- this.modelId = ( modelId != null ) ? modelId : "";
- this.exception = exception;
- this.version = version;
- }
-
- @Override
- public String getSource()
- {
- return source;
- }
-
- @Override
- public int getLineNumber()
- {
- return lineNumber;
- }
-
- @Override
- public int getColumnNumber()
- {
- return columnNumber;
- }
-
- @Override
- public String getModelId()
- {
- return modelId;
- }
-
- @Override
- public Exception getException()
- {
- return exception;
- }
-
- @Override
- public String getMessage()
- {
- String msg;
-
- if ( message != null && message.length() > 0 )
- {
- msg = message;
- }
- else
- {
- msg = exception.getMessage();
-
- if ( msg == null )
- {
- msg = "";
- }
- }
-
- return msg;
- }
-
- @Override
- public Severity getSeverity()
- {
- return severity;
- }
-
- @Override
- public Version getVersion()
- {
- return version;
- }
-
-
- @Override
- public String toString()
- {
- StringBuilder buffer = new StringBuilder( 128 );
-
- buffer.append( "[" ).append( getSeverity() ).append( "] " );
- buffer.append( getMessage() );
- buffer.append( " @ " ).append( ModelProblemUtils.formatLocation( this, null ) );
-
- return buffer.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblemCollector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblemCollector.java
deleted file mode 100644
index 89d5cb21..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProblemCollector.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package org.apache.maven.model.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 java.util.EnumSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.ModelParseException;
-
-/**
- * Collects problems that are encountered during model building. The primary purpose of this component is to account for
- * the fact that the problem reporter has/should not have information about the calling context and hence cannot provide
- * an expressive source hint for the model problem. Instead, the source hint is configured by the model builder before
- * it delegates to other components that potentially encounter problems. Then, the problem reporter can focus on
- * providing a simple error message, leaving the donkey work of creating a nice model problem to this component.
- *
- * @author Benjamin Bentmann
- */
-class DefaultModelProblemCollector
- implements ModelProblemCollectorExt
-{
-
- private final ModelBuildingResult result;
-
- private List<ModelProblem> problems;
-
- private String source;
-
- private Model sourceModel;
-
- private Model rootModel;
-
- private Set<ModelProblem.Severity> severities = EnumSet.noneOf( ModelProblem.Severity.class );
-
- public DefaultModelProblemCollector( ModelBuildingResult result )
- {
- this.result = result;
- this.problems = result.getProblems();
-
- for ( ModelProblem problem : this.problems )
- {
- severities.add( problem.getSeverity() );
- }
- }
-
- public boolean hasFatalErrors()
- {
- return severities.contains( ModelProblem.Severity.FATAL );
- }
-
- public boolean hasErrors()
- {
- return severities.contains( ModelProblem.Severity.ERROR ) || severities.contains( ModelProblem.Severity.FATAL );
- }
-
- @Override
- public List<ModelProblem> getProblems()
- {
- return problems;
- }
-
- public void setSource( String source )
- {
- this.source = source;
- this.sourceModel = null;
- }
-
- public void setSource( Model source )
- {
- this.sourceModel = source;
- this.source = null;
-
- if ( rootModel == null )
- {
- rootModel = source;
- }
- }
-
- private String getSource()
- {
- if ( source == null && sourceModel != null )
- {
- source = ModelProblemUtils.toPath( sourceModel );
- }
- return source;
- }
-
- private String getModelId()
- {
- return ModelProblemUtils.toId( sourceModel );
- }
-
- public void setRootModel( Model rootModel )
- {
- this.rootModel = rootModel;
- }
-
- public Model getRootModel()
- {
- return rootModel;
- }
-
- public String getRootModelId()
- {
- return ModelProblemUtils.toId( rootModel );
- }
-
- public void add( ModelProblem problem )
- {
- problems.add( problem );
-
- severities.add( problem.getSeverity() );
- }
-
- public void addAll( List<ModelProblem> problems )
- {
- this.problems.addAll( problems );
-
- for ( ModelProblem problem : problems )
- {
- severities.add( problem.getSeverity() );
- }
- }
-
- @Override
- public void add( ModelProblemCollectorRequest req )
- {
- int line = -1;
- int column = -1;
- String source = null;
- String modelId = null;
-
- if ( req.getLocation() != null )
- {
- line = req.getLocation().getLineNumber();
- column = req.getLocation().getColumnNumber();
- if ( req.getLocation().getSource() != null )
- {
- modelId = req.getLocation().getSource().getModelId();
- source = req.getLocation().getSource().getLocation();
- }
- }
-
- if ( modelId == null )
- {
- modelId = getModelId();
- source = getSource();
- }
-
- if ( line <= 0 && column <= 0 && req.getException() instanceof ModelParseException )
- {
- ModelParseException e = (ModelParseException) req.getException();
- line = e.getLineNumber();
- column = e.getColumnNumber();
- }
-
- ModelProblem problem =
- new DefaultModelProblem( req.getMessage(), req.getSeverity(), req.getVersion(), source, line, column,
- modelId, req.getException() );
-
- add( problem );
- }
-
- public ModelBuildingException newModelBuildingException()
- {
- ModelBuildingResult result = this.result;
- if ( result.getModelIds().isEmpty() )
- {
- DefaultModelBuildingResult tmp = new DefaultModelBuildingResult();
- tmp.setEffectiveModel( result.getEffectiveModel() );
- tmp.setProblems( getProblems() );
- tmp.setActiveExternalProfiles( result.getActiveExternalProfiles() );
- String id = getRootModelId();
- tmp.addModelId( id );
- tmp.setRawModel( id, getRootModel() );
- result = tmp;
- }
- return new ModelBuildingException( result );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProcessor.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProcessor.java
deleted file mode 100644
index a4d5fa93..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelProcessor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.ModelReader;
-import org.apache.maven.model.locator.ModelLocator;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-@Component( role = ModelProcessor.class )
-public class DefaultModelProcessor
- implements ModelProcessor
-{
-
- @Requirement
- private ModelLocator locator;
-
- @Requirement
- private ModelReader reader;
-
- public DefaultModelProcessor setModelLocator( ModelLocator locator )
- {
- this.locator = locator;
- return this;
- }
-
- public DefaultModelProcessor setModelReader( ModelReader reader )
- {
- this.reader = reader;
- return this;
- }
-
- @Override
- public File locatePom( File projectDirectory )
- {
- return locator.locatePom( projectDirectory );
- }
-
- @Override
- public Model read( File input, Map<String, ?> options )
- throws IOException
- {
- return reader.read( input, options );
- }
-
- @Override
- public Model read( Reader input, Map<String, ?> options )
- throws IOException
- {
- return reader.read( input, options );
- }
-
- @Override
- public Model read( InputStream input, Map<String, ?> options )
- throws IOException
- {
- return reader.read( input, options );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java
deleted file mode 100644
index a2e11417..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FileModelSource.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-import java.net.URI;
-
-import org.apache.maven.building.FileSource;
-
-/**
- * Wraps an ordinary {@link File} as a model source.
- *
- * @author Benjamin Bentmann
- */
-public class FileModelSource extends FileSource implements ModelSource2
-{
-
- /**
- * Creates a new model source backed by the specified file.
- *
- * @param pomFile The POM file, must not be {@code null}.
- */
- public FileModelSource( File pomFile )
- {
- super( pomFile );
- }
-
- /**
- *
- * @return the file of this source
- *
- * @deprecated instead use {@link #getFile()}
- */
- @Deprecated
- public File getPomFile()
- {
- return getFile();
- }
-
- @Override
- public ModelSource2 getRelatedSource( String relPath )
- {
- relPath = relPath.replace( '\\', File.separatorChar ).replace( '/', File.separatorChar );
-
- File relatedPom = new File( getFile().getParentFile(), relPath );
-
- if ( relatedPom.isDirectory() )
- {
- // TODO figure out how to reuse ModelLocator.locatePom(File) here
- relatedPom = new File( relatedPom, "pom.xml" );
- }
-
- if ( relatedPom.isFile() && relatedPom.canRead() )
- {
- return new FileModelSource( new File( relatedPom.toURI().normalize() ) );
- }
-
- return null;
- }
-
- @Override
- public URI getLocationURI()
- {
- return getFile().toURI();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
deleted file mode 100644
index c5c2cbfa..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
+++ /dev/null
@@ -1,285 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.resolution.ModelResolver;
-import org.apache.maven.model.resolution.WorkspaceModelResolver;
-
-/**
- * A model building request that delegates all methods invocations to another request, meant for easy transformations by
- * subclassing.
- *
- * @author Benjamin Bentmann
- */
-class FilterModelBuildingRequest
- implements ModelBuildingRequest
-{
-
- protected ModelBuildingRequest request;
-
- public FilterModelBuildingRequest( ModelBuildingRequest request )
- {
- this.request = request;
- }
-
- @Override
- public File getPomFile()
- {
- return request.getPomFile();
- }
-
- @Override
- public FilterModelBuildingRequest setPomFile( File pomFile )
- {
- request.setPomFile( pomFile );
-
- return this;
- }
-
- @Override
- public ModelSource getModelSource()
- {
- return request.getModelSource();
- }
-
- @Override
- public FilterModelBuildingRequest setModelSource( ModelSource modelSource )
- {
- request.setModelSource( modelSource );
-
- return this;
- }
-
- @Override
- public int getValidationLevel()
- {
- return request.getValidationLevel();
- }
-
- @Override
- public FilterModelBuildingRequest setValidationLevel( int validationLevel )
- {
- request.setValidationLevel( validationLevel );
-
- return this;
- }
-
- @Override
- public boolean isProcessPlugins()
- {
- return request.isProcessPlugins();
- }
-
- @Override
- public FilterModelBuildingRequest setProcessPlugins( boolean processPlugins )
- {
- request.setProcessPlugins( processPlugins );
-
- return this;
- }
-
- @Override
- public boolean isTwoPhaseBuilding()
- {
- return request.isTwoPhaseBuilding();
- }
-
- @Override
- public FilterModelBuildingRequest setTwoPhaseBuilding( boolean twoPhaseBuilding )
- {
- request.setTwoPhaseBuilding( twoPhaseBuilding );
-
- return this;
- }
-
- @Override
- public boolean isLocationTracking()
- {
- return request.isLocationTracking();
- }
-
- @Override
- public FilterModelBuildingRequest setLocationTracking( boolean locationTracking )
- {
- request.setLocationTracking( locationTracking );
-
- return this;
- }
-
- @Override
- public List<Profile> getProfiles()
- {
- return request.getProfiles();
- }
-
- @Override
- public FilterModelBuildingRequest setProfiles( List<Profile> profiles )
- {
- request.setProfiles( profiles );
-
- return this;
- }
-
- @Override
- public List<String> getActiveProfileIds()
- {
- return request.getActiveProfileIds();
- }
-
- @Override
- public FilterModelBuildingRequest setActiveProfileIds( List<String> activeProfileIds )
- {
- request.setActiveProfileIds( activeProfileIds );
-
- return this;
- }
-
- @Override
- public List<String> getInactiveProfileIds()
- {
- return request.getInactiveProfileIds();
- }
-
- @Override
- public FilterModelBuildingRequest setInactiveProfileIds( List<String> inactiveProfileIds )
- {
- request.setInactiveProfileIds( inactiveProfileIds );
-
- return this;
- }
-
- @Override
- public Properties getSystemProperties()
- {
- return request.getSystemProperties();
- }
-
- @Override
- public FilterModelBuildingRequest setSystemProperties( Properties systemProperties )
- {
- request.setSystemProperties( systemProperties );
-
- return this;
- }
-
- @Override
- public Properties getUserProperties()
- {
- return request.getUserProperties();
- }
-
- @Override
- public FilterModelBuildingRequest setUserProperties( Properties userProperties )
- {
- request.setUserProperties( userProperties );
-
- return this;
- }
-
- @Override
- public Date getBuildStartTime()
- {
- return request.getBuildStartTime();
- }
-
- @Override
- public ModelBuildingRequest setBuildStartTime( Date buildStartTime )
- {
- request.setBuildStartTime( buildStartTime );
-
- return this;
- }
-
- @Override
- public ModelResolver getModelResolver()
- {
- return request.getModelResolver();
- }
-
- @Override
- public FilterModelBuildingRequest setModelResolver( ModelResolver modelResolver )
- {
- request.setModelResolver( modelResolver );
-
- return this;
- }
-
- @Override
- public ModelBuildingListener getModelBuildingListener()
- {
- return request.getModelBuildingListener();
- }
-
- @Override
- public ModelBuildingRequest setModelBuildingListener( ModelBuildingListener modelBuildingListener )
- {
- request.setModelBuildingListener( modelBuildingListener );
-
- return this;
- }
-
- @Override
- public ModelCache getModelCache()
- {
- return request.getModelCache();
- }
-
- @Override
- public FilterModelBuildingRequest setModelCache( ModelCache modelCache )
- {
- request.setModelCache( modelCache );
-
- return this;
- }
-
- @Override
- public Model getRawModel()
- {
- return request.getRawModel();
- }
-
- @Override
- public ModelBuildingRequest setRawModel( Model rawModel )
- {
- request.setRawModel( rawModel );
- return this;
- }
-
- @Override
- public WorkspaceModelResolver getWorkspaceModelResolver()
- {
- return request.getWorkspaceModelResolver();
- }
-
- @Override
- public ModelBuildingRequest setWorkspaceModelResolver( WorkspaceModelResolver workspaceResolver )
- {
- request.setWorkspaceModelResolver( workspaceResolver );
- return this;
- }
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java
deleted file mode 100644
index 2a49a213..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuilder.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-
-import org.apache.maven.model.Model;
-
-/**
- * Builds the effective model from a POM.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelBuilder
-{
-
- /**
- * Builds the effective model of the specified POM.
- *
- * @param request The model building request that holds the parameters, must not be {@code null}.
- * @return The result of the model building, never {@code null}.
- * @throws ModelBuildingException If the effective model could not be built.
- */
- ModelBuildingResult build( ModelBuildingRequest request )
- throws ModelBuildingException;
-
- /**
- * Builds the effective model by completing the specified interim result which was produced by a previous call to
- * {@link #build(ModelBuildingRequest)} with {@link ModelBuildingRequest#isTwoPhaseBuilding()} being {@code true}.
- * The model building request passed to this method must be the same as the one used for the first phase of the
- * model building.
- *
- * @param request The model building request that holds the parameters, must not be {@code null}.
- * @param result The interim result of the first phase of model building, must not be {@code null}.
- * @return The result of the model building, never {@code null}.
- * @throws ModelBuildingException If the effective model could not be built.
- */
- ModelBuildingResult build( ModelBuildingRequest request, ModelBuildingResult result )
- throws ModelBuildingException;
-
- /**
- * Performs only the part of {@link ModelBuilder#build(ModelBuildingRequest)} that loads the raw model
- *
- * @param request
- * @return
- * @throws ModelBuildingException
- */
- Result<? extends Model> buildRawModel( File pomFile, int validationLevel, boolean locationTracking );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEvent.java
deleted file mode 100644
index 2995b1bf..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEvent.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-
-/**
- * Holds data relevant for a model building event.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelBuildingEvent
-{
-
- /**
- * Gets the model being built. The precise state of this model depends on the event being fired.
- *
- * @return The model being built, never {@code null}.
- */
- Model getModel();
-
- /**
- * Gets the model building request being processed.
- *
- * @return The model building request being processed, never {@code null}.
- */
- ModelBuildingRequest getRequest();
-
- /**
- * Gets the container used to collect problems that were encountered while processing the event.
- *
- * @return The container used to collect problems that were encountered, never {@code null}.
- */
- ModelProblemCollector getProblems();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java
deleted file mode 100644
index 092dc4e0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingEventCatapult.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven.model.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.
- */
-
-/**
- * Assists in firing events from a generic method by abstracting from the actual callback method to be called on the
- * listener.
- *
- * @author Benjamin Bentmann
- */
-interface ModelBuildingEventCatapult
-{
-
- /**
- * Notifies the specified listener of the given event.
- *
- * @param listener The listener to notify, must not be {@code null}.
- * @param event The event to fire, must not be {@code null}.
- */
- void fire( ModelBuildingListener listener, ModelBuildingEvent event );
-
- ModelBuildingEventCatapult BUILD_EXTENSIONS_ASSEMBLED = new ModelBuildingEventCatapult()
- {
- @Override
- public void fire( ModelBuildingListener listener, ModelBuildingEvent event )
- {
- listener.buildExtensionsAssembled( event );
- }
- };
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java
deleted file mode 100644
index 434cb591..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.apache.maven.model.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 java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.model.Model;
-
-/**
- * Signals one ore more errors during model building. The model builder tries to collect as many problems as possible
- * before eventually failing to provide callers with rich error information. Use {@link #getProblems()} to query the
- * details of the failure.
- *
- * @author Benjamin Bentmann
- */
-public class ModelBuildingException
- extends Exception
-{
-
- private final ModelBuildingResult result;
-
- /**
- * Creates a new exception with the specified problems.
- *
- * @param model The model that could not be built, may be {@code null}.
- * @param modelId The identifier of the model that could not be built, may be {@code null}.
- * @param problems The problems that causes this exception, may be {@code null}.
- * @deprecated Use {@link #ModelBuildingException(ModelBuildingResult)} instead.
- */
- @Deprecated
- public ModelBuildingException( Model model, String modelId, List<ModelProblem> problems )
- {
- super( toMessage( modelId, problems ) );
-
- if ( model != null )
- {
- DefaultModelBuildingResult tmp = new DefaultModelBuildingResult();
- if ( modelId == null )
- {
- modelId = "";
- }
- tmp.addModelId( modelId );
- tmp.setRawModel( modelId, model );
- tmp.setProblems( problems );
- result = tmp;
- }
- else
- {
- result = null;
- }
- }
-
- /**
- * Creates a new exception from the specified interim result and its associated problems.
- *
- * @param result The interim result, may be {@code null}.
- */
- public ModelBuildingException( ModelBuildingResult result )
- {
- super( toMessage( result ) );
- this.result = result;
- }
-
- /**
- * Gets the interim result of the model building up to the point where it failed.
- *
- * @return The interim model building result or {@code null} if not available.
- */
- public ModelBuildingResult getResult()
- {
- return result;
- }
-
- /**
- * Gets the model that could not be built properly.
- *
- * @return The erroneous model or {@code null} if not available.
- */
- public Model getModel()
- {
- if ( result == null )
- {
- return null;
- }
- if ( result.getEffectiveModel() != null )
- {
- return result.getEffectiveModel();
- }
- return result.getRawModel();
- }
-
- /**
- * Gets the identifier of the POM whose effective model could not be built. The general format of the identifier is
- * {@code <groupId>:<artifactId>:<version>} but some of these coordinates may still be unknown at the point the
- * exception is thrown so this information is merely meant to assist the user.
- *
- * @return The identifier of the POM or an empty string if not known, never {@code null}.
- */
- public String getModelId()
- {
- if ( result == null || result.getModelIds().isEmpty() )
- {
- return "";
- }
- return result.getModelIds().get( 0 );
- }
-
- /**
- * Gets the problems that caused this exception.
- *
- * @return The problems that caused this exception, never {@code null}.
- */
- public List<ModelProblem> getProblems()
- {
- if ( result == null )
- {
- return Collections.emptyList();
- }
- return result.getProblems();
- }
-
- private static String toMessage( ModelBuildingResult result )
- {
- if ( result != null && !result.getModelIds().isEmpty() )
- {
- return toMessage( result.getModelIds().get( 0 ), result.getProblems() );
- }
- return null;
- }
-
- private static String toMessage( String modelId, List<ModelProblem> problems )
- {
- StringWriter buffer = new StringWriter( 1024 );
-
- PrintWriter writer = new PrintWriter( buffer );
-
- writer.print( problems.size() );
- writer.print( ( problems.size() == 1 ) ? " problem was " : " problems were " );
- writer.print( "encountered while building the effective model" );
- if ( modelId != null && modelId.length() > 0 )
- {
- writer.print( " for " );
- writer.print( modelId );
- }
- writer.println();
-
- for ( ModelProblem problem : problems )
- {
- writer.print( "[" );
- writer.print( problem.getSeverity() );
- writer.print( "] " );
- writer.print( problem.getMessage() );
- writer.print( " @ " );
- writer.println( ModelProblemUtils.formatLocation( problem, modelId ) );
- }
-
- return buffer.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java
deleted file mode 100644
index 21029cc8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.model.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.
- */
-
-/**
- * Defines events that the model builder fires during construction of the effective model. When a listener encounteres
- * errors while processing the event, it can report these problems via {@link ModelBuildingEvent#getProblems()}.
- * <em>Note:</em> To cope with future extensions to this interface, it is strongly recommended to extend
- * {@link AbstractModelBuildingListener} rather than to directly implement this interface.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelBuildingListener
-{
-
- /**
- * Notifies the listener that the model has been constructed to the extent where build extensions can be processed.
- *
- * @param event The details about the event.
- */
- void buildExtensionsAssembled( ModelBuildingEvent event );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
deleted file mode 100644
index c10274db..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
+++ /dev/null
@@ -1,338 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.resolution.ModelResolver;
-import org.apache.maven.model.resolution.WorkspaceModelResolver;
-
-/**
- * Collects settings that control the building of effective models.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelBuildingRequest
-{
-
- /**
- * Denotes minimal validation of POMs. This validation level is meant for processing of POMs from repositories
- * during metadata retrieval.
- */
- int VALIDATION_LEVEL_MINIMAL = 0;
-
- /**
- * Denotes validation as performed by Maven 2.0. This validation level is meant as a compatibility mode to allow
- * users to migrate their projects.
- */
- int VALIDATION_LEVEL_MAVEN_2_0 = 20;
-
- /**
- * Denotes validation as performed by Maven 3.0. This validation level is meant for existing projects.
- */
- int VALIDATION_LEVEL_MAVEN_3_0 = 30;
-
- /**
- * Denotes validation as performed by Maven 3.1. This validation level is meant for new projects.
- */
- int VALIDATION_LEVEL_MAVEN_3_1 = 31;
-
- /**
- * Denotes strict validation as recommended by the current Maven version.
- */
- int VALIDATION_LEVEL_STRICT = VALIDATION_LEVEL_MAVEN_3_0;
-
- /**
- * Gets the raw model to build. If not set, model source will be used to load raw model.
- *
- * @return The raw model to build or {@code null} if not set.
- */
- Model getRawModel();
-
- /**
- * Set raw model.
- *
- * @param model
- */
- ModelBuildingRequest setRawModel( Model rawModel );
-
- /**
- * Gets the source of the POM to process.
- *
- * @return The source of the POM or {@code null} if not set.
- */
- ModelSource getModelSource();
-
- /**
- * Sets the source of the POM to process. Eventually, either {@link #setModelSource(ModelSource)} or
- * {@link #setPomFile(File)} must be set.
- *
- * @param modelSource The source of the POM to process, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setModelSource( ModelSource modelSource );
-
- /**
- * Gets the POM file of the project to build.
- *
- * @return The POM file of the project or {@code null} if not applicable (i.e. when processing a POM from the
- * repository).
- */
- File getPomFile();
-
- /**
- * Sets the POM file of the project to build. Note that providing the path to a POM file via this method will make
- * the model builder operate in project mode. This mode is meant for effective models that are employed during the
- * build process of a local project. Hence the effective model will support the notion of a project directory. To
- * build the model for a POM from the repository, use {@link #setModelSource(ModelSource)} in combination with a
- * {@link FileModelSource} instead.
- *
- * @param pomFile The POM file of the project to build the effective model for, may be {@code null} to build the
- * model of some POM from the repository.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setPomFile( File pomFile );
-
- /**
- * Gets the level of validation to perform on processed models.
- *
- * @return The level of validation to perform on processed models.
- */
- int getValidationLevel();
-
- /**
- * Sets the level of validation to perform on processed models. For building of projects,
- * {@link #VALIDATION_LEVEL_STRICT} should be used to ensure proper building. For the mere retrievel of dependencies
- * during artifact resolution, {@link #VALIDATION_LEVEL_MINIMAL} should be used to account for models of poor
- * quality. By default, models are validated in strict mode.
- *
- * @param validationLevel The level of validation to perform on processed models.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setValidationLevel( int validationLevel );
-
- /**
- * Indicates whether plugin executions and configurations should be processed. If enabled, lifecycle-induced plugin
- * executions will be injected into the model and common plugin configuration will be propagated to individual
- * executions.
- *
- * @return {@code true} if plugins should be processed, {@code false} otherwise.
- */
- boolean isProcessPlugins();
-
- /**
- * Controls the processing of plugin executions and configurations.
- *
- * @param processPlugins {@code true} to enable plugin processing, {@code false} otherwise.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setProcessPlugins( boolean processPlugins );
-
- /**
- * Indicates whether the model building should happen in two phases. If enabled, the initial invocation of the model
- * builder will only produce an interim result which may be used to analyze inter-model dependencies before the
- * final invocation of the model builder is performed.
- *
- * @return {@code true} if two-phase building is enabled, {@code false} if the model should be build in a single
- * step.
- */
- boolean isTwoPhaseBuilding();
-
- /**
- * Enables/disables two-phase building. If enabled, the initial invocation of the model builder will only produce an
- * interim result which may be used to analyze inter-model dependencies before the final invocation of the model
- * builder is performed.
- *
- * @param twoPhaseBuilding {@code true} to enable two-phase building, {@code false} if the model should be build in
- * a single step.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setTwoPhaseBuilding( boolean twoPhaseBuilding );
-
- /**
- * Indicates whether the model should track the line/column number of the model source from which it was parsed.
- *
- * @return {@code true} if location tracking is enabled, {@code false} otherwise.
- */
- boolean isLocationTracking();
-
- /**
- * Enables/disables the tracking of line/column numbers for the model source being parsed. By default, input
- * locations are not tracked.
- *
- * @param locationTracking {@code true} to enable location tracking, {@code false} to disable it.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setLocationTracking( boolean locationTracking );
-
- /**
- * Gets the external profiles that should be considered for model building.
- *
- * @return The external profiles that should be considered for model building, never {@code null}.
- */
- List<Profile> getProfiles();
-
- /**
- * Sets the external profiles that should be considered for model building.
- *
- * @param profiles The external profiles that should be considered for model building, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setProfiles( List<Profile> profiles );
-
- /**
- * Gets the identifiers of those profiles that should be activated by explicit demand.
- *
- * @return The identifiers of those profiles to activate, never {@code null}.
- */
- List<String> getActiveProfileIds();
-
- /**
- * Sets the identifiers of those profiles that should be activated by explicit demand.
- *
- * @param activeProfileIds The identifiers of those profiles to activate, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setActiveProfileIds( List<String> activeProfileIds );
-
- /**
- * Gets the identifiers of those profiles that should be deactivated by explicit demand.
- *
- * @return The identifiers of those profiles to deactivate, never {@code null}.
- */
- List<String> getInactiveProfileIds();
-
- /**
- * Sets the identifiers of those profiles that should be deactivated by explicit demand.
- *
- * @param inactiveProfileIds The identifiers of those profiles to deactivate, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setInactiveProfileIds( List<String> inactiveProfileIds );
-
- /**
- * Gets the system properties to use for interpolation and profile activation. The system properties are collected
- * from the runtime environment like {@link System#getProperties()} and environment variables.
- *
- * @return The system properties, never {@code null}.
- */
- Properties getSystemProperties();
-
- /**
- * Sets the system properties to use for interpolation and profile activation. The system properties are collected
- * from the runtime environment like {@link System#getProperties()} and environment variables.
- *
- * @param systemProperties The system properties, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setSystemProperties( Properties systemProperties );
-
- /**
- * Gets the user properties to use for interpolation and profile activation. The user properties have been
- * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
- * line.
- *
- * @return The user properties, never {@code null}.
- */
- Properties getUserProperties();
-
- /**
- * Sets the user properties to use for interpolation and profile activation. The user properties have been
- * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
- * line.
- *
- * @param userProperties The user properties, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setUserProperties( Properties userProperties );
-
- /**
- * Gets the start time of the build.
- *
- * @return The start time of the build or {@code null} if unknown.
- */
- Date getBuildStartTime();
-
- /**
- * Sets the start time of the build.
- *
- * @param buildStartTime The start time of the build, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setBuildStartTime( Date buildStartTime );
-
- /**
- * Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the
- * project directory.
- *
- * @return The model resolver or {@code null} if not set.
- */
- ModelResolver getModelResolver();
-
- /**
- * Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the
- * project directory.
- *
- * @param modelResolver The model resolver to use, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setModelResolver( ModelResolver modelResolver );
-
- /**
- * Gets the model building listener to notify during the build process.
- *
- * @return The model building listener to notify or {@code null} if none.
- */
- ModelBuildingListener getModelBuildingListener();
-
- /**
- * Sets the model building listener to notify during the build process.
- *
- * @param modelBuildingListener The model building listener to notify, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setModelBuildingListener( ModelBuildingListener modelBuildingListener );
-
- /**
- * Gets the model cache to use for reuse of previously built models.
- *
- * @return The model cache or {@code null} if not set.
- */
- ModelCache getModelCache();
-
- /**
- * Sets the model cache to use for reuse of previously built models. This is an optional component that serves
- * performance optimizations.
- *
- * @param modelCache The model cache to use, may be {@code null}.
- * @return This request, never {@code null}.
- */
- ModelBuildingRequest setModelCache( ModelCache modelCache );
-
- WorkspaceModelResolver getWorkspaceModelResolver();
-
- ModelBuildingRequest setWorkspaceModelResolver( WorkspaceModelResolver workspaceResolver );
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingResult.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingResult.java
deleted file mode 100644
index 44b12958..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingResult.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.apache.maven.model.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 java.util.List;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-
-/**
- * Collects the output of the model builder.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelBuildingResult
-{
-
- /**
- * Gets the sequence of model identifiers that denote the lineage of models from which the effective model was
- * constructed. Model identifiers have the form {@code <groupId>:<artifactId>:<version>}. The first identifier from
- * the list denotes the model on which the model builder was originally invoked. The last identifier will always be
- * an empty string that by definition denotes the super POM.
- *
- * @return The model identifiers from the lineage of models, never {@code null}.
- */
- List<String> getModelIds();
-
- /**
- * Gets the assembled model.
- *
- * @return The assembled model, never {@code null}.
- */
- Model getEffectiveModel();
-
- /**
- * Gets the raw model as it was read from the input model source. Apart from basic validation, the raw model has not
- * undergone any updates by the model builder, e.g. reflects neither inheritance nor interpolation.
- *
- * @return The raw model, never {@code null}.
- */
- Model getRawModel();
-
- /**
- * Gets the specified raw model as it was read from a model source. Apart from basic validation, a raw model has not
- * undergone any updates by the model builder, e.g. reflects neither inheritance nor interpolation. The model
- * identifier should be from the collection obtained by {@link #getModelIds()}. As a special case, an empty string
- * can be used as the identifier for the super POM.
- *
- * @param modelId The identifier of the desired raw model, must not be {@code null}.
- * @return The raw model or {@code null} if the specified model id does not refer to a known model.
- */
- Model getRawModel( String modelId );
-
- /**
- * Gets the profiles from the specified model that were active during model building. The model identifier should be
- * from the collection obtained by {@link #getModelIds()}. As a special case, an empty string can be used as the
- * identifier for the super POM.
- *
- * @param modelId The identifier of the model whose active profiles should be retrieved, must not be {@code null}.
- * @return The active profiles of the model or an empty list if none or {@code null} if the specified model id does
- * not refer to a known model.
- */
- List<Profile> getActivePomProfiles( String modelId );
-
- /**
- * Gets the external profiles that were active during model building. External profiles are those that were
- * contributed by {@link ModelBuildingRequest#getProfiles()}.
- *
- * @return The active external profiles or an empty list if none, never {@code null}.
- */
- List<Profile> getActiveExternalProfiles();
-
- /**
- * Gets the problems that were encountered during the model building. Note that only problems of severity
- * {@link ModelProblem.Severity#WARNING} and below are reported here. Problems with a higher severity level cause
- * the model builder to fail with a {@link ModelBuildingException}.
- *
- * @return The problems that were encountered during the model building, can be empty but never {@code null}.
- */
- List<ModelProblem> getProblems();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCache.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCache.java
deleted file mode 100644
index 132a5113..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCache.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.maven.model.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.
- */
-
-/**
- * Caches auxiliary data used during model building like already processed raw/effective models. The data in the cache
- * is meant for exclusive consumption by the model builder and is opaque to the cache implementation. The cache key is
- * formed by a combination of group id, artifact id, version and tag. The first three components generally refer to the
- * identify of a model. The tag allows for further classification of the associated data on the sole discretion of the
- * model builder.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelCache
-{
-
- /**
- * Puts the specified data into the cache.
- *
- * @param groupId The group id of the cache record, must not be {@code null}.
- * @param artifactId The artifact id of the cache record, must not be {@code null}.
- * @param version The version of the cache record, must not be {@code null}.
- * @param tag The tag of the cache record, must not be {@code null}.
- * @param data The data to store in the cache, must not be {@code null}.
- */
- void put( String groupId, String artifactId, String version, String tag, Object data );
-
- /**
- * Gets the specified data from the cache.
- *
- * @param groupId The group id of the cache record, must not be {@code null}.
- * @param artifactId The artifact id of the cache record, must not be {@code null}.
- * @param version The version of the cache record, must not be {@code null}.
- * @param tag The tag of the cache record, must not be {@code null}.
- * @return The requested data or {@code null} if none was present in the cache.
- */
- Object get( String groupId, String artifactId, String version, String tag );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCacheTag.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCacheTag.java
deleted file mode 100644
index 8452f967..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelCacheTag.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Model;
-
-/**
- * Describes a tag used by the model builder to access a {@link ModelCache}. This interface basically aggregates a name
- * and a class to provide some type safety when working with the otherwise untyped cache.
- *
- * @author Benjamin Bentmann
- * @param <T> The type of data associated with the tag.
- */
-interface ModelCacheTag<T>
-{
-
- /**
- * Gets the name of the tag.
- *
- * @return The name of the tag, must not be {@code null}.
- */
- String getName();
-
- /**
- * Gets the type of data associated with this tag.
- *
- * @return The type of data, must not be {@code null}.
- */
- Class<T> getType();
-
- /**
- * Creates a copy of the data suitable for storage in the cache. The original data to store can be mutated after the
- * cache is populated but the state of the cache must not change so we need to make a copy.
- *
- * @param data The data to store in the cache, must not be {@code null}.
- * @return The data being stored in the cache, never {@code null}.
- */
- T intoCache( T data );
-
- /**
- * Creates a copy of the data suitable for retrieval from the cache. The retrieved data can be mutated after the
- * cache is queried but the state of the cache must not change so we need to make a copy.
- *
- * @param data The data to retrieve from the cache, must not be {@code null}.
- * @return The data being retrieved from the cache, never {@code null}.
- */
- T fromCache( T data );
-
- /**
- * The tag used to denote raw model data.
- */
- ModelCacheTag<ModelData> RAW = new ModelCacheTag<ModelData>()
- {
-
- @Override
- public String getName()
- {
- return "raw";
- }
-
- @Override
- public Class<ModelData> getType()
- {
- return ModelData.class;
- }
-
- @Override
- public ModelData intoCache( ModelData data )
- {
- Model model = ( data.getModel() != null ) ? data.getModel().clone() : null;
- return new ModelData( data.getSource(), model, data.getGroupId(), data.getArtifactId(), data.getVersion() );
- }
-
- @Override
- public ModelData fromCache( ModelData data )
- {
- return intoCache( data );
- }
-
- };
-
- /**
- * The tag used to denote an effective dependency management section from an imported model.
- */
- ModelCacheTag<DependencyManagement> IMPORT = new ModelCacheTag<DependencyManagement>()
- {
-
- @Override
- public String getName()
- {
- return "import";
- }
-
- @Override
- public Class<DependencyManagement> getType()
- {
- return DependencyManagement.class;
- }
-
- @Override
- public DependencyManagement intoCache( DependencyManagement data )
- {
- return ( data != null ) ? data.clone() : null;
- }
-
- @Override
- public DependencyManagement fromCache( DependencyManagement data )
- {
- return intoCache( data );
- }
-
- };
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelData.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelData.java
deleted file mode 100644
index 4fefe0df..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelData.java
+++ /dev/null
@@ -1,222 +0,0 @@
-package org.apache.maven.model.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 java.util.List;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-
-/**
- * Holds a model along with some auxiliary information. This internal utility class assists the model builder during POM
- * processing by providing a means to transport information that cannot be (easily) extracted from the model itself.
- *
- * @author Benjamin Bentmann
- */
-class ModelData
-{
- private final ModelSource source;
-
- private Model model;
-
- private Model rawModel;
-
- private List<Profile> activeProfiles;
-
- private String groupId;
-
- private String artifactId;
-
- private String version;
-
- /**
- * Creates a new container for the specified model.
- *
- * @param model The model to wrap, may be {@code null}.
- */
- public ModelData( ModelSource source, Model model )
- {
- this.source = source;
- this.model = model;
- }
-
- /**
- * Creates a new container for the specified model.
- *
- * @param model The model to wrap, may be {@code null}.
- * @param groupId The effective group identifier of the model, may be {@code null}.
- * @param artifactId The effective artifact identifier of the model, may be {@code null}.
- * @param version The effective version of the model, may be {@code null}.
- */
- public ModelData( ModelSource source, Model model, String groupId, String artifactId, String version )
- {
- this.source = source;
- this.model = model;
- setGroupId( groupId );
- setArtifactId( artifactId );
- setVersion( version );
- }
-
- public ModelSource getSource()
- {
- return source;
- }
-
- /**
- * Gets the model being wrapped.
- *
- * @return The model or {@code null} if not set.
- */
- public Model getModel()
- {
- return model;
- }
-
- /**
- * Sets the model being wrapped.
- *
- * @param model The model, may be {@code null}.
- */
- public void setModel( Model model )
- {
- this.model = model;
- }
-
- /**
- * Gets the raw model being wrapped.
- *
- * @return The raw model or {@code null} if not set.
- */
- public Model getRawModel()
- {
- return rawModel;
- }
-
- /**
- * Sets the raw model being wrapped.
- *
- * @param rawModel The raw model, may be {@code null}.
- */
- public void setRawModel( Model rawModel )
- {
- this.rawModel = rawModel;
- }
-
- /**
- * Gets the active profiles from the model.
- *
- * @return The active profiles or {@code null} if not set.
- */
- public List<Profile> getActiveProfiles()
- {
- return activeProfiles;
- }
-
- /**
- * Sets the active profiles from the model.
- *
- * @param activeProfiles The active profiles, may be {@code null}.
- */
- public void setActiveProfiles( List<Profile> activeProfiles )
- {
- this.activeProfiles = activeProfiles;
- }
-
- /**
- * Gets the effective group identifier of the model.
- *
- * @return The effective group identifier of the model or an empty string if unknown, never {@code null}.
- */
- public String getGroupId()
- {
- return ( groupId != null ) ? groupId : "";
- }
-
- /**
- * Sets the effective group identifier of the model.
- *
- * @param groupId The effective group identifier of the model, may be {@code null}.
- */
- public void setGroupId( String groupId )
- {
- this.groupId = groupId;
- }
-
- /**
- * Gets the effective artifact identifier of the model.
- *
- * @return The effective artifact identifier of the model or an empty string if unknown, never {@code null}.
- */
- public String getArtifactId()
- {
- return ( artifactId != null ) ? artifactId : "";
- }
-
- /**
- * Sets the effective artifact identifier of the model.
- *
- * @param artifactId The effective artifact identifier of the model, may be {@code null}.
- */
- public void setArtifactId( String artifactId )
- {
- this.artifactId = artifactId;
- }
-
- /**
- * Gets the effective version of the model.
- *
- * @return The effective version of the model or an empty string if unknown, never {@code null}.
- */
- public String getVersion()
- {
- return ( version != null ) ? version : "";
- }
-
- /**
- * Sets the effective version of the model.
- *
- * @param version The effective version of the model, may be {@code null}.
- */
- public void setVersion( String version )
- {
- this.version = version;
- }
-
- /**
- * Gets the effective identifier of the model in the form {@code <groupId>:<artifactId>:<version>}.
- *
- * @return The effective identifier of the model, never {@code null}.
- */
- public String getId()
- {
- StringBuilder buffer = new StringBuilder( 96 );
-
- buffer.append( getGroupId() ).append( ':' ).append( getArtifactId() ).append( ':' ).append( getVersion() );
-
- return buffer.toString();
- }
-
- @Override
- public String toString()
- {
- return String.valueOf( model );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java
deleted file mode 100644
index 43272bac..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblem.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.apache.maven.model.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.
- */
-
-/**
- * Describes a problem that was encountered during model building. A problem can either be an exception that was thrown
- * or a simple string message. In addition, a problem carries a hint about its source, e.g. the POM file that exhibits
- * the problem.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelProblem
-{
-
- /**
- * The different severity levels for a problem, in decreasing order.
- */
- enum Severity
- {
-
- FATAL, //
- ERROR, //
- WARNING //
-
- }
-
- enum Version
- {
- //based on ModeBuildingResult.validationLevel
- BASE,
- V20,
- V30,
- V31
- }
-
- /**
- * Gets the hint about the source of the problem. While the syntax of this hint is unspecified and depends on the
- * creator of the problem, the general expectation is that the hint provides sufficient information to the user to
- * track the problem back to its origin. A concrete example for such a source hint can be the file path or URL from
- * which a POM was read.
- *
- * @return The hint about the source of the problem or an empty string if unknown, never {@code null}.
- */
- String getSource();
-
- /**
- * Gets the one-based index of the line containing the problem. The line number should refer to some text file that
- * is given by {@link #getSource()}.
- *
- * @return The one-based index of the line containing the problem or a non-positive value if unknown.
- */
- int getLineNumber();
-
- /**
- * Gets the one-based index of the column containing the problem. The column number should refer to some text file
- * that is given by {@link #getSource()}.
- *
- * @return The one-based index of the column containing the problem or non-positive value if unknown.
- */
- int getColumnNumber();
-
- /**
- * Gets the identifier of the model from which the problem originated. While the general form of this identifier is
- * <code>groupId:artifactId:version</code> the returned identifier need not be complete. The identifier is derived
- * from the information that is available at the point the problem occurs and as such merely serves as a best effort
- * to provide information to the user to track the problem back to its origin.
- *
- * @return The identifier of the model from which the problem originated or an empty string if unknown, never
- * {@code null}.
- */
- String getModelId();
-
- /**
- * Gets the exception that caused this problem (if any).
- *
- * @return The exception that caused this problem or {@code null} if not applicable.
- */
- Exception getException();
-
- /**
- * Gets the message that describes this problem.
- *
- * @return The message describing this problem, never {@code null}.
- */
- String getMessage();
-
- /**
- * Gets the severity level of this problem.
- *
- * @return The severity level of this problem, never {@code null}.
- */
- Severity getSeverity();
-
- /**
- * Gets the applicable maven version/validation level of this problem
- * @return The version, never {@code null}.
- */
- Version getVersion();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollector.java
deleted file mode 100644
index e9561e54..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollector.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.model.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.
- */
-
-/**
- * Collects problems that are encountered during model building. The primary purpose of this component is to account for
- * the fact that the problem reporter has/should not have information about the calling context and hence cannot provide
- * an expressive source hint for the model problem. Instead, the source hint is configured by the model builder before
- * it delegates to other components that potentially encounter problems. Then, the problem reporter can focus on
- * providing a simple error message, leaving the donkey work of creating a nice model problem to this component.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelProblemCollector
-{
-
- /**
- * Adds the specified problem.
- *
- * @param req must not be null
- */
- void add( ModelProblemCollectorRequest req );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorExt.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorExt.java
deleted file mode 100644
index 7977d3a6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorExt.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.maven.model.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 java.util.List;
-
-/**
- * Extends the ModelproblemCollector by the capacity of returning the collected problems.
- * @author Milos Kleint
- */
-public interface ModelProblemCollectorExt extends ModelProblemCollector
-{
-
- /**
- * The collected problems.
- * @return a list of model problems encountered, never {@code null}
- */
- List<ModelProblem> getProblems();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorRequest.java
deleted file mode 100644
index d213cc48..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemCollectorRequest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.InputLocation;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-
-/**
- * Class to wrap request parameters to ModelProblemCollector.addProblem
- *
- * @author mkleint
- */
-public final class ModelProblemCollectorRequest
-{
-
- private final ModelProblem.Severity severity;
- private final ModelProblem.Version version;
- private Exception exception;
- private String message;
- private InputLocation location;
-
- /**
- * Create a new request with mandatory parameters.
- * @param severity
- * @param version
- */
- public ModelProblemCollectorRequest( Severity severity, Version version )
- {
- this.severity = severity;
- this.version = version;
- if ( severity == null )
- {
- throw new IllegalStateException( "No severity declared" );
- }
- if ( version == null )
- {
- throw new IllegalStateException( "No version declared." );
- }
- }
-
- public Severity getSeverity()
- {
- return severity;
- }
-
- public Version getVersion()
- {
- return version;
- }
-
- public Exception getException()
- {
- return exception;
- }
-
- public ModelProblemCollectorRequest setException( Exception exception )
- {
- this.exception = exception;
- return this;
- }
-
- public String getMessage()
- {
- return message;
- }
-
- public ModelProblemCollectorRequest setMessage( String message )
- {
- this.message = message;
- return this;
- }
-
- public InputLocation getLocation()
- {
- return location;
- }
-
- public ModelProblemCollectorRequest setLocation( InputLocation location )
- {
- this.location = location;
- return this;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java
deleted file mode 100644
index 806c28d4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProblemUtils.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-
-import org.apache.maven.model.Model;
-
-/**
- * Assists in the handling of model problems.
- *
- * @author Benjamin Bentmann
- */
-public class ModelProblemUtils
-{
-
- /**
- * Creates a user-friendly source hint for the specified model.
- *
- * @param model The model to create a source hint for, may be {@code null}.
- * @return The user-friendly source hint, never {@code null}.
- */
- static String toSourceHint( Model model )
- {
- if ( model == null )
- {
- return "";
- }
-
- StringBuilder buffer = new StringBuilder( 192 );
-
- buffer.append( toId( model ) );
-
- File pomFile = model.getPomFile();
- if ( pomFile != null )
- {
- buffer.append( " (" ).append( pomFile ).append( ")" );
- }
-
- return buffer.toString();
- }
-
- static String toPath( Model model )
- {
- String path = "";
-
- if ( model != null )
- {
- File pomFile = model.getPomFile();
-
- if ( pomFile != null )
- {
- path = pomFile.getAbsolutePath();
- }
- }
-
- return path;
- }
-
- static String toId( Model model )
- {
- if ( model == null )
- {
- return "";
- }
-
- String groupId = model.getGroupId();
- if ( groupId == null && model.getParent() != null )
- {
- groupId = model.getParent().getGroupId();
- }
-
- String artifactId = model.getArtifactId();
-
- String version = model.getVersion();
- if ( version == null )
- {
- version = "[unknown-version]";
- }
-
- return toId( groupId, artifactId, version );
- }
-
- /**
- * Creates a user-friendly artifact id from the specified coordinates.
- *
- * @param groupId The group id, may be {@code null}.
- * @param artifactId The artifact id, may be {@code null}.
- * @param version The version, may be {@code null}.
- * @return The user-friendly artifact id, never {@code null}.
- */
- static String toId( String groupId, String artifactId, String version )
- {
- StringBuilder buffer = new StringBuilder( 96 );
-
- buffer.append( ( groupId != null && groupId.length() > 0 ) ? groupId : "[unknown-group-id]" );
- buffer.append( ':' );
- buffer.append( ( artifactId != null && artifactId.length() > 0 ) ? artifactId : "[unknown-artifact-id]" );
- buffer.append( ':' );
- buffer.append( ( version != null && version.length() > 0 ) ? version : "[unknown-version]" );
-
- return buffer.toString();
- }
-
- /**
- * Creates a string with all location details for the specified model problem. If the project identifier is
- * provided, the generated location will omit the model id and source information and only give line/column
- * information for problems originating directly from this POM.
- *
- * @param problem The problem whose location should be formatted, must not be {@code null}.
- * @param projectId The {@code <groupId>:<artifactId>:<version>} of the corresponding project, may be {@code null}
- * to force output of model id and source.
- * @return The formatted problem location or an empty string if unknown, never {@code null}.
- */
- public static String formatLocation( ModelProblem problem, String projectId )
- {
- StringBuilder buffer = new StringBuilder( 256 );
-
- if ( !problem.getModelId().equals( projectId ) )
- {
- buffer.append( problem.getModelId() );
-
- if ( problem.getSource().length() > 0 )
- {
- if ( buffer.length() > 0 )
- {
- buffer.append( ", " );
- }
- buffer.append( problem.getSource() );
- }
- }
-
- if ( problem.getLineNumber() > 0 )
- {
- if ( buffer.length() > 0 )
- {
- buffer.append( ", " );
- }
- buffer.append( "line " ).append( problem.getLineNumber() );
- }
-
- if ( problem.getColumnNumber() > 0 )
- {
- if ( buffer.length() > 0 )
- {
- buffer.append( ", " );
- }
- buffer.append( "column " ).append( problem.getColumnNumber() );
- }
-
- return buffer.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProcessor.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProcessor.java
deleted file mode 100644
index ca34845c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelProcessor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.io.ModelReader;
-import org.apache.maven.model.locator.ModelLocator;
-
-@SuppressWarnings( "checkstyle:interfaceistype" )
-public interface ModelProcessor
- extends ModelLocator, ModelReader
-{
-
- String SOURCE = "org.apache.maven.model.building.source";
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource.java
deleted file mode 100644
index 5db8edba..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.building.Source;
-
-/**
- * Provides access to the contents of a POM independently of the backing store (e.g. file system, database, memory).
- * <p>
- * This interface does not support loading of parent POM(s) from the same backing store, integrators are strongly
- * encouraged to implement {@link ModelSource2} instead of implementing this interface directly.
- *
- * @author Benjamin Bentmann
- * @see ModelSource2
- * @deprecated instead use {@link Source}
- */
-@Deprecated
-public interface ModelSource extends Source
-{
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource2.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource2.java
deleted file mode 100644
index 3e123d08..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelSource2.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.maven.model.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 java.net.URI;
-
-/**
- * Provides access to the contents of a POM independently of the backing store (e.g. file system, database, memory).
- * <p>
- * Unlike {@link ModelSource}, this interface supports loading of parent POM(s) from the same backing store and allows
- * construction of MavenProject instances without the need to have parent POM(s) available from local or remote
- * repositories.
- * <p>
- * ModelSource2 instances are cached in {@link ModelBuildingRequest#getModelCache()}. Implementations must guarantee
- * that the connection to the backing store remains active until request's {@link ModelCache} is discarded or flushed.
- */
-public interface ModelSource2
- extends ModelSource
-{
- /**
- * Returns model source identified by a path relative to this model source POM. Implementation <strong>MUST</strong>
- * be able to accept <code>relPath</code> parameter values that
- * <ul>
- * <li>use either / or \ file path separator</li>
- * <li>have .. parent directory references</li>
- * <li>point either at file or directory, in the latter case POM file name 'pom.xml' needs to be used by the
- * requested model source.</li>
- * </ul>
- *
- * @param relPath is the path of the requested model source relative to this model source POM.
- * @return related model source or <code>null</code> if no such model source.
- */
- ModelSource2 getRelatedSource( String relPath );
-
- /**
- * Returns location of the POM, never <code>null</code>.
- */
- URI getLocationURI();
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java
deleted file mode 100644
index a9628977..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/Result.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.apache.maven.model.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 com.google.common.base.Predicates.in;
-import static com.google.common.collect.Iterables.any;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.transform;
-import static java.util.Collections.singleton;
-import static java.util.EnumSet.of;
-import static org.apache.maven.model.building.ModelProblem.Severity.ERROR;
-import static org.apache.maven.model.building.ModelProblem.Severity.FATAL;
-
-import java.util.Arrays;
-import java.util.Collections;
-
-import org.apache.maven.model.building.ModelProblem.Severity;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Iterables;
-
-/**
- * There are various forms of results that are represented by this class:
- * <ol>
- * <li>success - in which case only the model field is set
- * <li>success with warnings - model field + non-error model problems
- * <li>error - no model, but diagnostics
- * <li>error - (partial) model and diagnostics
- * </ol>
- * Could encode these variants as subclasses, but kept in one for now
- *
- * @author bbusjaeger
- * @param <T>
- */
-public class Result<T>
-{
-
- /**
- * Success without warnings
- *
- * @param model
- * @return
- */
- public static <T> Result<T> success( T model )
- {
- return success( model, Collections.<ModelProblem>emptyList() );
- }
-
- /**
- * Success with warnings
- *
- * @param model
- * @param problems
- * @return
- */
- public static <T> Result<T> success( T model, Iterable<? extends ModelProblem> problems )
- {
- assert !hasErrors( problems );
- return new Result<T>( false, model, problems );
- }
-
- /**
- * Success with warnings
- *
- * @param model
- * @param results
- * @return
- */
- public static <T> Result<T> success( T model, Result<?>... results )
- {
- return success( model, Iterables.concat( Iterables.transform( Arrays.asList( results ), GET_PROBLEMS ) ) );
- }
-
- /**
- * Error with problems describing the cause
- *
- * @param problems
- * @return
- */
- public static <T> Result<T> error( Iterable<? extends ModelProblem> problems )
- {
- return error( null, problems );
- }
-
- public static <T> Result<T> error( T model )
- {
- return error( model, Collections.<ModelProblem>emptyList() );
- }
-
- public static <T> Result<T> error( Result<?> result )
- {
- return error( result.getProblems() );
- }
-
- public static <T> Result<T> error( Result<?>... results )
- {
- return error( Iterables.concat( Iterables.transform( Arrays.asList( results ), GET_PROBLEMS ) ) );
- }
-
- /**
- * Error with partial result and problems describing the cause
- *
- * @param model
- * @param problems
- * @return
- */
- public static <T> Result<T> error( T model, Iterable<? extends ModelProblem> problems )
- {
- return new Result<T>( true, model, problems );
- }
-
- /**
- * New result - determine whether error or success by checking problems for errors
- *
- * @param model
- * @param problems
- * @return
- */
- public static <T> Result<T> newResult( T model, Iterable<? extends ModelProblem> problems )
- {
- return new Result<T>( hasErrors( problems ), model, problems );
- }
-
- /**
- * New result consisting of given result and new problem. Convenience for newResult(result.get(),
- * concat(result.getProblems(),problems)).
- *
- * @param result
- * @param problem
- * @return
- */
- public static <T> Result<T> addProblem( Result<T> result, ModelProblem problem )
- {
- return addProblems( result, singleton( problem ) );
- }
-
- /**
- * New result that includes the given
- *
- * @param result
- * @param problems
- * @return
- */
- public static <T> Result<T> addProblems( Result<T> result, Iterable<? extends ModelProblem> problems )
- {
- return new Result<T>( result.hasErrors() || hasErrors( problems ), result.get(), concat( result.getProblems(),
- problems ) );
- }
-
- public static <T> Result<T> addProblems( Result<T> result, Result<?>... results )
- {
- return addProblems( result, Iterables.concat( Iterables.transform( Arrays.asList( results ), GET_PROBLEMS ) ) );
- }
-
- /**
- * Turns the given results into a single result by combining problems and models into single collection.
- *
- * @param results
- * @return
- */
- public static <T> Result<Iterable<T>> newResultSet( Iterable<? extends Result<? extends T>> results )
- {
- final boolean hasErrors = any( transform( results, new Function<Result<?>, Boolean>()
- {
- @Override
- public Boolean apply( Result<?> input )
- {
- return input.hasErrors();
- }
- } ), Predicates.equalTo( true ) );
- final Iterable<T> models = transform( results, new Function<Result<? extends T>, T>()
- {
- @Override
- public T apply( Result<? extends T> input )
- {
- return input.get();
- }
- } );
- final Iterable<ModelProblem> problems = concat( transform( results, GET_PROBLEMS ) );
- return new Result<Iterable<T>>( hasErrors, models, problems );
- }
-
- // helper to determine if problems contain error
- private static boolean hasErrors( Iterable<? extends ModelProblem> problems )
- {
- return any( transform( problems, new Function<ModelProblem, Severity>()
- {
- @Override
- public Severity apply( ModelProblem input )
- {
- return input.getSeverity();
- }
- } ), in( of( ERROR, FATAL ) ) );
- }
-
- /**
- * Class definition
- */
-
- private final boolean errors;
-
- private final T value;
-
- private final Iterable<? extends ModelProblem> problems;
-
- private Result( boolean errors, T model, Iterable<? extends ModelProblem> problems )
- {
- this.errors = errors;
- this.value = model;
- this.problems = problems;
- }
-
- public Iterable<? extends ModelProblem> getProblems()
- {
- return problems;
- }
-
- public T get()
- {
- return value;
- }
-
- public boolean hasErrors()
- {
- return errors;
- }
-
- private static final Function<Result<?>, Iterable<? extends ModelProblem>> GET_PROBLEMS =
- new Function<Result<?>, Iterable<? extends ModelProblem>>()
- {
- @Override
- public Iterable<? extends ModelProblem> apply( Result<?> input )
- {
- return input.getProblems();
- }
- };
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/StringModelSource.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/StringModelSource.java
deleted file mode 100644
index cf9c4ce1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/StringModelSource.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.building.StringSource;
-
-/**
- * Wraps an ordinary {@link CharSequence} as a model source.
- *
- * @author Benjamin Bentmann
- *
- * @deprecated instead use {@link StringSource}
- */
-@Deprecated
-public class StringModelSource extends StringSource
- implements ModelSource
-{
-
- /**
- * Creates a new model source backed by the specified string.
- *
- * @param pom The POM's string representation, may be empty or {@code null}.
- */
- public StringModelSource( CharSequence pom )
- {
- this( pom, null );
- }
-
- /**
- * Creates a new model source backed by the specified string.
- *
- * @param pom The POM's string representation, may be empty or {@code null}.
- * @param location The location to report for this use, may be {@code null}.
- */
- public StringModelSource( CharSequence pom, String location )
- {
- super( pom, location );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/UrlModelSource.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/UrlModelSource.java
deleted file mode 100644
index e41d74b3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/building/UrlModelSource.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.model.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 java.net.URL;
-
-import org.apache.maven.building.UrlSource;
-
-/**
- * Wraps an ordinary {@link URL} as a model source.
- *
- * @author Benjamin Bentmann
- *
- * @deprecated instead use {@link UrlSource}
- */
-@Deprecated
-public class UrlModelSource extends UrlSource
- implements ModelSource
-{
- /**
- * Creates a new model source backed by the specified URL.
- *
- * @param pomUrl The POM file, must not be {@code null}.
- */
- public UrlModelSource( URL pomUrl )
- {
- super( pomUrl );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
deleted file mode 100644
index 5860af65..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DefaultDependencyManagementImporter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.model.composition;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Handles the import of dependency management from other models into the target model.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = DependencyManagementImporter.class )
-public class DefaultDependencyManagementImporter
- implements DependencyManagementImporter
-{
-
- @Override
- public void importManagement( Model target, List<? extends DependencyManagement> sources,
- ModelBuildingRequest request, ModelProblemCollector problems )
- {
- if ( sources != null && !sources.isEmpty() )
- {
- Map<String, Dependency> dependencies = new LinkedHashMap<String, Dependency>();
-
- DependencyManagement depMngt = target.getDependencyManagement();
-
- if ( depMngt != null )
- {
- for ( Dependency dependency : depMngt.getDependencies() )
- {
- dependencies.put( dependency.getManagementKey(), dependency );
- }
- }
- else
- {
- depMngt = new DependencyManagement();
- target.setDependencyManagement( depMngt );
- }
-
- for ( DependencyManagement source : sources )
- {
- for ( Dependency dependency : source.getDependencies() )
- {
- String key = dependency.getManagementKey();
- if ( !dependencies.containsKey( key ) )
- {
- dependencies.put( key, dependency );
- }
- }
- }
-
- depMngt.setDependencies( new ArrayList<Dependency>( dependencies.values() ) );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DependencyManagementImporter.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DependencyManagementImporter.java
deleted file mode 100644
index 06496429..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/composition/DependencyManagementImporter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven.model.composition;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.DependencyManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles the import of dependency management from other models into the target model.
- *
- * @author Benjamin Bentmann
- */
-public interface DependencyManagementImporter
-{
-
- /**
- * Imports the specified dependency management sections into the given target model.
- *
- * @param target The model into which to import the dependency management section, must not be <code>null</code>.
- * @param sources The dependency management sections to import, may be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void importManagement( Model target, List<? extends DependencyManagement> sources, ModelBuildingRequest request,
- ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
deleted file mode 100644
index 609f441e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.apache.maven.model.inheritance;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginContainer;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.merge.MavenModelMerger;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Handles inheritance of model values.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = InheritanceAssembler.class )
-public class DefaultInheritanceAssembler
- implements InheritanceAssembler
-{
-
- private InheritanceModelMerger merger = new InheritanceModelMerger();
-
- @Override
- public void assembleModelInheritance( Model child, Model parent, ModelBuildingRequest request,
- ModelProblemCollector problems )
- {
- Map<Object, Object> hints = new HashMap<Object, Object>();
- hints.put( MavenModelMerger.CHILD_PATH_ADJUSTMENT, getChildPathAdjustment( child, parent ) );
- merger.merge( child, parent, false, hints );
- }
-
- /**
- * Calculates the relative path from the base directory of the parent to the parent directory of the base directory
- * of the child. The general idea is to adjust inherited URLs to match the project layout (in SCM).
- *
- * <p>This calculation is only a heuristic based on our conventions.
- * In detail, the algo relies on the following assumptions: <ul>
- * <li>The parent uses aggregation and refers to the child via the modules section</li>
- * <li>The module path to the child is considered to
- * point at the POM rather than its base directory if the path ends with ".xml" (ignoring case)</li>
- * <li>The name of the child's base directory matches the artifact id of the child.</li>
- * </ul>
- * Note that for the sake of independence from the user
- * environment, the filesystem is intentionally not used for the calculation.</p>
- *
- * @param child The child model, must not be <code>null</code>.
- * @param parent The parent model, may be <code>null</code>.
- * @return The path adjustment, can be empty but never <code>null</code>.
- */
- private String getChildPathAdjustment( Model child, Model parent )
- {
- String adjustment = "";
-
- if ( parent != null )
- {
- String childName = child.getArtifactId();
-
- /*
- * This logic exists only for the sake of backward-compat with 2.x (MNG-5000). In generally, it is wrong to
- * base URL inheritance on the project directory names as this information is unavailable for POMs in the
- * repository. In other words, projects where artifactId != projectDirName will see different effective URLs
- * depending on how the POM was constructed.
- */
- File childDirectory = child.getProjectDirectory();
- if ( childDirectory != null )
- {
- childName = childDirectory.getName();
- }
-
- for ( String module : parent.getModules() )
- {
- module = module.replace( '\\', '/' );
-
- if ( module.regionMatches( true, module.length() - 4, ".xml", 0, 4 ) )
- {
- module = module.substring( 0, module.lastIndexOf( '/' ) + 1 );
- }
-
- String moduleName = module;
- if ( moduleName.endsWith( "/" ) )
- {
- moduleName = moduleName.substring( 0, moduleName.length() - 1 );
- }
-
- int lastSlash = moduleName.lastIndexOf( '/' );
-
- moduleName = moduleName.substring( lastSlash + 1 );
-
- if ( moduleName.equals( childName ) && lastSlash >= 0 )
- {
- adjustment = module.substring( 0, lastSlash );
- break;
- }
- }
- }
-
- return adjustment;
- }
-
- protected static class InheritanceModelMerger
- extends MavenModelMerger
- {
-
- @Override
- protected void mergePluginContainer_Plugins( PluginContainer target, PluginContainer source,
- boolean sourceDominant, Map<Object, Object> context )
- {
- List<Plugin> src = source.getPlugins();
- if ( !src.isEmpty() )
- {
- List<Plugin> tgt = target.getPlugins();
- Map<Object, Plugin> master = new LinkedHashMap<Object, Plugin>( src.size() * 2 );
-
- for ( Plugin element : src )
- {
- if ( element.isInherited() || !element.getExecutions().isEmpty() )
- {
- // NOTE: Enforce recursive merge to trigger merging/inheritance logic for executions
- Plugin plugin = new Plugin();
- plugin.setLocation( "", element.getLocation( "" ) );
- plugin.setGroupId( null );
- mergePlugin( plugin, element, sourceDominant, context );
-
- Object key = getPluginKey( element );
-
- master.put( key, plugin );
- }
- }
-
- Map<Object, List<Plugin>> predecessors = new LinkedHashMap<Object, List<Plugin>>();
- List<Plugin> pending = new ArrayList<Plugin>();
- for ( Plugin element : tgt )
- {
- Object key = getPluginKey( element );
- Plugin existing = master.get( key );
- if ( existing != null )
- {
- mergePlugin( element, existing, sourceDominant, context );
-
- master.put( key, element );
-
- if ( !pending.isEmpty() )
- {
- predecessors.put( key, pending );
- pending = new ArrayList<Plugin>();
- }
- }
- else
- {
- pending.add( element );
- }
- }
-
- List<Plugin> result = new ArrayList<Plugin>( src.size() + tgt.size() );
- for ( Map.Entry<Object, Plugin> entry : master.entrySet() )
- {
- List<Plugin> pre = predecessors.get( entry.getKey() );
- if ( pre != null )
- {
- result.addAll( pre );
- }
- result.add( entry.getValue() );
- }
- result.addAll( pending );
-
- target.setPlugins( result );
- }
- }
-
- @Override
- protected void mergePlugin( Plugin target, Plugin source, boolean sourceDominant, Map<Object, Object> context )
- {
- if ( source.isInherited() )
- {
- mergeConfigurationContainer( target, source, sourceDominant, context );
- }
- mergePlugin_GroupId( target, source, sourceDominant, context );
- mergePlugin_ArtifactId( target, source, sourceDominant, context );
- mergePlugin_Version( target, source, sourceDominant, context );
- mergePlugin_Extensions( target, source, sourceDominant, context );
- mergePlugin_Dependencies( target, source, sourceDominant, context );
- mergePlugin_Executions( target, source, sourceDominant, context );
- }
-
- @Override
- protected void mergeReporting_Plugins( Reporting target, Reporting source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<ReportPlugin> src = source.getPlugins();
- if ( !src.isEmpty() )
- {
- List<ReportPlugin> tgt = target.getPlugins();
- Map<Object, ReportPlugin> merged =
- new LinkedHashMap<Object, ReportPlugin>( ( src.size() + tgt.size() ) * 2 );
-
- for ( ReportPlugin element : src )
- {
- Object key = getReportPluginKey( element );
- if ( element.isInherited() )
- {
- // NOTE: Enforce recursive merge to trigger merging/inheritance logic for executions as well
- ReportPlugin plugin = new ReportPlugin();
- plugin.setLocation( "", element.getLocation( "" ) );
- plugin.setGroupId( null );
- mergeReportPlugin( plugin, element, sourceDominant, context );
-
- merged.put( key, plugin );
- }
- }
-
- for ( ReportPlugin element : tgt )
- {
- Object key = getReportPluginKey( element );
- ReportPlugin existing = merged.get( key );
- if ( existing != null )
- {
- mergeReportPlugin( element, existing, sourceDominant, context );
- }
- merged.put( key, element );
- }
-
- target.setPlugins( new ArrayList<ReportPlugin>( merged.values() ) );
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java
deleted file mode 100644
index a191e52d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/inheritance/InheritanceAssembler.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven.model.inheritance;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles inheritance of model values.
- *
- * @author Benjamin Bentmann
- */
-public interface InheritanceAssembler
-{
-
- /**
- * Merges values from the specified parent model into the given child model. Implementations are expected to keep
- * parent and child completely decoupled by injecting deep copies of objects into the child rather than the original
- * objects from the parent.
- *
- * @param child The child model into which to merge the values inherited from the parent, must not be
- * <code>null</code>.
- * @param parent The (read-only) parent model from which to inherit the values, may be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void assembleModelInheritance( Model child, Model parent, ModelBuildingRequest request,
- ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
deleted file mode 100644
index 1390a4ed..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.path.PathTranslator;
-import org.apache.maven.model.path.UrlNormalizer;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.interpolation.AbstractValueSource;
-import org.codehaus.plexus.interpolation.InterpolationException;
-import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
-import org.codehaus.plexus.interpolation.Interpolator;
-import org.codehaus.plexus.interpolation.MapBasedValueSource;
-import org.codehaus.plexus.interpolation.ObjectBasedValueSource;
-import org.codehaus.plexus.interpolation.PrefixAwareRecursionInterceptor;
-import org.codehaus.plexus.interpolation.PrefixedObjectValueSource;
-import org.codehaus.plexus.interpolation.PrefixedValueSourceWrapper;
-import org.codehaus.plexus.interpolation.RecursionInterceptor;
-import org.codehaus.plexus.interpolation.ValueSource;
-
-/**
- * Use a regular expression search to find and resolve expressions within the POM.
- *
- * @author jdcasey Created on Feb 3, 2005
- */
-public abstract class AbstractStringBasedModelInterpolator
- implements ModelInterpolator
-{
- private static final List<String> PROJECT_PREFIXES = Arrays.asList( "pom.", "project." );
-
- private static final Collection<String> TRANSLATED_PATH_EXPRESSIONS;
-
- static
- {
- Collection<String> translatedPrefixes = new HashSet<String>();
-
- // MNG-1927, MNG-2124, MNG-3355:
- // If the build section is present and the project directory is non-null, we should make
- // sure interpolation of the directories below uses translated paths.
- // Afterward, we'll double back and translate any paths that weren't covered during interpolation via the
- // code below...
- translatedPrefixes.add( "build.directory" );
- translatedPrefixes.add( "build.outputDirectory" );
- translatedPrefixes.add( "build.testOutputDirectory" );
- translatedPrefixes.add( "build.sourceDirectory" );
- translatedPrefixes.add( "build.testSourceDirectory" );
- translatedPrefixes.add( "build.scriptSourceDirectory" );
- translatedPrefixes.add( "reporting.outputDirectory" );
-
- TRANSLATED_PATH_EXPRESSIONS = translatedPrefixes;
- }
-
- @Requirement
- private PathTranslator pathTranslator;
-
- @Requirement
- private UrlNormalizer urlNormalizer;
-
- private Interpolator interpolator;
-
- private RecursionInterceptor recursionInterceptor;
-
- public AbstractStringBasedModelInterpolator()
- {
- interpolator = createInterpolator();
- recursionInterceptor = new PrefixAwareRecursionInterceptor( PROJECT_PREFIXES );
- }
-
- public AbstractStringBasedModelInterpolator setPathTranslator( PathTranslator pathTranslator )
- {
- this.pathTranslator = pathTranslator;
- return this;
- }
-
- public AbstractStringBasedModelInterpolator setUrlNormalizer( UrlNormalizer urlNormalizer )
- {
- this.urlNormalizer = urlNormalizer;
- return this;
- }
-
- protected List<ValueSource> createValueSources( final Model model, final File projectDir,
- final ModelBuildingRequest config,
- final ModelProblemCollector problems )
- {
- Properties modelProperties = model.getProperties();
-
- ValueSource modelValueSource1 = new PrefixedObjectValueSource( PROJECT_PREFIXES, model, false );
- if ( config.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- modelValueSource1 = new ProblemDetectingValueSource( modelValueSource1, "pom.", "project.", problems );
- }
-
- ValueSource modelValueSource2 = new ObjectBasedValueSource( model );
- if ( config.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- modelValueSource2 = new ProblemDetectingValueSource( modelValueSource2, "", "project.", problems );
- }
-
- // NOTE: Order counts here!
- List<ValueSource> valueSources = new ArrayList<ValueSource>( 9 );
-
- if ( projectDir != null )
- {
- ValueSource basedirValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false )
- {
- @Override
- public Object getValue( String expression )
- {
- if ( "basedir".equals( expression ) )
- {
- return projectDir.getAbsolutePath();
- }
- return null;
- }
- }, PROJECT_PREFIXES, true );
- valueSources.add( basedirValueSource );
-
- ValueSource baseUriValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false )
- {
- @Override
- public Object getValue( String expression )
- {
- if ( "baseUri".equals( expression ) )
- {
- return projectDir.getAbsoluteFile().toURI().toString();
- }
- return null;
- }
- }, PROJECT_PREFIXES, false );
- valueSources.add( baseUriValueSource );
- valueSources.add( new BuildTimestampValueSource( config.getBuildStartTime(), modelProperties ) );
- }
-
- valueSources.add( modelValueSource1 );
-
- valueSources.add( new MapBasedValueSource( config.getUserProperties() ) );
-
- valueSources.add( new MapBasedValueSource( modelProperties ) );
-
- valueSources.add( new MapBasedValueSource( config.getSystemProperties() ) );
-
- valueSources.add( new AbstractValueSource( false )
- {
- @Override
- public Object getValue( String expression )
- {
- return config.getSystemProperties().getProperty( "env." + expression );
- }
- } );
-
- valueSources.add( modelValueSource2 );
-
- return valueSources;
- }
-
- protected List<? extends InterpolationPostProcessor> createPostProcessors( final Model model,
- final File projectDir,
- final ModelBuildingRequest config )
- {
- List<InterpolationPostProcessor> processors = new ArrayList<InterpolationPostProcessor>( 2 );
- if ( projectDir != null )
- {
- processors.add( new PathTranslatingPostProcessor( PROJECT_PREFIXES, TRANSLATED_PATH_EXPRESSIONS,
- projectDir, pathTranslator ) );
- }
- processors.add( new UrlNormalizingPostProcessor( urlNormalizer ) );
- return processors;
- }
-
- protected String interpolateInternal( String src, List<? extends ValueSource> valueSources,
- List<? extends InterpolationPostProcessor> postProcessors,
- ModelProblemCollector problems )
- {
- if ( !src.contains( "${" ) )
- {
- return src;
- }
-
- String result = src;
- synchronized ( this )
- {
-
- for ( ValueSource vs : valueSources )
- {
- interpolator.addValueSource( vs );
- }
-
- for ( InterpolationPostProcessor postProcessor : postProcessors )
- {
- interpolator.addPostProcessor( postProcessor );
- }
-
- try
- {
- try
- {
- result = interpolator.interpolate( result, recursionInterceptor );
- }
- catch ( InterpolationException e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( e.getMessage() ).setException( e ) );
- }
-
- interpolator.clearFeedback();
- }
- finally
- {
- for ( ValueSource vs : valueSources )
- {
- interpolator.removeValuesSource( vs );
- }
-
- for ( InterpolationPostProcessor postProcessor : postProcessors )
- {
- interpolator.removePostProcessor( postProcessor );
- }
- }
- }
-
- return result;
- }
-
- protected RecursionInterceptor getRecursionInterceptor()
- {
- return recursionInterceptor;
- }
-
- protected void setRecursionInterceptor( RecursionInterceptor recursionInterceptor )
- {
- this.recursionInterceptor = recursionInterceptor;
- }
-
- protected abstract Interpolator createInterpolator();
-
- protected final Interpolator getInterpolator()
- {
- return interpolator;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java
deleted file mode 100644
index 30809b85..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Date;
-import java.util.Properties;
-
-import org.codehaus.plexus.interpolation.AbstractValueSource;
-
-class BuildTimestampValueSource
- extends AbstractValueSource
-{
- private final MavenBuildTimestamp mavenBuildTimestamp;
-
- public BuildTimestampValueSource( Date startTime, Properties properties )
- {
- super( false );
- this.mavenBuildTimestamp = new MavenBuildTimestamp( startTime, properties );
- }
-
- @Override
- public Object getValue( String expression )
- {
- if ( "build.timestamp".equals( expression ) || "maven.build.timestamp".equals( expression ) )
- {
- return mavenBuildTimestamp.formattedTimestamp();
- }
- return null;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/MavenBuildTimestamp.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/MavenBuildTimestamp.java
deleted file mode 100644
index 447f0efe..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/MavenBuildTimestamp.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Properties;
-import java.util.TimeZone;
-
-public class MavenBuildTimestamp
-{
- // ISO 8601-compliant timestamp for machine readability
- public static final String DEFAULT_BUILD_TIMESTAMP_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
-
- public static final String BUILD_TIMESTAMP_FORMAT_PROPERTY = "maven.build.timestamp.format";
-
- private String formattedTimestamp;
-
- public MavenBuildTimestamp()
- {
- this( new Date() );
- }
-
- public MavenBuildTimestamp( Date time )
- {
- this( time, DEFAULT_BUILD_TIMESTAMP_FORMAT );
- }
-
- public MavenBuildTimestamp( Date time, Properties properties )
- {
- this( time, properties != null ? properties.getProperty( BUILD_TIMESTAMP_FORMAT_PROPERTY ) : null );
- }
-
- public MavenBuildTimestamp( Date time, String timestampFormat )
- {
- if ( timestampFormat == null )
- {
- timestampFormat = DEFAULT_BUILD_TIMESTAMP_FORMAT;
- }
- if ( time == null )
- {
- time = new Date();
- }
- SimpleDateFormat dateFormat = new SimpleDateFormat( timestampFormat );
- dateFormat.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
- formattedTimestamp = dateFormat.format( time );
- }
-
- public String formattedTimestamp()
- {
- return formattedTimestamp;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java
deleted file mode 100644
index d2b01c1d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-import java.io.File;
-
-/**
- * Replaces expressions of the form <tt>${token}</tt> with their effective values. Effective values are basically
- * calculated from the elements of the model itself and the execution properties from the building request.
- *
- * @author jdcasey
- * <p/>
- * Created on Feb 2, 2005
- */
-public interface ModelInterpolator
-{
-
- /**
- * Interpolates expressions in the specified model. Note that implementations are free to either interpolate the
- * provided model directly or to create a clone of the model and interpolate the clone. Callers should always use
- * the returned model and must not rely on the input model being updated.
- *
- * @param model The model to interpolate, must not be {@code null}.
- * @param projectDir The project directory, may be {@code null} if the model does not belong to a local project but
- * to some artifact's metadata.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- * @return The interpolated model, never {@code null}.
- */
- Model interpolateModel( Model model, File projectDir, ModelBuildingRequest request,
- ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java
deleted file mode 100644
index 1aeafddc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.path.PathTranslator;
-import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
-import org.codehaus.plexus.interpolation.util.ValueSourceUtils;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-
-/**
- *
- */
-class PathTranslatingPostProcessor
- implements InterpolationPostProcessor
-{
-
- private final Collection<String> unprefixedPathKeys;
- private final File projectDir;
- private final PathTranslator pathTranslator;
- private final List<String> expressionPrefixes;
-
- public PathTranslatingPostProcessor( List<String> expressionPrefixes, Collection<String> unprefixedPathKeys,
- File projectDir, PathTranslator pathTranslator )
- {
- this.expressionPrefixes = expressionPrefixes;
- this.unprefixedPathKeys = unprefixedPathKeys;
- this.projectDir = projectDir;
- this.pathTranslator = pathTranslator;
- }
-
- @Override
- public Object execute( String expression, Object value )
- {
- if ( value != null )
- {
- expression = ValueSourceUtils.trimPrefix( expression, expressionPrefixes, true );
-
- if ( unprefixedPathKeys.contains( expression ) )
- {
- return pathTranslator.alignToBaseDirectory( String.valueOf( value ), projectDir );
- }
- }
-
- return null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ProblemDetectingValueSource.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ProblemDetectingValueSource.java
deleted file mode 100644
index be5b227e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ProblemDetectingValueSource.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.codehaus.plexus.interpolation.ValueSource;
-
-/**
- * Wraps another value source and intercepts interpolated expressions, checking for problems.
- *
- * @author Benjamin Bentmann
- */
-class ProblemDetectingValueSource
- implements ValueSource
-{
-
- private final ValueSource valueSource;
-
- private final String bannedPrefix;
-
- private final String newPrefix;
-
- private final ModelProblemCollector problems;
-
- public ProblemDetectingValueSource( ValueSource valueSource, String bannedPrefix, String newPrefix,
- ModelProblemCollector problems )
- {
- this.valueSource = valueSource;
- this.bannedPrefix = bannedPrefix;
- this.newPrefix = newPrefix;
- this.problems = problems;
- }
-
- @Override
- public Object getValue( String expression )
- {
- Object value = valueSource.getValue( expression );
-
- if ( value != null && expression.startsWith( bannedPrefix ) )
- {
- String msg = "The expression ${" + expression + "} is deprecated.";
- if ( newPrefix != null && newPrefix.length() > 0 )
- {
- msg += " Please use ${" + newPrefix + expression.substring( bannedPrefix.length() ) + "} instead.";
- }
- problems.add( new ModelProblemCollectorRequest( Severity.WARNING, Version.V20 ).setMessage( msg ) );
- }
-
- return value;
- }
-
- @Override
- @SuppressWarnings( "unchecked" )
- public List getFeedback()
- {
- return valueSource.getFeedback();
- }
-
- @Override
- public void clearFeedback()
- {
- valueSource.clearFeedback();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
deleted file mode 100644
index c40f9bd5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
+++ /dev/null
@@ -1,504 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
-import org.codehaus.plexus.interpolation.Interpolator;
-import org.codehaus.plexus.interpolation.StringSearchInterpolator;
-import org.codehaus.plexus.interpolation.ValueSource;
-
-import java.io.File;
-import java.lang.reflect.Array;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-@Component( role = ModelInterpolator.class )
-public class StringSearchModelInterpolator
- extends AbstractStringBasedModelInterpolator
-{
-
- private static final Map<Class<?>, InterpolateObjectAction.CacheItem> CACHED_ENTRIES =
- new ConcurrentHashMap<Class<?>, InterpolateObjectAction.CacheItem>( 80, 0.75f, 2 );
- // Empirical data from 3.x, actual =40
-
-
- @Override
- public Model interpolateModel( Model model, File projectDir, ModelBuildingRequest config,
- ModelProblemCollector problems )
- {
- interpolateObject( model, model, projectDir, config, problems );
-
- return model;
- }
-
- protected void interpolateObject( Object obj, Model model, File projectDir, ModelBuildingRequest config,
- ModelProblemCollector problems )
- {
- try
- {
- List<? extends ValueSource> valueSources = createValueSources( model, projectDir, config, problems );
- List<? extends InterpolationPostProcessor> postProcessors =
- createPostProcessors( model, projectDir, config );
-
- InterpolateObjectAction action =
- new InterpolateObjectAction( obj, valueSources, postProcessors, this, problems );
-
- AccessController.doPrivileged( action );
- }
- finally
- {
- getInterpolator().clearAnswers();
- }
- }
-
- @Override
- protected Interpolator createInterpolator()
- {
- StringSearchInterpolator interpolator = new StringSearchInterpolator();
- interpolator.setCacheAnswers( true );
-
- return interpolator;
- }
-
- private static final class InterpolateObjectAction
- implements PrivilegedAction<Object>
- {
-
- private final LinkedList<Object> interpolationTargets;
-
- private final StringSearchModelInterpolator modelInterpolator;
-
- private final List<? extends ValueSource> valueSources;
-
- private final List<? extends InterpolationPostProcessor> postProcessors;
-
- private final ModelProblemCollector problems;
-
- public InterpolateObjectAction( Object target, List<? extends ValueSource> valueSources,
- List<? extends InterpolationPostProcessor> postProcessors,
- StringSearchModelInterpolator modelInterpolator,
- ModelProblemCollector problems )
- {
- this.valueSources = valueSources;
- this.postProcessors = postProcessors;
-
- this.interpolationTargets = new LinkedList<Object>();
- interpolationTargets.add( target );
-
- this.modelInterpolator = modelInterpolator;
-
- this.problems = problems;
- }
-
- @Override
- public Object run()
- {
- while ( !interpolationTargets.isEmpty() )
- {
- Object obj = interpolationTargets.removeFirst();
-
- traverseObjectWithParents( obj.getClass(), obj );
- }
-
- return null;
- }
-
-
- private String interpolate( String value )
- {
- return modelInterpolator.interpolateInternal( value, valueSources, postProcessors, problems );
- }
-
- private void traverseObjectWithParents( Class<?> cls, Object target )
- {
- if ( cls == null )
- {
- return;
- }
-
- CacheItem cacheEntry = getCacheEntry( cls );
- if ( cacheEntry.isArray() )
- {
- evaluateArray( target, this );
- }
- else if ( cacheEntry.isQualifiedForInterpolation )
- {
- cacheEntry.interpolate( target, this );
-
- traverseObjectWithParents( cls.getSuperclass(), target );
- }
- }
-
-
- private CacheItem getCacheEntry( Class<?> cls )
- {
- CacheItem cacheItem = CACHED_ENTRIES.get( cls );
- if ( cacheItem == null )
- {
- cacheItem = new CacheItem( cls );
- CACHED_ENTRIES.put( cls, cacheItem );
- }
- return cacheItem;
- }
-
- private static void evaluateArray( Object target, InterpolateObjectAction ctx )
- {
- int len = Array.getLength( target );
- for ( int i = 0; i < len; i++ )
- {
- Object value = Array.get( target, i );
- if ( value != null )
- {
- if ( String.class == value.getClass() )
- {
- String interpolated = ctx.interpolate( (String) value );
-
- if ( !interpolated.equals( value ) )
- {
- Array.set( target, i, interpolated );
- }
- }
- else
- {
- ctx.interpolationTargets.add( value );
- }
- }
- }
- }
-
- private static class CacheItem
- {
- private final boolean isArray;
-
- private final boolean isQualifiedForInterpolation;
-
- private final CacheField[] fields;
-
- private boolean isQualifiedForInterpolation( Class<?> cls )
- {
- return !cls.getName().startsWith( "java" );
- }
-
- private boolean isQualifiedForInterpolation( Field field, Class<?> fieldType )
- {
- if ( Map.class.equals( fieldType ) && "locations".equals( field.getName() ) )
- {
- return false;
- }
-
- //noinspection SimplifiableIfStatement
- if ( fieldType.isPrimitive() )
- {
- return false;
- }
-
- return !"parent".equals( field.getName() );
- }
-
- CacheItem( Class clazz )
- {
- this.isQualifiedForInterpolation = isQualifiedForInterpolation( clazz );
- this.isArray = clazz.isArray();
- List<CacheField> fields = new ArrayList<CacheField>();
- for ( Field currentField : clazz.getDeclaredFields() )
- {
- Class<?> type = currentField.getType();
- if ( isQualifiedForInterpolation( currentField, type ) )
- {
- if ( String.class == type )
- {
- if ( !Modifier.isFinal( currentField.getModifiers() ) )
- {
- fields.add( new StringField( currentField ) );
- }
- }
- else if ( List.class.isAssignableFrom( type ) )
- {
- fields.add( new ListField( currentField ) );
- }
- else if ( Collection.class.isAssignableFrom( type ) )
- {
- throw new RuntimeException( "We dont interpolate into collections, use a list instead" );
- }
- else if ( Map.class.isAssignableFrom( type ) )
- {
- fields.add( new MapField( currentField ) );
- }
- else
- {
- fields.add( new ObjectField( currentField ) );
- }
- }
-
- }
- this.fields = fields.toArray( new CacheField[fields.size()] );
-
- }
-
- public void interpolate( Object target, InterpolateObjectAction interpolateObjectAction )
- {
- for ( CacheField field : fields )
- {
- field.interpolate( target, interpolateObjectAction );
- }
- }
-
- public boolean isArray()
- {
- return isArray;
- }
- }
-
- abstract static class CacheField
- {
- protected final Field field;
-
- CacheField( Field field )
- {
- this.field = field;
- }
-
- void interpolate( Object target, InterpolateObjectAction interpolateObjectAction )
- {
- synchronized ( field )
- {
- boolean isAccessible = field.isAccessible();
- field.setAccessible( true );
- try
- {
- doInterpolate( target, interpolateObjectAction );
- }
- catch ( IllegalArgumentException e )
- {
- interpolateObjectAction.problems.add(
- new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ).setMessage(
- "Failed to interpolate field3: " + field + " on class: "
- + field.getType().getName() ).setException(
- e ) ); // todo: Not entirely the same message
- }
- catch ( IllegalAccessException e )
- {
- interpolateObjectAction.problems.add(
- new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ).setMessage(
- "Failed to interpolate field4: " + field + " on class: "
- + field.getType().getName() ).setException( e ) );
- }
- finally
- {
- field.setAccessible( isAccessible );
- }
- }
-
-
- }
-
- abstract void doInterpolate( Object target, InterpolateObjectAction ctx )
- throws IllegalAccessException;
- }
-
- static final class StringField
- extends CacheField
- {
- StringField( Field field )
- {
- super( field );
- }
-
- @Override
- void doInterpolate( Object target, InterpolateObjectAction ctx )
- throws IllegalAccessException
- {
- String value = (String) field.get( target );
- if ( value == null )
- {
- return;
- }
-
- String interpolated = ctx.interpolate( value );
-
- if ( !interpolated.equals( value ) )
- {
- field.set( target, interpolated );
- }
- }
- }
-
- static final class ListField
- extends CacheField
- {
- ListField( Field field )
- {
- super( field );
- }
-
- @Override
- void doInterpolate( Object target, InterpolateObjectAction ctx )
- throws IllegalAccessException
- {
- @SuppressWarnings( "unchecked" ) List<Object> c = (List<Object>) field.get( target );
- if ( c == null )
- {
- return;
- }
-
- int size = c.size();
- Object value;
- for ( int i = 0; i < size; i++ )
- {
-
- value = c.get( i );
-
- if ( value != null )
- {
- if ( String.class == value.getClass() )
- {
- String interpolated = ctx.interpolate( (String) value );
-
- if ( !interpolated.equals( value ) )
- {
- try
- {
- c.set( i, interpolated );
- }
- catch ( UnsupportedOperationException e )
- {
- return;
- }
- }
- }
- else
- {
- if ( value.getClass().isArray() )
- {
- evaluateArray( value, ctx );
- }
- else
- {
- ctx.interpolationTargets.add( value );
- }
- }
- }
- }
- }
- }
-
- static final class MapField
- extends CacheField
- {
- MapField( Field field )
- {
- super( field );
- }
-
- @Override
- void doInterpolate( Object target, InterpolateObjectAction ctx )
- throws IllegalAccessException
- {
- @SuppressWarnings( "unchecked" ) Map<Object, Object> m = (Map<Object, Object>) field.get( target );
- if ( m == null || m.isEmpty() )
- {
- return;
- }
-
- for ( Map.Entry<Object, Object> entry : m.entrySet() )
- {
- Object value = entry.getValue();
-
- if ( value == null )
- {
- continue;
- }
-
- if ( String.class == value.getClass() )
- {
- String interpolated = ctx.interpolate( (String) value );
-
- if ( !interpolated.equals( value ) )
- {
- try
- {
- entry.setValue( interpolated );
- }
- catch ( UnsupportedOperationException ignore )
- {
- // nop
- }
- }
- }
- else if ( value.getClass().isArray() )
- {
- evaluateArray( value, ctx );
- }
- else
- {
- ctx.interpolationTargets.add( value );
- }
- }
- }
- }
-
- static final class ObjectField
- extends CacheField
- {
- private final boolean isArray;
-
- ObjectField( Field field )
- {
- super( field );
- this.isArray = field.getType().isArray();
- }
-
- @Override
- void doInterpolate( Object target, InterpolateObjectAction ctx )
- throws IllegalAccessException
- {
- Object value = field.get( target );
- if ( value != null )
- {
- if ( isArray )
- {
- evaluateArray( value, ctx );
- }
- else
- {
- ctx.interpolationTargets.add( value );
- }
- }
- }
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/UrlNormalizingPostProcessor.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/UrlNormalizingPostProcessor.java
deleted file mode 100644
index 63fb82d6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/UrlNormalizingPostProcessor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashSet;
-import java.util.Set;
-
-import org.apache.maven.model.path.UrlNormalizer;
-import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
-
-/**
- * Ensures that expressions referring to URLs evaluate to normalized URLs.
- *
- * @author Benjamin Bentmann
- */
-class UrlNormalizingPostProcessor
- implements InterpolationPostProcessor
-{
-
- private static final Set<String> URL_EXPRESSIONS;
-
- static
- {
- Set<String> expressions = new HashSet<String>();
- expressions.add( "project.url" );
- expressions.add( "project.scm.url" );
- expressions.add( "project.scm.connection" );
- expressions.add( "project.scm.developerConnection" );
- expressions.add( "project.distributionManagement.site.url" );
-
- URL_EXPRESSIONS = expressions;
- }
-
- private UrlNormalizer normalizer;
-
- public UrlNormalizingPostProcessor( UrlNormalizer normalizer )
- {
- this.normalizer = normalizer;
- }
-
- @Override
- public Object execute( String expression, Object value )
- {
- if ( value != null && URL_EXPRESSIONS.contains( expression ) )
- {
- return normalizer.normalize( value.toString() );
- }
-
- return null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelReader.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelReader.java
deleted file mode 100644
index c927b60f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelReader.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.apache.maven.model.io;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.Map;
-
-import org.apache.maven.model.InputSource;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Handles deserialization of a model from some kind of textual format like XML.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ModelReader.class )
-public class DefaultModelReader
- implements ModelReader
-{
-
- @Override
- public Model read( File input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input file missing" );
- }
-
- Model model = read( new FileInputStream( input ), options );
-
- model.setPomFile( input );
-
- return model;
- }
-
- @Override
- public Model read( Reader input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input reader missing" );
- }
-
- try
- {
- return read( input, isStrict( options ), getSource( options ) );
- }
- finally
- {
- IOUtil.close( input );
- }
- }
-
- @Override
- public Model read( InputStream input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input stream missing" );
- }
-
- try
- {
- return read( ReaderFactory.newXmlReader( input ), isStrict( options ), getSource( options ) );
- }
- finally
- {
- IOUtil.close( input );
- }
- }
-
- private boolean isStrict( Map<String, ?> options )
- {
- Object value = ( options != null ) ? options.get( IS_STRICT ) : null;
- return value == null || Boolean.parseBoolean( value.toString() );
- }
-
- private InputSource getSource( Map<String, ?> options )
- {
- Object value = ( options != null ) ? options.get( INPUT_SOURCE ) : null;
- return (InputSource) value;
- }
-
- private Model read( Reader reader, boolean strict, InputSource source )
- throws IOException
- {
- try
- {
- if ( source != null )
- {
- return new MavenXpp3ReaderEx().read( reader, strict, source );
- }
- else
- {
- return new MavenXpp3Reader().read( reader, strict );
- }
- }
- catch ( XmlPullParserException e )
- {
- throw new ModelParseException( e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelWriter.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelWriter.java
deleted file mode 100644
index 7294de3c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/DefaultModelWriter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.apache.maven.model.io;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.WriterFactory;
-
-/**
- * Handles serialization of a model into some kind of textual format like XML.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ModelWriter.class )
-public class DefaultModelWriter
- implements ModelWriter
-{
-
- @Override
- public void write( File output, Map<String, Object> options, Model model )
- throws IOException
- {
- if ( output == null )
- {
- throw new IllegalArgumentException( "output file missing" );
- }
-
- if ( model == null )
- {
- throw new IllegalArgumentException( "model missing" );
- }
-
- output.getParentFile().mkdirs();
-
- write( WriterFactory.newXmlWriter( output ), options, model );
- }
-
- @Override
- public void write( Writer output, Map<String, Object> options, Model model )
- throws IOException
- {
- if ( output == null )
- {
- throw new IllegalArgumentException( "output writer missing" );
- }
-
- if ( model == null )
- {
- throw new IllegalArgumentException( "model missing" );
- }
-
- try
- {
- MavenXpp3Writer w = new MavenXpp3Writer();
- w.write( output, model );
- }
- finally
- {
- IOUtil.close( output );
- }
- }
-
- @Override
- public void write( OutputStream output, Map<String, Object> options, Model model )
- throws IOException
- {
- if ( output == null )
- {
- throw new IllegalArgumentException( "output stream missing" );
- }
-
- if ( model == null )
- {
- throw new IllegalArgumentException( "model missing" );
- }
-
- try
- {
- String encoding = model.getModelEncoding();
- if ( encoding == null || encoding.length() <= 0 )
- {
- encoding = "UTF-8";
- }
- write( new OutputStreamWriter( output, encoding ), options, model );
- }
- finally
- {
- IOUtil.close( output );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelParseException.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelParseException.java
deleted file mode 100644
index 1b2cbc34..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelParseException.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.maven.model.io;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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;
-
-/**
- * Signals a failure to parse the POM due to invalid syntax (e.g. non-wellformed XML or unknown elements).
- *
- * @author Benjamin Bentmann
- */
-public class ModelParseException
- extends IOException
-{
-
- /**
- * The one-based index of the line containing the error.
- */
- private final int lineNumber;
-
- /**
- * The one-based index of the column containing the error.
- */
- private final int columnNumber;
-
- /**
- * Creates a new parser exception with the specified details.
- *
- * @param message The error message, may be {@code null}.
- * @param lineNumber The one-based index of the line containing the error or {@code -1} if unknown.
- * @param columnNumber The one-based index of the column containing the error or {@code -1} if unknown.
- */
- public ModelParseException( String message, int lineNumber, int columnNumber )
- {
- super( message );
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- }
-
- /**
- * Creates a new parser exception with the specified details.
- *
- * @param message The error message, may be {@code null}.
- * @param lineNumber The one-based index of the line containing the error or {@code -1} if unknown.
- * @param columnNumber The one-based index of the column containing the error or {@code -1} if unknown.
- * @param cause The nested cause of this error, may be {@code null}.
- */
- public ModelParseException( String message, int lineNumber, int columnNumber, Throwable cause )
- {
- super( message );
- initCause( cause );
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- }
-
- /**
- * Gets the one-based index of the line containing the error.
- *
- * @return The one-based index of the line containing the error or a non-positive value if unknown.
- */
- public int getLineNumber()
- {
- return lineNumber;
- }
-
- /**
- * Gets the one-based index of the column containing the error.
- *
- * @return The one-based index of the column containing the error or non-positive value if unknown.
- */
- public int getColumnNumber()
- {
- return columnNumber;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelReader.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelReader.java
deleted file mode 100644
index 75a5ebee..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelReader.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.maven.model.io;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.InputStream;
-import java.io.Reader;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-
-/**
- * Handles deserialization of a model from some kind of textual format like XML.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelReader
-{
-
- /**
- * The key for the option to enable strict parsing. This option is of type {@link Boolean} and defaults to {@code
- * true}. If {@code false}, unknown elements will be ignored instead of causing a failure.
- */
- String IS_STRICT = "org.apache.maven.model.io.isStrict";
-
- /**
- * The key for the option to enable tracking of line/column numbers. This option is of type
- * {@link org.apache.maven.model.InputSource} and defaults to {@code null}. Providing an input source enables
- * location tracking.
- */
- String INPUT_SOURCE = "org.apache.maven.model.io.inputSource";
-
- /**
- * Reads the model from the specified file.
- *
- * @param input The file to deserialize the model from, must not be {@code null}.
- * @param options The options to use for deserialization, may be {@code null} to use the default values.
- * @return The deserialized model, never {@code null}.
- * @throws IOException If the model could not be deserialized.
- * @throws ModelParseException If the input format could not be parsed.
- */
- Model read( File input, Map<String, ?> options )
- throws IOException, ModelParseException;
-
- /**
- * Reads the model from the specified character reader. The reader will be automatically closed before the method
- * returns.
- *
- * @param input The reader to deserialize the model from, must not be {@code null}.
- * @param options The options to use for deserialization, may be {@code null} to use the default values.
- * @return The deserialized model, never {@code null}.
- * @throws IOException If the model could not be deserialized.
- * @throws ModelParseException If the input format could not be parsed.
- */
- Model read( Reader input, Map<String, ?> options )
- throws IOException, ModelParseException;
-
- /**
- * Reads the model from the specified byte stream. The stream will be automatically closed before the method
- * returns.
- *
- * @param input The stream to deserialize the model from, must not be {@code null}.
- * @param options The options to use for deserialization, may be {@code null} to use the default values.
- * @return The deserialized model, never {@code null}.
- * @throws IOException If the model could not be deserialized.
- * @throws ModelParseException If the input format could not be parsed.
- */
- Model read( InputStream input, Map<String, ?> options )
- throws IOException, ModelParseException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelWriter.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelWriter.java
deleted file mode 100644
index af7e0cab..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/io/ModelWriter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.maven.model.io;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.OutputStream;
-import java.io.Writer;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-
-/**
- * Handles serialization of a model into some kind of textual format like XML.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelWriter
-{
-
- /**
- * Writes the supplied model to the specified file. Any non-existing parent directories of the output file will be
- * created automatically.
- *
- * @param output The file to serialize the model to, must not be {@code null}.
- * @param options The options to use for serialization, may be {@code null} to use the default values.
- * @param model The model to serialize, must not be {@code null}.
- * @throws IOException If the model could not be serialized.
- */
- void write( File output, Map<String, Object> options, Model model )
- throws IOException;
-
- /**
- * Writes the supplied model to the specified character writer. The writer will be automatically closed before the
- * method returns.
- *
- * @param output The writer to serialize the model to, must not be {@code null}.
- * @param options The options to use for serialization, may be {@code null} to use the default values.
- * @param model The model to serialize, must not be {@code null}.
- * @throws IOException If the model could not be serialized.
- */
- void write( Writer output, Map<String, Object> options, Model model )
- throws IOException;
-
- /**
- * Writes the supplied model to the specified byte stream. The stream will be automatically closed before the method
- * returns.
- *
- * @param output The stream to serialize the model to, must not be {@code null}.
- * @param options The options to use for serialization, may be {@code null} to use the default values.
- * @param model The model to serialize, must not be {@code null}.
- * @throws IOException If the model could not be serialized.
- */
- void write( OutputStream output, Map<String, Object> options, Model model )
- throws IOException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/DefaultModelLocator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/DefaultModelLocator.java
deleted file mode 100644
index 299da65f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/DefaultModelLocator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.model.locator;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.codehaus.plexus.component.annotations.Component;
-
-/**
- * Locates a POM file within a project base directory.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ModelLocator.class )
-public class DefaultModelLocator
- implements ModelLocator
-{
-
- @Override
- public File locatePom( File projectDirectory )
- {
- return new File( projectDirectory, "pom.xml" );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/ModelLocator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/ModelLocator.java
deleted file mode 100644
index 3aa0045c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/locator/ModelLocator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.model.locator;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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;
-
-/**
- * Locates a POM file within a project base directory.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelLocator
-{
-
- /**
- * Locates the POM file within the specified project directory. In case the given project directory does not exist
- * or does not contain a POM file, the return value indicates the expected path to the POM file. Sub directories of
- * the project directory will not be considered when locating the POM file. The return value will be an absolute
- * path if the project directory is given as an absolute path.
- *
- * @param projectDirectory The (possibly non-existent) base directory to locate the POM file in, must not be {@code
- * null}.
- * @return The path to the (possibly non-existent) POM file, never {@code null}.
- */
- File locatePom( File projectDirectory );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java
deleted file mode 100644
index bfeafcb7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultDependencyManagementInjector.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.apache.maven.model.management;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.merge.MavenModelMerger;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Handles injection of dependency management into the model.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = DependencyManagementInjector.class )
-public class DefaultDependencyManagementInjector
- implements DependencyManagementInjector
-{
-
- private ManagementModelMerger merger = new ManagementModelMerger();
-
- @Override
- public void injectManagement( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- merger.mergeManagedDependencies( model );
- }
-
- protected static class ManagementModelMerger
- extends MavenModelMerger
- {
-
- public void mergeManagedDependencies( Model model )
- {
- DependencyManagement dependencyManagement = model.getDependencyManagement();
- if ( dependencyManagement != null )
- {
- Map<Object, Dependency> dependencies = new HashMap<Object, Dependency>();
- Map<Object, Object> context = Collections.emptyMap();
-
- for ( Dependency dependency : model.getDependencies() )
- {
- Object key = getDependencyKey( dependency );
- dependencies.put( key, dependency );
- }
-
- for ( Dependency managedDependency : dependencyManagement.getDependencies() )
- {
- Object key = getDependencyKey( managedDependency );
- Dependency dependency = dependencies.get( key );
- if ( dependency != null )
- {
- mergeDependency( dependency, managedDependency, false, context );
- }
- }
- }
- }
-
- @Override
- protected void mergeDependency_Optional( Dependency target, Dependency source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- // optional flag is not managed
- }
-
- @Override
- protected void mergeDependency_Exclusions( Dependency target, Dependency source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<Exclusion> tgt = target.getExclusions();
- if ( tgt.isEmpty() )
- {
- List<Exclusion> src = source.getExclusions();
-
- for ( Exclusion element : src )
- {
- Exclusion clone = element.clone();
- target.addExclusion( clone );
- }
- }
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java
deleted file mode 100644
index 75d7d878..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DefaultPluginManagementInjector.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.apache.maven.model.management;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginContainer;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.merge.MavenModelMerger;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Handles injection of plugin management into the model.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = PluginManagementInjector.class )
-public class DefaultPluginManagementInjector
- implements PluginManagementInjector
-{
-
- private ManagementModelMerger merger = new ManagementModelMerger();
-
- @Override
- public void injectManagement( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- merger.mergeManagedBuildPlugins( model );
- }
-
- protected static class ManagementModelMerger
- extends MavenModelMerger
- {
-
- public void mergeManagedBuildPlugins( Model model )
- {
- Build build = model.getBuild();
- if ( build != null )
- {
- PluginManagement pluginManagement = build.getPluginManagement();
- if ( pluginManagement != null )
- {
- mergePluginContainer_Plugins( build, pluginManagement );
- }
- }
- }
-
- private void mergePluginContainer_Plugins( PluginContainer target, PluginContainer source )
- {
- List<Plugin> src = source.getPlugins();
- if ( !src.isEmpty() )
- {
- List<Plugin> tgt = target.getPlugins();
-
- Map<Object, Plugin> managedPlugins = new LinkedHashMap<Object, Plugin>( src.size() * 2 );
-
- Map<Object, Object> context = Collections.emptyMap();
-
- for ( Plugin element : src )
- {
- Object key = getPluginKey( element );
- managedPlugins.put( key, element );
- }
-
- for ( Plugin element : tgt )
- {
- Object key = getPluginKey( element );
- Plugin managedPlugin = managedPlugins.get( key );
- if ( managedPlugin != null )
- {
- mergePlugin( element, managedPlugin, false, context );
- }
- }
- }
- }
-
- @Override
- protected void mergePlugin_Executions( Plugin target, Plugin source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<PluginExecution> src = source.getExecutions();
- if ( !src.isEmpty() )
- {
- List<PluginExecution> tgt = target.getExecutions();
-
- Map<Object, PluginExecution> merged =
- new LinkedHashMap<Object, PluginExecution>( ( src.size() + tgt.size() ) * 2 );
-
- for ( PluginExecution element : src )
- {
- Object key = getPluginExecutionKey( element );
- merged.put( key, element.clone() );
- }
-
- for ( PluginExecution element : tgt )
- {
- Object key = getPluginExecutionKey( element );
- PluginExecution existing = merged.get( key );
- if ( existing != null )
- {
- mergePluginExecution( element, existing, sourceDominant, context );
- }
- merged.put( key, element );
- }
-
- target.setExecutions( new ArrayList<PluginExecution>( merged.values() ) );
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DependencyManagementInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DependencyManagementInjector.java
deleted file mode 100644
index 3b70a09c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/DependencyManagementInjector.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.model.management;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles injection of dependency management into the model.
- *
- * @author Benjamin Bentmann
- */
-public interface DependencyManagementInjector
-{
-
- /**
- * Merges default values from the dependency management section of the given model into itself.
- *
- * @param model The model into which to merge the values specified by its dependency management sections, must not
- * be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void injectManagement( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/PluginManagementInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/PluginManagementInjector.java
deleted file mode 100644
index 7384fdf0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/management/PluginManagementInjector.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.model.management;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles injection of plugin management into the model.
- *
- * @author Benjamin Bentmann
- */
-public interface PluginManagementInjector
-{
-
- /**
- * Merges default values from the plugin management section of the given model into itself.
- *
- * @param model The model into which to merge the values specified by its plugin management section, must not be
- * <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void injectManagement( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
deleted file mode 100644
index 2727a111..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java
+++ /dev/null
@@ -1,729 +0,0 @@
-package org.apache.maven.model.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 java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.model.BuildBase;
-import org.apache.maven.model.CiManagement;
-import org.apache.maven.model.Contributor;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DeploymentRepository;
-import org.apache.maven.model.Developer;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Extension;
-import org.apache.maven.model.InputLocation;
-import org.apache.maven.model.IssueManagement;
-import org.apache.maven.model.License;
-import org.apache.maven.model.MailingList;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.ModelBase;
-import org.apache.maven.model.Organization;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.ReportSet;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.RepositoryBase;
-import org.apache.maven.model.Scm;
-import org.apache.maven.model.Site;
-
-/**
- * The domain-specific model merger for the Maven POM, overriding generic code from parent class when necessary with
- * more adapted algorithms.
- *
- * @author Benjamin Bentmann
- */
-public class MavenModelMerger
- extends ModelMerger
-{
-
- /**
- * The hint key for the child path adjustment used during inheritance for URL calculations.
- */
- public static final String CHILD_PATH_ADJUSTMENT = "child-path-adjustment";
-
- /**
- * The context key for the artifact id of the target model.
- */
- private static final String ARTIFACT_ID = "artifact-id";
-
- @Override
- protected void mergeModel( Model target, Model source, boolean sourceDominant, Map<Object, Object> context )
- {
- context.put( ARTIFACT_ID, target.getArtifactId() );
-
- super.mergeModel( target, source, sourceDominant, context );
- }
-
- @Override
- protected void mergeModel_Name( Model target, Model source, boolean sourceDominant, Map<Object, Object> context )
- {
- String src = source.getName();
- if ( src != null )
- {
- if ( sourceDominant )
- {
- target.setName( src );
- target.setLocation( "name", source.getLocation( "name" ) );
- }
- }
- }
-
- @Override
- protected void mergeModel_Url( Model target, Model source, boolean sourceDominant, Map<Object, Object> context )
- {
- String src = source.getUrl();
- if ( src != null )
- {
- if ( sourceDominant )
- {
- target.setUrl( src );
- target.setLocation( "url", source.getLocation( "url" ) );
- }
- else if ( target.getUrl() == null )
- {
- target.setUrl( appendPath( src, context ) );
- target.setLocation( "url", source.getLocation( "url" ) );
- }
- }
- }
-
- /*
- * TODO: Whether the merge continues recursively into an existing node or not could be an option for the generated
- * merger
- */
- @Override
- protected void mergeModel_Organization( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- Organization src = source.getOrganization();
- if ( src != null )
- {
- Organization tgt = target.getOrganization();
- if ( tgt == null )
- {
- tgt = new Organization();
- tgt.setLocation( "", src.getLocation( "" ) );
- target.setOrganization( tgt );
- mergeOrganization( tgt, src, sourceDominant, context );
- }
- }
- }
-
- @Override
- protected void mergeModel_IssueManagement( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- IssueManagement src = source.getIssueManagement();
- if ( src != null )
- {
- IssueManagement tgt = target.getIssueManagement();
- if ( tgt == null )
- {
- tgt = new IssueManagement();
- tgt.setLocation( "", src.getLocation( "" ) );
- target.setIssueManagement( tgt );
- mergeIssueManagement( tgt, src, sourceDominant, context );
- }
- }
- }
-
- @Override
- protected void mergeModel_CiManagement( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- CiManagement src = source.getCiManagement();
- if ( src != null )
- {
- CiManagement tgt = target.getCiManagement();
- if ( tgt == null )
- {
- tgt = new CiManagement();
- tgt.setLocation( "", src.getLocation( "" ) );
- target.setCiManagement( tgt );
- mergeCiManagement( tgt, src, sourceDominant, context );
- }
- }
- }
-
- @Override
- protected void mergeModel_ModelVersion( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- // neither inherited nor injected
- }
-
- @Override
- protected void mergeModel_ArtifactId( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- // neither inherited nor injected
- }
-
- @Override
- protected void mergeModel_Profiles( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- // neither inherited nor injected
- }
-
- @Override
- protected void mergeModel_Prerequisites( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- // neither inherited nor injected
- }
-
- @Override
- protected void mergeModel_Licenses( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( target.getLicenses().isEmpty() )
- {
- target.setLicenses( new ArrayList<License>( source.getLicenses() ) );
- }
- }
-
- @Override
- protected void mergeModel_Developers( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( target.getDevelopers().isEmpty() )
- {
- target.setDevelopers( new ArrayList<Developer>( source.getDevelopers() ) );
- }
- }
-
- @Override
- protected void mergeModel_Contributors( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( target.getContributors().isEmpty() )
- {
- target.setContributors( new ArrayList<Contributor>( source.getContributors() ) );
- }
- }
-
- @Override
- protected void mergeModel_MailingLists( Model target, Model source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( target.getMailingLists().isEmpty() )
- {
- target.setMailingLists( new ArrayList<MailingList>( source.getMailingLists() ) );
- }
- }
-
- @Override
- protected void mergeModelBase_Modules( ModelBase target, ModelBase source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<String> src = source.getModules();
- if ( !src.isEmpty() && sourceDominant )
- {
- List<Integer> indices = new ArrayList<Integer>();
- List<String> tgt = target.getModules();
- Set<String> excludes = new LinkedHashSet<String>( tgt );
- List<String> merged = new ArrayList<String>( tgt.size() + src.size() );
- merged.addAll( tgt );
- for ( int i = 0, n = tgt.size(); i < n; i++ )
- {
- indices.add( i );
- }
- for ( int i = 0, n = src.size(); i < n; i++ )
- {
- String s = src.get( i );
- if ( !excludes.contains( s ) )
- {
- merged.add( s );
- indices.add( ~i );
- }
- }
- target.setModules( merged );
- target.setLocation( "modules", InputLocation.merge( target.getLocation( "modules" ),
- source.getLocation( "modules" ), indices ) );
- }
- }
-
- /*
- * TODO: The order of the merged list could be controlled by an attribute in the model association: target-first,
- * source-first, dominant-first, recessive-first
- */
- @Override
- protected void mergeModelBase_Repositories( ModelBase target, ModelBase source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<Repository> src = source.getRepositories();
- if ( !src.isEmpty() )
- {
- List<Repository> tgt = target.getRepositories();
- Map<Object, Repository> merged = new LinkedHashMap<Object, Repository>( ( src.size() + tgt.size() ) * 2 );
-
- List<Repository> dominant, recessive;
- if ( sourceDominant )
- {
- dominant = src;
- recessive = tgt;
- }
- else
- {
- dominant = tgt;
- recessive = src;
- }
-
- for ( Repository element : dominant )
- {
- Object key = getRepositoryKey( element );
- merged.put( key, element );
- }
-
- for ( Repository element : recessive )
- {
- Object key = getRepositoryKey( element );
- if ( !merged.containsKey( key ) )
- {
- merged.put( key, element );
- }
- }
-
- target.setRepositories( new ArrayList<Repository>( merged.values() ) );
- }
- }
-
- @Override
- protected void mergeModelBase_PluginRepositories( ModelBase target, ModelBase source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<Repository> src = source.getPluginRepositories();
- if ( !src.isEmpty() )
- {
- List<Repository> tgt = target.getPluginRepositories();
- Map<Object, Repository> merged = new LinkedHashMap<Object, Repository>( ( src.size() + tgt.size() ) * 2 );
-
- List<Repository> dominant, recessive;
- if ( sourceDominant )
- {
- dominant = src;
- recessive = tgt;
- }
- else
- {
- dominant = tgt;
- recessive = src;
- }
-
- for ( Repository element : dominant )
- {
- Object key = getRepositoryKey( element );
- merged.put( key, element );
- }
-
- for ( Repository element : recessive )
- {
- Object key = getRepositoryKey( element );
- if ( !merged.containsKey( key ) )
- {
- merged.put( key, element );
- }
- }
-
- target.setPluginRepositories( new ArrayList<Repository>( merged.values() ) );
- }
- }
-
- /*
- * TODO: Whether duplicates should be removed looks like an option for the generated merger.
- */
- @Override
- protected void mergeBuildBase_Filters( BuildBase target, BuildBase source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<String> src = source.getFilters();
- if ( !src.isEmpty() )
- {
- List<String> tgt = target.getFilters();
- Set<String> excludes = new LinkedHashSet<String>( tgt );
- List<String> merged = new ArrayList<String>( tgt.size() + src.size() );
- merged.addAll( tgt );
- for ( String s : src )
- {
- if ( !excludes.contains( s ) )
- {
- merged.add( s );
- }
- }
- target.setFilters( merged );
- }
- }
-
- @Override
- protected void mergeBuildBase_Resources( BuildBase target, BuildBase source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( sourceDominant || target.getResources().isEmpty() )
- {
- super.mergeBuildBase_Resources( target, source, sourceDominant, context );
- }
- }
-
- @Override
- protected void mergeBuildBase_TestResources( BuildBase target, BuildBase source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- if ( sourceDominant || target.getTestResources().isEmpty() )
- {
- super.mergeBuildBase_TestResources( target, source, sourceDominant, context );
- }
- }
-
- @Override
- protected void mergeDistributionManagement_Repository( DistributionManagement target,
- DistributionManagement source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- DeploymentRepository src = source.getRepository();
- if ( src != null )
- {
- DeploymentRepository tgt = target.getRepository();
- if ( sourceDominant || tgt == null )
- {
- tgt = new DeploymentRepository();
- tgt.setLocation( "", src.getLocation( "" ) );
- target.setRepository( tgt );
- mergeDeploymentRepository( tgt, src, sourceDominant, context );
- }
- }
- }
-
- @Override
- protected void mergeDistributionManagement_SnapshotRepository( DistributionManagement target,
- DistributionManagement source,
- boolean sourceDominant,
- Map<Object, Object> context )
- {
- DeploymentRepository src = source.getSnapshotRepository();
- if ( src != null )
- {
- DeploymentRepository tgt = target.getSnapshotRepository();
- if ( sourceDominant || tgt == null )
- {
- tgt = new DeploymentRepository();
- tgt.setLocation( "", src.getLocation( "" ) );
- target.setSnapshotRepository( tgt );
- mergeDeploymentRepository( tgt, src, sourceDominant, context );
- }
- }
- }
-
- @Override
- protected void mergeDistributionManagement_Site( DistributionManagement target, DistributionManagement source,
- boolean sourceDominant, Map<Object, Object> context )
- {
- Site src = source.getSite();
- if ( src != null )
- {
- Site tgt = target.getSite();
- if ( sourceDominant || tgt == null )
- {
- tgt = new Site();
- tgt.setLocation( "", src.getLocation( "" ) );
- target.setSite( tgt );
- mergeSite( tgt, src, sourceDominant, context );
- }
- }
- }
-
- @Override
- protected void mergeSite_Url( Site target, Site source, boolean sourceDominant, Map<Object, Object> context )
- {
- String src = source.getUrl();
- if ( src != null )
- {
- if ( sourceDominant )
- {
- target.setUrl( src );
- target.setLocation( "url", source.getLocation( "url" ) );
- }
- else if ( target.getUrl() == null )
- {
- target.setUrl( appendPath( src, context ) );
- target.setLocation( "url", source.getLocation( "url" ) );
- }
- }
- }
-
- @Override
- protected void mergeScm_Url( Scm target, Scm source, boolean sourceDominant, Map<Object, Object> context )
- {
- String src = source.getUrl();
- if ( src != null )
- {
- if ( sourceDominant )
- {
- target.setUrl( src );
- target.setLocation( "url", source.getLocation( "url" ) );
- }
- else if ( target.getUrl() == null )
- {
- target.setUrl( appendPath( src, context ) );
- target.setLocation( "url", source.getLocation( "url" ) );
- }
- }
- }
-
- @Override
- protected void mergeScm_Connection( Scm target, Scm source, boolean sourceDominant, Map<Object, Object> context )
- {
- String src = source.getConnection();
- if ( src != null )
- {
- if ( sourceDominant )
- {
- target.setConnection( src );
- target.setLocation( "connection", source.getLocation( "connection" ) );
- }
- else if ( target.getConnection() == null )
- {
- target.setConnection( appendPath( src, context ) );
- target.setLocation( "connection", source.getLocation( "connection" ) );
- }
- }
- }
-
- @Override
- protected void mergeScm_DeveloperConnection( Scm target, Scm source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- String src = source.getDeveloperConnection();
- if ( src != null )
- {
- if ( sourceDominant )
- {
- target.setDeveloperConnection( src );
- target.setLocation( "developerConnection", source.getLocation( "developerConnection" ) );
- }
- else if ( target.getDeveloperConnection() == null )
- {
- target.setDeveloperConnection( appendPath( src, context ) );
- target.setLocation( "developerConnection", source.getLocation( "developerConnection" ) );
- }
- }
- }
-
- @Override
- protected void mergePlugin_Executions( Plugin target, Plugin source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<PluginExecution> src = source.getExecutions();
- if ( !src.isEmpty() )
- {
- List<PluginExecution> tgt = target.getExecutions();
- Map<Object, PluginExecution> merged =
- new LinkedHashMap<Object, PluginExecution>( ( src.size() + tgt.size() ) * 2 );
-
- for ( PluginExecution element : src )
- {
- if ( sourceDominant
- || ( element.getInherited() != null ? element.isInherited() : source.isInherited() ) )
- {
- Object key = getPluginExecutionKey( element );
- merged.put( key, element );
- }
- }
-
- for ( PluginExecution element : tgt )
- {
- Object key = getPluginExecutionKey( element );
- PluginExecution existing = merged.get( key );
- if ( existing != null )
- {
- mergePluginExecution( element, existing, sourceDominant, context );
- }
- merged.put( key, element );
- }
-
- target.setExecutions( new ArrayList<PluginExecution>( merged.values() ) );
- }
- }
-
- @Override
- protected void mergePluginExecution_Goals( PluginExecution target, PluginExecution source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<String> src = source.getGoals();
- if ( !src.isEmpty() )
- {
- List<String> tgt = target.getGoals();
- Set<String> excludes = new LinkedHashSet<String>( tgt );
- List<String> merged = new ArrayList<String>( tgt.size() + src.size() );
- merged.addAll( tgt );
- for ( String s : src )
- {
- if ( !excludes.contains( s ) )
- {
- merged.add( s );
- }
- }
- target.setGoals( merged );
- }
- }
-
- @Override
- protected void mergeReportPlugin_ReportSets( ReportPlugin target, ReportPlugin source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<ReportSet> src = source.getReportSets();
- if ( !src.isEmpty() )
- {
- List<ReportSet> tgt = target.getReportSets();
- Map<Object, ReportSet> merged = new LinkedHashMap<Object, ReportSet>( ( src.size() + tgt.size() ) * 2 );
-
- for ( ReportSet rset : src )
- {
- if ( sourceDominant || ( rset.getInherited() != null ? rset.isInherited() : source.isInherited() ) )
- {
- Object key = getReportSetKey( rset );
- merged.put( key, rset );
- }
- }
-
- for ( ReportSet element : tgt )
- {
- Object key = getReportSetKey( element );
- ReportSet existing = merged.get( key );
- if ( existing != null )
- {
- mergeReportSet( element, existing, sourceDominant, context );
- }
- merged.put( key, element );
- }
-
- target.setReportSets( new ArrayList<ReportSet>( merged.values() ) );
- }
- }
-
- @Override
- protected Object getDependencyKey( Dependency dependency )
- {
- return dependency.getManagementKey();
- }
-
- @Override
- protected Object getPluginKey( Plugin plugin )
- {
- return plugin.getKey();
- }
-
- @Override
- protected Object getPluginExecutionKey( PluginExecution pluginExecution )
- {
- return pluginExecution.getId();
- }
-
- @Override
- protected Object getReportPluginKey( ReportPlugin reportPlugin )
- {
- return reportPlugin.getKey();
- }
-
- @Override
- protected Object getReportSetKey( ReportSet reportSet )
- {
- return reportSet.getId();
- }
-
- @Override
- protected Object getRepositoryBaseKey( RepositoryBase repositoryBase )
- {
- return repositoryBase.getId();
- }
-
- @Override
- protected Object getExtensionKey( Extension extension )
- {
- return extension.getGroupId() + ':' + extension.getArtifactId();
- }
-
- @Override
- protected Object getExclusionKey( Exclusion exclusion )
- {
- return exclusion.getGroupId() + ':' + exclusion.getArtifactId();
- }
-
- private String appendPath( String parentPath, Map<Object, Object> context )
- {
- Object artifactId = context.get( ARTIFACT_ID );
- Object childPathAdjustment = context.get( CHILD_PATH_ADJUSTMENT );
-
- if ( artifactId != null && childPathAdjustment != null )
- {
- return appendPath( parentPath, artifactId.toString(), childPathAdjustment.toString() );
- }
- else
- {
- return parentPath;
- }
- }
-
- private String appendPath( String parentPath, String childPath, String pathAdjustment )
- {
- String path = parentPath;
- path = concatPath( path, pathAdjustment );
- path = concatPath( path, childPath );
- return path;
- }
-
- private String concatPath( String base, String path )
- {
- String result = base;
-
- if ( path != null && path.length() > 0 )
- {
- if ( ( result.endsWith( "/" ) && !path.startsWith( "/" ) )
- || ( !result.endsWith( "/" ) && path.startsWith( "/" ) ) )
- {
- result += path;
- }
- else if ( result.endsWith( "/" ) && path.startsWith( "/" ) )
- {
- result += path.substring( 1 );
- }
- else
- {
- result += '/';
- result += path;
- }
- if ( base.endsWith( "/" ) && !result.endsWith( "/" ) )
- {
- result += '/';
- }
- }
-
- return result;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java
deleted file mode 100644
index 262dd3f5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.apache.maven.model.normalization;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.merge.MavenModelMerger;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * Handles normalization of a model.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ModelNormalizer.class )
-public class DefaultModelNormalizer
- implements ModelNormalizer
-{
-
- private DuplicateMerger merger = new DuplicateMerger();
-
- @Override
- public void mergeDuplicates( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- Build build = model.getBuild();
- if ( build != null )
- {
- List<Plugin> plugins = build.getPlugins();
- Map<Object, Plugin> normalized = new LinkedHashMap<Object, Plugin>( plugins.size() * 2 );
-
- for ( Plugin plugin : plugins )
- {
- Object key = plugin.getKey();
- Plugin first = normalized.get( key );
- if ( first != null )
- {
- merger.mergePlugin( plugin, first );
- }
- normalized.put( key, plugin );
- }
-
- if ( plugins.size() != normalized.size() )
- {
- build.setPlugins( new ArrayList<Plugin>( normalized.values() ) );
- }
- }
-
- /*
- * NOTE: This is primarily to keep backward-compat with Maven 2.x which did not validate that dependencies are
- * unique within a single POM. Upon multiple declarations, 2.x just kept the last one but retained the order of
- * the first occurrence. So when we're in lenient/compat mode, we have to deal with such broken POMs and mimic
- * the way 2.x works. When we're in strict mode, the removal of duplicates just saves other merging steps from
- * aftereffects and bogus error messages.
- */
- List<Dependency> dependencies = model.getDependencies();
- Map<String, Dependency> normalized = new LinkedHashMap<String, Dependency>( dependencies.size() * 2 );
-
- for ( Dependency dependency : dependencies )
- {
- normalized.put( dependency.getManagementKey(), dependency );
- }
-
- if ( dependencies.size() != normalized.size() )
- {
- model.setDependencies( new ArrayList<Dependency>( normalized.values() ) );
- }
- }
-
- protected static class DuplicateMerger
- extends MavenModelMerger
- {
-
- public void mergePlugin( Plugin target, Plugin source )
- {
- super.mergePlugin( target, source, false, Collections.emptyMap() );
- }
-
- }
-
- @Override
- public void injectDefaultValues( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- injectDependencyDefaults( model.getDependencies() );
-
- Build build = model.getBuild();
- if ( build != null )
- {
- for ( Plugin plugin : build.getPlugins() )
- {
- injectDependencyDefaults( plugin.getDependencies() );
- }
- }
- }
-
- private void injectDependencyDefaults( List<Dependency> dependencies )
- {
- for ( Dependency dependency : dependencies )
- {
- if ( StringUtils.isEmpty( dependency.getScope() ) )
- {
- // we cannot set this directly in the MDO due to the interactions with dependency management
- dependency.setScope( "compile" );
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java
deleted file mode 100644
index 7cab86b6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/normalization/ModelNormalizer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.maven.model.normalization;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles normalization of a model. In this context, normalization is the process of producing a canonical
- * representation for models that physically look different but are semantically equivalent.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelNormalizer
-{
-
- /**
- * Merges duplicate elements like multiple declarations of the same build plugin in the specified model.
- *
- * @param model The model whose duplicate elements should be merged, must not be {@code null}.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void mergeDuplicates( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
- /**
- * Sets default values in the specified model that for technical reasons cannot be set directly in the Modello
- * definition.
- *
- * @param model The model in which to set the default values, must not be {@code null}.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void injectDefaultValues( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java
deleted file mode 100644
index 51fa60e6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelPathTranslator.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.List;
-
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.Resource;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * Resolves relative paths within a model against a specific base directory.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ModelPathTranslator.class )
-public class DefaultModelPathTranslator
- implements ModelPathTranslator
-{
-
- @Requirement
- private PathTranslator pathTranslator;
-
- public DefaultModelPathTranslator setPathTranslator( PathTranslator pathTranslator )
- {
- this.pathTranslator = pathTranslator;
- return this;
- }
-
- @Override
- public void alignToBaseDirectory( Model model, File basedir, ModelBuildingRequest request )
- {
- if ( model == null || basedir == null )
- {
- return;
- }
-
- Build build = model.getBuild();
-
- if ( build != null )
- {
- build.setDirectory( alignToBaseDirectory( build.getDirectory(), basedir ) );
-
- build.setSourceDirectory( alignToBaseDirectory( build.getSourceDirectory(), basedir ) );
-
- build.setTestSourceDirectory( alignToBaseDirectory( build.getTestSourceDirectory(), basedir ) );
-
- build.setScriptSourceDirectory( alignToBaseDirectory( build.getScriptSourceDirectory(), basedir ) );
-
- for ( Resource resource : build.getResources() )
- {
- resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
- }
-
- for ( Resource resource : build.getTestResources() )
- {
- resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
- }
-
- if ( build.getFilters() != null )
- {
- List<String> filters = new ArrayList<String>( build.getFilters().size() );
- for ( String filter : build.getFilters() )
- {
- filters.add( alignToBaseDirectory( filter, basedir ) );
- }
- build.setFilters( filters );
- }
-
- build.setOutputDirectory( alignToBaseDirectory( build.getOutputDirectory(), basedir ) );
-
- build.setTestOutputDirectory( alignToBaseDirectory( build.getTestOutputDirectory(), basedir ) );
- }
-
- Reporting reporting = model.getReporting();
-
- if ( reporting != null )
- {
- reporting.setOutputDirectory( alignToBaseDirectory( reporting.getOutputDirectory(), basedir ) );
- }
- }
-
- private String alignToBaseDirectory( String path, File basedir )
- {
- return pathTranslator.alignToBaseDirectory( path, basedir );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelUrlNormalizer.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelUrlNormalizer.java
deleted file mode 100644
index 2093f8fb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultModelUrlNormalizer.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.DistributionManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Scm;
-import org.apache.maven.model.Site;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * Normalizes URLs to remove the ugly parent references "../" that got potentially inserted by URL adjustment during
- * model inheritance.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ModelUrlNormalizer.class )
-public class DefaultModelUrlNormalizer
- implements ModelUrlNormalizer
-{
-
- @Requirement
- private UrlNormalizer urlNormalizer;
-
- public DefaultModelUrlNormalizer setUrlNormalizer( UrlNormalizer urlNormalizer )
- {
- this.urlNormalizer = urlNormalizer;
- return this;
- }
-
- @Override
- public void normalize( Model model, ModelBuildingRequest request )
- {
- if ( model == null )
- {
- return;
- }
-
- model.setUrl( normalize( model.getUrl() ) );
-
- Scm scm = model.getScm();
- if ( scm != null )
- {
- scm.setUrl( normalize( scm.getUrl() ) );
- scm.setConnection( normalize( scm.getConnection() ) );
- scm.setDeveloperConnection( normalize( scm.getDeveloperConnection() ) );
- }
-
- DistributionManagement dist = model.getDistributionManagement();
- if ( dist != null )
- {
- Site site = dist.getSite();
- if ( site != null )
- {
- site.setUrl( normalize( site.getUrl() ) );
- }
- }
- }
-
- private String normalize( String url )
- {
- return urlNormalizer.normalize( url );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultPathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultPathTranslator.java
deleted file mode 100644
index 1ad9d034..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultPathTranslator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.codehaus.plexus.component.annotations.Component;
-
-/**
- * Resolves relative paths against a specific base directory.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = PathTranslator.class )
-public class DefaultPathTranslator
- implements PathTranslator
-{
-
- @Override
- public String alignToBaseDirectory( String path, File basedir )
- {
- String result = path;
-
- if ( path != null && basedir != null )
- {
- path = path.replace( '\\', File.separatorChar ).replace( '/', File.separatorChar );
-
- File file = new File( path );
- if ( file.isAbsolute() )
- {
- // path was already absolute, just normalize file separator and we're done
- result = file.getPath();
- }
- else if ( file.getPath().startsWith( File.separator ) )
- {
- // drive-relative Windows path, don't align with project directory but with drive root
- result = file.getAbsolutePath();
- }
- else
- {
- // an ordinary relative path, align with project directory
- result = new File( new File( basedir, path ).toURI().normalize() ).getAbsolutePath();
- }
- }
-
- return result;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultUrlNormalizer.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultUrlNormalizer.java
deleted file mode 100644
index 120b02f1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/DefaultUrlNormalizer.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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;
-
-/**
- * Normalizes a URL.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = UrlNormalizer.class )
-public class DefaultUrlNormalizer
- implements UrlNormalizer
-{
-
- @Override
- public String normalize( String url )
- {
- String result = url;
-
- if ( result != null )
- {
- while ( true )
- {
- int idx = result.indexOf( "/../" );
- if ( idx <= 0 )
- {
- break;
- }
- int parent = idx - 1;
- while ( parent >= 0 && result.charAt( parent ) == '/' )
- {
- parent--;
- }
- parent = result.lastIndexOf( '/', parent );
- if ( parent < 0 )
- {
- break;
- }
- result = result.substring( 0, parent ) + result.substring( idx + 3 );
- }
- }
-
- return result;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java
deleted file mode 100644
index 2bd39c55..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelPathTranslator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-
-/**
- * Resolves relative paths of a model against a specific base directory.
- *
- * @author Jason van Zyl
- */
-public interface ModelPathTranslator
-{
-
- /**
- * Resolves the well-known paths of the specified model against the given base directory. Paths within plugin
- * configuration are not processed.
- *
- * @param model The model whose paths should be resolved, may be {@code null}.
- * @param basedir The base directory to resolve relative paths against, may be {@code null}.
- * @param request The model building request that holds further settings, must not be {@code null}.
- */
- void alignToBaseDirectory( Model model, File basedir, ModelBuildingRequest request );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelUrlNormalizer.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelUrlNormalizer.java
deleted file mode 100644
index 8325b05d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/ModelUrlNormalizer.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-
-/**
- * Normalizes URLs to remove the ugly parent references "../" that got potentially inserted by URL adjustment during
- * model inheritance.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelUrlNormalizer
-{
-
- /**
- * Normalizes the well-known URLs of the specified model.
- *
- * @param model The model whose URLs should be normalized, may be {@code null}.
- * @param request The model building request that holds further settings, must not be {@code null}.
- */
- void normalize( Model model, ModelBuildingRequest request );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/PathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/PathTranslator.java
deleted file mode 100644
index c416e6ab..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/PathTranslator.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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;
-
-/**
- * Resolves relative paths against a specific base directory.
- *
- * @author Jason van Zyl
- */
-public interface PathTranslator
-{
-
- /**
- * Resolves the specified path against the given base directory. The resolved path will be absolute and uses the
- * platform-specific file separator if a base directory is given. Otherwise, the input path will be returned
- * unaltered.
- *
- * @param path The path to resolve, may be {@code null}.
- * @param basedir The base directory to resolve relative paths against, may be {@code null}.
- * @return The resolved path or {@code null} if the input path was {@code null}.
- */
- String alignToBaseDirectory( String path, File basedir );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/UrlNormalizer.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/UrlNormalizer.java
deleted file mode 100644
index b2e4a7b1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/path/UrlNormalizer.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Normalizes a URL to remove the ugly parent references "../" that got potentially inserted by URL adjustment during
- * model inheritance.
- *
- * @author Benjamin Bentmann
- */
-public interface UrlNormalizer
-{
-
- /**
- * Normalizes the specified URL.
- *
- * @param url The URL to normalize, may be {@code null}.
- * @return The normalized URL or {@code null} if the input was {@code null}.
- */
- String normalize( String url );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java
deleted file mode 100644
index dc7cf13b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.model.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.model.Build;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * Handles expansion of general build plugin configuration into individual executions.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = PluginConfigurationExpander.class )
-public class DefaultPluginConfigurationExpander
- implements PluginConfigurationExpander
-{
-
- @Override
- public void expandPluginConfiguration( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- Build build = model.getBuild();
-
- if ( build != null )
- {
- expand( build.getPlugins() );
-
- PluginManagement pluginManagement = build.getPluginManagement();
-
- if ( pluginManagement != null )
- {
- expand( pluginManagement.getPlugins() );
- }
- }
- }
-
- private void expand( List<Plugin> plugins )
- {
- for ( Plugin plugin : plugins )
- {
- Xpp3Dom pluginConfiguration = (Xpp3Dom) plugin.getConfiguration();
-
- if ( pluginConfiguration != null )
- {
- for ( PluginExecution execution : plugin.getExecutions() )
- {
- Xpp3Dom executionConfiguration = (Xpp3Dom) execution.getConfiguration();
-
- executionConfiguration =
- Xpp3Dom.mergeXpp3Dom( executionConfiguration, new Xpp3Dom( pluginConfiguration ) );
-
- execution.setConfiguration( executionConfiguration );
- }
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.java
deleted file mode 100644
index 9c842994..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.ReportSet;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * Handles expansion of general report plugin configuration into individual report sets.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ReportConfigurationExpander.class )
-public class DefaultReportConfigurationExpander
- implements ReportConfigurationExpander
-{
-
- @Override
- public void expandPluginConfiguration( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- Reporting reporting = model.getReporting();
-
- if ( reporting != null )
- {
- for ( ReportPlugin reportPlugin : reporting.getPlugins() )
- {
- Xpp3Dom parentDom = (Xpp3Dom) reportPlugin.getConfiguration();
-
- if ( parentDom != null )
- {
- for ( ReportSet execution : reportPlugin.getReportSets() )
- {
- Xpp3Dom childDom = (Xpp3Dom) execution.getConfiguration();
- childDom = Xpp3Dom.mergeXpp3Dom( childDom, new Xpp3Dom( parentDom ) );
- execution.setConfiguration( childDom );
- }
- }
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java
deleted file mode 100644
index d918d9e8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Build;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.ReportSet;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * Handles conversion of the legacy reporting section into the configuration of the new Maven Site Plugin.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ReportingConverter.class )
-public class DefaultReportingConverter
- implements ReportingConverter
-{
-
- @Override
- public void convertReporting( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- Reporting reporting = model.getReporting();
-
- if ( reporting == null )
- {
- return;
- }
-
- Build build = model.getBuild();
-
- if ( build == null )
- {
- build = new Build();
- model.setBuild( build );
- }
-
- Plugin sitePlugin = findSitePlugin( build );
-
- if ( sitePlugin == null )
- {
- sitePlugin = new Plugin();
- sitePlugin.setArtifactId( "maven-site-plugin" );
- PluginManagement pluginManagement = build.getPluginManagement();
- if ( pluginManagement == null )
- {
- pluginManagement = new PluginManagement();
- build.setPluginManagement( pluginManagement );
- }
- pluginManagement.addPlugin( sitePlugin );
- }
-
- Xpp3Dom configuration = (Xpp3Dom) sitePlugin.getConfiguration();
-
- if ( configuration == null )
- {
- configuration = new Xpp3Dom( "configuration" );
- sitePlugin.setConfiguration( configuration );
- }
-
- Xpp3Dom reportPlugins = configuration.getChild( "reportPlugins" );
-
- if ( reportPlugins != null )
- {
- // new-style report configuration already present, assume user handled entire conversion
- return;
- }
-
- if ( configuration.getChild( "outputDirectory" ) == null )
- {
- addDom( configuration, "outputDirectory", reporting.getOutputDirectory() );
- }
-
- reportPlugins = new Xpp3Dom( "reportPlugins" );
- configuration.addChild( reportPlugins );
-
- boolean hasMavenProjectInfoReportsPlugin = false;
-
- /* waiting for MSITE-484 before deprecating <reporting> section
- if ( !reporting.getPlugins().isEmpty()
- && request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1 )
- {
-
- problems.add( new ModelProblemCollectorRequest( Severity.WARNING, Version.V31 )
- .setMessage( "The <reporting> section is deprecated, please move the reports to the <configuration>"
- + " section of the new Maven Site Plugin." )
- .setLocation( reporting.getLocation( "" ) ) );
- }*/
-
- for ( ReportPlugin plugin : reporting.getPlugins() )
- {
- Xpp3Dom reportPlugin = convert( plugin );
- reportPlugins.addChild( reportPlugin );
-
- if ( !reporting.isExcludeDefaults() && !hasMavenProjectInfoReportsPlugin
- && "org.apache.maven.plugins".equals( plugin.getGroupId() )
- && "maven-project-info-reports-plugin".equals( plugin.getArtifactId() ) )
- {
- hasMavenProjectInfoReportsPlugin = true;
- }
- }
-
- if ( !reporting.isExcludeDefaults() && !hasMavenProjectInfoReportsPlugin )
- {
- Xpp3Dom dom = new Xpp3Dom( "reportPlugin" );
-
- addDom( dom, "groupId", "org.apache.maven.plugins" );
- addDom( dom, "artifactId", "maven-project-info-reports-plugin" );
-
- reportPlugins.addChild( dom );
- }
- }
-
- private Plugin findSitePlugin( Build build )
- {
- for ( Plugin plugin : build.getPlugins() )
- {
- if ( isSitePlugin( plugin ) )
- {
- return plugin;
- }
- }
-
- PluginManagement pluginManagement = build.getPluginManagement();
- if ( pluginManagement != null )
- {
- for ( Plugin plugin : pluginManagement.getPlugins() )
- {
- if ( isSitePlugin( plugin ) )
- {
- return plugin;
- }
- }
- }
-
- return null;
- }
-
- private boolean isSitePlugin( Plugin plugin )
- {
- return "maven-site-plugin".equals( plugin.getArtifactId() )
- && "org.apache.maven.plugins".equals( plugin.getGroupId() );
- }
-
- private Xpp3Dom convert( ReportPlugin plugin )
- {
- Xpp3Dom dom = new Xpp3Dom( "reportPlugin" );
-
- addDom( dom, "groupId", plugin.getGroupId() );
- addDom( dom, "artifactId", plugin.getArtifactId() );
- addDom( dom, "version", plugin.getVersion() );
-
- Xpp3Dom configuration = (Xpp3Dom) plugin.getConfiguration();
- if ( configuration != null )
- {
- configuration = new Xpp3Dom( configuration );
- dom.addChild( configuration );
- }
-
- if ( !plugin.getReportSets().isEmpty() )
- {
- Xpp3Dom reportSets = new Xpp3Dom( "reportSets" );
- for ( ReportSet reportSet : plugin.getReportSets() )
- {
- Xpp3Dom rs = convert( reportSet );
- reportSets.addChild( rs );
- }
- dom.addChild( reportSets );
- }
-
- return dom;
- }
-
- private Xpp3Dom convert( ReportSet reportSet )
- {
- Xpp3Dom dom = new Xpp3Dom( "reportSet" );
-
- addDom( dom, "id", reportSet.getId() );
-
- Xpp3Dom configuration = (Xpp3Dom) reportSet.getConfiguration();
- if ( configuration != null )
- {
- configuration = new Xpp3Dom( configuration );
- dom.addChild( configuration );
- }
-
- if ( !reportSet.getReports().isEmpty() )
- {
- Xpp3Dom reports = new Xpp3Dom( "reports" );
- for ( String report : reportSet.getReports() )
- {
- addDom( reports, "report", report );
- }
- dom.addChild( reports );
- }
-
- return dom;
- }
-
- private void addDom( Xpp3Dom parent, String childName, String childValue )
- {
- if ( StringUtils.isNotEmpty( childValue ) )
- {
- parent.addChild( newDom( childName, childValue ) );
- }
- }
-
- private Xpp3Dom newDom( String name, String value )
- {
- Xpp3Dom dom = new Xpp3Dom( name );
- dom.setValue( value );
- return dom;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/LifecycleBindingsInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/LifecycleBindingsInjector.java
deleted file mode 100644
index 9c0f06de..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/LifecycleBindingsInjector.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles injection of plugin executions induced by the lifecycle bindings for a packaging.
- *
- * @author Benjamin Bentmann
- */
-public interface LifecycleBindingsInjector
-{
-
- /**
- * Injects plugin executions induced by lifecycle bindings into the specified model. The model has already undergone
- * injection of plugin management so any plugins that are injected by lifecycle bindings and are not already present
- * in the model's plugin section need to be subjected to the model's plugin management.
- *
- * @param model The model into which to inject the default plugin executions for its packaging, must not be
- * <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void injectLifecycleBindings( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java
deleted file mode 100644
index 23994aa6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/PluginConfigurationExpander.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles expansion of general build plugin configuration into individual executions.
- *
- * @author Benjamin Bentmann
- */
-public interface PluginConfigurationExpander
-{
-
- /**
- * Merges values from general build plugin configuration into the individual plugin executions of the given model.
- *
- * @param model The model whose build plugin configuration should be expanded, must not be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void expandPluginConfiguration( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportConfigurationExpander.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportConfigurationExpander.java
deleted file mode 100644
index 28ad5962..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportConfigurationExpander.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles expansion of general report plugin configuration into individual report sets.
- *
- * @author Benjamin Bentmann
- */
-public interface ReportConfigurationExpander
-{
-
- /**
- * Merges values from general report plugin configuration into the individual reports sets of the given model.
- *
- * @param model The model whose report plugin configuration should be expanded, must not be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void expandPluginConfiguration( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java
deleted file mode 100644
index c5ea338c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.maven.model.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 org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles conversion of the legacy reporting section into the configuration of the new Maven Site Plugin.
- *
- * @author Benjamin Bentmann
- */
-public interface ReportingConverter
-{
-
- /**
- * Converts values from model's reporting section into the configuration for the new Maven Site Plugin.
- *
- * @param model The model whose reporting section should be converted, must not be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void convertReporting( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileActivationContext.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileActivationContext.java
deleted file mode 100644
index bb38a2e0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileActivationContext.java
+++ /dev/null
@@ -1,259 +0,0 @@
-package org.apache.maven.model.profile;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * Describes the environmental context used to determine the activation status of profiles.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultProfileActivationContext
- implements ProfileActivationContext
-{
-
- private List<String> activeProfileIds = Collections.emptyList();
-
- private List<String> inactiveProfileIds = Collections.emptyList();
-
- private Map<String, String> systemProperties = Collections.emptyMap();
-
- private Map<String, String> userProperties = Collections.emptyMap();
-
- private Map<String, String> projectProperties = Collections.emptyMap();
-
- private File projectDirectory;
-
- @Override
- public List<String> getActiveProfileIds()
- {
- return activeProfileIds;
- }
-
- /**
- * Sets the identifiers of those profiles that should be activated by explicit demand.
- *
- * @param activeProfileIds The identifiers of those profiles to activate, may be {@code null}.
- * @return This context, never {@code null}.
- */
- public DefaultProfileActivationContext setActiveProfileIds( List<String> activeProfileIds )
- {
- if ( activeProfileIds != null )
- {
- this.activeProfileIds = Collections.unmodifiableList( activeProfileIds );
- }
- else
- {
- this.activeProfileIds = Collections.emptyList();
- }
-
- return this;
- }
-
- @Override
- public List<String> getInactiveProfileIds()
- {
- return inactiveProfileIds;
- }
-
- /**
- * Sets the identifiers of those profiles that should be deactivated by explicit demand.
- *
- * @param inactiveProfileIds The identifiers of those profiles to deactivate, may be {@code null}.
- * @return This context, never {@code null}.
- */
- public DefaultProfileActivationContext setInactiveProfileIds( List<String> inactiveProfileIds )
- {
- if ( inactiveProfileIds != null )
- {
- this.inactiveProfileIds = Collections.unmodifiableList( inactiveProfileIds );
- }
- else
- {
- this.inactiveProfileIds = Collections.emptyList();
- }
-
- return this;
- }
-
- @Override
- public Map<String, String> getSystemProperties()
- {
- return systemProperties;
- }
-
- /**
- * Sets the system properties to use for interpolation and profile activation. The system properties are collected
- * from the runtime environment like {@link System#getProperties()} and environment variables.
- *
- * @param systemProperties The system properties, may be {@code null}.
- * @return This context, never {@code null}.
- */
- @SuppressWarnings( "unchecked" )
- public DefaultProfileActivationContext setSystemProperties( Properties systemProperties )
- {
- if ( systemProperties != null )
- {
- this.systemProperties = Collections.unmodifiableMap( (Map) systemProperties );
- }
- else
- {
- this.systemProperties = Collections.emptyMap();
- }
-
- return this;
- }
-
- /**
- * Sets the system properties to use for interpolation and profile activation. The system properties are collected
- * from the runtime environment like {@link System#getProperties()} and environment variables.
- *
- * @param systemProperties The system properties, may be {@code null}.
- * @return This context, never {@code null}.
- */
- public DefaultProfileActivationContext setSystemProperties( Map<String, String> systemProperties )
- {
- if ( systemProperties != null )
- {
- this.systemProperties = Collections.unmodifiableMap( systemProperties );
- }
- else
- {
- this.systemProperties = Collections.emptyMap();
- }
-
- return this;
- }
-
- @Override
- public Map<String, String> getUserProperties()
- {
- return userProperties;
- }
-
- /**
- * Sets the user properties to use for interpolation and profile activation. The user properties have been
- * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
- * line.
- *
- * @param userProperties The user properties, may be {@code null}.
- * @return This context, never {@code null}.
- */
- @SuppressWarnings( "unchecked" )
- public DefaultProfileActivationContext setUserProperties( Properties userProperties )
- {
- if ( userProperties != null )
- {
- this.userProperties = Collections.unmodifiableMap( (Map) userProperties );
- }
- else
- {
- this.userProperties = Collections.emptyMap();
- }
-
- return this;
- }
-
- /**
- * Sets the user properties to use for interpolation and profile activation. The user properties have been
- * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
- * line.
- *
- * @param userProperties The user properties, may be {@code null}.
- * @return This context, never {@code null}.
- */
- public DefaultProfileActivationContext setUserProperties( Map<String, String> userProperties )
- {
- if ( userProperties != null )
- {
- this.userProperties = Collections.unmodifiableMap( userProperties );
- }
- else
- {
- this.userProperties = Collections.emptyMap();
- }
-
- return this;
- }
-
- @Override
- public File getProjectDirectory()
- {
- return projectDirectory;
- }
-
- /**
- * Sets the base directory of the current project.
- *
- * @param projectDirectory The base directory of the current project, may be {@code null} if profile activation
- * happens in the context of metadata retrieval rather than project building.
- * @return This context, never {@code null}.
- */
- public DefaultProfileActivationContext setProjectDirectory( File projectDirectory )
- {
- this.projectDirectory = projectDirectory;
-
- return this;
- }
-
- @Override
- public Map<String, String> getProjectProperties()
- {
- return projectProperties;
- }
-
- public DefaultProfileActivationContext setProjectProperties( Properties projectProperties )
- {
- if ( projectProperties != null )
- {
-
- this.projectProperties = Collections.unmodifiableMap( toMap( projectProperties ) );
- }
- else
- {
- this.projectProperties = Collections.emptyMap();
- }
-
- return this;
- }
-
- private Map<String, String> toMap( Properties properties )
- {
- if ( properties == null )
- {
- return Collections.emptyMap();
- }
- Map<String, String> map = new HashMap<String, String>();
- Enumeration keys = properties.keys();
- while ( keys.hasMoreElements() )
- {
- String key = (String) keys.nextElement();
- map.put( key, properties.getProperty( key ) );
- }
- return map;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java
deleted file mode 100644
index aeed0235..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileInjector.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.apache.maven.model.profile;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Build;
-import org.apache.maven.model.BuildBase;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.ModelBase;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginContainer;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.ReportSet;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.merge.MavenModelMerger;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Handles profile injection into the model.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ProfileInjector.class )
-public class DefaultProfileInjector
- implements ProfileInjector
-{
-
- private ProfileModelMerger merger = new ProfileModelMerger();
-
- @Override
- public void injectProfile( Model model, Profile profile, ModelBuildingRequest request,
- ModelProblemCollector problems )
- {
- if ( profile != null )
- {
- merger.mergeModelBase( model, profile );
-
- if ( profile.getBuild() != null )
- {
- if ( model.getBuild() == null )
- {
- model.setBuild( new Build() );
- }
- merger.mergeBuildBase( model.getBuild(), profile.getBuild() );
- }
- }
- }
-
- protected static class ProfileModelMerger
- extends MavenModelMerger
- {
-
- public void mergeModelBase( ModelBase target, ModelBase source )
- {
- mergeModelBase( target, source, true, Collections.emptyMap() );
- }
-
- public void mergeBuildBase( BuildBase target, BuildBase source )
- {
- mergeBuildBase( target, source, true, Collections.emptyMap() );
- }
-
- @Override
- protected void mergePluginContainer_Plugins( PluginContainer target, PluginContainer source,
- boolean sourceDominant, Map<Object, Object> context )
- {
- List<Plugin> src = source.getPlugins();
- if ( !src.isEmpty() )
- {
- List<Plugin> tgt = target.getPlugins();
- Map<Object, Plugin> master = new LinkedHashMap<Object, Plugin>( tgt.size() * 2 );
-
- for ( Plugin element : tgt )
- {
- Object key = getPluginKey( element );
- master.put( key, element );
- }
-
- Map<Object, List<Plugin>> predecessors = new LinkedHashMap<Object, List<Plugin>>();
- List<Plugin> pending = new ArrayList<Plugin>();
- for ( Plugin element : src )
- {
- Object key = getPluginKey( element );
- Plugin existing = master.get( key );
- if ( existing != null )
- {
- mergePlugin( existing, element, sourceDominant, context );
-
- if ( !pending.isEmpty() )
- {
- predecessors.put( key, pending );
- pending = new ArrayList<Plugin>();
- }
- }
- else
- {
- pending.add( element );
- }
- }
-
- List<Plugin> result = new ArrayList<Plugin>( src.size() + tgt.size() );
- for ( Map.Entry<Object, Plugin> entry : master.entrySet() )
- {
- List<Plugin> pre = predecessors.get( entry.getKey() );
- if ( pre != null )
- {
- result.addAll( pre );
- }
- result.add( entry.getValue() );
- }
- result.addAll( pending );
-
- target.setPlugins( result );
- }
- }
-
- @Override
- protected void mergePlugin_Executions( Plugin target, Plugin source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<PluginExecution> src = source.getExecutions();
- if ( !src.isEmpty() )
- {
- List<PluginExecution> tgt = target.getExecutions();
- Map<Object, PluginExecution> merged =
- new LinkedHashMap<Object, PluginExecution>( ( src.size() + tgt.size() ) * 2 );
-
- for ( PluginExecution element : tgt )
- {
- Object key = getPluginExecutionKey( element );
- merged.put( key, element );
- }
-
- for ( PluginExecution element : src )
- {
- Object key = getPluginExecutionKey( element );
- PluginExecution existing = merged.get( key );
- if ( existing != null )
- {
- mergePluginExecution( existing, element, sourceDominant, context );
- }
- else
- {
- merged.put( key, element );
- }
- }
-
- target.setExecutions( new ArrayList<PluginExecution>( merged.values() ) );
- }
- }
-
- @Override
- protected void mergeReporting_Plugins( Reporting target, Reporting source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<ReportPlugin> src = source.getPlugins();
- if ( !src.isEmpty() )
- {
- List<ReportPlugin> tgt = target.getPlugins();
- Map<Object, ReportPlugin> merged =
- new LinkedHashMap<Object, ReportPlugin>( ( src.size() + tgt.size() ) * 2 );
-
- for ( ReportPlugin element : tgt )
- {
- Object key = getReportPluginKey( element );
- merged.put( key, element );
- }
-
- for ( ReportPlugin element : src )
- {
- Object key = getReportPluginKey( element );
- ReportPlugin existing = merged.get( key );
- if ( existing == null )
- {
- merged.put( key, element );
- }
- else
- {
- mergeReportPlugin( existing, element, sourceDominant, context );
- }
- }
-
- target.setPlugins( new ArrayList<ReportPlugin>( merged.values() ) );
- }
- }
-
- @Override
- protected void mergeReportPlugin_ReportSets( ReportPlugin target, ReportPlugin source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- List<ReportSet> src = source.getReportSets();
- if ( !src.isEmpty() )
- {
- List<ReportSet> tgt = target.getReportSets();
- Map<Object, ReportSet> merged = new LinkedHashMap<Object, ReportSet>( ( src.size() + tgt.size() ) * 2 );
-
- for ( ReportSet element : tgt )
- {
- Object key = getReportSetKey( element );
- merged.put( key, element );
- }
-
- for ( ReportSet element : src )
- {
- Object key = getReportSetKey( element );
- ReportSet existing = merged.get( key );
- if ( existing != null )
- {
- mergeReportSet( existing, element, sourceDominant, context );
- }
- else
- {
- merged.put( key, element );
- }
- }
-
- target.setReportSets( new ArrayList<ReportSet>( merged.values() ) );
- }
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileSelector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileSelector.java
deleted file mode 100644
index 512476a1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/DefaultProfileSelector.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package org.apache.maven.model.profile;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Collection;
-import java.util.HashSet;
-import java.util.List;
-
-import org.apache.maven.model.Activation;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.profile.activation.ProfileActivator;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * Calculates the active profiles among a given collection of profiles.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ProfileSelector.class )
-public class DefaultProfileSelector
- implements ProfileSelector
-{
-
- @Requirement( role = ProfileActivator.class )
- private List<ProfileActivator> activators = new ArrayList<ProfileActivator>();
-
- public DefaultProfileSelector addProfileActivator( ProfileActivator profileActivator )
- {
- if ( profileActivator != null )
- {
- activators.add( profileActivator );
- }
- return this;
- }
-
- @Override
- public List<Profile> getActiveProfiles( Collection<Profile> profiles, ProfileActivationContext context,
- ModelProblemCollector problems )
- {
- Collection<String> activatedIds = new HashSet<String>( context.getActiveProfileIds() );
- Collection<String> deactivatedIds = new HashSet<String>( context.getInactiveProfileIds() );
-
- List<Profile> activeProfiles = new ArrayList<Profile>( profiles.size() );
- List<Profile> activePomProfilesByDefault = new ArrayList<Profile>();
- boolean activatedPomProfileNotByDefault = false;
-
- for ( Profile profile : profiles )
- {
- if ( !deactivatedIds.contains( profile.getId() ) )
- {
- if ( activatedIds.contains( profile.getId() ) || isActive( profile, context, problems ) )
- {
- activeProfiles.add( profile );
-
- if ( Profile.SOURCE_POM.equals( profile.getSource() ) )
- {
- activatedPomProfileNotByDefault = true;
- }
- }
- else if ( isActiveByDefault( profile ) )
- {
- if ( Profile.SOURCE_POM.equals( profile.getSource() ) )
- {
- activePomProfilesByDefault.add( profile );
- }
- else
- {
- activeProfiles.add( profile );
- }
- }
-
- }
- }
-
- if ( !activatedPomProfileNotByDefault )
- {
- activeProfiles.addAll( activePomProfilesByDefault );
- }
-
- return activeProfiles;
- }
-
- private boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- boolean isActive = false;
- for ( ProfileActivator activator : activators )
- {
- if ( activator.presentInConfig( profile, context, problems ) )
- {
- isActive = true;
- }
- }
- for ( ProfileActivator activator : activators )
- {
- try
- {
- if ( activator.presentInConfig( profile, context, problems ) )
- {
- isActive &= activator.isActive( profile, context, problems );
- }
- }
- catch ( RuntimeException e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Failed to determine activation for profile " + profile.getId() )
- .setLocation( profile.getLocation( "" ) )
- .setException( e ) );
- return false;
- }
- }
- return isActive;
- }
-
- private boolean isActiveByDefault( Profile profile )
- {
- Activation activation = profile.getActivation();
- return activation != null && activation.isActiveByDefault();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileActivationContext.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileActivationContext.java
deleted file mode 100644
index d501e660..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileActivationContext.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.apache.maven.model.profile;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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 java.util.Map;
-
-/**
- * Describes the environmental context used to determine the activation status of profiles.
- *
- * @author Benjamin Bentmann
- */
-public interface ProfileActivationContext
-{
-
- /**
- * Gets the identifiers of those profiles that should be activated by explicit demand.
- *
- * @return The identifiers of those profiles to activate, never {@code null}.
- */
- List<String> getActiveProfileIds();
-
- /**
- * Gets the identifiers of those profiles that should be deactivated by explicit demand.
- *
- * @return The identifiers of those profiles to deactivate, never {@code null}.
- */
- List<String> getInactiveProfileIds();
-
- /**
- * Gets the system properties to use for interpolation and profile activation. The system properties are collected
- * from the runtime environment like {@link System#getProperties()} and environment variables.
- *
- * @return The execution properties, never {@code null}.
- */
- Map<String, String> getSystemProperties();
-
- /**
- * Gets the user properties to use for interpolation and profile activation. The user properties have been
- * configured directly by the user on his discretion, e.g. via the {@code -Dkey=value} parameter on the command
- * line.
- *
- * @return The user properties, never {@code null}.
- */
- Map<String, String> getUserProperties();
-
- /**
- * Gets the base directory of the current project (if any).
- *
- * @return The base directory of the current project or {@code null} if none.
- */
- File getProjectDirectory();
-
- /**
- * Gets current calculated project properties
- *
- * @return The project properties, never {@code null}.
- */
- Map<String, String> getProjectProperties();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java
deleted file mode 100644
index fbd7ddf0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileInjector.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.model.profile;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Handles profile injection into the model.
- *
- * @author Benjamin Bentmann
- */
-public interface ProfileInjector
-{
-
- /**
- * Merges values from the specified profile into the given model. Implementations are expected to keep the profile
- * and model completely decoupled by injecting deep copies rather than the original objects from the profile.
- *
- * @param model The model into which to merge the values defined by the profile, must not be <code>null</code>.
- * @param profile The (read-only) profile whose values should be injected, may be <code>null</code>.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void injectProfile( Model model, Profile profile, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileSelector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileSelector.java
deleted file mode 100644
index 53ea8d9c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/ProfileSelector.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.apache.maven.model.profile;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Collection;
-import java.util.List;
-
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Calculates the active profiles among a given collection of profiles.
- *
- * @author Benjamin Bentmann
- */
-public interface ProfileSelector
-{
-
- /**
- * Determines the profiles which are active in the specified activation context. Active profiles will eventually be
- * injected into the model.
- *
- * @param profiles The profiles whose activation status should be determined, must not be {@code null}.
- * @param context The environmental context used to determine the activation status of a profile, must not be
- * {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- * @return The profiles that have been activated, never {@code null}.
- */
- List<Profile> getActiveProfiles( Collection<Profile> profiles, ProfileActivationContext context,
- ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java
deleted file mode 100644
index c0dcce23..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java
+++ /dev/null
@@ -1,192 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.apache.maven.model.Activation;
-import org.apache.maven.model.ActivationFile;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.path.PathTranslator;
-import org.apache.maven.model.profile.ProfileActivationContext;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.interpolation.AbstractValueSource;
-import org.codehaus.plexus.interpolation.MapBasedValueSource;
-import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * Determines profile activation based on the existence/absence of some file.
- * File name interpolation support is limited to <code>${basedir}</code> (since Maven 3,
- * see <a href="http://jira.codehaus.org/browse/MNG-2363">MNG-2363</a>),
- * System properties and request properties.
- * <code>${project.basedir}</code> is intentionally not supported as this form would suggest that other
- * <code>${project.*}</code> expressions can be used, which is however beyond the design.
- *
- * @author Benjamin Bentmann
- * @see ActivationFile
- * @see org.apache.maven.model.validation.DefaultModelValidator#validateRawModel
- */
-@Component( role = ProfileActivator.class, hint = "file" )
-public class FileProfileActivator
- implements ProfileActivator
-{
-
- @Requirement
- private PathTranslator pathTranslator;
-
- public FileProfileActivator setPathTranslator( PathTranslator pathTranslator )
- {
- this.pathTranslator = pathTranslator;
- return this;
- }
-
- @Override
- public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- ActivationFile file = activation.getFile();
-
- if ( file == null )
- {
- return false;
- }
-
- String path;
- boolean missing;
-
- if ( StringUtils.isNotEmpty( file.getExists() ) )
- {
- path = file.getExists();
- missing = false;
- }
- else if ( StringUtils.isNotEmpty( file.getMissing() ) )
- {
- path = file.getMissing();
- missing = true;
- }
- else
- {
- return false;
- }
-
- RegexBasedInterpolator interpolator = new RegexBasedInterpolator();
-
- final File basedir = context.getProjectDirectory();
-
- if ( basedir != null )
- {
- interpolator.addValueSource( new AbstractValueSource( false )
- {
- @Override
- public Object getValue( String expression )
- {
- /*
- * NOTE: We intentionally only support ${basedir} and not ${project.basedir} as the latter form
- * would suggest that other project.* expressions can be used which is however beyond the design.
- */
- if ( "basedir".equals( expression ) )
- {
- return basedir.getAbsolutePath();
- }
- return null;
- }
- } );
- }
- else if ( path.contains( "${basedir}" ) )
- {
- return false;
- }
-
- interpolator.addValueSource( new MapBasedValueSource( context.getProjectProperties() ) );
-
- interpolator.addValueSource( new MapBasedValueSource( context.getUserProperties() ) );
-
- interpolator.addValueSource( new MapBasedValueSource( context.getSystemProperties() ) );
-
- try
- {
- path = interpolator.interpolate( path, "" );
- }
- catch ( Exception e )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Failed to interpolate file location " + path + " for profile " + profile.getId()
- + ": " + e.getMessage() )
- .setLocation( file.getLocation( missing ? "missing" : "exists" ) )
- .setException( e ) );
- return false;
- }
-
- path = pathTranslator.alignToBaseDirectory( path, basedir );
-
- // replace activation value with interpolated value
- if ( missing )
- {
- file.setMissing( path );
- }
- else
- {
- file.setExists( path );
- }
-
- File f = new File( path );
-
- if ( !f.isAbsolute() )
- {
- return false;
- }
-
- boolean fileExists = f.exists();
-
- return missing ? !fileExists : fileExists;
- }
-
- @Override
- public boolean presentInConfig( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- ActivationFile file = activation.getFile();
-
- if ( file == null )
- {
- return false;
- }
- return true;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java
deleted file mode 100644
index e981bfd3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Arrays;
-import java.util.List;
-
-import org.apache.maven.model.Activation;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.profile.ProfileActivationContext;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Determines profile activation based on the version of the current Java runtime.
- *
- * @author Benjamin Bentmann
- * @see Activation#getJdk()
- */
-@Component( role = ProfileActivator.class, hint = "jdk-version" )
-public class JdkVersionProfileActivator
- implements ProfileActivator
-{
-
- @Override
- public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- String jdk = activation.getJdk();
-
- if ( jdk == null )
- {
- return false;
- }
-
- String version = context.getSystemProperties().get( "java.version" );
-
- if ( version == null || version.length() <= 0 )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Failed to determine Java version for profile " + profile.getId() )
- .setLocation( activation.getLocation( "jdk" ) ) );
- return false;
- }
-
- if ( jdk.startsWith( "!" ) )
- {
- return !version.startsWith( jdk.substring( 1 ) );
- }
- else if ( isRange( jdk ) )
- {
- return isInRange( version, getRange( jdk ) );
- }
- else
- {
- return version.startsWith( jdk );
- }
- }
-
- @Override
- public boolean presentInConfig( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- String jdk = activation.getJdk();
-
- if ( jdk == null )
- {
- return false;
- }
- return true;
- }
-
- private static boolean isInRange( String value, List<RangeValue> range )
- {
- int leftRelation = getRelationOrder( value, range.get( 0 ), true );
-
- if ( leftRelation == 0 )
- {
- return true;
- }
-
- if ( leftRelation < 0 )
- {
- return false;
- }
-
- return getRelationOrder( value, range.get( 1 ), false ) <= 0;
- }
-
- private static int getRelationOrder( String value, RangeValue rangeValue, boolean isLeft )
- {
- if ( rangeValue.value.length() <= 0 )
- {
- return isLeft ? 1 : -1;
- }
-
- value = value.replaceAll( "[^0-9\\.\\-\\_]", "" );
-
- List<String> valueTokens = new ArrayList<String>( Arrays.asList( value.split( "[\\.\\-\\_]" ) ) );
- List<String> rangeValueTokens = new ArrayList<String>( Arrays.asList( rangeValue.value.split( "\\." ) ) );
-
- addZeroTokens( valueTokens, 3 );
- addZeroTokens( rangeValueTokens, 3 );
-
- for ( int i = 0; i < 3; i++ )
- {
- int x = Integer.parseInt( valueTokens.get( i ) );
- int y = Integer.parseInt( rangeValueTokens.get( i ) );
- if ( x < y )
- {
- return -1;
- }
- else if ( x > y )
- {
- return 1;
- }
- }
- if ( !rangeValue.closed )
- {
- return isLeft ? -1 : 1;
- }
- return 0;
- }
-
- private static void addZeroTokens( List<String> tokens, int max )
- {
- while ( tokens.size() < max )
- {
- tokens.add( "0" );
- }
- }
-
- private static boolean isRange( String value )
- {
- return value.startsWith( "[" ) || value.startsWith( "(" );
- }
-
- private static List<RangeValue> getRange( String range )
- {
- List<RangeValue> ranges = new ArrayList<RangeValue>();
-
- for ( String token : range.split( "," ) )
- {
- if ( token.startsWith( "[" ) )
- {
- ranges.add( new RangeValue( token.replace( "[", "" ), true ) );
- }
- else if ( token.startsWith( "(" ) )
- {
- ranges.add( new RangeValue( token.replace( "(", "" ), false ) );
- }
- else if ( token.endsWith( "]" ) )
- {
- ranges.add( new RangeValue( token.replace( "]", "" ), true ) );
- }
- else if ( token.endsWith( ")" ) )
- {
- ranges.add( new RangeValue( token.replace( ")", "" ), false ) );
- }
- else if ( token.length() <= 0 )
- {
- ranges.add( new RangeValue( "", false ) );
- }
- }
- if ( ranges.size() < 2 )
- {
- ranges.add( new RangeValue( "99999999", false ) );
- }
- return ranges;
- }
-
- private static class RangeValue
- {
- private String value;
-
- private boolean closed;
-
- RangeValue( String value, boolean closed )
- {
- this.value = value.trim();
- this.closed = closed;
- }
-
- @Override
- public String toString()
- {
- return value;
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java
deleted file mode 100644
index 30abb1fa..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/OperatingSystemProfileActivator.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Activation;
-import org.apache.maven.model.ActivationOS;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.profile.ProfileActivationContext;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.Os;
-
-/**
- * Determines profile activation based on the operating system of the current runtime platform.
- *
- * @author Benjamin Bentmann
- * @see ActivationOS
- */
-@Component( role = ProfileActivator.class, hint = "os" )
-public class OperatingSystemProfileActivator
- implements ProfileActivator
-{
-
- @Override
- public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- ActivationOS os = activation.getOs();
-
- if ( os == null )
- {
- return false;
- }
-
- boolean active = ensureAtLeastOneNonNull( os );
-
- if ( active && os.getFamily() != null )
- {
- active = determineFamilyMatch( os.getFamily() );
- }
- if ( active && os.getName() != null )
- {
- active = determineNameMatch( os.getName() );
- }
- if ( active && os.getArch() != null )
- {
- active = determineArchMatch( os.getArch() );
- }
- if ( active && os.getVersion() != null )
- {
- active = determineVersionMatch( os.getVersion() );
- }
-
- return active;
- }
-
- @Override
- public boolean presentInConfig( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- ActivationOS os = activation.getOs();
-
- if ( os == null )
- {
- return false;
- }
- return true;
- }
-
- private boolean ensureAtLeastOneNonNull( ActivationOS os )
- {
- return os.getArch() != null || os.getFamily() != null || os.getName() != null || os.getVersion() != null;
- }
-
- private boolean determineVersionMatch( String version )
- {
- String test = version;
- boolean reverse = false;
-
- if ( test.startsWith( "!" ) )
- {
- reverse = true;
- test = test.substring( 1 );
- }
-
- boolean result = Os.isVersion( test );
-
- return reverse ? !result : result;
- }
-
- private boolean determineArchMatch( String arch )
- {
- String test = arch;
- boolean reverse = false;
-
- if ( test.startsWith( "!" ) )
- {
- reverse = true;
- test = test.substring( 1 );
- }
-
- boolean result = Os.isArch( test );
-
- return reverse ? !result : result;
- }
-
- private boolean determineNameMatch( String name )
- {
- String test = name;
- boolean reverse = false;
-
- if ( test.startsWith( "!" ) )
- {
- reverse = true;
- test = test.substring( 1 );
- }
-
- boolean result = Os.isName( test );
-
- return reverse ? !result : result;
- }
-
- private boolean determineFamilyMatch( String family )
- {
- String test = family;
- boolean reverse = false;
-
- if ( test.startsWith( "!" ) )
- {
- reverse = true;
- test = test.substring( 1 );
- }
-
- boolean result = Os.isFamily( test );
-
- return reverse ? !result : result;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/ProfileActivator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/ProfileActivator.java
deleted file mode 100644
index 0547e742..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/ProfileActivator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.profile.ProfileActivationContext;
-
-/**
- * Determines whether a profile should be activated.
- *
- * @author Benjamin Bentmann
- */
-public interface ProfileActivator
-{
-
- /**
- * Determines whether the specified profile is active in the given activator context.
- *
- * @param profile The profile whose activation status should be determined, must not be {@code null}.
- * @param context The environmental context used to determine the activation status of the profile, must not be
- * {@code null}.
- * @param problems The container used to collect problems (e.g. bad syntax) that were encountered, must not be
- * {@code null}.
- * @return {@code true} if the profile is active, {@code false} otherwise.
- */
- boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems );
-
- /**
- * Determines whether specified activation method is present in configuration or not. It should help to have AND
- * between activation conditions
- * Need for solving http://jira.codehaus.org/browse/MNG-4565
- * @param profile The profile whose activation status should be determined, must not be {@code null}.
- * @param context The environmental context used to determine the activation status of the profile, must not be
- * {@code null}.
- * @param problems The container used to collect problems (e.g. bad syntax) that were encountered, must not be
- * {@code null}.
- * @return {@code true} if the profile is active, {@code false} otherwise.
- */
- boolean presentInConfig( Profile profile, ProfileActivationContext context, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/PropertyProfileActivator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/PropertyProfileActivator.java
deleted file mode 100644
index ba7886f0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/PropertyProfileActivator.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Activation;
-import org.apache.maven.model.ActivationProperty;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.profile.ProfileActivationContext;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * Determines profile activation based on the existence or value of some execution property.
- *
- * @author Benjamin Bentmann
- * @see ActivationProperty
- */
-@Component( role = ProfileActivator.class, hint = "property" )
-public class PropertyProfileActivator
- implements ProfileActivator
-{
-
- @Override
- public boolean isActive( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- ActivationProperty property = activation.getProperty();
-
- if ( property == null )
- {
- return false;
- }
-
- String name = property.getName();
- boolean reverseName = false;
-
- if ( name != null && name.startsWith( "!" ) )
- {
- reverseName = true;
- name = name.substring( 1 );
- }
-
- if ( name == null || name.length() <= 0 )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "The property name is required to activate the profile " + profile.getId() )
- .setLocation( property.getLocation( "" ) ) );
- return false;
- }
-
- String sysValue = context.getUserProperties().get( name );
- if ( sysValue == null )
- {
- sysValue = context.getSystemProperties().get( name );
- }
-
- String propValue = property.getValue();
- if ( StringUtils.isNotEmpty( propValue ) )
- {
- boolean reverseValue = false;
- if ( propValue.startsWith( "!" ) )
- {
- reverseValue = true;
- propValue = propValue.substring( 1 );
- }
-
- // we have a value, so it has to match the system value...
- boolean result = propValue.equals( sysValue );
-
- return reverseValue ? !result : result;
- }
- else
- {
- boolean result = StringUtils.isNotEmpty( sysValue );
-
- return reverseName ? !result : result;
- }
- }
-
- @Override
- public boolean presentInConfig( Profile profile, ProfileActivationContext context, ModelProblemCollector problems )
- {
- Activation activation = profile.getActivation();
-
- if ( activation == null )
- {
- return false;
- }
-
- ActivationProperty property = activation.getProperty();
-
- if ( property == null )
- {
- return false;
- }
- return true;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/InvalidRepositoryException.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/InvalidRepositoryException.java
deleted file mode 100644
index 303aff08..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/InvalidRepositoryException.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.apache.maven.model.resolution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Repository;
-
-/**
- * Signals an error when adding a repository to the model resolver.
- *
- * @author Benjamin Bentmann
- */
-public class InvalidRepositoryException
- extends Exception
-{
-
- /**
- * The repository that raised this error, can be {@code null}.
- */
- private Repository repository;
-
- /**
- * Creates a new exception with specified detail message and cause for the given repository.
- *
- * @param message The detail message, may be {@code null}.
- * @param repository The repository that caused the error, may be {@code null}.
- * @param cause The cause, may be {@code null}.
- */
- public InvalidRepositoryException( String message, Repository repository, Throwable cause )
- {
- super( message, cause );
- this.repository = repository;
- }
-
- /**
- * Creates a new exception with specified detail message for the given repository.
- *
- * @param message The detail message, may be {@code null}.
- * @param repository The repository that caused the error, may be {@code null}.
- */
- public InvalidRepositoryException( String message, Repository repository )
- {
- super( message );
- this.repository = repository;
- }
-
- /**
- * Gets the repository that causes this error (if any).
- *
- * @return The repository that causes this error or {@code null} if not known.
- */
- public Repository getRepository()
- {
- return repository;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java
deleted file mode 100644
index c81a5369..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.maven.model.resolution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Parent;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.building.ModelSource;
-
-/**
- * Resolves a POM from its coordinates. During the build process, the
- * {@link org.apache.maven.model.building.ModelBuilder} will add any relevant repositories to the model resolver. In
- * other words, the model resolver is stateful and should not be reused across multiple model building requests.
- *
- * @author Benjamin Bentmann
- */
-public interface ModelResolver
-{
-
- /**
- * Tries to resolve the POM for the specified coordinates.
- *
- * @param groupId The group identifier of the POM, must not be {@code null}.
- * @param artifactId The artifact identifier of the POM, must not be {@code null}.
- * @param version The version of the POM, must not be {@code null}.
- * @return The source of the requested POM, never {@code null}.
- * @throws UnresolvableModelException If the POM could not be resolved from any configured repository.
- */
- ModelSource resolveModel( String groupId, String artifactId, String version )
- throws UnresolvableModelException;
-
- /**
- * Tries to resolve the POM for the specified parent coordinates possibly updating {@code parent}.
- *
- * @param parent The parent coordinates to resolve, must not be {@code null}.
- * @return The source of the requested POM, never {@code null}.
- * @throws UnresolvableModelException If the POM could not be resolved from any configured repository.
- * @since 3.2.2
- */
- ModelSource resolveModel( Parent parent )
- throws UnresolvableModelException;
-
- /**
- * Adds a repository to use for subsequent resolution requests. The order in which repositories are added matters,
- * repositories that were added first should also be searched first. When multiple repositories with the same
- * identifier are added, only the first repository being added will be used.
- *
- * @param repository The repository to add to the internal search chain, must not be {@code null}.
- * @throws InvalidRepositoryException If the repository could not be added (e.g. due to invalid URL or layout).
- */
- void addRepository( Repository repository )
- throws InvalidRepositoryException;
-
- /**
- * Adds a repository to use for subsequent resolution requests. The order in which repositories are added matters,
- * repositories that were added first should also be searched first. When multiple repositories with the same
- * identifier are added, then the value of the replace argument is determines the behaviour.
- *
- * If replace is false than any existing repository with the same Id will remain in use. If replace
- * is true the new repository replaces the original.
- *
- * @param repository The repository to add to the internal search chain, must not be {@code null}.
- * @throws InvalidRepositoryException If the repository could not be added (e.g. due to invalid URL or layout).
- */
- void addRepository( Repository repository, boolean replace )
- throws InvalidRepositoryException;
-
- /**
- * Clones this resolver for usage in a forked resolution process. In general, implementors need not provide a deep
- * clone. The only requirement is that invocations of {@link #addRepository(Repository)} on the clone do not affect
- * the state of the original resolver and vice versa.
- *
- * @return The cloned resolver, never {@code null}.
- */
- ModelResolver newCopy();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/UnresolvableModelException.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/UnresolvableModelException.java
deleted file mode 100644
index bdb623ac..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/UnresolvableModelException.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.apache.maven.model.resolution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals an error when resolving the path to an external model.
- *
- * @author Benjamin Bentmann
- */
-public class UnresolvableModelException
- extends Exception
-{
-
- /**
- * The group id of the unresolvable model.
- */
- private final String groupId;
-
- /**
- * The artifact id of the unresolvable model.
- */
- private final String artifactId;
-
- /**
- * The version of the unresolvable model.
- */
- private final String version;
-
- /**
- * Creates a new exception with specified detail message and cause.
- *
- * @param message The detail message, may be {@code null}.
- * @param groupId The group id of the unresolvable model, may be {@code null}.
- * @param artifactId The artifact id of the unresolvable model, may be {@code null}.
- * @param version The version of the unresolvable model, may be {@code null}.
- * @param cause The cause, may be {@code null}.
- */
- public UnresolvableModelException( String message, String groupId, String artifactId, String version,
- Throwable cause )
- {
- super( message, cause );
- this.groupId = ( groupId != null ) ? groupId : "";
- this.artifactId = ( artifactId != null ) ? artifactId : "";
- this.version = ( version != null ) ? version : "";
- }
-
- /**
- * Creates a new exception with specified detail message.
- *
- * @param message The detail message, may be {@code null}.
- * @param groupId The group id of the unresolvable model, may be {@code null}.
- * @param artifactId The artifact id of the unresolvable model, may be {@code null}.
- * @param version The version of the unresolvable model, may be {@code null}.
- */
- public UnresolvableModelException( String message, String groupId, String artifactId, String version )
- {
- super( message );
- this.groupId = ( groupId != null ) ? groupId : "";
- this.artifactId = ( artifactId != null ) ? artifactId : "";
- this.version = ( version != null ) ? version : "";
- }
-
- /**
- * Creates a new exception with specified cause
- *
- * @param cause
- * @param groupId
- * @param artifactId
- * @param version
- */
- public UnresolvableModelException( Throwable cause, String groupId, String artifactId, String version )
- {
- super( cause );
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.version = version;
- }
-
- /**
- * Gets the group id of the unresolvable model.
- *
- * @return The group id of the unresolvable model, can be empty but never {@code null}.
- */
- public String getGroupId()
- {
- return groupId;
- }
-
- /**
- * Gets the artifact id of the unresolvable model.
- *
- * @return The artifact id of the unresolvable model, can be empty but never {@code null}.
- */
- public String getArtifactId()
- {
- return artifactId;
- }
-
- /**
- * Gets the version of the unresolvable model.
- *
- * @return The version of the unresolvable model, can be empty but never {@code null}.
- */
- public String getVersion()
- {
- return version;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/WorkspaceModelResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/WorkspaceModelResolver.java
deleted file mode 100644
index d12edea7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/resolution/WorkspaceModelResolver.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.maven.model.resolution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-
-public interface WorkspaceModelResolver
-{
-
- Model resolveRawModel( String groupId, String artifactId, String versionConstraint )
- throws UnresolvableModelException;
-
- Model resolveEffectiveModel( String groupId, String artifactId, String versionConstraint )
- throws UnresolvableModelException;
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java
deleted file mode 100644
index 7d4f66a8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.model.superpom;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.ModelProcessor;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * Provides the super POM that all models implicitly inherit from.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = SuperPomProvider.class )
-public class DefaultSuperPomProvider
- implements SuperPomProvider
-{
-
- /**
- * The cached super POM, lazily created.
- */
- private Model superModel;
-
- @Requirement
- private ModelProcessor modelProcessor;
-
- public DefaultSuperPomProvider setModelProcessor( ModelProcessor modelProcessor )
- {
- this.modelProcessor = modelProcessor;
- return this;
- }
-
- @Override
- public Model getSuperModel( String version )
- {
- if ( superModel == null )
- {
- String resource = "/org/apache/maven/model/pom-" + version + ".xml";
-
- InputStream is = getClass().getResourceAsStream( resource );
-
- if ( is == null )
- {
- throw new IllegalStateException( "The super POM " + resource + " was not found"
- + ", please verify the integrity of your Maven installation" );
- }
-
- try
- {
- Map<String, String> options = new HashMap<String, String>();
- options.put( "xml:4.0.0", "xml:4.0.0" );
- superModel = modelProcessor.read( is, options );
- }
- catch ( IOException e )
- {
- throw new IllegalStateException( "The super POM " + resource + " is damaged"
- + ", please verify the integrity of your Maven installation", e );
- }
- }
-
- return superModel;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/SuperPomProvider.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/SuperPomProvider.java
deleted file mode 100644
index 3f44fb7e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/superpom/SuperPomProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.model.superpom;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-
-/**
- * Provides the super POM that all models implicitly inherit from.
- *
- * @author Benjamin Bentmann
- */
-public interface SuperPomProvider
-{
-
- /**
- * Gets the super POM for the specified model version. The returned model is supposed to be read-only, i.e. if the
- * caller intends to make updates to the model the return value must be cloned before updating to ensure the
- * modifications don't affect future retrievals of the super POM.
- *
- * @param version The model version to retrieve the super POM for (e.g. "4.0.0"), must not be {@code null}.
- * @return The super POM, never {@code null}.
- */
- Model getSuperModel( String version );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
deleted file mode 100644
index dd7bd4e2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ /dev/null
@@ -1,1076 +0,0 @@
-package org.apache.maven.model.validation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import org.apache.maven.model.Activation;
-import org.apache.maven.model.ActivationFile;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.BuildBase;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.InputLocation;
-import org.apache.maven.model.InputLocationTracker;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.Reporting;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.Resource;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollector;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- */
-@Component( role = ModelValidator.class )
-public class DefaultModelValidator
- implements ModelValidator
-{
-
- private static final Pattern ID_REGEX = Pattern.compile( "[A-Za-z0-9_\\-.]+" );
-
- private static final Pattern ID_WITH_WILDCARDS_REGEX = Pattern.compile( "[A-Za-z0-9_\\-.?*]+" );
-
- private static final String ILLEGAL_FS_CHARS = "\\/:\"<>|?*";
-
- private static final String ILLEGAL_VERSION_CHARS = ILLEGAL_FS_CHARS;
-
- private static final String ILLEGAL_REPO_ID_CHARS = ILLEGAL_FS_CHARS;
-
- @Override
- public void validateRawModel( Model m, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- Parent parent = m.getParent();
- if ( parent != null )
- {
- validateStringNotEmpty( "parent.groupId", problems, Severity.FATAL, Version.BASE, parent.getGroupId(),
- parent );
-
- validateStringNotEmpty( "parent.artifactId", problems, Severity.FATAL, Version.BASE,
- parent.getArtifactId(), parent );
-
- validateStringNotEmpty( "parent.version", problems, Severity.FATAL, Version.BASE, parent.getVersion(),
- parent );
-
- if ( equals( parent.getGroupId(), m.getGroupId() )
- && equals( parent.getArtifactId(), m.getArtifactId() ) )
- {
- addViolation( problems, Severity.FATAL, Version.BASE, "parent.artifactId", null, "must be changed"
- + ", the parent element cannot have the same groupId:artifactId as the project.", parent );
- }
- }
-
- if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- validateEnum( "modelVersion", problems, Severity.ERROR, Version.V20, m.getModelVersion(), null, m,
- "4.0.0" );
-
- validateStringNoExpression( "groupId", problems, Severity.WARNING, Version.V20, m.getGroupId(), m );
- if ( parent == null )
- {
- validateStringNotEmpty( "groupId", problems, Severity.FATAL, Version.V20, m.getGroupId(), m );
- }
-
- validateStringNoExpression( "artifactId", problems, Severity.WARNING, Version.V20, m.getArtifactId(), m );
- validateStringNotEmpty( "artifactId", problems, Severity.FATAL, Version.V20, m.getArtifactId(), m );
-
- validateVersionNoExpression( "version", problems, Severity.WARNING, Version.V20, m.getVersion(), m );
- if ( parent == null )
- {
- validateStringNotEmpty( "version", problems, Severity.FATAL, Version.V20, m.getVersion(), m );
- }
-
- validate20RawDependencies( problems, m.getDependencies(), "dependencies.dependency", request );
-
- if ( m.getDependencyManagement() != null )
- {
- validate20RawDependencies( problems, m.getDependencyManagement().getDependencies(),
- "dependencyManagement.dependencies.dependency", request );
- }
-
- validateRawRepositories( problems, m.getRepositories(), "repositories.repository", request );
-
- validateRawRepositories( problems, m.getPluginRepositories(), "pluginRepositories.pluginRepository",
- request );
-
- Build build = m.getBuild();
- if ( build != null )
- {
- validate20RawPlugins( problems, build.getPlugins(), "build.plugins.plugin", request );
-
- PluginManagement mngt = build.getPluginManagement();
- if ( mngt != null )
- {
- validate20RawPlugins( problems, mngt.getPlugins(), "build.pluginManagement.plugins.plugin",
- request );
- }
- }
-
- Set<String> profileIds = new HashSet<String>();
-
- for ( Profile profile : m.getProfiles() )
- {
- String prefix = "profiles.profile[" + profile.getId() + "]";
-
- if ( !profileIds.add( profile.getId() ) )
- {
- addViolation( problems, errOn30, Version.V20, "profiles.profile.id", null,
- "must be unique but found duplicate profile with id " + profile.getId(), profile );
- }
-
- validate30RawProfileActivation( problems, profile.getActivation(), profile.getId(), prefix
- + ".activation", request );
-
- validate20RawDependencies( problems, profile.getDependencies(), prefix + ".dependencies.dependency",
- request );
-
- if ( profile.getDependencyManagement() != null )
- {
- validate20RawDependencies( problems, profile.getDependencyManagement().getDependencies(), prefix
- + ".dependencyManagement.dependencies.dependency", request );
- }
-
- validateRawRepositories( problems, profile.getRepositories(), prefix + ".repositories.repository",
- request );
-
- validateRawRepositories( problems, profile.getPluginRepositories(), prefix
- + ".pluginRepositories.pluginRepository", request );
-
- BuildBase buildBase = profile.getBuild();
- if ( buildBase != null )
- {
- validate20RawPlugins( problems, buildBase.getPlugins(), prefix + ".plugins.plugin", request );
-
- PluginManagement mngt = buildBase.getPluginManagement();
- if ( mngt != null )
- {
- validate20RawPlugins( problems, mngt.getPlugins(), prefix + ".pluginManagement.plugins.plugin",
- request );
- }
- }
- }
- }
- }
-
- private void validate30RawProfileActivation( ModelProblemCollector problems, Activation activation,
- String sourceHint, String prefix, ModelBuildingRequest request )
- {
- if ( activation == null )
- {
- return;
- }
-
- ActivationFile file = activation.getFile();
-
- if ( file != null )
- {
- String path;
- boolean missing;
-
- if ( StringUtils.isNotEmpty( file.getExists() ) )
- {
- path = file.getExists();
- missing = false;
- }
- else if ( StringUtils.isNotEmpty( file.getMissing() ) )
- {
- path = file.getMissing();
- missing = true;
- }
- else
- {
- return;
- }
-
- if ( path.contains( "${project.basedir}" ) )
- {
- addViolation( problems,
- Severity.WARNING,
- Version.V30,
- prefix + ( missing ? ".file.missing" : ".file.exists" ),
- null,
- "Failed to interpolate file location " + path + " for profile " + sourceHint
- + ": ${project.basedir} expression not supported during profile activation, "
- + "use ${basedir} instead",
- file.getLocation( missing ? "missing" : "exists" ) );
- }
- else if ( hasProjectExpression( path ) )
- {
- addViolation( problems,
- Severity.WARNING,
- Version.V30,
- prefix + ( missing ? ".file.missing" : ".file.exists" ),
- null,
- "Failed to interpolate file location "
- + path
- + " for profile "
- + sourceHint
- + ": ${project.*} expressions are not supported during profile activation",
- file.getLocation( missing ? "missing" : "exists" ) );
- }
- }
- }
-
- private void validate20RawPlugins( ModelProblemCollector problems, List<Plugin> plugins, String prefix,
- ModelBuildingRequest request )
- {
- Severity errOn31 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1 );
-
- Map<String, Plugin> index = new HashMap<String, Plugin>();
-
- for ( Plugin plugin : plugins )
- {
- String key = plugin.getKey();
-
- Plugin existing = index.get( key );
-
- if ( existing != null )
- {
- addViolation( problems, errOn31, Version.V20, prefix + ".(groupId:artifactId)", null,
- "must be unique but found duplicate declaration of plugin " + key, plugin );
- }
- else
- {
- index.put( key, plugin );
- }
-
- Set<String> executionIds = new HashSet<String>();
-
- for ( PluginExecution exec : plugin.getExecutions() )
- {
- if ( !executionIds.add( exec.getId() ) )
- {
- addViolation( problems, Severity.ERROR, Version.V20, prefix + "[" + plugin.getKey()
- + "].executions.execution.id", null, "must be unique but found duplicate execution with id "
- + exec.getId(), exec );
- }
- }
- }
- }
-
- @Override
- public void validateEffectiveModel( Model m, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- validateStringNotEmpty( "modelVersion", problems, Severity.ERROR, Version.BASE, m.getModelVersion(), m );
-
- validateId( "groupId", problems, m.getGroupId(), m );
-
- validateId( "artifactId", problems, m.getArtifactId(), m );
-
- validateStringNotEmpty( "packaging", problems, Severity.ERROR, Version.BASE, m.getPackaging(), m );
-
- if ( !m.getModules().isEmpty() )
- {
- if ( !"pom".equals( m.getPackaging() ) )
- {
- addViolation( problems, Severity.ERROR, Version.BASE, "packaging", null,
- "with value '" + m.getPackaging() + "' is invalid. Aggregator projects "
- + "require 'pom' as packaging.", m );
- }
-
- for ( int i = 0, n = m.getModules().size(); i < n; i++ )
- {
- String module = m.getModules().get( i );
- if ( StringUtils.isBlank( module ) )
- {
- addViolation( problems, Severity.ERROR, Version.BASE, "modules.module[" + i + "]", null,
- "has been specified without a path to the project directory.",
- m.getLocation( "modules" ) );
- }
- }
- }
-
- validateStringNotEmpty( "version", problems, Severity.ERROR, Version.BASE, m.getVersion(), m );
-
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- validateEffectiveDependencies( problems, m.getDependencies(), false, request );
-
- DependencyManagement mgmt = m.getDependencyManagement();
- if ( mgmt != null )
- {
- validateEffectiveDependencies( problems, mgmt.getDependencies(), true, request );
- }
-
- if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- Set<String> modules = new HashSet<String>();
- for ( int i = 0, n = m.getModules().size(); i < n; i++ )
- {
- String module = m.getModules().get( i );
- if ( !modules.add( module ) )
- {
- addViolation( problems, Severity.ERROR, Version.V20, "modules.module[" + i + "]", null,
- "specifies duplicate child module " + module, m.getLocation( "modules" ) );
- }
- }
-
- Severity errOn31 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1 );
-
- validateBannedCharacters( "version", problems, errOn31, Version.V20, m.getVersion(), null, m,
- ILLEGAL_VERSION_CHARS );
- validate20ProperSnapshotVersion( "version", problems, errOn31, Version.V20, m.getVersion(), null, m );
-
- Build build = m.getBuild();
- if ( build != null )
- {
- for ( Plugin p : build.getPlugins() )
- {
- validateStringNotEmpty( "build.plugins.plugin.artifactId", problems, Severity.ERROR, Version.V20,
- p.getArtifactId(), p );
-
- validateStringNotEmpty( "build.plugins.plugin.groupId", problems, Severity.ERROR, Version.V20,
- p.getGroupId(), p );
-
- validate20PluginVersion( "build.plugins.plugin.version", problems, p.getVersion(), p.getKey(), p,
- request );
-
- validateBoolean( "build.plugins.plugin.inherited", problems, errOn30, Version.V20,
- p.getInherited(), p.getKey(), p );
-
- validateBoolean( "build.plugins.plugin.extensions", problems, errOn30, Version.V20,
- p.getExtensions(), p.getKey(), p );
-
- validate20EffectivePluginDependencies( problems, p, request );
- }
-
- validate20RawResources( problems, build.getResources(), "build.resources.resource", request );
-
- validate20RawResources( problems, build.getTestResources(), "build.testResources.testResource",
- request );
- }
-
- Reporting reporting = m.getReporting();
- if ( reporting != null )
- {
- for ( ReportPlugin p : reporting.getPlugins() )
- {
- validateStringNotEmpty( "reporting.plugins.plugin.artifactId", problems, Severity.ERROR,
- Version.V20, p.getArtifactId(), p );
-
- validateStringNotEmpty( "reporting.plugins.plugin.groupId", problems, Severity.ERROR, Version.V20,
- p.getGroupId(), p );
- }
- }
-
- for ( Repository repository : m.getRepositories() )
- {
- validate20EffectiveRepository( problems, repository, "repositories.repository", request );
- }
-
- for ( Repository repository : m.getPluginRepositories() )
- {
- validate20EffectiveRepository( problems, repository, "pluginRepositories.pluginRepository", request );
- }
-
- DistributionManagement distMgmt = m.getDistributionManagement();
- if ( distMgmt != null )
- {
- if ( distMgmt.getStatus() != null )
- {
- addViolation( problems, Severity.ERROR, Version.V20, "distributionManagement.status", null,
- "must not be specified.", distMgmt );
- }
-
- validate20EffectiveRepository( problems, distMgmt.getRepository(), "distributionManagement.repository",
- request );
- validate20EffectiveRepository( problems, distMgmt.getSnapshotRepository(),
- "distributionManagement.snapshotRepository", request );
- }
- }
- }
-
- private void validate20RawDependencies( ModelProblemCollector problems, List<Dependency> dependencies,
- String prefix, ModelBuildingRequest request )
- {
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
- Severity errOn31 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1 );
-
- Map<String, Dependency> index = new HashMap<String, Dependency>();
-
- for ( Dependency dependency : dependencies )
- {
- String key = dependency.getManagementKey();
-
- if ( "import".equals( dependency.getScope() ) )
- {
- if ( !"pom".equals( dependency.getType() ) )
- {
- addViolation( problems, Severity.WARNING, Version.V20, prefix + ".type", key,
- "must be 'pom' to import the managed dependencies.", dependency );
- }
- else if ( StringUtils.isNotEmpty( dependency.getClassifier() ) )
- {
- addViolation( problems, errOn30, Version.V20, prefix + ".classifier", key,
- "must be empty, imported POM cannot have a classifier.", dependency );
- }
- }
- else if ( "system".equals( dependency.getScope() ) )
- {
- String sysPath = dependency.getSystemPath();
- if ( StringUtils.isNotEmpty( sysPath ) )
- {
- if ( !hasExpression( sysPath ) )
- {
- addViolation( problems, Severity.WARNING, Version.V20, prefix + ".systemPath", key,
- "should use a variable instead of a hard-coded path " + sysPath, dependency );
- }
- else if ( sysPath.contains( "${basedir}" ) || sysPath.contains( "${project.basedir}" ) )
- {
- addViolation( problems, Severity.WARNING, Version.V20, prefix + ".systemPath", key,
- "should not point at files within the project directory, " + sysPath
- + " will be unresolvable by dependent projects", dependency );
- }
- }
- }
-
- Dependency existing = index.get( key );
-
- if ( existing != null )
- {
- String msg;
- if ( equals( existing.getVersion(), dependency.getVersion() ) )
- {
- msg =
- "duplicate declaration of version "
- + StringUtils.defaultString( dependency.getVersion(), "(?)" );
- }
- else
- {
- msg =
- "version " + StringUtils.defaultString( existing.getVersion(), "(?)" ) + " vs "
- + StringUtils.defaultString( dependency.getVersion(), "(?)" );
- }
-
- addViolation( problems, errOn31, Version.V20, prefix + ".(groupId:artifactId:type:classifier)", null,
- "must be unique: " + key + " -> " + msg, dependency );
- }
- else
- {
- index.put( key, dependency );
- }
- }
- }
-
- private void validateEffectiveDependencies( ModelProblemCollector problems, List<Dependency> dependencies,
- boolean management, ModelBuildingRequest request )
- {
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- String prefix = management ? "dependencyManagement.dependencies.dependency." : "dependencies.dependency.";
-
- for ( Dependency d : dependencies )
- {
- validateEffectiveDependency( problems, d, management, prefix, request );
-
- if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- validateBoolean( prefix + "optional", problems, errOn30, Version.V20, d.getOptional(),
- d.getManagementKey(), d );
-
- if ( !management )
- {
- validateVersion( prefix + "version", problems, errOn30, Version.V20, d.getVersion(),
- d.getManagementKey(), d );
-
- /*
- * TODO: Extensions like Flex Mojos use custom scopes like "merged", "internal", "external", etc.
- * In order to don't break backward-compat with those, only warn but don't error out.
- */
- validateEnum( prefix + "scope", problems, Severity.WARNING, Version.V20, d.getScope(),
- d.getManagementKey(), d, "provided", "compile", "runtime", "test", "system" );
- }
- }
- }
- }
-
- private void validate20EffectivePluginDependencies( ModelProblemCollector problems, Plugin plugin,
- ModelBuildingRequest request )
- {
- List<Dependency> dependencies = plugin.getDependencies();
-
- if ( !dependencies.isEmpty() )
- {
- String prefix = "build.plugins.plugin[" + plugin.getKey() + "].dependencies.dependency.";
-
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- for ( Dependency d : dependencies )
- {
- validateEffectiveDependency( problems, d, false, prefix, request );
-
- validateVersion( prefix + "version", problems, errOn30, Version.BASE, d.getVersion(),
- d.getManagementKey(), d );
-
- validateEnum( prefix + "scope", problems, errOn30, Version.BASE, d.getScope(), d.getManagementKey(), d,
- "compile", "runtime", "system" );
- }
- }
- }
-
- private void validateEffectiveDependency( ModelProblemCollector problems, Dependency d, boolean management,
- String prefix, ModelBuildingRequest request )
- {
- validateId( prefix + "artifactId", problems, Severity.ERROR, Version.BASE, d.getArtifactId(),
- d.getManagementKey(), d );
-
- validateId( prefix + "groupId", problems, Severity.ERROR, Version.BASE, d.getGroupId(), d.getManagementKey(),
- d );
-
- if ( !management )
- {
- validateStringNotEmpty( prefix + "type", problems, Severity.ERROR, Version.BASE, d.getType(),
- d.getManagementKey(), d );
-
- validateDependencyVersion( problems, d, prefix );
- }
-
- if ( "system".equals( d.getScope() ) )
- {
- String systemPath = d.getSystemPath();
-
- if ( StringUtils.isEmpty( systemPath ) )
- {
- addViolation( problems, Severity.ERROR, Version.BASE, prefix + "systemPath", d.getManagementKey(),
- "is missing.", d );
- }
- else
- {
- File sysFile = new File( systemPath );
- if ( !sysFile.isAbsolute() )
- {
- addViolation( problems, Severity.ERROR, Version.BASE, prefix + "systemPath", d.getManagementKey(),
- "must specify an absolute path but is " + systemPath, d );
- }
- else if ( !sysFile.isFile() )
- {
- String msg = "refers to a non-existing file " + sysFile.getAbsolutePath();
- systemPath = systemPath.replace( '/', File.separatorChar ).replace( '\\', File.separatorChar );
- String jdkHome =
- request.getSystemProperties().getProperty( "java.home", "" ) + File.separator + "..";
- if ( systemPath.startsWith( jdkHome ) )
- {
- msg += ". Please verify that you run Maven using a JDK and not just a JRE.";
- }
- addViolation( problems, Severity.WARNING, Version.BASE, prefix + "systemPath",
- d.getManagementKey(), msg, d );
- }
- }
- }
- else if ( StringUtils.isNotEmpty( d.getSystemPath() ) )
- {
- addViolation( problems, Severity.ERROR, Version.BASE, prefix + "systemPath", d.getManagementKey(),
- "must be omitted." + " This field may only be specified for a dependency with system scope.",
- d );
- }
-
- if ( request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- for ( Exclusion exclusion : d.getExclusions() )
- {
- if ( request.getValidationLevel() < ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 )
- {
- validateId( prefix + "exclusions.exclusion.groupId", problems, Severity.WARNING, Version.V20,
- exclusion.getGroupId(), d.getManagementKey(), exclusion );
-
- validateId( prefix + "exclusions.exclusion.artifactId", problems, Severity.WARNING, Version.V20,
- exclusion.getArtifactId(), d.getManagementKey(), exclusion );
- }
- else
- {
- validateIdWithWildcards( prefix + "exclusions.exclusion.groupId", problems, Severity.WARNING,
- Version.V30, exclusion.getGroupId(), d.getManagementKey(), exclusion );
-
- validateIdWithWildcards( prefix + "exclusions.exclusion.artifactId", problems, Severity.WARNING,
- Version.V30, exclusion.getArtifactId(), d.getManagementKey(), exclusion );
- }
- }
- }
- }
-
- /**
- * @since 3.2.4
- */
- protected void validateDependencyVersion( ModelProblemCollector problems, Dependency d, String prefix )
- {
- validateStringNotEmpty( prefix + "version", problems, Severity.ERROR, Version.BASE, d.getVersion(),
- d.getManagementKey(), d );
- }
-
- private void validateRawRepositories( ModelProblemCollector problems, List<Repository> repositories, String prefix,
- ModelBuildingRequest request )
- {
- Map<String, Repository> index = new HashMap<String, Repository>();
-
- for ( Repository repository : repositories )
- {
- validateStringNotEmpty( prefix + ".id", problems, Severity.ERROR, Version.V20, repository.getId(),
- repository );
-
- validateStringNotEmpty( prefix + "[" + repository.getId() + "].url", problems, Severity.ERROR, Version.V20,
- repository.getUrl(), repository );
-
- String key = repository.getId();
-
- Repository existing = index.get( key );
-
- if ( existing != null )
- {
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- addViolation( problems, errOn30, Version.V20, prefix + ".id", null,
- "must be unique: " + repository.getId() + " -> " + existing.getUrl() + " vs "
- + repository.getUrl(), repository );
- }
- else
- {
- index.put( key, repository );
- }
- }
- }
-
- private void validate20EffectiveRepository( ModelProblemCollector problems, Repository repository, String prefix,
- ModelBuildingRequest request )
- {
- if ( repository != null )
- {
- Severity errOn31 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1 );
-
- validateBannedCharacters( prefix + ".id", problems, errOn31, Version.V20, repository.getId(), null,
- repository, ILLEGAL_REPO_ID_CHARS );
-
- if ( "local".equals( repository.getId() ) )
- {
- addViolation( problems, errOn31, Version.V20, prefix + ".id", null, "must not be 'local'"
- + ", this identifier is reserved for the local repository"
- + ", using it for other repositories will corrupt your repository metadata.", repository );
- }
-
- if ( "legacy".equals( repository.getLayout() ) )
- {
- addViolation( problems, Severity.WARNING, Version.V20, prefix + ".layout", repository.getId(),
- "uses the unsupported value 'legacy', artifact resolution might fail.", repository );
- }
- }
- }
-
- private void validate20RawResources( ModelProblemCollector problems, List<Resource> resources, String prefix,
- ModelBuildingRequest request )
- {
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- for ( Resource resource : resources )
- {
- validateStringNotEmpty( prefix + ".directory", problems, Severity.ERROR, Version.V20,
- resource.getDirectory(), resource );
-
- validateBoolean( prefix + ".filtering", problems, errOn30, Version.V20, resource.getFiltering(),
- resource.getDirectory(), resource );
- }
- }
-
- // ----------------------------------------------------------------------
- // Field validation
- // ----------------------------------------------------------------------
-
- private boolean validateId( String fieldName, ModelProblemCollector problems, String id,
- InputLocationTracker tracker )
- {
- return validateId( fieldName, problems, Severity.ERROR, Version.BASE, id, null, tracker );
- }
-
- private boolean validateId( String fieldName, ModelProblemCollector problems, Severity severity, Version version,
- String id, String sourceHint, InputLocationTracker tracker )
- {
- if ( !validateStringNotEmpty( fieldName, problems, severity, version, id, sourceHint, tracker ) )
- {
- return false;
- }
- else
- {
- boolean match = ID_REGEX.matcher( id ).matches();
- if ( !match )
- {
- addViolation( problems, severity, version, fieldName, sourceHint, "with value '" + id
- + "' does not match a valid id pattern.", tracker );
- }
- return match;
- }
- }
-
- private boolean validateIdWithWildcards( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String id, String sourceHint,
- InputLocationTracker tracker )
- {
- if ( !validateStringNotEmpty( fieldName, problems, severity, version, id, sourceHint, tracker ) )
- {
- return false;
- }
- else
- {
- boolean match = ID_WITH_WILDCARDS_REGEX.matcher( id ).matches();
- if ( !match )
- {
- addViolation( problems, severity, version, fieldName, sourceHint, "with value '" + id
- + "' does not match a valid id pattern.", tracker );
- }
- return match;
- }
- }
-
-
- private boolean validateStringNoExpression( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, InputLocationTracker tracker )
- {
- if ( !hasExpression( string ) )
- {
- return true;
- }
-
- addViolation( problems, severity, version, fieldName, null, "contains an expression but should be a constant.",
- tracker );
-
- return false;
- }
-
- private boolean validateVersionNoExpression( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, InputLocationTracker tracker )
- {
-
- if ( !hasExpression( string ) )
- {
- return true;
- }
-
- //
- // Acceptable versions for continuous delivery
- //
- // changelist
- // revision
- // sha1
- //
- if ( string.trim().contains( "${changelist}" ) || string.trim().contains( "${revision}" )
- || string.trim().contains( "${sha1}" ) )
- {
- return true;
- }
-
- addViolation( problems, severity, version, fieldName, null, "contains an expression but should be a constant.",
- tracker );
-
- return false;
- }
-
- private boolean hasExpression( String value )
- {
- return value != null && value.contains( "${" );
- }
-
- private boolean hasProjectExpression( String value )
- {
- return value != null && value.contains( "${project." );
- }
-
- private boolean validateStringNotEmpty( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, InputLocationTracker tracker )
- {
- return validateStringNotEmpty( fieldName, problems, severity, version, string, null, tracker );
- }
-
- /**
- * Asserts:
- * <p/>
- * <ul>
- * <li><code>string != null</code>
- * <li><code>string.length > 0</code>
- * </ul>
- */
- private boolean validateStringNotEmpty( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, String sourceHint,
- InputLocationTracker tracker )
- {
- if ( !validateNotNull( fieldName, problems, severity, version, string, sourceHint, tracker ) )
- {
- return false;
- }
-
- if ( string.length() > 0 )
- {
- return true;
- }
-
- addViolation( problems, severity, version, fieldName, sourceHint, "is missing.", tracker );
-
- return false;
- }
-
- /**
- * Asserts:
- * <p/>
- * <ul>
- * <li><code>string != null</code>
- * </ul>
- */
- private boolean validateNotNull( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, Object object, String sourceHint, InputLocationTracker tracker )
- {
- if ( object != null )
- {
- return true;
- }
-
- addViolation( problems, severity, version, fieldName, sourceHint, "is missing.", tracker );
-
- return false;
- }
-
- private boolean validateBoolean( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, String sourceHint, InputLocationTracker tracker )
- {
- if ( string == null || string.length() <= 0 )
- {
- return true;
- }
-
- if ( "true".equalsIgnoreCase( string ) || "false".equalsIgnoreCase( string ) )
- {
- return true;
- }
-
- addViolation( problems, severity, version, fieldName, sourceHint, "must be 'true' or 'false' but is '" + string
- + "'.", tracker );
-
- return false;
- }
-
- private boolean validateEnum( String fieldName, ModelProblemCollector problems, Severity severity, Version version,
- String string, String sourceHint, InputLocationTracker tracker,
- String... validValues )
- {
- if ( string == null || string.length() <= 0 )
- {
- return true;
- }
-
- List<String> values = Arrays.asList( validValues );
-
- if ( values.contains( string ) )
- {
- return true;
- }
-
- addViolation( problems, severity, version, fieldName, sourceHint, "must be one of " + values + " but is '"
- + string + "'.", tracker );
-
- return false;
- }
-
- private boolean validateBannedCharacters( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, String sourceHint,
- InputLocationTracker tracker, String banned )
- {
- if ( string != null )
- {
- for ( int i = string.length() - 1; i >= 0; i-- )
- {
- if ( banned.indexOf( string.charAt( i ) ) >= 0 )
- {
- addViolation( problems, severity, version, fieldName, sourceHint,
- "must not contain any of these characters " + banned + " but found "
- + string.charAt( i ), tracker );
- return false;
- }
- }
- }
-
- return true;
- }
-
- private boolean validateVersion( String fieldName, ModelProblemCollector problems, Severity severity,
- Version version, String string, String sourceHint, InputLocationTracker tracker )
- {
- if ( string == null || string.length() <= 0 )
- {
- return true;
- }
-
- if ( hasExpression( string ) )
- {
- addViolation( problems, severity, version, fieldName, sourceHint,
- "must be a valid version but is '" + string + "'.", tracker );
- return false;
- }
-
- return validateBannedCharacters( fieldName, problems, severity, version, string, sourceHint, tracker,
- ILLEGAL_VERSION_CHARS );
-
- }
-
- private boolean validate20ProperSnapshotVersion( String fieldName, ModelProblemCollector problems,
- Severity severity, Version version, String string,
- String sourceHint, InputLocationTracker tracker )
- {
- if ( string == null || string.length() <= 0 )
- {
- return true;
- }
-
- if ( string.endsWith( "SNAPSHOT" ) && !string.endsWith( "-SNAPSHOT" ) )
- {
- addViolation( problems, severity, version, fieldName, sourceHint,
- "uses an unsupported snapshot version format, should be '*-SNAPSHOT' instead.", tracker );
- return false;
- }
-
- return true;
- }
-
- private boolean validate20PluginVersion( String fieldName, ModelProblemCollector problems, String string,
- String sourceHint, InputLocationTracker tracker,
- ModelBuildingRequest request )
- {
- if ( string == null )
- {
- // NOTE: The check for missing plugin versions is handled directly by the model builder
- return true;
- }
-
- Severity errOn30 = getSeverity( request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0 );
-
- if ( !validateVersion( fieldName, problems, errOn30, Version.V20, string, sourceHint, tracker ) )
- {
- return false;
- }
-
- if ( string.length() <= 0 || "RELEASE".equals( string ) || "LATEST".equals( string ) )
- {
- addViolation( problems, errOn30, Version.V20, fieldName, sourceHint, "must be a valid version but is '"
- + string + "'.", tracker );
- return false;
- }
-
- return true;
- }
-
- private static void addViolation( ModelProblemCollector problems, Severity severity, Version version,
- String fieldName, String sourceHint, String message,
- InputLocationTracker tracker )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( '\'' ).append( fieldName ).append( '\'' );
-
- if ( sourceHint != null )
- {
- buffer.append( " for " ).append( sourceHint );
- }
-
- buffer.append( ' ' ).append( message );
-
- problems.add( new ModelProblemCollectorRequest( severity, version )
- .setMessage( buffer.toString() ).setLocation( getLocation( fieldName, tracker ) ) );
- }
-
- private static InputLocation getLocation( String fieldName, InputLocationTracker tracker )
- {
- InputLocation location = null;
-
- if ( tracker != null )
- {
- if ( fieldName != null )
- {
- Object key = fieldName;
-
- int idx = fieldName.lastIndexOf( '.' );
- if ( idx >= 0 )
- {
- fieldName = fieldName.substring( idx + 1 );
- key = fieldName;
- }
-
- if ( fieldName.endsWith( "]" ) )
- {
- key = fieldName.substring( fieldName.lastIndexOf( '[' ) + 1, fieldName.length() - 1 );
- try
- {
- key = Integer.valueOf( key.toString() );
- }
- catch ( NumberFormatException e )
- {
- // use key as is
- }
- }
-
- location = tracker.getLocation( key );
- }
-
- if ( location == null )
- {
- location = tracker.getLocation( "" );
- }
- }
-
- return location;
- }
-
- private static boolean equals( String s1, String s2 )
- {
- return StringUtils.clean( s1 ).equals( StringUtils.clean( s2 ) );
- }
-
- private static Severity getSeverity( ModelBuildingRequest request, int errorThreshold )
- {
- return getSeverity( request.getValidationLevel(), errorThreshold );
- }
-
- private static Severity getSeverity( int validationLevel, int errorThreshold )
- {
- if ( validationLevel < errorThreshold )
- {
- return Severity.WARNING;
- }
- else
- {
- return Severity.ERROR;
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java
deleted file mode 100644
index 84e3fadd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.maven.model.validation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Model;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblemCollector;
-
-/**
- * Checks the model for missing or invalid values.
- *
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- */
-public interface ModelValidator
-{
-
- /**
- * Checks the specified (raw) model for missing or invalid values. The raw model is directly created from the POM
- * file and has not been subjected to inheritance, interpolation or profile/default injection.
- *
- * @param model The model to validate, must not be {@code null}.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void validateRawModel( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
- /**
- * Checks the specified (effective) model for missing or invalid values. The effective model is fully assembled and
- * has undergone inheritance, interpolation and other model operations.
- *
- * @param model The model to validate, must not be {@code null}.
- * @param request The model building request that holds further settings, must not be {@code null}.
- * @param problems The container used to collect problems that were encountered, must not be {@code null}.
- */
- void validateEffectiveModel( Model model, ModelBuildingRequest request, ModelProblemCollector problems );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/mdo/profiles.mdo b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/mdo/profiles.mdo
deleted file mode 100644
index 26f0d122..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/mdo/profiles.mdo
+++ /dev/null
@@ -1,399 +0,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.
--->
-
-<model xmlns="http://modello.codehaus.org/MODELLO/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.0.0 http://modello.codehaus.org/xsd/modello-1.0.0.xsd"
- xml.namespace="http://maven.apache.org/PROFILES/${version}"
- xml.schemaLocation="http://maven.apache.org/xsd/profiles-${version}.xsd">
- <id>profiles</id>
- <name>Profiles</name>
- <description><![CDATA[
- Project-local overrides to the build process based on detected or user-provided environmental parameters.
- This is the model specification for ${basedir}/profiles.xml.
- ]]></description>
- <defaults>
- <default>
- <key>package</key>
- <value>org.apache.maven.profiles</value>
- </default>
- </defaults>
- <classes>
- <class rootElement="true" xml.tagName="profilesXml">
- <name>ProfilesRoot</name>
- <version>1.0.0</version>
- <description>Root element of the profiles.xml file.</description>
- <fields>
- <field>
- <name>profiles</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Configuration of build profiles for adjusting the build
- according to environmental parameters
- ]]></description>
- <association>
- <type>Profile</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>activeProfiles</name>
- <version>1.0.0</version>
- <description><![CDATA[
- List of manually-activated build profiles, specified in the order in which
- they should be applied.
- ]]></description>
- <association>
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- </fields>
- </class>
- <class>
- <name>Profile</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Modifications to the build process which is keyed on some
- sort of environmental parameter.
- ]]></description>
- <fields>
- <field>
- <name>id</name>
- <required>true</required>
- <version>1.0.0</version>
- <type>String</type>
- <defaultValue>default</defaultValue>
- <description>The ID of this build profile, for activation
- purposes.</description>
- </field>
- <field>
- <name>activation</name>
- <version>1.0.0</version>
- <description><![CDATA[The conditional logic which will automatically
- trigger the inclusion of this profile.]]></description>
- <association>
- <type>Activation</type>
- </association>
- </field>
- <field>
- <name>properties</name>
- <description>Extended configuration specific to this profile goes
- here.</description>
- <type>Properties</type>
- <association xml.mapStyle="inline">
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>repositories</name>
- <version>1.0.0</version>
- <description><![CDATA[The lists of the remote repositories]]>
- </description>
- <association>
- <type>Repository</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- <field>
- <name>pluginRepositories</name>
- <version>1.0.0</version>
- <description><![CDATA[
- The lists of the remote repositories for discovering plugins
- ]]></description>
- <association>
- <type>Repository</type>
- <multiplicity>*</multiplicity>
- </association>
- <comment><![CDATA[ This may be removed or relocated in the near
- future. It is undecided whether plugins really need a remote
- repository set of their own. ]]></comment>
- </field>
- </fields>
- </class>
- <class>
- <name>Activation</name>
- <version>1.0.0</version>
- <description><![CDATA[
- The conditions within the build runtime environment which will trigger
- the automatic inclusion of the parent build profile.
- ]]></description>
- <fields>
- <field>
- <name>activeByDefault</name>
- <version>1.0.0</version>
- <type>boolean</type>
- <description>Flag specifying whether this profile is active as a default.</description>
- </field>
- <field>
- <name>jdk</name>
- <version>1.0.0</version>
- <type>String</type>
- <description><![CDATA[
- Specifies that this profile will be activated when a matching JDK is detected.
- ]]></description>
- </field>
- <field>
- <name>os</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Specifies that this profile will be activated when matching OS attributes are detected.
- ]]></description>
- <association>
- <type>ActivationOS</type>
- </association>
- </field>
- <field>
- <name>property</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Specifies that this profile will be activated when this System property is specified.
- ]]></description>
- <association>
- <type>ActivationProperty</type>
- </association>
- </field>
- <field>
- <name>file</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Specifies that this profile will be activated based on existence of a file.
- ]]></description>
- <association>
- <type>ActivationFile</type>
- </association>
- </field>
- </fields>
- </class>
-
- <!-- TODO: reproduced from maven-model/maven.mdo, instead should inherit code and link to external docs -->
- <class>
- <name>RepositoryBase</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Repository contains the information needed
- for establishing connections with remote repoistory
- ]]></description>
- <fields>
- <field>
- <name>id</name>
- <version>1.0.0</version>
- <description><![CDATA[
- A unique identifier for a repository.
- ]]></description>
- <type>String</type>
- </field>
- <field>
- <name>name</name>
- <version>1.0.0</version>
- <description><![CDATA[
- Human readable name of the repository
- ]]></description>
- <type>String</type>
- </field>
- <field>
- <name>url</name>
- <version>1.0.0</version>
- <description><![CDATA[
- The url of the repository
- ]]></description>
- <type>String</type>
- </field>
- <field>
- <name>layout</name>
- <version>1.0.0</version>
- <description>The type of layout this repository uses for locating and storing artifacts - can be "legacy" or
- "default".</description>
- <type>String</type>
- <defaultValue>default</defaultValue>
- </field>
- </fields>
- <codeSegments>
- <codeSegment>
- <version>1.0.0</version>
- <code><![CDATA[
- public boolean equals( Object obj )
- {
- RepositoryBase other = (RepositoryBase) obj;
-
- boolean retValue = false;
-
- if ( id != null )
- {
- retValue = id.equals( other.id );
- }
-
- return retValue;
- }
- ]]></code>
- </codeSegment>
- </codeSegments>
- </class>
- <class>
- <name>Repository</name>
- <superClass>RepositoryBase</superClass>
- <version>1.0.0</version>
- <description>
- Repository contains the information needed for establishing connections with remote repoistory
- </description>
- <fields>
- <field>
- <name>releases</name>
- <version>1.0.0</version>
- <description>How to handle downloading of releases from this repository</description>
- <association>
- <type>RepositoryPolicy</type>
- </association>
- </field>
- <field>
- <name>snapshots</name>
- <version>1.0.0</version>
- <description>How to handle downloading of snapshots from this repository</description>
- <association>
- <type>RepositoryPolicy</type>
- </association>
- </field>
- </fields>
- <!-- prevent modello generation of an incorrect equals method. Could be avoided by using <identity/> tags to mark ID as the only identity field -->
- <codeSegments>
- <codeSegment>
- <version>1.0.0</version>
- <code><![CDATA[
- public boolean equals( Object obj )
- {
- return super.equals( obj );
- }
- ]]></code>
- </codeSegment>
- </codeSegments>
- </class>
-
- <class>
- <name>RepositoryPolicy</name>
- <version>1.0.0</version>
- <description>Download policy</description>
- <fields>
- <field>
- <name>enabled</name>
- <version>1.0.0</version>
- <description>Whether to use this repository for downloading this type of artifact</description>
- <type>boolean</type>
- <defaultValue>true</defaultValue>
- </field>
- <field>
- <name>updatePolicy</name>
- <version>1.0.0</version>
- <description>
- The frequency for downloading updates - can be "always", "daily" (default), "interval:XXX" (in minutes) or
- "never" (only if it doesn't exist locally).
- </description>
- <type>String</type>
- </field>
- <field>
- <name>checksumPolicy</name>
- <version>1.0.0</version>
- <description>What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
- "fail" or "warn"</description>
- <type>String</type>
- </field>
- </fields>
- </class>
- <class>
- <name>ActivationProperty</name>
- <version>1.0.0</version>
- <description><![CDATA[
- This is the property specification used to activate a profile. If the value field is empty,
- then the existence of the named property will activate the profile, otherwise it does a case-sensitive
- match against the property value as well.
- ]]></description>
- <fields>
- <field>
- <name>name</name>
- <version>1.0.0</version>
- <type>String</type>
- <required>true</required>
- <description>The name of the property to be used to activate a profile</description>
- </field>
- <field>
- <name>value</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The value of the property to be used to activate a profile</description>
- </field>
- </fields>
- </class>
- <class>
- <name>ActivationFile</name>
- <version>1.0.0</version>
- <description><![CDATA[
- This is the file specification used to activate a profile. The missing value will be a the location
- of a file that needs to exist, and if it doesn't the profile must run. On the other hand exists will test
- for the existence of the file and if it is there will run the profile.
- ]]></description>
- <fields>
- <field>
- <name>missing</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The name of the file that should be missing to activate a profile</description>
- </field>
- <field>
- <name>exists</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The name of the file that should exist to activate a profile</description>
- </field>
- </fields>
- </class>
- <class>
- <name>ActivationOS</name>
- <version>1.0.0</version>
- <description><![CDATA[
- This is an activator which will detect an operating system's attributes in order to activate
- its profile.
- ]]></description>
- <fields>
- <field>
- <name>name</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The name of the OS to be used to activate a profile</description>
- </field>
- <field>
- <name>family</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The general family of the OS to be used to activate a profile (e.g. 'windows')</description>
- </field>
- <field>
- <name>arch</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The architecture of the OS to be used to activate a profile</description>
- </field>
- <field>
- <name>version</name>
- <version>1.0.0</version>
- <type>String</type>
- <description>The version of the OS to be used to activate a profile</description>
- </field>
- </fields>
- </class>
- </classes>
-</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml
deleted file mode 100644
index 91492a92..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?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.
--->
-
-<!-- START SNIPPET: superpom -->
-<project>
- <modelVersion>4.0.0</modelVersion>
-
- <repositories>
- <repository>
- <id>central</id>
- <name>Central Repository</name>
- <url>https://repo.maven.apache.org/maven2</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-
- <pluginRepositories>
- <pluginRepository>
- <id>central</id>
- <name>Central Repository</name>
- <url>https://repo.maven.apache.org/maven2</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <updatePolicy>never</updatePolicy>
- </releases>
- </pluginRepository>
- </pluginRepositories>
-
- <build>
- <directory>${project.basedir}/target</directory>
- <outputDirectory>${project.build.directory}/classes</outputDirectory>
- <finalName>${project.artifactId}-${project.version}</finalName>
- <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
- <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
- <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
- <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
- <resources>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>${project.basedir}/src/test/resources</directory>
- </testResource>
- </testResources>
- <pluginManagement>
- <!-- NOTE: These plugins will be removed from future versions of the super POM -->
- <!-- They are kept for the moment as they are very unlikely to conflict with lifecycle mappings (MNG-4453) -->
- <plugins>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.3</version>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2-beta-5</version>
- </plugin>
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.8</version>
- </plugin>
- <plugin>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.3.2</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <reporting>
- <outputDirectory>${project.build.directory}/site</outputDirectory>
- </reporting>
-
- <profiles>
- <!-- NOTE: The release profile will be removed from future versions of the super POM -->
- <profile>
- <id>release-profile</id>
-
- <activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <inherited>true</inherited>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <inherited>true</inherited>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <inherited>true</inherited>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <updateReleaseInfo>true</updateReleaseInfo>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
-</project>
-<!-- END SNIPPET: superpom -->
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/index.apt b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/index.apt
deleted file mode 100644
index 64cb805c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/index.apt
+++ /dev/null
@@ -1,187 +0,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.
-
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2013-03-19
- -----
-
-Maven Model Builder
-
- The effective model builder, with profile activation, inheritance, interpolation, ...
-
- The main component is <<<ModelBuilder>>>
- ({{{./apidocs/org/apache/maven/model/building/ModelBuilder.html}javadoc}},
- {{{./xref/org/apache/maven/model/building/ModelBuilder.html}source}}),
- with its <<<DefaultModelBuilder>>> implementation
- ({{{./apidocs/org/apache/maven/model/building/DefaultModelBuilder.html}javadoc}},
- {{{./xref/org/apache/maven/model/building/DefaultModelBuilder.html}source}})
- that manages the steps sequence.
-
- The sequence is divided into 2 phases:
-
- * phase 1
-
- ** profile activation: see {{{./apidocs/org/apache/maven/model/profile/activation/package-summary.html}available activators}}.
- Notice that model interpolation hasn't happened yet, then interpolation for file-based activation is limited to
- <<<$\{basedir}>>> (since Maven 3), System properties and request properties
-
- ** raw model validation: <<<ModelValidator>>> ({{{./apidocs/org/apache/maven/model/validation/ModelValidator.html}javadoc}}),
- with its <<<DefaultModelValidator>>> implementation
- ({{{./xref/org/apache/maven/model/validation/DefaultModelValidator.html}source}})
-
- ** model normalization - merge duplicates: <<<ModelNormalizer>>> ({{{./apidocs/org/apache/maven/model/normalization/ModelNormalizer.html}javadoc}}),
- with its <<<DefaultModelNormalizer>>> implementation
- ({{{./xref/org/apache/maven/model/normalization/DefaultModelNormalizer.html}source}})
-
- ** profile injection: <<<ProfileInjector>>> ({{{./apidocs/org/apache/maven/model/profile/ProfileInjector.html}javadoc}}),
- with its <<<DefaultProfileInjector>>> implementation
- ({{{./xref/org/apache/maven/model/profile/DefaultProfileInjector.html}source}})
-
- ** parent resolution until {{{./super-pom.html}super-pom}}
-
- ** inheritance assembly: <<<InheritanceAssembler>>> ({{{./apidocs/org/apache/maven/model/inheritance/InheritanceAssembler.html}javadoc}}),
- with its <<<DefaultInheritanceAssembler>>> implementation
- ({{{./xref/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.html}source}})
-
- ** model interpolation (see below)
-
- ** url normalization: <<<UrlNormalizer>>> ({{{./apidocs/org/apache/maven/model/path/UrlNormalizer.html}javadoc}}),
- with its <<<DefaultUrlNormalizer>>> implementation
- ({{{./xref/org/apache/maven/model/path/DefaultUrlNormalizer.html}source}})
-
- []
-
- * phase 2, with optional plugin processing
-
- ** model path translation: <<<ModelPathTranslator>>> ({{{./apidocs/org/apache/maven/model/path/ModelPathTranslator.html}javadoc}}),
- with its <<<DefaultModelPathTranslator>>> implementation
- ({{{./xref/org/apache/maven/model/path/DefaultModelPathTranslator.html}source}})
-
- ** plugin management injection: <<<PluginManagementInjector>>> ({{{./apidocs/org/apache/maven/model/management/PluginManagementInjector.html}javadoc}}),
- with its <<<DefaultPluginManagementInjector>>> implementation
- ({{{./xref/org/apache/maven/model/management/DefaultPluginManagementInjector.html}source}})
-
- ** <(optional)> lifecycle bindings injection: <<<LifecycleBindingsInjector>>> ({{{./apidocs/org/apache/maven/model/plugin/LifecycleBindingsInjector.html}javadoc}}),
- with its <<<DefaultLifecycleBindingsInjector>>> implementation
- ({{{./xref/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.html}source}})
-
- ** dependency management import (for dependencies of type <<<pom>>> in the <<<\<dependencyManagement\>>>> section)
-
- ** dependency management injection: <<<DependencyManagementInjector>>> ({{{./apidocs/org/apache/maven/model/management/DependencyManagementInjector.html}javadoc}}),
- with its <<<DefaultDependencyManagementInjector>>> implementation
- ({{{./xref/org/apache/maven/model/management/DefaultDependencyManagementInjector.html}source}})
-
- ** model normalization - inject default values: <<<ModelNormalizer>>> ({{{./apidocs/org/apache/maven/model/normalization/ModelNormalizer.html}javadoc}}),
- with its <<<DefaultModelNormalizer>>> implementation
- ({{{./xref/org/apache/maven/model/normalization/DefaultModelNormalizer.html}source}})
-
- ** <(optional)> reports configuration: <<<ReportConfigurationExpander>>> ({{{./apidocs/org/apache/maven/model/plugin/ReportConfigurationExpander.html}javadoc}}),
- with its <<<DefaultReportConfigurationExpander>>> implementation
- ({{{./xref/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.html}source}})
-
- ** <(optional)> reports conversion to decoupled site plugin: <<<ReportingConverter>>> ({{{./apidocs/org/apache/maven/model/plugin/ReportingConverter.html}javadoc}}),
- with its <<<DefaultReportingConverter>>> implementation
- ({{{./xref/org/apache/maven/model/plugin/DefaultReportingConverter.html}source}})
-
- ** <(optional)> plugins configuration: <<<PluginConfigurationExpander>>> ({{{./apidocs/org/apache/maven/model/plugin/PluginConfigurationExpander.html}javadoc}}),
- with its <<<DefaultPluginConfigurationExpander>>> implementation
- ({{{./xref/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.html}source}})
-
- ** effective model validation: <<<ModelValidator>>> ({{{./apidocs/org/apache/maven/model/validation/ModelValidator.html}javadoc}}),
- with its <<<DefaultModelValidator>>> implementation
- ({{{./xref/org/apache/maven/model/validation/DefaultModelValidator.html}source}})
-
- []
-
- []
-
-
-* Model Interpolation
-
- Model Interpolation consists in replacing <<<$\{...\}>>> with calculated value. It is done in <<<StringSearchModelInterpolator>>>
- ({{{./apidocs/org/apache/maven/model/interpolation/StringSearchModelInterpolator.html}javadoc}},
- {{{./xref/org/apache/maven/model/interpolation/StringSearchModelInterpolator.html}source}}).
-
- Notice that model interpolation happens <after> profile activation, then profile activation doesn't benefit from every values:
- interpolation for file-based activation is limited to <<<$\{basedir}>>> (which was introduced in Maven 3 and is not deprecated
- in this context), System properties and request properties.
-
- Values are evaluated in sequence from different syntaxes:
-
-*----+------+------+
-|| value || evaluation result || common examples ||
-*----+------+------+
-| <<<project.*>>>\
-<<<pom.*>>> (<deprecated>)\
-<<<*>>> (<deprecated>) | POM content (see {{{../maven-model/maven.html}POM reference}}) | <<<$\{project.version\}>>>\
- | | <<<$\{project.build.finalName\}>>>\
- | | <<<$\{project.artifactId\}>>>\
- | | <<<$\{project.build.directory\}>>> |
-*----+------+------+
-| <<<project.basedir>>>\
-<<<pom.basedir>>> (<deprecated>)\
-<<<basedir>>> (<deprecated>) | the directory containing the <<<pom.xml>>> file | <<<$\{project.basedir\}>>> |
-*----+------+------+
-| <<<project.baseUri>>>\
-<<<pom.baseUri>>> (<deprecated>) | the directory containing the <<<pom.xml>>> file as URI | <<<$\{project.baseUri\}>>> |
-*----+------+------+
-| <<<build.timestamp>>>\
-<<<maven.build.timestamp>>> | the UTC timestamp of build start, in <<<yyyy-MM-dd'T'HH:mm:ss'Z'>>> default format, which can be overridden with <<<maven.build.timestamp.format>>> POM property | <<<$\{maven.build.timestamp\}>>> |
-*----+------+------+
-| <<<*>>> | user properties, set from CLI with <<<-Dproperty=value>>> | <<<$\{skipTests\}>>> |
-*----+------+------+
-| <<<*>>> | model properties, such as project properties set in the pom | <<<$\{any.key\}>>> |
-*----+------+------+
-| <<<maven.home>>> | The path to the current Maven home. | <<<$\{maven.home\}>>> |
-*----+------+------+
-| <<<maven.version>>> | The version number of the current Maven execution <(since 3.0.4)>. For example, "<<<3.0.5>>>". | <<<$\{maven.version\}>>> |
-*----+------+------+
-| <<<maven.build.version>>> | The full build version of the current Maven execution <(since 3.0.4)>. For example, "<<<Apache Maven 3.2.2 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19T14:51:28+01:00)>>>". | <<<$\{maven.build.version\}>>> |
-*----+------+------+
-| <<<*>>> | Java system properties (see {{{http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties()}JDK reference}}) | <<<$\{user.home\}>>>\
- | | <<<$\{java.home\}>>> |
-*----+------+------+
-| <<<env.*>>>\
-<<<*>>> | environment variables | <<<$\{env.PATH\}>>> |
-*----+------+------+
-| <<<settings.*>>> | Local user settings (see {{{../maven-settings/settings.xml/settings.html}settings reference}}) | <<<$\{settings.localRepository\}>>> |
-*----+------+------+
-
-** Notice
-
- * after model interpolation, <<<$\{...\}>>> content can remain in the model that will be evaluated later
- when setting plugin parameters. This happens in particular with <<<settings.*>>> values for
- {{{../maven-settings/settings.html}Settings Model}},
-
- * encoding configuration have been defined as POM properties looking like POM content but not added to POM model to maintain
- compatibility with previous Maven versions:
-
- * <<<$\{project.build.sourceEncoding\}>>> for
- {{{http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding}source files encoding}}
- (defaults to platform encoding)
-
- * <<<$\{project.reporting.outputEncoding\}>>> for
- {{{https://cwiki.apache.org/confluence/display/MAVENOLD/Reporting+Encoding+Configuration}reporting output files encoding}}
- (defaults to <<<UTF-8>>>)
-
- []
-
- []
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/super-pom.apt.vm b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/super-pom.apt.vm
deleted file mode 100644
index df86d70e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/apt/super-pom.apt.vm
+++ /dev/null
@@ -1,30 +0,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.
-
- -----
- Super POM
- -----
- Hervé Boutemy
- -----
- 2011-09-12
- -----
-
-Super POM
-
- All models implicitly inherit from a super-POM:
-
-%{snippet|id=superpom|file=${project.build.sourceDirectory}/../resources/org/apache/maven/model/pom-4.0.0.xml}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/site.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/site.xml
deleted file mode 100644
index 04f54455..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/site/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?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/DECORATION/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
- <body>
- <menu name="Overview">
- <item name="Introduction" href="index.html"/>
- <item name="JavaDocs" href="apidocs/index.html"/>
- <item name="Source Xref" href="xref/index.html"/>
- <!--item name="FAQ" href="faq.html"/-->
- </menu>
-
- <menu name="Reference">
- <item name="Super POM" href="super-pom.html"/>
- </menu>
-
- <menu ref="parent"/>
- <menu ref="reports"/>
- </body>
-</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
deleted file mode 100644
index 9ef31b3d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/ComplexActivationTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.maven.model.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 junit.framework.TestCase;
-
-import java.io.File;
-import java.util.Properties;
-
-/**
- * @author Konstantin Perikov
- */
-public class ComplexActivationTest
- extends TestCase
-{
-
- private File getPom( String name )
- {
- return new File( "src/test/resources/poms/factory/" + name + ".xml" ).getAbsoluteFile();
- }
-
- public void testAndConditionInActivation()
- throws Exception
- {
- Properties sysProperties = new Properties();
- sysProperties.setProperty( "myproperty", "test" );
-
- ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
- assertNotNull( builder );
-
- DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
- request.setProcessPlugins( true );
- request.setPomFile( getPom( "complex" ) );
- request.setSystemProperties( sysProperties );
-
- ModelBuildingResult result = builder.build( request );
- assertNotNull( result );
- assertNotNull( result.getEffectiveModel() );
- assertEquals( "activated-1", result.getEffectiveModel().getProperties().get( "profile.file" ) );
- assertNull( result.getEffectiveModel().getProperties().get( "profile.miss" ) );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
deleted file mode 100644
index 90b65a4c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.maven.model.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 java.io.File;
-
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-import junit.framework.TestCase;
-
-/**
- * @author Benjamin Bentmann
- */
-public class DefaultModelBuilderFactoryTest
- extends TestCase
-{
-
- private File getPom( String name )
- {
- return new File( "src/test/resources/poms/factory/" + name + ".xml" ).getAbsoluteFile();
- }
-
- public void testCompleteWiring()
- throws Exception
- {
- ModelBuilder builder = new DefaultModelBuilderFactory().newInstance();
- assertNotNull( builder );
-
- DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
- request.setProcessPlugins( true );
- request.setPomFile( getPom( "simple" ) );
-
- ModelBuildingResult result = builder.build( request );
- assertNotNull( result );
- assertNotNull( result.getEffectiveModel() );
- assertEquals( "activated", result.getEffectiveModel().getProperties().get( "profile.file" ) );
- Xpp3Dom conf = (Xpp3Dom) result.getEffectiveModel().getBuild().getPlugins().get( 0 ).getConfiguration();
- assertEquals( "1.5", conf.getChild( "source" ).getValue() );
- assertEquals( " 1.5 ", conf.getChild( "target" ).getValue() );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java
deleted file mode 100644
index bb0ccff9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/building/SimpleProblemCollector.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.maven.model.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 java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.model.Model;
-
-
-/**
- * A simple model problem collector for testing the model building components.
- *
- * @author Benjamin Bentmann
- */
-public class SimpleProblemCollector
- implements ModelProblemCollector
-{
- private Model model;
-
- private List<String> warnings = new ArrayList<String>();
-
- private List<String> errors = new ArrayList<String>();
-
- private List<String> fatals = new ArrayList<String>();
-
- public SimpleProblemCollector()
- {
- }
-
- public SimpleProblemCollector( Model model )
- {
- this.model = model;
- }
-
- public Model getModel()
- {
- return model;
- }
-
- public List<String> getWarnings()
- {
- return warnings;
- }
-
- public List<String> getErrors()
- {
- return errors;
- }
-
- public List<String> getFatals()
- {
- return fatals;
- }
-
- public void add( ModelProblemCollectorRequest req )
- {
- switch ( req.getSeverity() )
- {
- case FATAL:
- fatals.add( req.getMessage() );
- break;
- case ERROR:
- errors.add( req.getMessage() );
- break;
- case WARNING:
- warnings.add( req.getMessage() );
- break;
- }
-
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
deleted file mode 100644
index 1aef12ec..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.apache.maven.model.inheritance;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.SimpleProblemCollector;
-import org.apache.maven.model.io.ModelParseException;
-import org.apache.maven.model.io.ModelReader;
-import org.apache.maven.model.io.ModelWriter;
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.IOUtil;
-import org.custommonkey.xmlunit.XMLAssert;
-import org.custommonkey.xmlunit.XMLUnit;
-
-/**
- * @author Hervé Boutemy
- */
-public class DefaultInheritanceAssemblerTest
- extends PlexusTestCase
-{
- private ModelReader reader;
-
- private ModelWriter writer;
-
- private InheritanceAssembler assembler;
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- reader = lookup( ModelReader.class );
- writer = lookup( ModelWriter.class );
- assembler = lookup( InheritanceAssembler.class );
- }
-
- private File getPom( String name )
- {
- return getTestFile( "src/test/resources/poms/inheritance/" + name + ".xml" );
- }
-
- private Model getModel( String name )
- throws ModelParseException, IOException
- {
- return reader.read( getPom( name ), null );
- }
-
- public void testPluginConfiguration()
- throws Exception
- {
- Model parent = getModel( "plugin-configuration-parent" );
-
- Model child = getModel( "plugin-configuration-child" );
-
- SimpleProblemCollector problems = new SimpleProblemCollector();
-
- assembler.assembleModelInheritance( child, parent, null, problems );
-
- File actual = getTestFile( "target/test-classes/poms/inheritance/plugin-configuration-actual.xml" );
-
- writer.write( actual, null, child );
-
- // check with getPom( "plugin-configuration-effective" )
- Reader control = null;
- Reader test = null;
- try
- {
- File expected = getPom( "plugin-configuration-expected" );
- control = new InputStreamReader( new FileInputStream( expected ), "UTF-8" );
-
- test = new InputStreamReader( new FileInputStream( actual ), "UTF-8" );
-
- XMLUnit.setIgnoreComments( true );
- XMLUnit.setIgnoreWhitespace( true );
- XMLAssert.assertXMLEqual( control, test );
- }
- catch ( IOException ioe )
- {
- IOUtil.close( control );
- IOUtil.close( test );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
deleted file mode 100644
index 99842dfe..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
+++ /dev/null
@@ -1,494 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.Build;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Organization;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.Resource;
-import org.apache.maven.model.Scm;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.SimpleProblemCollector;
-import org.apache.maven.model.path.PathTranslator;
-import org.codehaus.plexus.PlexusTestCase;
-
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.TimeZone;
-
-/**
- * @author jdcasey
- */
-public abstract class AbstractModelInterpolatorTest
- extends PlexusTestCase
-{
- private Properties context;
-
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- context = new Properties();
- context.put( "basedir", "myBasedir" );
- context.put( "project.baseUri", "myBaseUri" );
- }
-
-
- protected void assertProblemFree( SimpleProblemCollector collector )
- {
- assertEquals( "Expected no errors", 0, collector.getErrors().size() );
- assertEquals( "Expected no warnings", 0, collector.getWarnings().size() );
- assertEquals( "Expected no fatals", 0, collector.getFatals().size() );
- }
-
- protected void assertColllectorState( int numFatals, int numErrors, int numWarnings,
- SimpleProblemCollector collector )
- {
- assertEquals( "Errors", numErrors, collector.getErrors().size() );
- assertEquals( "Warnings", numWarnings, collector.getWarnings().size() );
- assertEquals( "Fatals", numFatals, collector.getFatals().size() );
- }
-
- private ModelBuildingRequest createModelBuildingRequest( Properties p )
- {
- ModelBuildingRequest config = new DefaultModelBuildingRequest();
- if ( p != null )
- {
- config.setSystemProperties( p );
- }
- return config;
- }
-
- public void testDefaultBuildTimestampFormatShouldFormatTimeIn24HourFormat()
- {
- Calendar cal = Calendar.getInstance();
- cal.setTimeZone(TimeZone.getTimeZone("UTC"));
- cal.set( Calendar.HOUR, 12 );
- cal.set( Calendar.AM_PM, Calendar.AM );
-
- // just to make sure all the bases are covered...
- cal.set( Calendar.HOUR_OF_DAY, 0 );
- cal.set( Calendar.MINUTE, 16 );
- cal.set( Calendar.SECOND, 0 );
- cal.set( Calendar.YEAR, 1976 );
- cal.set( Calendar.MONTH, Calendar.NOVEMBER );
- cal.set( Calendar.DATE, 11 );
-
- Date firstTestDate = cal.getTime();
-
- cal.set( Calendar.HOUR, 11 );
- cal.set( Calendar.AM_PM, Calendar.PM );
-
- // just to make sure all the bases are covered...
- cal.set( Calendar.HOUR_OF_DAY, 23 );
-
- Date secondTestDate = cal.getTime();
-
- SimpleDateFormat format =
- new SimpleDateFormat( MavenBuildTimestamp.DEFAULT_BUILD_TIMESTAMP_FORMAT );
- format.setTimeZone(TimeZone.getTimeZone("UTC"));
- assertEquals( "1976-11-11T00:16:00Z", format.format( firstTestDate ) );
- assertEquals( "1976-11-11T23:16:00Z", format.format( secondTestDate ) );
- }
-
- public void testDefaultBuildTimestampFormatWithLocalTimeZoneMidnightRollover()
- {
- Calendar cal = Calendar.getInstance();
- cal.setTimeZone(TimeZone.getTimeZone("Europe/Berlin"));
-
- cal.set( Calendar.HOUR_OF_DAY, 1 );
- cal.set( Calendar.MINUTE, 16 );
- cal.set( Calendar.SECOND, 0 );
- cal.set( Calendar.YEAR, 2014 );
- cal.set( Calendar.MONTH, Calendar.JUNE );
- cal.set( Calendar.DATE, 16 );
-
- Date firstTestDate = cal.getTime();
-
- cal.set( Calendar.MONTH, Calendar.NOVEMBER );
-
- Date secondTestDate = cal.getTime();
-
- SimpleDateFormat format =
- new SimpleDateFormat( MavenBuildTimestamp.DEFAULT_BUILD_TIMESTAMP_FORMAT );
- format.setTimeZone(TimeZone.getTimeZone("UTC"));
- assertEquals( "2014-06-15T23:16:00Z", format.format( firstTestDate ) );
- assertEquals( "2014-11-16T00:16:00Z", format.format( secondTestDate ) );
- }
-
- public void testShouldNotThrowExceptionOnReferenceToNonExistentValue()
- throws Exception
- {
- Model model = new Model();
-
- Scm scm = new Scm();
- scm.setConnection( "${test}/somepath" );
-
- model.setScm( scm );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
-
- assertProblemFree( collector );
- assertEquals( "${test}/somepath", out.getScm().getConnection() );
- }
-
- public void testShouldThrowExceptionOnRecursiveScmConnectionReference()
- throws Exception
- {
- Model model = new Model();
-
- Scm scm = new Scm();
- scm.setConnection( "${project.scm.connection}/somepath" );
-
- model.setScm( scm );
-
- try
- {
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
- assertColllectorState( 0, 1, 0, collector );
- }
- catch ( Exception e )
- {
-
- }
- }
-
- public void testShouldNotThrowExceptionOnReferenceToValueContainingNakedExpression()
- throws Exception
- {
- Model model = new Model();
-
- Scm scm = new Scm();
- scm.setConnection( "${test}/somepath" );
-
- model.setScm( scm );
-
- model.addProperty( "test", "test" );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
-
- assertProblemFree( collector );
-
- assertEquals( "test/somepath", out.getScm().getConnection() );
- }
-
- public void testShouldInterpolateOrganizationNameCorrectly()
- throws Exception
- {
- String orgName = "MyCo";
-
- Model model = new Model();
- model.setName( "${pom.organization.name} Tools" );
-
- Organization org = new Organization();
- org.setName( orgName );
-
- model.setOrganization( org );
-
- ModelInterpolator interpolator = createInterpolator();
-
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ),
- new SimpleProblemCollector() );
-
- assertEquals( orgName + " Tools", out.getName() );
- }
-
- public void testShouldInterpolateDependencyVersionToSetSameAsProjectVersion()
- throws Exception
- {
- Model model = new Model();
- model.setVersion( "3.8.1" );
-
- Dependency dep = new Dependency();
- dep.setVersion( "${version}" );
-
- model.addDependency( dep );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
- assertColllectorState(0, 0, 1, collector );
-
- assertEquals( "3.8.1", ( out.getDependencies().get( 0 ) ).getVersion() );
- }
-
- public void testShouldNotInterpolateDependencyVersionWithInvalidReference()
- throws Exception
- {
- Model model = new Model();
- model.setVersion( "3.8.1" );
-
- Dependency dep = new Dependency();
- dep.setVersion( "${something}" );
-
- model.addDependency( dep );
-
- /*
- // This is the desired behaviour, however there are too many crappy poms in the repo and an issue with the
- // timing of executing the interpolation
-
- try
- {
- new RegexBasedModelInterpolator().interpolate( model, context );
- fail( "Should have failed to interpolate with invalid reference" );
- }
- catch ( ModelInterpolationException expected )
- {
- assertTrue( true );
- }
- */
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
- assertEquals( "${something}", ( out.getDependencies().get( 0 ) ).getVersion() );
- }
-
- public void testTwoReferences()
- throws Exception
- {
- Model model = new Model();
- model.setVersion( "3.8.1" );
- model.setArtifactId( "foo" );
-
- Dependency dep = new Dependency();
- dep.setVersion( "${artifactId}-${version}" );
-
- model.addDependency( dep );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
- assertColllectorState( 0, 0, 2, collector );
-
- assertEquals( "foo-3.8.1", ( out.getDependencies().get( 0 ) ).getVersion() );
- }
-
- public void testBasedir()
- throws Exception
- {
- Model model = new Model();
- model.setVersion( "3.8.1" );
- model.setArtifactId( "foo" );
-
- Repository repository = new Repository();
-
- repository.setUrl( "file://localhost/${basedir}/temp-repo" );
-
- model.addRepository( repository );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out = interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
- assertEquals( "file://localhost/myBasedir/temp-repo", ( out.getRepositories().get( 0 ) ).getUrl() );
- }
-
- public void testBaseUri()
- throws Exception
- {
- Model model = new Model();
- model.setVersion( "3.8.1" );
- model.setArtifactId( "foo" );
-
- Repository repository = new Repository();
-
- repository.setUrl( "${project.baseUri}/temp-repo" );
-
- model.addRepository( repository );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out = interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
- assertEquals( "myBaseUri/temp-repo", ( out.getRepositories().get( 0 ) ).getUrl() );
- }
-
- public void testEnvars()
- throws Exception
- {
- Properties context = new Properties();
-
- context.put( "env.HOME", "/path/to/home" );
-
- Model model = new Model();
-
- Properties modelProperties = new Properties();
-
- modelProperties.setProperty( "outputDirectory", "${env.HOME}" );
-
- model.setProperties( modelProperties );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
- assertEquals( "/path/to/home", out.getProperties().getProperty( "outputDirectory" ) );
- }
-
- public void testEnvarExpressionThatEvaluatesToNullReturnsTheLiteralString()
- throws Exception
- {
- Model model = new Model();
-
- Properties modelProperties = new Properties();
-
- modelProperties.setProperty( "outputDirectory", "${env.DOES_NOT_EXIST}" );
-
- model.setProperties( modelProperties );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
- assertEquals( out.getProperties().getProperty( "outputDirectory" ), "${env.DOES_NOT_EXIST}" );
- }
-
- public void testExpressionThatEvaluatesToNullReturnsTheLiteralString()
- throws Exception
- {
- Model model = new Model();
-
- Properties modelProperties = new Properties();
-
- modelProperties.setProperty( "outputDirectory", "${DOES_NOT_EXIST}" );
-
- model.setProperties( modelProperties );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out =
- interpolator.interpolateModel( model, new File( "." ), createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
- assertEquals( out.getProperties().getProperty( "outputDirectory" ), "${DOES_NOT_EXIST}" );
- }
-
- public void testShouldInterpolateSourceDirectoryReferencedFromResourceDirectoryCorrectly()
- throws Exception
- {
- Model model = new Model();
-
- Build build = new Build();
- build.setSourceDirectory( "correct" );
-
- Resource res = new Resource();
- res.setDirectory( "${project.build.sourceDirectory}" );
-
- build.addResource( res );
-
- Resource res2 = new Resource();
- res2.setDirectory( "${pom.build.sourceDirectory}" );
-
- build.addResource( res2 );
-
- Resource res3 = new Resource();
- res3.setDirectory( "${build.sourceDirectory}" );
-
- build.addResource( res3 );
-
- model.setBuild( build );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model out = interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
- assertColllectorState( 0, 0, 2, collector );
-
-
- List<Resource> outResources = out.getBuild().getResources();
- Iterator<Resource> resIt = outResources.iterator();
-
- assertEquals( build.getSourceDirectory(), resIt.next().getDirectory() );
- assertEquals( build.getSourceDirectory(), resIt.next().getDirectory() );
- assertEquals( build.getSourceDirectory(), resIt.next().getDirectory() );
- }
-
- public void testShouldInterpolateUnprefixedBasedirExpression()
- throws Exception
- {
- File basedir = new File( "/test/path" );
- Model model = new Model();
- Dependency dep = new Dependency();
- dep.setSystemPath( "${basedir}/artifact.jar" );
-
- model.addDependency( dep );
-
- ModelInterpolator interpolator = createInterpolator();
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- Model result = interpolator.interpolateModel( model, basedir, createModelBuildingRequest( context ), collector );
- assertProblemFree( collector );
-
-
- List<Dependency> rDeps = result.getDependencies();
- assertNotNull( rDeps );
- assertEquals( 1, rDeps.size() );
- assertEquals( new File( basedir, "artifact.jar" ).getAbsolutePath(),
- new File( rDeps.get( 0 ).getSystemPath() ).getAbsolutePath() );
- }
-
- protected abstract ModelInterpolator createInterpolator( PathTranslator translator )
- throws Exception;
-
- protected abstract ModelInterpolator createInterpolator()
- throws Exception;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
deleted file mode 100644
index 8af32fc5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/MavenBuildTimestampTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Date;
-import java.util.Properties;
-
-import junit.framework.TestCase;
-
-public class MavenBuildTimestampTest
- extends TestCase
-{
- public void testMavenBuildTimestampUsesUTC()
- {
- Properties interpolationProperties = new Properties();
- interpolationProperties.setProperty( "maven.build.timestamp.format", "yyyyMMdd'T'HHmm'Z'" );
- MavenBuildTimestamp timestamp = new MavenBuildTimestamp( new Date(), interpolationProperties );
- String formattedTimestamp = timestamp.formattedTimestamp();
- assertTrue( "We expect the UTC marker at the end of the timestamp.", formattedTimestamp.endsWith( "Z" ) );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
deleted file mode 100644
index c4cae3d4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java
+++ /dev/null
@@ -1,505 +0,0 @@
-package org.apache.maven.model.interpolation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.model.InputLocation;
-import org.apache.maven.model.InputSource;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.SimpleProblemCollector;
-
-import java.io.File;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Future;
-import java.util.concurrent.FutureTask;
-
-/**
- * @author jdcasey
- * @author Benjamin Bentmann
- */
-public class StringSearchModelInterpolatorTest
- extends AbstractModelInterpolatorTest
-{
-
- protected ModelInterpolator interpolator;
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
- interpolator = lookup( ModelInterpolator.class );
- }
-
-
- protected ModelInterpolator createInterpolator( org.apache.maven.model.path.PathTranslator translator )
- throws Exception
- {
- return this.interpolator;
- }
-
- protected ModelInterpolator createInterpolator()
- throws Exception
- {
- return this.interpolator;
- }
-
- public void testInterpolateStringArray()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- String[] values = { "${key}", "${key2}" };
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest(p);
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( values, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "value", values[0] );
- assertEquals( "value2", values[1] );
- }
-
- private ModelBuildingRequest createModelBuildingRequest( Properties p )
- {
- ModelBuildingRequest config = new DefaultModelBuildingRequest();
- config.setSystemProperties( p );
- return config;
- }
-
- public void testInterpolateObjectWithStringArrayField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- String[] values = { "${key}", "${key2}" };
-
- ObjectWithStringArrayField obj = new ObjectWithStringArrayField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "value", obj.values[0] );
- assertEquals( "value2", obj.values[1] );
- }
-
- public void testInterpolateObjectWithStringListField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- List<String> values = new ArrayList<String>();
- values.add( "${key}" );
- values.add( "${key2}" );
-
- ObjectWithListField obj = new ObjectWithListField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "value", obj.values.get( 0 ) );
- assertEquals( "value2", obj.values.get( 1 ) );
- }
-
- public void testInterpolateObjectWithStringListFieldAndOneLiteralValue()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- List<String> values = new ArrayList<String>();
- values.add( "key" );
- values.add( "${key2}" );
-
- ObjectWithListField obj = new ObjectWithListField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "key", obj.values.get( 0 ) );
- assertEquals( "value2", obj.values.get( 1 ) );
- }
-
- public void testInterpolateObjectWithUnmodifiableStringListField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- List<String> values = Collections.unmodifiableList( Collections.singletonList( "${key}" ) );
-
- ObjectWithListField obj = new ObjectWithListField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "${key}", obj.values.get( 0 ) );
- }
-
- public void testInterpolateObjectWithStringArrayListField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
- p.setProperty( "key3", "value3" );
- p.setProperty( "key4", "value4" );
-
- List<String[]> values = new ArrayList<String[]>();
- values.add( new String[] { "${key}", "${key2}" } );
- values.add( new String[] { "${key3}", "${key4}" } );
-
- ObjectWithListField obj = new ObjectWithListField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "value", ( (String[]) obj.values.get( 0 ) )[0] );
- assertEquals( "value2", ( (String[]) obj.values.get( 0 ) )[1] );
- assertEquals( "value3", ( (String[]) obj.values.get( 1 ) )[0] );
- assertEquals( "value4", ( (String[]) obj.values.get( 1 ) )[1] );
- }
-
- public void testInterpolateObjectWithStringToStringMapField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- Map<String, String> values = new HashMap<String, String>();
- values.put( "key", "${key}" );
- values.put( "key2", "${key2}" );
-
- ObjectWithMapField obj = new ObjectWithMapField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "value", obj.values.get( "key" ) );
- assertEquals( "value2", obj.values.get( "key2" ) );
- }
-
- public void testInterpolateObjectWithStringToStringMapFieldAndOneLiteralValue()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- Map<String, String> values = new HashMap<String, String>();
- values.put( "key", "val" );
- values.put( "key2", "${key2}" );
-
- ObjectWithMapField obj = new ObjectWithMapField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "val", obj.values.get( "key" ) );
- assertEquals( "value2", obj.values.get( "key2" ) );
- }
-
- public void testInterpolateObjectWithUnmodifiableStringToStringMapField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
-
- Map<String, String> values = Collections.unmodifiableMap( Collections.singletonMap( "key", "${key}" ) );
-
- ObjectWithMapField obj = new ObjectWithMapField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "${key}", obj.values.get( "key" ) );
- }
-
- public void testInterpolateObjectWithStringToStringArrayMapField()
- throws Exception
- {
- Model model = new Model();
-
- Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
- p.setProperty( "key3", "value3" );
- p.setProperty( "key4", "value4" );
-
- Map<String, String[]> values = new HashMap<String, String[]>();
- values.put( "key", new String[] { "${key}", "${key2}" } );
- values.put( "key2", new String[] { "${key3}", "${key4}" } );
-
- ObjectWithMapField obj = new ObjectWithMapField( values );
-
- StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
- ModelBuildingRequest config = createModelBuildingRequest( p );
-
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- assertProblemFree( collector );
-
- assertEquals( "value", ( (String[]) obj.values.get( "key" ) )[0] );
- assertEquals( "value2", ( (String[]) obj.values.get( "key" ) )[1] );
- assertEquals( "value3", ( (String[]) obj.values.get( "key2" ) )[0] );
- assertEquals( "value4", ( (String[]) obj.values.get( "key2" ) )[1] );
- }
-
-
- public void testConcurrentInterpolation()
- throws Exception
- {
- final Model model = new Model();
-
- final Properties p = new Properties();
- p.setProperty( "key", "value" );
- p.setProperty( "key2", "value2" );
- p.setProperty( "key3", "value3" );
- p.setProperty( "key4", "value4" );
- p.setProperty( "key5", "value5" );
-
- final StringSearchModelInterpolator interpolator = (StringSearchModelInterpolator) createInterpolator();
-
-
- int numItems = 100;
- final CountDownLatch countDownLatch = new CountDownLatch(1);
-
- List<Future<SimpleProblemCollector>> futures = new ArrayList<Future<SimpleProblemCollector>>();
- for ( int i = 0; i < numItems; i++ )
- {
- Callable<SimpleProblemCollector> future = new Callable<SimpleProblemCollector>()
- {
- public SimpleProblemCollector call()
- throws Exception
- {
- final ObjectWithMixedProtection obj = getValueList();
- final ModelBuildingRequest config = createModelBuildingRequest( p );
-
- countDownLatch.await();
- final SimpleProblemCollector collector = new SimpleProblemCollector();
- interpolator.interpolateObject( obj, model, new File( "." ), config, collector );
- return collector;
- }
- };
- FutureTask<SimpleProblemCollector> task = new FutureTask<SimpleProblemCollector>( future );
- futures.add( task );
- new Thread( task ).start();
- }
- countDownLatch.countDown(); // Start all the threads
- for ( Future<SimpleProblemCollector> result : futures )
- {
- SimpleProblemCollector problemCollector = result.get(); // ArrayIndexOutOfBoundsException are typical indication of threading issues
- assertProblemFree( problemCollector );
- }
- }
-
- private ObjectWithMixedProtection getValueList()
- {
- List<String[]> values = new ArrayList<String[]>();
-
- values.add( new String[] { "${key}", "${key2}" } );
- values.add( new String[] { "${key3}", "${key4}" } );
- List<String> values2 = new ArrayList<String>();
- values.add( new String[] { "${key}", "${key2}" } );
- values.add( new String[] { "${key3}", "${key4}" } );
- List<String> values3 = new ArrayList<String>();
- values.add( new String[] { "${key}", "${key2}" } );
- values.add( new String[] { "${key3}", "${key4}" } );
-
- return new ObjectWithMixedProtection( values, values2, values3, "${key5}" );
- }
-
-
- private static final class ObjectWithStringArrayField
- {
- private final String[] values;
-
- public ObjectWithStringArrayField( String[] values )
- {
- this.values = values;
- }
- }
-
- private static final class ObjectWithListField
- {
- private final List<?> values;
-
- public ObjectWithListField( List<?> values )
- {
- this.values = values;
- }
- }
-
- private static final class ObjectWithMapField
- {
- private final Map<?, ?> values;
-
- public ObjectWithMapField( Map<?, ?> values )
- {
- this.values = values;
- }
- }
-
- @SuppressWarnings( "unused" )
- private static final class ObjectWithMixedProtection
- {
- private List<?> values1;
- protected List<?> values2;
- List<?> values3;
- private String fooBar;
-
- private ObjectWithMixedProtection( List<?> values1, List<?> values2, List<?> values3 )
- {
- this.values1 = values1;
- this.values2 = values2;
- this.values3 = values3;
- }
-
- private ObjectWithMixedProtection( List<?> values1, List<?> values2, List<?> values3, String fooBar )
- {
- this.values1 = values1;
- this.values2 = values2;
- this.values3 = values3;
- this.fooBar = fooBar;
- }
-
- public String getFooBar()
- {
- return fooBar;
- }
- }
-
- public void testFinalFieldsExcludedFromInterpolation()
- {
- Properties props = new Properties();
- props.setProperty( "expression", "value" );
- DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
- request.setUserProperties( props );
-
- SimpleProblemCollector problems = new SimpleProblemCollector();
- StringSearchModelInterpolator interpolator = new StringSearchModelInterpolator();
- interpolator.interpolateObject( new ClassWithFinalField(), new Model(), null, request, problems );
-
- assertProblemFree( problems );
- }
-
- static class ClassWithFinalField
- {
- public static final String CONSTANT = "${expression}";
- }
-
- public void testLocationTrackerShouldBeExcludedFromInterpolation()
- {
- Properties props = new Properties();
- props.setProperty( "expression", "value" );
- DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
- request.setUserProperties( props );
-
- InputSource source = new InputSource();
- source.setLocation( "${expression}" );
- source.setModelId( "${expression}" );
- Model model = new Model();
- model.setLocation( "", new InputLocation( 1, 1, source ) );
-
- SimpleProblemCollector problems = new SimpleProblemCollector();
- StringSearchModelInterpolator interpolator = new StringSearchModelInterpolator();
- interpolator.interpolateObject( model, model, null, request, problems );
-
- assertProblemFree( problems );
- assertEquals( "${expression}", source.getLocation() );
- assertEquals( "${expression}", source.getModelId() );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
deleted file mode 100644
index 88fdc9cf..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/path/DefaultUrlNormalizerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.apache.maven.model.path;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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;
-
-/**
- * @author Benjamin Bentmann
- */
-public class DefaultUrlNormalizerTest
- extends TestCase
-{
-
- private UrlNormalizer normalizer;
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- normalizer = new DefaultUrlNormalizer();
- }
-
- @Override
- protected void tearDown()
- throws Exception
- {
- normalizer = null;
-
- super.tearDown();
- }
-
- private String normalize( String url )
- {
- return normalizer.normalize( url );
- }
-
- public void testNullSafe()
- {
- assertNull( normalize( null ) );
- }
-
- public void testTrailingSlash()
- {
- assertEquals( "", normalize( "" ) );
- assertEquals( "http://server.org/dir", normalize( "http://server.org/dir" ) );
- assertEquals( "http://server.org/dir/", normalize( "http://server.org/dir/" ) );
- }
-
- public void testRemovalOfParentRefs()
- {
- assertEquals( "http://server.org/child", normalize( "http://server.org/parent/../child" ) );
- assertEquals( "http://server.org/child", normalize( "http://server.org/grand/parent/../../child" ) );
-
- assertEquals( "http://server.org//child", normalize( "http://server.org/parent/..//child" ) );
- assertEquals( "http://server.org/child", normalize( "http://server.org/parent//../child" ) );
- }
-
- public void testPreservationOfDoubleSlashes()
- {
- assertEquals( "scm:hg:ssh://localhost//home/user", normalize( "scm:hg:ssh://localhost//home/user" ) );
- assertEquals( "file:////UNC/server", normalize( "file:////UNC/server" ) );
- assertEquals( "[fetch=]http://server.org/[push=]ssh://server.org/",
- normalize( "[fetch=]http://server.org/[push=]ssh://server.org/" ) );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
deleted file mode 100644
index 0ec3b326..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/AbstractProfileActivatorTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Properties;
-
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.SimpleProblemCollector;
-import org.apache.maven.model.profile.DefaultProfileActivationContext;
-import org.apache.maven.model.profile.ProfileActivationContext;
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Provides common services to test {@link ProfileActivator} implementations.
- *
- * @author Benjamin Bentmann
- */
-public abstract class AbstractProfileActivatorTest<T extends ProfileActivator>
- extends PlexusTestCase
-{
-
- private Class<T> activatorClass;
-
- private String roleHint;
-
- protected T activator;
-
- public AbstractProfileActivatorTest( Class<T> activatorClass )
- {
- if ( activatorClass == null )
- {
- throw new IllegalArgumentException( "class of profile activator to test is not specified" );
- }
-
- this.activatorClass = activatorClass;
-
- roleHint = activatorClass.getAnnotation( Component.class ).hint();
- }
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- activator = activatorClass.cast( lookup( ProfileActivator.class, roleHint ) );
- }
-
- @Override
- protected void tearDown()
- throws Exception
- {
- activator = null;
-
- super.tearDown();
- }
-
- protected ProfileActivationContext newContext( final Properties userProperties, final Properties systemProperties )
- {
- DefaultProfileActivationContext context = new DefaultProfileActivationContext();
- return context.setUserProperties( userProperties ).setSystemProperties( systemProperties );
- }
-
- protected void assertActivation( boolean active, Profile profile, ProfileActivationContext context )
- {
- SimpleProblemCollector problems = new SimpleProblemCollector();
-
- assertEquals( active, activator.isActive( profile, context, problems ) );
-
- assertEquals( problems.getErrors().toString(), 0, problems.getErrors().size() );
- assertEquals( problems.getWarnings().toString(), 0, problems.getWarnings().size() );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
deleted file mode 100644
index 440f120b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Properties;
-
-import org.apache.maven.model.Activation;
-import org.apache.maven.model.Profile;
-
-/**
- * Tests {@link JdkVersionProfileActivator}.
- *
- * @author Benjamin Bentmann
- */
-public class JdkVersionProfileActivatorTest
- extends AbstractProfileActivatorTest<JdkVersionProfileActivator>
-{
-
- public JdkVersionProfileActivatorTest()
- {
- super( JdkVersionProfileActivator.class );
- }
-
- private Profile newProfile( String jdkVersion )
- {
- Activation a = new Activation();
- a.setJdk( jdkVersion );
-
- Profile p = new Profile();
- p.setActivation( a );
-
- return p;
- }
-
- private Properties newProperties( String javaVersion )
- {
- Properties props = new Properties();
- props.setProperty( "java.version", javaVersion );
- return props;
- }
-
- public void testNullSafe()
- throws Exception
- {
- Profile p = new Profile();
-
- assertActivation( false, p, newContext( null, null ) );
-
- p.setActivation( new Activation() );
-
- assertActivation( false, p, newContext( null, null ) );
- }
-
- public void testPrefix()
- throws Exception
- {
- Profile profile = newProfile( "1.4" );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.4" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.4.2" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.4.2_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.4.2_09-b03" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.3" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.5" ) ) );
- }
-
- public void testPrefixNegated()
- throws Exception
- {
- Profile profile = newProfile( "!1.4" );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.4" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2_09" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2_09-b03" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.3" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.5" ) ) );
- }
-
- public void testVersionRangeInclusiveBounds()
- throws Exception
- {
- Profile profile = newProfile( "[1.5,1.6]" );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.4" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2_09" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2_09-b03" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.5" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09-b03" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.1" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.6" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.6.0" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.6.0_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.6.0_09-b03" ) ) );
- }
-
- public void testVersionRangeExclusiveBounds()
- throws Exception
- {
- Profile profile = newProfile( "(1.3,1.6)" );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.3" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.3.0" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.3.0_09" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.3.0_09-b03" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.3.1" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.3.1_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.3.1_09-b03" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.5" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09-b03" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.1" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.6" ) ) );
- }
-
- public void testVersionRangeInclusiveLowerBound()
- throws Exception
- {
- Profile profile = newProfile( "[1.5,)" );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.4" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2_09" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.4.2_09-b03" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.5" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09-b03" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.1" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.6" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.6.0" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.6.0_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.6.0_09-b03" ) ) );
- }
-
- public void testVersionRangeExclusiveUpperBound()
- throws Exception
- {
- Profile profile = newProfile( "(,1.6)" );
-
- assertActivation( true, profile, newContext( null, newProperties( "1.5" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.0_09-b03" ) ) );
- assertActivation( true, profile, newContext( null, newProperties( "1.5.1" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "1.6" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.6.0" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.6.0_09" ) ) );
- assertActivation( false, profile, newContext( null, newProperties( "1.6.0_09-b03" ) ) );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
deleted file mode 100644
index 73ab967e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/PropertyProfileActivatorTest.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.apache.maven.model.profile.activation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Properties;
-
-import org.apache.maven.model.Activation;
-import org.apache.maven.model.ActivationProperty;
-import org.apache.maven.model.Profile;
-
-/**
- * Tests {@link PropertyProfileActivator}.
- *
- * @author Benjamin Bentmann
- */
-public class PropertyProfileActivatorTest
- extends AbstractProfileActivatorTest<PropertyProfileActivator>
-{
-
- public PropertyProfileActivatorTest()
- {
- super( PropertyProfileActivator.class );
- }
-
- private Profile newProfile( String key, String value )
- {
- ActivationProperty ap = new ActivationProperty();
- ap.setName( key );
- ap.setValue( value );
-
- Activation a = new Activation();
- a.setProperty( ap );
-
- Profile p = new Profile();
- p.setActivation( a );
-
- return p;
- }
-
- private Properties newProperties( String key, String value )
- {
- Properties props = new Properties();
- props.setProperty( key, value );
- return props;
- }
-
- public void testNullSafe()
- throws Exception
- {
- Profile p = new Profile();
-
- assertActivation( false, p, newContext( null, null ) );
-
- p.setActivation( new Activation() );
-
- assertActivation( false, p, newContext( null, null ) );
- }
-
- public void testWithNameOnly_UserProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", null );
-
- assertActivation( true, profile, newContext( newProperties( "prop", "value" ), null ) );
-
- assertActivation( false, profile, newContext( newProperties( "prop", "" ), null ) );
-
- assertActivation( false, profile, newContext( newProperties( "other", "value" ), null ) );
- }
-
- public void testWithNameOnly_SystemProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", null );
-
- assertActivation( true, profile, newContext( null, newProperties( "prop", "value" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "prop", "" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "other", "value" ) ) );
- }
-
- public void testWithNegatedNameOnly_UserProperty()
- throws Exception
- {
- Profile profile = newProfile( "!prop", null );
-
- assertActivation( false, profile, newContext( newProperties( "prop", "value" ), null ) );
-
- assertActivation( true, profile, newContext( newProperties( "prop", "" ), null ) );
-
- assertActivation( true, profile, newContext( newProperties( "other", "value" ), null ) );
- }
-
- public void testWithNegatedNameOnly_SystemProperty()
- throws Exception
- {
- Profile profile = newProfile( "!prop", null );
-
- assertActivation( false, profile, newContext( null, newProperties( "prop", "value" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "prop", "" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "other", "value" ) ) );
- }
-
- public void testWithValue_UserProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", "value" );
-
- assertActivation( true, profile, newContext( newProperties( "prop", "value" ), null ) );
-
- assertActivation( false, profile, newContext( newProperties( "prop", "other" ), null ) );
-
- assertActivation( false, profile, newContext( newProperties( "prop", "" ), null ) );
- }
-
- public void testWithValue_SystemProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", "value" );
-
- assertActivation( true, profile, newContext( null, newProperties( "prop", "value" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "prop", "other" ) ) );
-
- assertActivation( false, profile, newContext( null, newProperties( "other", "" ) ) );
- }
-
- public void testWithNegatedValue_UserProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", "!value" );
-
- assertActivation( false, profile, newContext( newProperties( "prop", "value" ), null ) );
-
- assertActivation( true, profile, newContext( newProperties( "prop", "other" ), null ) );
-
- assertActivation( true, profile, newContext( newProperties( "prop", "" ), null ) );
- }
-
- public void testWithNegatedValue_SystemProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", "!value" );
-
- assertActivation( false, profile, newContext( null, newProperties( "prop", "value" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "prop", "other" ) ) );
-
- assertActivation( true, profile, newContext( null, newProperties( "other", "" ) ) );
- }
-
- public void testWithValue_UserPropertyDominantOverSystemProperty()
- throws Exception
- {
- Profile profile = newProfile( "prop", "value" );
-
- Properties props1 = newProperties( "prop", "value" );
- Properties props2 = newProperties( "prop", "other" );
-
- assertActivation( true, profile, newContext( props1, props2 ) );
-
- assertActivation( false, profile, newContext( props2, props1 ) );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
deleted file mode 100644
index dde532d8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
+++ /dev/null
@@ -1,630 +0,0 @@
-package org.apache.maven.model.validation;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.InputStream;
-import java.util.List;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.SimpleProblemCollector;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.codehaus.plexus.PlexusTestCase;
-
-/**
- * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- */
-public class DefaultModelValidatorTest
- extends PlexusTestCase
-{
-
- private ModelValidator validator;
-
- private Model read( String pom )
- throws Exception
- {
- String resource = "/poms/validation/" + pom;
- InputStream is = getClass().getResourceAsStream( resource );
- assertNotNull( "missing resource: " + resource, is );
- return new MavenXpp3Reader().read( is );
- }
-
- private SimpleProblemCollector validate( String pom )
- throws Exception
- {
- return validateEffective( pom, ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
- }
-
- private SimpleProblemCollector validateRaw( String pom )
- throws Exception
- {
- return validateRaw( pom, ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
- }
-
- private SimpleProblemCollector validateEffective( String pom, int level )
- throws Exception
- {
- ModelBuildingRequest request = new DefaultModelBuildingRequest().setValidationLevel( level );
-
- SimpleProblemCollector problems = new SimpleProblemCollector( read( pom ) );
-
- validator.validateEffectiveModel( problems.getModel(), request, problems );
-
- return problems;
- }
-
- private SimpleProblemCollector validateRaw( String pom, int level )
- throws Exception
- {
- ModelBuildingRequest request = new DefaultModelBuildingRequest().setValidationLevel( level );
-
- SimpleProblemCollector problems = new SimpleProblemCollector( read( pom ) );
-
- validator.validateRawModel( problems.getModel(), request, problems );
-
- return problems;
- }
-
- private void assertContains( String msg, String substring )
- {
- assertTrue( "\"" + substring + "\" was not found in: " + msg, msg.contains( substring ) );
- }
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- validator = lookup( ModelValidator.class );
- }
-
- @Override
- protected void tearDown()
- throws Exception
- {
- this.validator = null;
-
- super.tearDown();
- }
-
- private void assertViolations( SimpleProblemCollector result, int fatals, int errors, int warnings )
- {
- assertEquals( String.valueOf( result.getFatals() ), fatals, result.getFatals().size() );
- assertEquals( String.valueOf( result.getErrors() ), errors, result.getErrors().size() );
- assertEquals( String.valueOf( result.getWarnings() ), warnings, result.getWarnings().size() );
- }
-
- public void testMissingModelVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-modelVersion-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'modelVersion' is missing.", result.getErrors().get( 0 ) );
- }
-
- public void testBadModelVersion()
- throws Exception
- {
- SimpleProblemCollector result =
- validateRaw( "bad-modelVersion.xml", ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "modelVersion" ) );
- }
-
- public void testMissingArtifactId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-artifactId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'artifactId' is missing.", result.getErrors().get( 0 ) );
- }
-
- public void testMissingGroupId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-groupId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'groupId' is missing.", result.getErrors().get( 0 ) );
- }
-
- public void testInvalidIds()
- throws Exception
- {
- SimpleProblemCollector result = validate( "invalid-ids-pom.xml" );
-
- assertViolations( result, 0, 2, 0 );
-
- assertEquals( "'groupId' with value 'o/a/m' does not match a valid id pattern.", result.getErrors().get( 0 ) );
-
- assertEquals( "'artifactId' with value 'm$-do$' does not match a valid id pattern.", result.getErrors().get( 1 ) );
- }
-
- public void testMissingType()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-type-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'packaging' is missing.", result.getErrors().get( 0 ) );
- }
-
- public void testMissingVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-version-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'version' is missing.", result.getErrors().get( 0 ) );
- }
-
- public void testInvalidAggregatorPackaging()
- throws Exception
- {
- SimpleProblemCollector result = validate( "invalid-aggregator-packaging-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "Aggregator projects require 'pom' as packaging." ) );
- }
-
- public void testMissingDependencyArtifactId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-dependency-artifactId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains(
- "'dependencies.dependency.artifactId' for groupId:null:jar is missing" ) );
- }
-
- public void testMissingDependencyGroupId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-dependency-groupId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains(
- "'dependencies.dependency.groupId' for null:artifactId:jar is missing" ) );
- }
-
- public void testMissingDependencyVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-dependency-version-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains(
- "'dependencies.dependency.version' for groupId:artifactId:jar is missing" ) );
- }
-
- public void testMissingDependencyManagementArtifactId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-dependency-mgmt-artifactId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains(
- "'dependencyManagement.dependencies.dependency.artifactId' for groupId:null:jar is missing" ) );
- }
-
- public void testMissingDependencyManagementGroupId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-dependency-mgmt-groupId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains(
- "'dependencyManagement.dependencies.dependency.groupId' for null:artifactId:jar is missing" ) );
- }
-
- public void testMissingAll()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-1-pom.xml" );
-
- assertViolations( result, 0, 4, 0 );
-
- List<String> messages = result.getErrors();
-
- assertTrue( messages.contains( "\'modelVersion\' is missing." ) );
- assertTrue( messages.contains( "\'groupId\' is missing." ) );
- assertTrue( messages.contains( "\'artifactId\' is missing." ) );
- assertTrue( messages.contains( "\'version\' is missing." ) );
- // type is inherited from the super pom
- }
-
- public void testMissingPluginArtifactId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-plugin-artifactId-pom.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'build.plugins.plugin.artifactId' is missing.", result.getErrors().get( 0 ) );
- }
-
- public void testEmptyPluginVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "empty-plugin-version.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertEquals( "'build.plugins.plugin.version' for org.apache.maven.plugins:maven-it-plugin"
- + " must be a valid version but is ''.", result.getErrors().get( 0 ) );
- }
-
- public void testMissingRepositoryId()
- throws Exception
- {
- SimpleProblemCollector result =
- validateRaw( "missing-repository-id-pom.xml", ModelBuildingRequest.VALIDATION_LEVEL_STRICT );
-
- assertViolations( result, 0, 4, 0 );
-
- assertEquals( "'repositories.repository.id' is missing.", result.getErrors().get( 0 ) );
-
- assertEquals( "'repositories.repository[null].url' is missing.", result.getErrors().get( 1 ) );
-
- assertEquals( "'pluginRepositories.pluginRepository.id' is missing.", result.getErrors().get( 2 ) );
-
- assertEquals( "'pluginRepositories.pluginRepository[null].url' is missing.", result.getErrors().get( 3 ) );
- }
-
- public void testMissingResourceDirectory()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-resource-directory-pom.xml" );
-
- assertViolations( result, 0, 2, 0 );
-
- assertEquals( "'build.resources.resource.directory' is missing.", result.getErrors().get( 0 ) );
-
- assertEquals( "'build.testResources.testResource.directory' is missing.", result.getErrors().get( 1 ) );
- }
-
- public void testBadPluginDependencyScope()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-plugin-dependency-scope.xml" );
-
- assertViolations( result, 0, 3, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "test:d" ) );
-
- assertTrue( result.getErrors().get( 1 ).contains( "test:e" ) );
-
- assertTrue( result.getErrors().get( 2 ).contains( "test:f" ) );
- }
-
- public void testBadDependencyScope()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-dependency-scope.xml" );
-
- assertViolations( result, 0, 0, 2 );
-
- assertTrue( result.getWarnings().get( 0 ).contains( "test:f" ) );
-
- assertTrue( result.getWarnings().get( 1 ).contains( "test:g" ) );
- }
-
- public void testBadDependencyVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-dependency-version.xml" );
-
- assertViolations( result, 0, 2, 0 );
-
- assertContains( result.getErrors().get( 0 ),
- "'dependencies.dependency.version' for test:b:jar must be a valid version" );
- assertContains( result.getErrors().get( 1 ),
- "'dependencies.dependency.version' for test:c:jar must not contain any of these characters" );
- }
-
- public void testDuplicateModule()
- throws Exception
- {
- SimpleProblemCollector result = validate( "duplicate-module.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "child" ) );
- }
-
- public void testDuplicateProfileId()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "duplicate-profile-id.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "non-unique-id" ) );
- }
-
- public void testBadPluginVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-plugin-version.xml" );
-
- assertViolations( result, 0, 4, 0 );
-
- assertContains( result.getErrors().get( 0 ),
- "'build.plugins.plugin.version' for test:mip must be a valid version" );
- assertContains( result.getErrors().get( 1 ),
- "'build.plugins.plugin.version' for test:rmv must be a valid version" );
- assertContains( result.getErrors().get( 2 ),
- "'build.plugins.plugin.version' for test:lmv must be a valid version" );
- assertContains( result.getErrors().get( 3 ),
- "'build.plugins.plugin.version' for test:ifsc must not contain any of these characters" );
- }
-
- public void testDistributionManagementStatus()
- throws Exception
- {
- SimpleProblemCollector result = validate( "distribution-management-status.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "distributionManagement.status" ) );
- }
-
- public void testIncompleteParent()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "incomplete-parent.xml" );
-
- assertViolations( result, 3, 0, 0 );
-
- assertTrue( result.getFatals().get( 0 ).contains( "parent.groupId" ) );
- assertTrue( result.getFatals().get( 1 ).contains( "parent.artifactId" ) );
- assertTrue( result.getFatals().get( 2 ).contains( "parent.version" ) );
- }
-
- public void testHardCodedSystemPath()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "hard-coded-system-path.xml" );
-
- assertViolations( result, 0, 0, 1 );
-
- assertTrue( result.getWarnings().get( 0 ).contains( "test:a:jar" ) );
- }
-
- public void testEmptyModule()
- throws Exception
- {
- SimpleProblemCollector result = validate( "empty-module.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "'modules.module[0]' has been specified without a path" ) );
- }
-
- public void testDuplicatePlugin()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "duplicate-plugin.xml" );
-
- assertViolations( result, 0, 0, 4 );
-
- assertTrue( result.getWarnings().get( 0 ).contains( "duplicate declaration of plugin test:duplicate" ) );
- assertTrue( result.getWarnings().get( 1 ).contains( "duplicate declaration of plugin test:managed-duplicate" ) );
- assertTrue( result.getWarnings().get( 2 ).contains( "duplicate declaration of plugin profile:duplicate" ) );
- assertTrue( result.getWarnings().get( 3 ).contains( "duplicate declaration of plugin profile:managed-duplicate" ) );
- }
-
- public void testDuplicatePluginExecution()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "duplicate-plugin-execution.xml" );
-
- assertViolations( result, 0, 4, 0 );
-
- assertContains( result.getErrors().get( 0 ), "duplicate execution with id a" );
- assertContains( result.getErrors().get( 1 ), "duplicate execution with id default" );
- assertContains( result.getErrors().get( 2 ), "duplicate execution with id c" );
- assertContains( result.getErrors().get( 3 ), "duplicate execution with id b" );
- }
-
- public void testReservedRepositoryId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "reserved-repository-id.xml" );
-
- assertViolations( result, 0, 0, 4 );
-
- assertContains( result.getWarnings().get( 0 ), "'repositories.repository.id'" + " must not be 'local'" );
- assertContains( result.getWarnings().get( 1 ), "'pluginRepositories.pluginRepository.id' must not be 'local'" );
- assertContains( result.getWarnings().get( 2 ), "'distributionManagement.repository.id' must not be 'local'" );
- assertContains( result.getWarnings().get( 3 ),
- "'distributionManagement.snapshotRepository.id' must not be 'local'" );
- }
-
- public void testMissingPluginDependencyGroupId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-plugin-dependency-groupId.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( ":a:" ) );
- }
-
- public void testMissingPluginDependencyArtifactId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-plugin-dependency-artifactId.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "test:" ) );
- }
-
- public void testMissingPluginDependencyVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-plugin-dependency-version.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "test:a" ) );
- }
-
- public void testBadPluginDependencyVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-plugin-dependency-version.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertTrue( result.getErrors().get( 0 ).contains( "test:b" ) );
- }
-
- public void testBadVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-version.xml" );
-
- assertViolations( result, 0, 0, 1 );
-
- assertContains( result.getWarnings().get( 0 ), "'version' must not contain any of these characters" );
- }
-
- public void testBadSnapshotVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-snapshot-version.xml" );
-
- assertViolations( result, 0, 0, 1 );
-
- assertContains( result.getWarnings().get( 0 ), "'version' uses an unsupported snapshot version format" );
- }
-
- public void testBadRepositoryId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "bad-repository-id.xml" );
-
- assertViolations( result, 0, 0, 4 );
-
- assertContains( result.getWarnings().get( 0 ),
- "'repositories.repository.id' must not contain any of these characters" );
- assertContains( result.getWarnings().get( 1 ),
- "'pluginRepositories.pluginRepository.id' must not contain any of these characters" );
- assertContains( result.getWarnings().get( 2 ),
- "'distributionManagement.repository.id' must not contain any of these characters" );
- assertContains( result.getWarnings().get( 3 ),
- "'distributionManagement.snapshotRepository.id' must not contain any of these characters" );
- }
-
- public void testBadDependencyExclusionId()
- throws Exception
- {
- SimpleProblemCollector result = validateEffective( "bad-dependency-exclusion-id.xml", ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 );
-
- assertViolations( result, 0, 0, 2 );
-
- assertContains( result.getWarnings().get( 0 ),
- "'dependencies.dependency.exclusions.exclusion.groupId' for gid:aid:jar" );
- assertContains( result.getWarnings().get( 1 ),
- "'dependencies.dependency.exclusions.exclusion.artifactId' for gid:aid:jar" );
-
- // MNG-3832: Aether (part of M3+) supports wildcard expressions for exclusions
-
- SimpleProblemCollector result_30 = validate( "bad-dependency-exclusion-id.xml" );
-
- assertViolations( result_30, 0, 0, 0 );
-
- }
-
- public void testMissingDependencyExclusionId()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-dependency-exclusion-id.xml" );
-
- assertViolations( result, 0, 0, 2 );
-
- assertContains( result.getWarnings().get( 0 ),
- "'dependencies.dependency.exclusions.exclusion.groupId' for gid:aid:jar is missing" );
- assertContains( result.getWarnings().get( 1 ),
- "'dependencies.dependency.exclusions.exclusion.artifactId' for gid:aid:jar is missing" );
- }
-
- public void testBadImportScopeType()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "bad-import-scope-type.xml" );
-
- assertViolations( result, 0, 0, 1 );
-
- assertContains( result.getWarnings().get( 0 ),
- "'dependencyManagement.dependencies.dependency.type' for test:a:jar must be 'pom'" );
- }
-
- public void testBadImportScopeClassifier()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "bad-import-scope-classifier.xml" );
-
- assertViolations( result, 0, 1, 0 );
-
- assertContains( result.getErrors().get( 0 ),
- "'dependencyManagement.dependencies.dependency.classifier' for test:a:pom:cls must be empty" );
- }
-
- public void testSystemPathRefersToProjectBasedir()
- throws Exception
- {
- SimpleProblemCollector result = validateRaw( "basedir-system-path.xml" );
-
- assertViolations( result, 0, 0, 2 );
-
- assertContains( result.getWarnings().get( 0 ), "'dependencies.dependency.systemPath' for test:a:jar "
- + "should not point at files within the project directory" );
- assertContains( result.getWarnings().get( 1 ), "'dependencies.dependency.systemPath' for test:b:jar "
- + "should not point at files within the project directory" );
- }
-
- public void testMissingReportPluginVersion()
- throws Exception
- {
- SimpleProblemCollector result = validate( "missing-report-version-pom.xml" );
-
- assertViolations( result, 0, 0, 0 );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/complex.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/complex.xml
deleted file mode 100644
index 80060ffb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/complex.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?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/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>test</groupId>
- <artifactId>test</artifactId>
- <version>0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <properties>
- <my.filter.value>hello</my.filter.value>
- </properties>
-
- <profiles>
- <profile>
- <id>two-conditions</id>
- <activation>
- <file>
- <exists>simple.xml</exists>
- </file>
- <property>
- <name>myproperty</name>
- <value>test</value>
- </property>
- </activation>
- <properties>
- <profile.file>activated-1</profile.file>
- </properties>
- </profile>
- <profile>
- <id>another-two-conditions</id>
- <activation>
- <property>
- <name>myproperty</name>
- <value>test</value>
- </property>
- <file>
- <missing>simple.xml</missing>
- </file>
- </activation>
- <properties>
- <profile.miss>activated-2</profile.miss>
- </properties>
- </profile>
- </profiles>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/simple.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/simple.xml
deleted file mode 100644
index 71900731..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/factory/simple.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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>test</groupId>
- <artifactId>test</artifactId>
- <version>0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <source> 1.5 </source>
- <target xml:space="preserve"> 1.5 </target>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <executions>
- <execution>
- <id>test</id>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- </profile>
- <profile>
- <id>file</id>
- <activation>
- <file>
- <exists>simple.xml</exists>
- </file>
- </activation>
- <properties>
- <profile.file>activated</profile.file>
- </properties>
- </profile>
- </profiles>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-child.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-child.xml
deleted file mode 100644
index feb3cb89..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-child.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?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>
-
- <artifactId>child</artifactId>
- <version>12-SNAPSHOT</version>
-
- <mailingLists>
- <!--mailingList> MNG-3124: no way to add a list to parent content, only full override
- <name>child</name>
- <post>post@mailing.list.com</post>
- <subscribe>subscribe@mailing.list.com</subscribe>
- <unsubscribe>unsubscribe@mailing.list.com</unsubscribe>
- </mailingList-->
- </mailingLists>
-
- <build>
- <plugins>
- <plugin>
- <groupId>inheritance.configuration</groupId>
- <artifactId>default</artifactId>
- <version>3.0</version>
- <configuration>
- <defaults>
- <parent>child</parent>
- <child>child</child>
- </defaults>
- <appends combine.children="append">
- <parent>child</parent>
- <child>child</child>
- </appends>
- <overrides combine.self="override">
- <parent>child</parent>
- <child>child</child>
- </overrides>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml
deleted file mode 100644
index 00a21f3d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?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>inheritance</groupId>
- <artifactId>child</artifactId>
- <version>12-SNAPSHOT</version>
-
- <!-- name is not inherited, but description is -->
- <description>Model inheritance description</description>
- <url>http://www.apache.org/child/</url><!-- child's artifactId appended to parent url -->
-
- <mailingLists>
- <mailingList>
- <name>parent</name>
- <post>post@mailing.list.com</post>
- <subscribe>subscribe@mailing.list.com</subscribe>
- <unsubscribe>unsubscribe@mailing.list.com</unsubscribe>
- </mailingList>
- </mailingLists>
-
- <build>
- <plugins>
- <plugin>
- <groupId>inheritance.configuration</groupId>
- <artifactId>default</artifactId>
- <version>3.0</version>
- <configuration>
- <defaults><!-- equivalent to combine.children="merge" combine.self="merge" -->
- <!-- merge the content of the configuration element according to element name -->
- <parent>child</parent>
- <child>child</child>
- <parent-only>parent</parent-only>
- </defaults>
- <appends combine.children="append">
- <parent-only>parent</parent-only>
- <parent>parent</parent>
- <parent>child</parent>
- <child>child</child>
- </appends>
- <overrides combine.self="override">
- <parent>child</parent>
- <child>child</child>
- </overrides>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <artifactId>MNG-5115</artifactId>
- <reportSets>
- <reportSet>
- <id>default-inherited</id>
- <reports>
- <report>to-be-inherited</report>
- </reports>
- </reportSet>
- <!-- reportSet with inherited=false is not here -->
- </reportSets>
- </plugin>
- </plugins>
- </reporting>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-parent.xml
deleted file mode 100644
index 2b973a15..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-parent.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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>inheritance</groupId>
- <artifactId>parent</artifactId>
- <version>11-SNAPSHOT</version>
-
- <name>Model inheritance test</name>
- <description>Model inheritance description</description>
- <url>http://www.apache.org/</url>
-
- <mailingLists>
- <mailingList>
- <name>parent</name>
- <post>post@mailing.list.com</post>
- <subscribe>subscribe@mailing.list.com</subscribe>
- <unsubscribe>unsubscribe@mailing.list.com</unsubscribe>
- </mailingList>
- </mailingLists>
-
- <build>
- <plugins>
- <plugin>
- <groupId>inheritance.configuration</groupId>
- <artifactId>default</artifactId>
- <version>2.0</version>
- <configuration>
- <defaults>
- <parent-only>parent</parent-only>
- <parent>parent</parent>
- </defaults>
- <appends>
- <parent-only>parent</parent-only>
- <parent>parent</parent>
- </appends>
- <overrides>
- <parent-only>parent</parent-only>
- <parent>parent</parent>
- </overrides>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <artifactId>MNG-5115</artifactId>
- <reportSets>
- <reportSet>
- <id>default-inherited</id>
- <reports>
- <report>to-be-inherited</report>
- </reports>
- </reportSet>
- <reportSet>
- <id>inherited-false</id>
- <inherited>false</inherited>
- <reports>
- <report>not-to-be-inherited</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- </plugins>
- </reporting>
-</project> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-exclusion-id.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-exclusion-id.xml
deleted file mode 100644
index 1e02b154..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-exclusion-id.xml
+++ /dev/null
@@ -1,40 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>gid</groupId>
- <artifactId>aid</artifactId>
- <version>1.0</version>
- <exclusions>
- <exclusion>
- <groupId>test?</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-scope.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-scope.xml
deleted file mode 100644
index 0ae0b45f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-scope.xml
+++ /dev/null
@@ -1,69 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.2</version>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>b</artifactId>
- <version>0.2</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>c</artifactId>
- <version>0.2</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>d</artifactId>
- <version>0.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>e</artifactId>
- <version>0.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>f</artifactId>
- <version>0.2</version>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>g</artifactId>
- <version>0.2</version>
- <scope>optional</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-version.xml
deleted file mode 100644
index cb75e7b7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-dependency-version.xml
+++ /dev/null
@@ -1,43 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.2</version>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>b</artifactId>
- <version>${missing.property}</version>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>c</artifactId>
- <version>1/1</version>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-classifier.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-classifier.xml
deleted file mode 100644
index 83313451..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-classifier.xml
+++ /dev/null
@@ -1,38 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.1</version>
- <scope>import</scope>
- <type>pom</type>
- <classifier>cls</classifier>
- </dependency>
- </dependencies>
- </dependencyManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-type.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-type.xml
deleted file mode 100644
index fb505c54..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-import-scope-type.xml
+++ /dev/null
@@ -1,37 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.1</version>
- <scope>import</scope>
- <!-- missing type=pom -->
- </dependency>
- </dependencies>
- </dependencyManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml
deleted file mode 100644
index 1f381b3b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-modelVersion.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <modelVersion>99.0.0</modelVersion>
- <groupId>foo</groupId>
- <artifactId>bar</artifactId>
- <version>0.1</version>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-scope.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-scope.xml
deleted file mode 100644
index 3b06e620..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-scope.xml
+++ /dev/null
@@ -1,70 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- <version>0.1</version>
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.2</version>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>b</artifactId>
- <version>0.2</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>c</artifactId>
- <version>0.2</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>d</artifactId>
- <version>0.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>e</artifactId>
- <version>0.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>f</artifactId>
- <version>0.2</version>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-version.xml
deleted file mode 100644
index 64382529..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-dependency-version.xml
+++ /dev/null
@@ -1,46 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>b</artifactId>
- <version>${missing.property}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml
deleted file mode 100644
index 2ca936aa..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-plugin-version.xml
+++ /dev/null
@@ -1,55 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <build>
- <plugins>
- <plugin>
- <groupId>test</groupId>
- <artifactId>good</artifactId>
- <version>1.0</version>
- </plugin>
- <plugin>
- <groupId>test</groupId>
- <artifactId>mip</artifactId>
- <version>${missing.property}</version>
- </plugin>
- <plugin>
- <groupId>test</groupId>
- <artifactId>rmv</artifactId>
- <version>RELEASE</version>
- </plugin>
- <plugin>
- <groupId>test</groupId>
- <artifactId>lmv</artifactId>
- <version>LATEST</version>
- </plugin>
- <plugin>
- <groupId>test</groupId>
- <artifactId>ifsc</artifactId>
- <version>1/1</version>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-repository-id.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-repository-id.xml
deleted file mode 100644
index 70553eb3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-repository-id.xml
+++ /dev/null
@@ -1,50 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>gid</groupId>
- <artifactId>aid</artifactId>
- <version>1.0</version>
-
- <repositories>
- <repository>
- <id>this/is\bad</id>
- <url>http://localhost</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>this/is\bad</id>
- <url>http://localhost</url>
- </pluginRepository>
- </pluginRepositories>
-
- <distributionManagement>
- <repository>
- <id>this/is\bad</id>
- <url>http://localhost</url>
- </repository>
- <snapshotRepository>
- <id>this/is\bad</id>
- <url>http://localhost</url>
- </snapshotRepository>
- </distributionManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-snapshot-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-snapshot-version.xml
deleted file mode 100644
index 70b5ddcb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-snapshot-version.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>foo</groupId>
- <artifactId>bar</artifactId>
- <version>1.2.3.SNAPSHOT</version>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-version.xml
deleted file mode 100644
index bf6a1fc8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/bad-version.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>foo</groupId>
- <artifactId>bar</artifactId>
- <version>this\is/bad</version>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/basedir-system-path.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/basedir-system-path.xml
deleted file mode 100644
index 24d49d3d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/basedir-system-path.xml
+++ /dev/null
@@ -1,42 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.2</version>
- <scope>system</scope>
- <systemPath>${basedir}/lib/a.jar</systemPath>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>b</artifactId>
- <version>0.1</version>
- <scope>system</scope>
- <systemPath>${project.basedir}/lib/b.jar</systemPath>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/distribution-management-status.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/distribution-management-status.xml
deleted file mode 100644
index 3a5968b0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/distribution-management-status.xml
+++ /dev/null
@@ -1,29 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>foo</groupId>
- <artifactId>bar</artifactId>
- <version>0.1</version>
-
- <distributionManagement>
- <status>generated</status>
- </distributionManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-module.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-module.xml
deleted file mode 100644
index d3ef528f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-module.xml
+++ /dev/null
@@ -1,31 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
- <packaging>pom</packaging>
-
- <modules>
- <module>child</module>
- <module>child</module>
- </modules>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin-execution.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin-execution.xml
deleted file mode 100644
index 0d4256de..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin-execution.xml
+++ /dev/null
@@ -1,103 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
- <packaging>pom</packaging>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>build</groupId>
- <artifactId>managed-plugin</artifactId>
- <executions>
- <execution>
- <phase>test</phase>
- </execution>
- <execution>
- <phase>test</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>build</groupId>
- <artifactId>plugin</artifactId>
- <executions>
- <execution>
- <id>a</id>
- <phase>test</phase>
- </execution>
- <execution>
- <id>a</id>
- <phase>test</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>test</id>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>profile</groupId>
- <artifactId>managed-plugin</artifactId>
- <executions>
- <execution>
- <id>b</id>
- <phase>test</phase>
- </execution>
- <execution>
- <id>b</id>
- <phase>test</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>profile</groupId>
- <artifactId>plugin</artifactId>
- <executions>
- <execution>
- <id>c</id>
- <phase>test</phase>
- </execution>
- <execution>
- <id>c</id>
- <phase>test</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin.xml
deleted file mode 100644
index 06a6a657..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-plugin.xml
+++ /dev/null
@@ -1,81 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
- <packaging>pom</packaging>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>test</groupId>
- <artifactId>managed-duplicate</artifactId>
- </plugin>
- <plugin>
- <groupId>test</groupId>
- <artifactId>managed-duplicate</artifactId>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>test</groupId>
- <artifactId>duplicate</artifactId>
- </plugin>
- <plugin>
- <groupId>test</groupId>
- <artifactId>duplicate</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>test</id>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>profile</groupId>
- <artifactId>managed-duplicate</artifactId>
- </plugin>
- <plugin>
- <groupId>profile</groupId>
- <artifactId>managed-duplicate</artifactId>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>profile</groupId>
- <artifactId>duplicate</artifactId>
- </plugin>
- <plugin>
- <groupId>profile</groupId>
- <artifactId>duplicate</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-profile-id.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-profile-id.xml
deleted file mode 100644
index 2379c3db..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/duplicate-profile-id.xml
+++ /dev/null
@@ -1,35 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
- <packaging>pom</packaging>
-
- <profiles>
- <profile>
- <id>non-unique-id</id>
- </profile>
- <profile>
- <id>non-unique-id</id>
- </profile>
- </profiles>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-module.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-module.xml
deleted file mode 100644
index f7a91d1d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-module.xml
+++ /dev/null
@@ -1,30 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
- <packaging>pom</packaging>
-
- <modules>
- <module> </module>
- </modules>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-plugin-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-plugin-version.xml
deleted file mode 100644
index 340efc5c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/empty-plugin-version.xml
+++ /dev/null
@@ -1,34 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>bar</groupId>
- <version>1.0</version>
- <packaging>pack</packaging>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- <version></version>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/hard-coded-system-path.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/hard-coded-system-path.xml
deleted file mode 100644
index b5a4dd67..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/hard-coded-system-path.xml
+++ /dev/null
@@ -1,42 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <version>0.2</version>
- <scope>system</scope>
- <systemPath>should-use-variables-and-not-hard-code-this-path</systemPath>
- </dependency>
- <dependency>
- <groupId>test</groupId>
- <artifactId>b</artifactId>
- <version>0.1</version>
- <scope>system</scope>
- <systemPath>${java.home}/lib/good.jar</systemPath>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/incomplete-parent.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/incomplete-parent.xml
deleted file mode 100644
index 2fc94d57..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/incomplete-parent.xml
+++ /dev/null
@@ -1,30 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <!-- all fields missing -->
- </parent>
-
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>0.1</version>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-aggregator-packaging-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-aggregator-packaging-pom.xml
deleted file mode 100644
index 977f5db4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-aggregator-packaging-pom.xml
+++ /dev/null
@@ -1,30 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
-
- <modules>
- <module>test-module</module>
- </modules>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml
deleted file mode 100644
index bbb8e9c8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/invalid-ids-pom.xml
+++ /dev/null
@@ -1,26 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>o/a/m</groupId>
- <artifactId>m$-do$</artifactId>
- <version>99.44</version>
- <packaging>bleh</packaging>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-1-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-1-pom.xml
deleted file mode 100644
index fe297e6e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-1-pom.xml
+++ /dev/null
@@ -1,21 +0,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.
--->
-
-<project>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-artifactId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-artifactId-pom.xml
deleted file mode 100644
index 39f0d7bc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-artifactId-pom.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-artifactId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-artifactId-pom.xml
deleted file mode 100644
index 3a5b6479..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-artifactId-pom.xml
+++ /dev/null
@@ -1,32 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <version>1.0</version>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-exclusion-id.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-exclusion-id.xml
deleted file mode 100644
index b9baada1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-exclusion-id.xml
+++ /dev/null
@@ -1,39 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>gid</groupId>
- <artifactId>aid</artifactId>
- <version>1.0</version>
- <exclusions>
- <exclusion>
- <groupId></groupId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-groupId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-groupId-pom.xml
deleted file mode 100644
index 5799c572..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-groupId-pom.xml
+++ /dev/null
@@ -1,32 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <dependencies>
- <dependency>
- <artifactId>artifactId</artifactId>
- <version>1.0</version>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-artifactId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-artifactId-pom.xml
deleted file mode 100644
index e050ef43..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-artifactId-pom.xml
+++ /dev/null
@@ -1,34 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>groupId</groupId>
- <version>version</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-groupId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-groupId-pom.xml
deleted file mode 100644
index a012d0f5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-groupId-pom.xml
+++ /dev/null
@@ -1,34 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <artifactId>artifactId</artifactId>
- <version>version</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-version-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-version-pom.xml
deleted file mode 100644
index cc5ff5b3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-mgmt-version-pom.xml
+++ /dev/null
@@ -1,34 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <artifactId>artifactId</artifactId>
- <groupId>groupId</groupId>
- </dependency>
- </dependencies>
- </dependencyManagement>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-version-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-version-pom.xml
deleted file mode 100644
index 217b036d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-dependency-version-pom.xml
+++ /dev/null
@@ -1,32 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <dependencies>
- <dependency>
- <artifactId>artifactId</artifactId>
- <groupId>groupId</groupId>
- </dependency>
- </dependencies>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-groupId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-groupId-pom.xml
deleted file mode 100644
index 528b8b6a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-groupId-pom.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>bar</artifactId>
- <version>99.44</version>
- <packaging>bleh</packaging>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-modelVersion-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-modelVersion-pom.xml
deleted file mode 100644
index f0273d9e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-modelVersion-pom.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <groupId>foo</groupId>
- <artifactId>foo</artifactId>
- <version>99.44</version>
- <packaging>bleh</packaging>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-artifactId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-artifactId-pom.xml
deleted file mode 100644
index 27e27d6b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-artifactId-pom.xml
+++ /dev/null
@@ -1,33 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <build>
- <plugins>
- <plugin>
- <version>1.0</version>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-artifactId.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-artifactId.xml
deleted file mode 100644
index 5c21e363..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-artifactId.xml
+++ /dev/null
@@ -1,41 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>1.0</version>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <!-- artifact id missing -->
- <version>2.0</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-groupId.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-groupId.xml
deleted file mode 100644
index 831c05f2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-groupId.xml
+++ /dev/null
@@ -1,41 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>1.0</version>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <!-- groupd id missing -->
- <artifactId>a</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-version.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-version.xml
deleted file mode 100644
index 29e0b7e7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-dependency-version.xml
+++ /dev/null
@@ -1,41 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>aid</artifactId>
- <groupId>gid</groupId>
- <version>1.0</version>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>test</groupId>
- <artifactId>a</artifactId>
- <!-- version missing -->
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-version-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-version-pom.xml
deleted file mode 100644
index b0ea7aa7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-plugin-version-pom.xml
+++ /dev/null
@@ -1,33 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-it-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-artifactId-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-artifactId-pom.xml
deleted file mode 100644
index 4cb5649c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-artifactId-pom.xml
+++ /dev/null
@@ -1,33 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <reporting>
- <plugins>
- <plugin>
-
- </plugin>
- </plugins>
- </reporting>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-version-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-version-pom.xml
deleted file mode 100644
index 46a560f6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-report-version-pom.xml
+++ /dev/null
@@ -1,57 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-from-pluginManagement-plugin</artifactId>
- <version>1.0</version>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-from-plugins-plugin</artifactId>
- <version>1.0</version>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <artifactId>maven-noversion-plugin</artifactId>
- </plugin>
- <plugin>
- <artifactId>maven-from-plugins-plugin</artifactId>
- </plugin>
- <plugin>
- <artifactId>maven-from-pluginManagement-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-repository-id-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-repository-id-pom.xml
deleted file mode 100644
index 1d385f29..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-repository-id-pom.xml
+++ /dev/null
@@ -1,36 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <repositories>
- <repository>
-
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
-
- </pluginRepository>
- </pluginRepositories>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-resource-directory-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-resource-directory-pom.xml
deleted file mode 100644
index 232db095..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-resource-directory-pom.xml
+++ /dev/null
@@ -1,38 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>foo</artifactId>
- <groupId>foo</groupId>
- <version>99.44</version>
- <packaging>bleh</packaging>
- <build>
- <resources>
- <resource>
-
- </resource>
- </resources>
- <testResources>
- <testResource>
-
- </testResource>
- </testResources>
- </build>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-type-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-type-pom.xml
deleted file mode 100644
index 663e58ad..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-type-pom.xml
+++ /dev/null
@@ -1,26 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>foo</groupId>
- <artifactId>bar</artifactId>
- <version>99.44</version>
- <packaging></packaging>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-version-pom.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-version-pom.xml
deleted file mode 100644
index 2a111f19..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/missing-version-pom.xml
+++ /dev/null
@@ -1,25 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <groupId>foo</groupId>
- <artifactId>bar</artifactId>
- <packaging>bleh</packaging>
-</project>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/reserved-repository-id.xml b/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/reserved-repository-id.xml
deleted file mode 100644
index 90a6c88c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-model-builder/src/test/resources/poms/validation/reserved-repository-id.xml
+++ /dev/null
@@ -1,50 +0,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.
--->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>gid</groupId>
- <artifactId>aid</artifactId>
- <version>99.44</version>
-
- <repositories>
- <repository>
- <id>local</id>
- <url>http://localhost</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>local</id>
- <url>http://localhost</url>
- </pluginRepository>
- </pluginRepositories>
-
- <distributionManagement>
- <repository>
- <id>local</id>
- <url>http://localhost</url>
- </repository>
- <snapshotRepository>
- <id>local</id>
- <url>http://localhost</url>
- </snapshotRepository>
- </distributionManagement>
-</project>