aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-core/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-core/src/main')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManager.java51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManagerDelegate.java34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildAbort.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildFailureException.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java112
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultMaven.java521
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java217
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DuplicateProjectException.java61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/InternalErrorException.java36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/Maven.java34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MavenExecutionException.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MissingModuleException.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectBuildFailureException.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectCycleException.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectDependenciesResolver.java95
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ReactorReader.java255
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java362
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/SessionScoped.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/InvalidRepositoryException.java65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java160
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java134
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java73
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java134
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java435
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java412
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryCache.java58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java95
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java112
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java255
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/ArtifactRepositoryMetadata.java129
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java92
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataDeploymentException.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataInstallationException.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataResolutionException.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java110
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataParseException.java93
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataReader.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java329
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java358
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionErrorHandler.java31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java109
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java251
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AbstractScopeArtifactFilter.java107
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java99
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java122
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java86
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java93
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java785
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ArtifactClassRealmConstituent.java76
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmConstituent.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManager.java88
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManagerDelegate.java36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmRequest.java100
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java416
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmRequest.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BasedirBeanConfigurationPathTranslator.java71
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationException.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationPathTranslator.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationRequest.java130
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationValuePreprocessor.java45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurator.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java195
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java160
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/AbstractEventSpy.java45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java158
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyExecutionListener.java163
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyRepositoryListener.java176
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java336
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionHandler.java30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java79
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/AbstractExecutionListener.java116
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildFailure.java61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSuccess.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSummary.java78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java1299
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java318
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java109
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java92
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java443
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java43
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java438
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionEvent.java86
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionListener.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionEvent.java90
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionListener.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java199
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/SettingsAdapter.java126
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/MojoExecutionScoped.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java190
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeCoreModule.java45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeModule.java56
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java75
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExportsProvider.java53
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java141
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java488
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java134
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java111
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/GraphBuilder.java31
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java271
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java141
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java177
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java144
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java32
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java80
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java111
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java89
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java52
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleNotFoundException.java54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecyclePhaseNotFoundException.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java202
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MissingProjectException.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MojoExecutionConfigurator.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalSpecifiedException.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/CompoundProjectExecutionListener.java72
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java77
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java119
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java591
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java158
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java258
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java155
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java108
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultProjectArtifactFactory.java53
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java114
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionPlanItem.java84
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java45
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java182
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java334
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculator.java67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java154
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java95
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java150
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTask.java50
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java61
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java309
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java394
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectArtifactFactory.java38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java158
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectSegment.java106
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorBuildStatus.java80
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorContext.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java73
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/Builder.java47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java199
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderNotFoundException.java29
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraph.java153
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java197
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java477
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java111
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java171
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventDispatcher.java37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventMonitor.java35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/BuildPluginManager.java54
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CacheUtils.java211
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CompoundMojoExecutionListener.java64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CycleDetectedInPluginGraphException.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java91
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java244
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java170
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java218
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java219
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java219
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java84
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginDescriptorException.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginException.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/LegacySupport.java59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginManager.java128
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java237
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginArtifactsCache.java91
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginConfigurationException.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java88
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorCache.java58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorParsingException.java58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java90
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginIncompatibleException.java36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginLoaderException.java124
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java197
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java192
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java482
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginRealmCache.java85
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginResolutionException.java47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java946
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java256
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java261
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PlexusUtilsInjector.java87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependenciesResolver.java71
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependencyResolutionListener.java158
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/ValidatingConfigurationListener.java97
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/WagonExcluder.java109
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java156
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixRequest.java115
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResolver.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResult.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java294
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResult.java90
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java165
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java115
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java107
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java47
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java408
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java69
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionRequest.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java111
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java128
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java155
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java929
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java295
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java339
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java110
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java333
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java147
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionException.java42
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionRequest.java81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionResult.java80
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateProjectException.java80
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptor.java88
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptorBuilder.java168
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/InvalidProjectVersionException.java59
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProject.java1976
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java76
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuilder.java98
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingException.java145
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java194
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingResult.java74
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectDependenciesResolver.java40
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java248
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectRealmCache.java79
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java289
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelCache.java103
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelPool.java106
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/RepositorySessionDecorator.java36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java403
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/AttachedArtifact.java185
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java347
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java37
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/InvalidDependencyVersionException.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataCache.java38
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java770
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java94
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java100
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java130
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/path/PathTranslator.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/EnvironmentUtils.java70
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java51
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactDoesNotExistException.java34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java343
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferFailedException.java35
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferListener.java36
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferResource.java66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java195
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalArtifactRepository.java33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalRepositoryNotAccessibleException.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java164
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataRetrievalException.java68
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataSource.java78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java132
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java113
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ResolutionGroup.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/RuntimeInformation.java49
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java150
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java169
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScopeModule.java63
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java158
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/MavenSettingsBuilder.java81
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsConfigurationException.java63
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java321
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java190
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java140
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java82
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java78
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/MisconfiguredToolchainException.java39
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcher.java30
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcherFactory.java109
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/Toolchain.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainFactory.java44
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java58
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainPrivate.java48
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainsBuilder.java46
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java138
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingRequest.java63
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingResult.java66
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuilder.java41
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingException.java93
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingRequest.java64
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingResult.java50
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/DefaultToolchainsReader.java115
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsParseException.java94
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsReader.java83
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolChain.java55
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java67
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java127
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java87
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/merge/MavenToolchainMerger.java103
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/extension.mdo65
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/toolchains.mdo231
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/maven/extension.xml173
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml219
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/components.xml134
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml399
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/build.properties23
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages.properties34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_de.properties34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_el.properties33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_en.properties23
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_es.properties33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_fr.properties33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ja.properties34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ko.properties34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_nl.properties33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_no.properties33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_pl.properties33
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_zh_CN.properties34
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/project/standalone.xml30
350 files changed, 0 insertions, 46772 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java
deleted file mode 100644
index 20f6c802..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/AbstractMavenLifecycleParticipant.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-
-/**
- * Allows core extensions to participate in Maven build session lifecycle.
- *
- * All callback methods (will) follow beforeXXX/afterXXX naming pattern to
- * indicate at what lifecycle point it is being called.
- *
- * @see <a href="http://maven.apache.org/examples/maven-3-lifecycle-extensions.html">example</a>
- * @see <a href="http://jira.codehaus.org/browse/MNG-4224">MNG-4224</a>
- * @since 3.0-alpha-3
- */
-public abstract class AbstractMavenLifecycleParticipant
-{
-
- /**
- * Invoked after all MavenProject instances have been created.
- *
- * This callback is intended to allow extensions to manipulate MavenProjects
- * before they are sorted and actual build execution starts.
- */
- public void afterProjectsRead( MavenSession session )
- throws MavenExecutionException
- {
- // do nothing
- }
-
- /**
- * Invoked after MavenSession instance has been created.
- *
- * This callback is intended to allow extensions to inject execution properties,
- * activate profiles and perform similar tasks that affect MavenProject
- * instance construction.
- */
- // TODO: This is too early for build extensions, so maybe just remove it?
- public void afterSessionStart( MavenSession session )
- throws MavenExecutionException
- {
- // do nothing
- }
-
- /**
- * Invoked after all projects were built.
- *
- * This callback is intended to allow extensions to perform cleanup of any
- * allocated external resources after the build. It is invoked on best-effort
- * basis and may be missed due to an Error or RuntimeException in Maven core
- * code.
- * @since 3.2.1, MNG-5389
- */
- public void afterSessionEnd( MavenSession session )
- throws MavenExecutionException
- {
- // do nothing
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManager.java
deleted file mode 100644
index 2cf9f996..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Set;
-
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-
-public interface ArtifactFilterManager
-{
- /**
- * Returns a filter for core + extension artifacts.
- *
- * @deprecated use {@code META-INF/maven/extension.xml} to define artifacts exported by Maven core and plugin
- * extensions.
- */
- ArtifactFilter getArtifactFilter();
-
- /**
- * Returns a filter for only the core artifacts.
- */
- ArtifactFilter getCoreArtifactFilter();
-
- /**
- * Exclude an extension artifact (doesn't affect getArtifactFilter's result, only getExtensionArtifactFilter).
- *
- * @deprecated use {@code META-INF/maven/extension.xml} to define artifacts exported by Maven core and plugin
- * extensions.
- */
- void excludeArtifact( String artifactId );
-
- Set<String> getCoreArtifactExcludes();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManagerDelegate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManagerDelegate.java
deleted file mode 100644
index 13893254..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ArtifactFilterManagerDelegate.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Set;
-
-/**
- * @deprecated use {@code META-INF/maven/extension.xml} to define artifacts exported by Maven core extensions.
- */
-public interface ArtifactFilterManagerDelegate
-{
-
- void addExcludes( Set<String> excludes );
-
- void addCoreExcludes( Set<String> excludes );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildAbort.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildAbort.java
deleted file mode 100644
index 3255e32b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildAbort.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A special throwable used to signal a graceful abort of the build.
- */
-public class BuildAbort
- extends Error
-{
-
- public BuildAbort( String message )
- {
- super( message );
- }
-
- public BuildAbort( String message, Throwable cause )
- {
- super( message, cause );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildFailureException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildFailureException.java
deleted file mode 100644
index d35b0d2a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/BuildFailureException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * One or more builds failed.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class BuildFailureException
- extends Exception
-{
- public BuildFailureException( String message )
- {
- super( message );
- }
-
- public BuildFailureException( String message, Throwable cause )
- {
- super( message, cause );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java
deleted file mode 100644
index 1962f917..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ExclusionSetFilter;
-import org.apache.maven.extension.internal.CoreExportsProvider;
-
-/**
- * @author Jason van Zyl
- */
-@Named
-@Singleton
-@SuppressWarnings( "deprecation" )
-public class DefaultArtifactFilterManager
- implements ArtifactFilterManager
-{
-
- // this is a live injected collection
- protected final List<ArtifactFilterManagerDelegate> delegates;
-
- protected Set<String> excludedArtifacts;
-
- private final Set<String> coreArtifacts;
-
- @Inject
- public DefaultArtifactFilterManager( List<ArtifactFilterManagerDelegate> delegates,
- CoreExportsProvider coreExports )
- {
- this.delegates = delegates;
- this.coreArtifacts = coreExports.get().getExportedArtifacts();
- }
-
- private synchronized Set<String> getExcludedArtifacts()
- {
- if ( excludedArtifacts == null )
- {
- excludedArtifacts = new LinkedHashSet<String>( coreArtifacts );
- }
- return excludedArtifacts;
- }
-
- /**
- * Returns the artifact filter for the core + extension artifacts.
- *
- * @see org.apache.maven.ArtifactFilterManager#getArtifactFilter()
- */
- public ArtifactFilter getArtifactFilter()
- {
- Set<String> excludes = new LinkedHashSet<String>( getExcludedArtifacts() );
-
- for ( ArtifactFilterManagerDelegate delegate : delegates )
- {
- delegate.addExcludes( excludes );
- }
-
- return new ExclusionSetFilter( excludes );
- }
-
- /**
- * Returns the artifact filter for the standard core artifacts.
- *
- * @see org.apache.maven.ArtifactFilterManager#getExtensionDependencyFilter()
- */
- public ArtifactFilter getCoreArtifactFilter()
- {
- return new ExclusionSetFilter( getCoreArtifactExcludes() );
- }
-
- public void excludeArtifact( String artifactId )
- {
- getExcludedArtifacts().add( artifactId );
- }
-
- public Set<String> getCoreArtifactExcludes()
- {
- Set<String> excludes = new LinkedHashSet<String>( coreArtifacts );
-
- for ( ArtifactFilterManagerDelegate delegate : delegates )
- {
- delegate.addCoreExcludes( excludes );
- }
-
- return excludes;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
deleted file mode 100644
index 94e75e02..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ /dev/null
@@ -1,521 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.execution.DefaultMavenExecutionResult;
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.graph.GraphBuilder;
-import org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory;
-import org.apache.maven.lifecycle.internal.ExecutionEventCatapult;
-import org.apache.maven.lifecycle.internal.LifecycleStarter;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.building.Result;
-import org.apache.maven.plugin.LegacySupport;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.repository.LocalRepositoryNotAccessibleException;
-import org.apache.maven.session.scope.internal.SessionScope;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.util.repository.ChainedWorkspaceReader;
-
-import com.google.common.collect.Iterables;
-
-/**
- * @author Jason van Zyl
- */
-@Component( role = Maven.class )
-public class DefaultMaven
- implements Maven
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement
- protected ProjectBuilder projectBuilder;
-
- @Requirement
- private LifecycleStarter lifecycleStarter;
-
- @Requirement
- protected PlexusContainer container;
-
- @Requirement
- private ExecutionEventCatapult eventCatapult;
-
- @Requirement
- private LegacySupport legacySupport;
-
- @Requirement
- private SessionScope sessionScope;
-
- @Requirement
- private DefaultRepositorySystemSessionFactory repositorySessionFactory;
-
- @Requirement( hint = GraphBuilder.HINT )
- private GraphBuilder graphBuilder;
-
- @Override
- public MavenExecutionResult execute( MavenExecutionRequest request )
- {
- MavenExecutionResult result;
-
- try
- {
- result = doExecute( request );
- }
- catch ( OutOfMemoryError e )
- {
- result = addExceptionToResult( new DefaultMavenExecutionResult(), e );
- }
- catch ( RuntimeException e )
- {
- //TODO Hack to make the cycle detection the same for the new graph builder
- if ( e.getCause() instanceof ProjectCycleException )
- {
- result = addExceptionToResult( new DefaultMavenExecutionResult(), e.getCause() );
- }
- else
- {
- result = addExceptionToResult( new DefaultMavenExecutionResult(),
- new InternalErrorException( "Internal error: " + e, e ) );
- }
- }
- finally
- {
- legacySupport.setSession( null );
- }
-
- return result;
- }
-
- //
- // 1) Setup initial properties.
- //
- // 2) Validate local repository directory is accessible.
- //
- // 3) Create RepositorySystemSession.
- //
- // 4) Create MavenSession.
- //
- // 5) Execute AbstractLifecycleParticipant.afterSessionStart(session)
- //
- // 6) Get reactor projects looking for general POM errors
- //
- // 7) Create ProjectDependencyGraph using trimming which takes into account --projects and reactor mode.
- // This ensures that the projects passed into the ReactorReader are only those specified.
- //
- // 8) Create ReactorReader with the getProjectMap( projects ). NOTE that getProjectMap(projects) is the code that
- // checks for duplicate projects definitions in the build. Ideally this type of duplicate checking should be
- // part of getting the reactor projects in 6). The duplicate checking is conflated with getProjectMap(projects).
- //
- // 9) Execute AbstractLifecycleParticipant.afterProjectsRead(session)
- //
- // 10) Create ProjectDependencyGraph without trimming (as trimming was done in 7). A new topological sort is
- // required after the execution of 9) as the AbstractLifecycleParticipants are free to mutate the MavenProject
- // instances, which may change dependencies which can, in turn, affect the build order.
- //
- // 11) Execute LifecycleStarter.start()
- //
- @SuppressWarnings( "checkstyle:methodlength" )
- private MavenExecutionResult doExecute( MavenExecutionRequest request )
- {
- request.setStartTime( new Date() );
-
- MavenExecutionResult result = new DefaultMavenExecutionResult();
-
- try
- {
- validateLocalRepository( request );
- }
- catch ( LocalRepositoryNotAccessibleException e )
- {
- return addExceptionToResult( result, e );
- }
-
- //
- // We enter the session scope right after the MavenSession creation and before any of the
- // AbstractLifecycleParticipant lookups
- // so that @SessionScoped components can be @Injected into AbstractLifecycleParticipants.
- //
- sessionScope.enter();
- try
- {
- DefaultRepositorySystemSession repoSession =
- (DefaultRepositorySystemSession) newRepositorySession( request );
- MavenSession session = new MavenSession( container, repoSession, request, result );
-
- sessionScope.seed( MavenSession.class, session );
-
- legacySupport.setSession( session );
-
- return doExecute( request, session, result, repoSession );
- }
- finally
- {
- sessionScope.exit();
- }
- }
-
- private MavenExecutionResult doExecute( MavenExecutionRequest request, MavenSession session,
- MavenExecutionResult result, DefaultRepositorySystemSession repoSession )
- {
- try
- {
- for ( AbstractMavenLifecycleParticipant listener : getLifecycleParticipants( Collections
- .<MavenProject>emptyList() ) )
- {
- listener.afterSessionStart( session );
- }
- }
- catch ( MavenExecutionException e )
- {
- return addExceptionToResult( result, e );
- }
-
- eventCatapult.fire( ExecutionEvent.Type.ProjectDiscoveryStarted, session, null );
-
- Result<? extends ProjectDependencyGraph> graphResult = buildGraph( session, result );
-
- if ( graphResult.hasErrors() )
- {
- return addExceptionToResult( result,
- Iterables.toArray( graphResult.getProblems(), ModelProblem.class )[0]
- .getException() );
- }
-
- try
- {
- session.setProjectMap( getProjectMap( session.getProjects() ) );
- }
- catch ( DuplicateProjectException e )
- {
- return addExceptionToResult( result, e );
- }
-
- WorkspaceReader reactorWorkspace;
- try
- {
- reactorWorkspace = container.lookup( WorkspaceReader.class, ReactorReader.HINT );
- }
- catch ( ComponentLookupException e )
- {
- return addExceptionToResult( result, e );
- }
-
- //
- // Desired order of precedence for local artifact repositories
- //
- // Reactor
- // Workspace
- // User Local Repository
- //
- repoSession.setWorkspaceReader( ChainedWorkspaceReader.newInstance( reactorWorkspace,
- repoSession.getWorkspaceReader() ) );
-
- repoSession.setReadOnly();
-
- ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- for ( AbstractMavenLifecycleParticipant listener : getLifecycleParticipants( session.getProjects() ) )
- {
- Thread.currentThread().setContextClassLoader( listener.getClass().getClassLoader() );
-
- listener.afterProjectsRead( session );
- }
- }
- catch ( MavenExecutionException e )
- {
- return addExceptionToResult( result, e );
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( originalClassLoader );
- }
-
- //
- // The projects need to be topologically after the participants have run their afterProjectsRead(session)
- // because the participant is free to change the dependencies of a project which can potentially change the
- // topological order of the projects, and therefore can potentially change the build order.
- //
- // Note that participants may affect the topological order of the projects but it is
- // not expected that a participant will add or remove projects from the session.
- //
-
- graphResult = buildGraph( session, result );
-
- if ( graphResult.hasErrors() )
- {
- return addExceptionToResult( result,
- Iterables.toArray( graphResult.getProblems(), ModelProblem.class )[0]
- .getException() );
- }
-
- try
- {
- if ( result.hasExceptions() )
- {
- return result;
- }
-
- result.setTopologicallySortedProjects( session.getProjects() );
-
- result.setProject( session.getTopLevelProject() );
-
- lifecycleStarter.execute( session );
-
- validateActivatedProfiles( session.getProjects(), request.getActiveProfiles() );
-
- if ( session.getResult().hasExceptions() )
- {
- return addExceptionToResult( result, session.getResult().getExceptions().get( 0 ) );
- }
- }
- finally
- {
- try
- {
- afterSessionEnd( session.getProjects(), session );
- }
- catch ( MavenExecutionException e )
- {
- return addExceptionToResult( result, e );
- }
- }
-
- return result;
- }
-
- private void afterSessionEnd( Collection<MavenProject> projects, MavenSession session )
- throws MavenExecutionException
- {
- ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- for ( AbstractMavenLifecycleParticipant listener : getLifecycleParticipants( projects ) )
- {
- Thread.currentThread().setContextClassLoader( listener.getClass().getClassLoader() );
-
- listener.afterSessionEnd( session );
- }
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( originalClassLoader );
- }
- }
-
- public RepositorySystemSession newRepositorySession( MavenExecutionRequest request )
- {
- return repositorySessionFactory.newRepositorySession( request );
- }
-
- private void validateLocalRepository( MavenExecutionRequest request )
- throws LocalRepositoryNotAccessibleException
- {
- File localRepoDir = request.getLocalRepositoryPath();
-
- logger.debug( "Using local repository at " + localRepoDir );
-
- localRepoDir.mkdirs();
-
- if ( !localRepoDir.isDirectory() )
- {
- throw new LocalRepositoryNotAccessibleException( "Could not create local repository at " + localRepoDir );
- }
- }
-
- private Collection<AbstractMavenLifecycleParticipant> getLifecycleParticipants( Collection<MavenProject> projects )
- {
- Collection<AbstractMavenLifecycleParticipant> lifecycleListeners =
- new LinkedHashSet<AbstractMavenLifecycleParticipant>();
-
- ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- try
- {
- lifecycleListeners.addAll( container.lookupList( AbstractMavenLifecycleParticipant.class ) );
- }
- catch ( ComponentLookupException e )
- {
- // this is just silly, lookupList should return an empty list!
- logger.warn( "Failed to lookup lifecycle participants: " + e.getMessage() );
- }
-
- Collection<ClassLoader> scannedRealms = new HashSet<ClassLoader>();
-
- for ( MavenProject project : projects )
- {
- ClassLoader projectRealm = project.getClassRealm();
-
- if ( projectRealm != null && scannedRealms.add( projectRealm ) )
- {
- Thread.currentThread().setContextClassLoader( projectRealm );
-
- try
- {
- lifecycleListeners.addAll( container.lookupList( AbstractMavenLifecycleParticipant.class ) );
- }
- catch ( ComponentLookupException e )
- {
- // this is just silly, lookupList should return an empty list!
- logger.warn( "Failed to lookup lifecycle participants: " + e.getMessage() );
- }
- }
- }
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( originalClassLoader );
- }
-
- return lifecycleListeners;
- }
-
- private MavenExecutionResult addExceptionToResult( MavenExecutionResult result, Throwable e )
- {
- if ( !result.getExceptions().contains( e ) )
- {
- result.addException( e );
- }
-
- return result;
- }
-
- private void validateActivatedProfiles( List<MavenProject> projects, List<String> activeProfileIds )
- {
- Collection<String> notActivatedProfileIds = new LinkedHashSet<String>( activeProfileIds );
-
- for ( MavenProject project : projects )
- {
- for ( List<String> profileIds : project.getInjectedProfileIds().values() )
- {
- notActivatedProfileIds.removeAll( profileIds );
- }
- }
-
- for ( String notActivatedProfileId : notActivatedProfileIds )
- {
- logger.warn( "The requested profile \"" + notActivatedProfileId
- + "\" could not be activated because it does not exist." );
- }
- }
-
- private Map<String, MavenProject> getProjectMap( Collection<MavenProject> projects )
- throws DuplicateProjectException
- {
- Map<String, MavenProject> index = new LinkedHashMap<String, MavenProject>();
- Map<String, List<File>> collisions = new LinkedHashMap<String, List<File>>();
-
- for ( MavenProject project : projects )
- {
- String projectId = ArtifactUtils.key( project.getGroupId(), project.getArtifactId(), project.getVersion() );
-
- MavenProject collision = index.get( projectId );
-
- if ( collision == null )
- {
- index.put( projectId, project );
- }
- else
- {
- List<File> pomFiles = collisions.get( projectId );
-
- if ( pomFiles == null )
- {
- pomFiles = new ArrayList<File>( Arrays.asList( collision.getFile(), project.getFile() ) );
- collisions.put( projectId, pomFiles );
- }
- else
- {
- pomFiles.add( project.getFile() );
- }
- }
- }
-
- if ( !collisions.isEmpty() )
- {
- throw new DuplicateProjectException( "Two or more projects in the reactor"
- + " have the same identifier, please make sure that <groupId>:<artifactId>:<version>"
- + " is unique for each project: " + collisions, collisions );
- }
-
- return index;
- }
-
- private Result<? extends ProjectDependencyGraph> buildGraph( MavenSession session, MavenExecutionResult result )
- {
- Result<? extends ProjectDependencyGraph> graphResult = graphBuilder.build( session );
- for ( ModelProblem problem : graphResult.getProblems() )
- {
- if ( problem.getSeverity() == ModelProblem.Severity.WARNING )
- {
- logger.warn( problem.toString() );
- }
- else
- {
- logger.error( problem.toString() );
- }
- }
-
- if ( !graphResult.hasErrors() )
- {
- ProjectDependencyGraph projectDependencyGraph = graphResult.get();
- session.setProjects( projectDependencyGraph.getSortedProjects() );
- session.setAllProjects( projectDependencyGraph.getSortedProjects() );
- session.setProjectDependencyGraph( projectDependencyGraph );
- }
-
- return graphResult;
- }
-
- @Deprecated
- // 5 January 2014
- protected Logger getLogger()
- {
- return logger;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
deleted file mode 100644
index fa8be382..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
+++ /dev/null
@@ -1,217 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException;
-import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
-import org.apache.maven.artifact.resolver.filter.CumulativeScopeArtifactFilter;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.ProjectArtifact;
-import org.apache.maven.repository.RepositorySystem;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-@Deprecated
-@Component( role = ProjectDependenciesResolver.class )
-public class DefaultProjectDependenciesResolver
- implements ProjectDependenciesResolver
-{
-
- @Requirement
- private RepositorySystem repositorySystem;
-
- @Requirement
- private ResolutionErrorHandler resolutionErrorHandler;
-
- public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToResolve, MavenSession session )
- throws ArtifactResolutionException, ArtifactNotFoundException
- {
- return resolve( Collections.singleton( project ), scopesToResolve, session );
- }
-
- public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session )
- throws ArtifactResolutionException, ArtifactNotFoundException
- {
- Set<MavenProject> mavenProjects = Collections.singleton( project );
- return resolveImpl( mavenProjects, scopesToCollect, scopesToResolve, session,
- getIgnorableArtifacts( mavenProjects ) );
- }
-
- public Set<Artifact> resolve( Collection<? extends MavenProject> projects, Collection<String> scopesToResolve,
- MavenSession session )
- throws ArtifactResolutionException, ArtifactNotFoundException
- {
- return resolveImpl( projects, null, scopesToResolve, session, getIgnorableArtifacts( projects ) );
- }
-
- public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session,
- Set<Artifact> ignoreableArtifacts )
- throws ArtifactResolutionException, ArtifactNotFoundException
- {
- return resolveImpl( Collections.singleton( project ), scopesToCollect, scopesToResolve, session,
- getIgnorableArtifacts( ignoreableArtifacts ) );
- }
-
-
- private Set<Artifact> resolveImpl( Collection<? extends MavenProject> projects, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session,
- Set<String> projectIds )
- throws ArtifactResolutionException, ArtifactNotFoundException
- {
- Set<Artifact> resolved = new LinkedHashSet<Artifact>();
-
- if ( projects == null || projects.isEmpty() )
- {
- return resolved;
- }
-
- if ( ( scopesToCollect == null || scopesToCollect.isEmpty() )
- && ( scopesToResolve == null || scopesToResolve.isEmpty() ) )
- {
- return resolved;
- }
-
- /*
-
- Logic for transitive global exclusions
-
- List<String> exclusions = new ArrayList<String>();
-
- for ( Dependency d : project.getDependencies() )
- {
- if ( d.getExclusions() != null )
- {
- for ( Exclusion e : d.getExclusions() )
- {
- exclusions.add( e.getGroupId() + ":" + e.getArtifactId() );
- }
- }
- }
-
- ArtifactFilter scopeFilter = new ScopeArtifactFilter( scope );
-
- ArtifactFilter filter;
-
- if ( ! exclusions.isEmpty() )
- {
- filter = new AndArtifactFilter( Arrays.asList( new ArtifactFilter[]{
- new ExcludesArtifactFilter( exclusions ), scopeFilter } ) );
- }
- else
- {
- filter = scopeFilter;
- }
- */
-
- CumulativeScopeArtifactFilter resolutionScopeFilter = new CumulativeScopeArtifactFilter( scopesToResolve );
-
- CumulativeScopeArtifactFilter collectionScopeFilter = new CumulativeScopeArtifactFilter( scopesToCollect );
- collectionScopeFilter = new CumulativeScopeArtifactFilter( collectionScopeFilter, resolutionScopeFilter );
-
- ArtifactResolutionRequest request =
- new ArtifactResolutionRequest().setResolveRoot( false ).setResolveTransitively( true ).setCollectionFilter(
- collectionScopeFilter ).setResolutionFilter( resolutionScopeFilter ).setLocalRepository(
- session.getLocalRepository() ).setOffline( session.isOffline() ).setForceUpdate(
- session.getRequest().isUpdateSnapshots() );
- request.setServers( session.getRequest().getServers() );
- request.setMirrors( session.getRequest().getMirrors() );
- request.setProxies( session.getRequest().getProxies() );
-
- for ( MavenProject project : projects )
- {
- request.setArtifact( new ProjectArtifact( project ) );
- request.setArtifactDependencies( project.getDependencyArtifacts() );
- request.setManagedVersionMap( project.getManagedVersionMap() );
- request.setRemoteRepositories( project.getRemoteArtifactRepositories() );
-
- ArtifactResolutionResult result = repositorySystem.resolve( request );
-
- try
- {
- resolutionErrorHandler.throwErrors( request, result );
- }
- catch ( MultipleArtifactsNotFoundException e )
- {
-
- Collection<Artifact> missing = new HashSet<Artifact>( e.getMissingArtifacts() );
-
- for ( Iterator<Artifact> it = missing.iterator(); it.hasNext(); )
- {
- String key = ArtifactUtils.key( it.next() );
- if ( projectIds.contains( key ) )
- {
- it.remove();
- }
- }
-
- if ( !missing.isEmpty() )
- {
- throw e;
- }
- }
-
- resolved.addAll( result.getArtifacts() );
- }
-
- return resolved;
- }
-
-
- private Set<String> getIgnorableArtifacts( Collection<? extends MavenProject> projects )
- {
- Set<String> projectIds = new HashSet<String>( projects.size() * 2 );
-
- for ( MavenProject p : projects )
- {
- String key = ArtifactUtils.key( p.getGroupId(), p.getArtifactId(), p.getVersion() );
- projectIds.add( key );
- }
- return projectIds;
- }
-
- private Set<String> getIgnorableArtifacts( Iterable<Artifact> artifactIterable )
- {
- Set<String> projectIds = new HashSet<String>();
-
- for ( Artifact artifact : artifactIterable )
- {
- String key = ArtifactUtils.key( artifact );
- projectIds.add( key );
- }
- return projectIds;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DuplicateProjectException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DuplicateProjectException.java
deleted file mode 100644
index b1398729..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/DuplicateProjectException.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Signals a collision of two or more projects with the same g:a:v during a reactor build.
- *
- * @author Benjamin Bentmann
- */
-public class DuplicateProjectException
- extends MavenExecutionException
-{
-
- private Map<String, List<File>> collisions;
-
- /**
- * Creates a new exception with specified details.
- *
- * @param message The message text, may be {@code null}.
- * @param collisions The POM files of the projects that collided, indexed by their g:a:v, may be {@code null}.
- */
- public DuplicateProjectException( String message, Map<String, List<File>> collisions )
- {
- super( message, (File) null );
-
- this.collisions = ( collisions != null ) ? collisions : new LinkedHashMap<String, List<File>>();
- }
-
- /**
- * Gets the POM files of the projects that collided.
- *
- * @return The POM files of the projects that collided, indexed by their g:a:v, never {@code null}.
- */
- public Map<String, List<File>> getCollisions()
- {
- return collisions;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/InternalErrorException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/InternalErrorException.java
deleted file mode 100644
index afe92c1b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/InternalErrorException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals an internal error in Maven itself, e.g. a programming bug.
- *
- * @author Benjamin Bentmann
- */
-public class InternalErrorException
- extends MavenExecutionException
-{
-
- public InternalErrorException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/Maven.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/Maven.java
deleted file mode 100644
index 85638476..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/Maven.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenExecutionResult;
-
-/**
- * @author Jason van Zyl
- */
-public interface Maven
-{
- @Deprecated
- String POMv4 = "pom.xml";
-
- MavenExecutionResult execute( MavenExecutionRequest request );
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MavenExecutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MavenExecutionException.java
deleted file mode 100644
index 5708e525..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MavenExecutionException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.maven.project.ProjectBuildingException;
-
-/**
- * @author Jason van Zyl
- */
-public class MavenExecutionException
- extends Exception
-{
- private File pomFile;
-
- public MavenExecutionException( String message, File pomFile )
- {
- super( message );
- this.pomFile = pomFile;
- }
-
- public MavenExecutionException( String message, File pomFile, ProjectBuildingException cause )
- {
- super( message, cause );
- this.pomFile = pomFile;
- }
-
- public MavenExecutionException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
- public File getPomFile()
- {
- return pomFile;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MissingModuleException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MissingModuleException.java
deleted file mode 100644
index c920a6ea..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/MissingModuleException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-public class MissingModuleException
- extends MavenExecutionException
-{
-
- private File moduleFile;
- private final String moduleName;
-
- public MissingModuleException( String moduleName, File moduleFile, File pomFile )
- {
- super( "The module: " + moduleName + " cannot be found in file: " + moduleFile, pomFile );
- this.moduleName = moduleName;
- this.moduleFile = moduleFile;
- }
-
- public File getModuleFile()
- {
- return moduleFile;
- }
-
- public String getModuleName()
- {
- return moduleName;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectBuildFailureException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectBuildFailureException.java
deleted file mode 100644
index 66ed3a08..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectBuildFailureException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.MojoFailureException;
-
-/**
- * Exception which occurs when a normal (i.e. non-aggregator) mojo fails to
- * execute. In this case, the mojo failed while executing against a particular
- * project instance, so we can wrap the {@link MojoFailureException} with context
- * information including projectId that caused the failure.
- *
- * @author jdcasey
- *
- */
-public class ProjectBuildFailureException
- extends BuildFailureException
-{
-
- private final String projectId;
-
- public ProjectBuildFailureException( String projectId, MojoFailureException cause )
- {
- super( "Build for project: " + projectId + " failed during execution of mojo.", cause );
-
- this.projectId = projectId;
- }
-
- public MojoFailureException getMojoFailureException()
- {
- return (MojoFailureException) getCause();
- }
-
- public String getProjectId()
- {
- return projectId;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectCycleException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectCycleException.java
deleted file mode 100644
index ecd8ecac..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectCycleException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.codehaus.plexus.util.dag.CycleDetectedException;
-
-/**
- * @author jdcasey
- */
-public class ProjectCycleException
- extends BuildFailureException
-{
- public ProjectCycleException( String message )
- {
- super( message );
- }
-
- public ProjectCycleException( String message, CycleDetectedException cause )
- {
- super( message, cause );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectDependenciesResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectDependenciesResolver.java
deleted file mode 100644
index 01e62278..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ProjectDependenciesResolver.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-
-@Deprecated
-/**
- * @deprecated As of 3.2.2, and there is no direct replacement. This is an internal class which was not marked as such,
- * but should have been.
- * @author jvanzyl
- *
- */
-public interface ProjectDependenciesResolver
-{
-
- /**
- * Resolves the transitive dependencies of the specified project.
- *
- * @param project The project whose dependencies should be resolved, must not be {@code null}.
- * @param scopesToResolve The dependency scopes that should be resolved, may be {@code null}.
- * @param session The current build session, must not be {@code null}.
- * @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
- */
- Set<Artifact> resolve( MavenProject project, Collection<String> scopesToResolve, MavenSession session )
- throws ArtifactResolutionException, ArtifactNotFoundException;
-
- /**
- * Resolves the transitive dependencies of the specified project.
- *
- * @param project The project whose dependencies should be resolved, must not be {@code null}.
- * @param scopesToCollect The dependency scopes that should be collected, may be {@code null}.
- * @param scopesToResolve The dependency scopes that should be collected and also resolved, may be {@code null}.
- * @param session The current build session, must not be {@code null}.
- * @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
- */
- Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session )
- throws ArtifactResolutionException, ArtifactNotFoundException;
-
- /**
- * Resolves the transitive dependencies of the specified project.
- *
- * @param project The project whose dependencies should be resolved, must not be {@code null}.
- * @param scopesToCollect The dependency scopes that should be collected, may be {@code null}.
- * @param scopesToResolve The dependency scopes that should be collected and also resolved, may be {@code null}.
- * @param session The current build session, must not be {@code null}.
- * @param ignoreableArtifacts Artifacts that need not be resolved
- * @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
- */
- Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session, Set<Artifact> ignoreableArtifacts )
- throws ArtifactResolutionException, ArtifactNotFoundException;
-
- /**
- * Resolves the transitive dependencies of the specified projects. Note that dependencies which can't be resolved
- * from any repository but are present among the set of specified projects will not cause an exception. Instead,
- * those unresolved artifacts will be returned in the result set, allowing the caller to take special care of
- * artifacts that haven't been build yet.
- *
- * @param projects The projects whose dependencies should be resolved, may be {@code null}.
- * @param scopes The dependency scopes that should be resolved, may be {@code null}.
- * @param session The current build session, must not be {@code null}.
- * @return The transitive dependencies of the specified projects that match the requested scopes, never
- * {@code null}.
- */
- Set<Artifact> resolve( Collection<? extends MavenProject> projects, Collection<String> scopes,
- MavenSession session )
- throws ArtifactResolutionException, ArtifactNotFoundException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ReactorReader.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ReactorReader.java
deleted file mode 100644
index 252bdd09..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/ReactorReader.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Model;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.repository.internal.MavenWorkspaceReader;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.repository.WorkspaceRepository;
-import org.eclipse.aether.util.artifact.ArtifactIdUtils;
-
-/**
- * An implementation of a workspace reader that knows how to search the Maven reactor for artifacts, either
- * as packaged jar if it has been built, or only compile output directory if packaging hasn't happened yet.
- *
- * @author Jason van Zyl
- */
-@Named( ReactorReader.HINT )
-@SessionScoped
-class ReactorReader
- implements MavenWorkspaceReader
-{
- public static final String HINT = "reactor";
-
- private static final Collection<String> COMPILE_PHASE_TYPES = Arrays.asList( "jar", "ejb-client" );
-
- private Map<String, MavenProject> projectsByGAV;
-
- private Map<String, List<MavenProject>> projectsByGA;
-
- private WorkspaceRepository repository;
-
- @Inject
- public ReactorReader( MavenSession session )
- {
- projectsByGAV = session.getProjectMap();
-
- projectsByGA = new HashMap<String, List<MavenProject>>( projectsByGAV.size() * 2 );
- for ( MavenProject project : projectsByGAV.values() )
- {
- String key = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
-
- List<MavenProject> projects = projectsByGA.get( key );
-
- if ( projects == null )
- {
- projects = new ArrayList<MavenProject>( 1 );
- projectsByGA.put( key, projects );
- }
-
- projects.add( project );
- }
-
- repository = new WorkspaceRepository( "reactor", new HashSet<String>( projectsByGAV.keySet() ) );
- }
-
- //
- // Public API
- //
-
- public WorkspaceRepository getRepository()
- {
- return repository;
- }
-
- public File findArtifact( Artifact artifact )
- {
- String projectKey = ArtifactUtils.key( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() );
-
- MavenProject project = projectsByGAV.get( projectKey );
-
- if ( project != null )
- {
- File file = find( project, artifact );
- if ( file == null && project != project.getExecutionProject() )
- {
- file = find( project.getExecutionProject(), artifact );
- }
- return file;
- }
-
- return null;
- }
-
- public List<String> findVersions( Artifact artifact )
- {
- String key = ArtifactUtils.versionlessKey( artifact.getGroupId(), artifact.getArtifactId() );
-
- List<MavenProject> projects = projectsByGA.get( key );
- if ( projects == null || projects.isEmpty() )
- {
- return Collections.emptyList();
- }
-
- List<String> versions = new ArrayList<String>();
-
- for ( MavenProject project : projects )
- {
- if ( find( project, artifact ) != null )
- {
- versions.add( project.getVersion() );
- }
- }
-
- return Collections.unmodifiableList( versions );
- }
-
- @Override
- public Model findModel( Artifact artifact )
- {
- String projectKey = ArtifactUtils.key( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() );
- MavenProject project = projectsByGAV.get( projectKey );
- return project == null ? null : project.getModel();
- }
-
- //
- // Implementation
- //
-
- private File find( MavenProject project, Artifact artifact )
- {
- if ( "pom".equals( artifact.getExtension() ) )
- {
- return project.getFile();
- }
-
- Artifact projectArtifact = findMatchingArtifact( project, artifact );
-
- if ( hasArtifactFileFromPackagePhase( projectArtifact ) )
- {
- return projectArtifact.getFile();
- }
- else if ( !hasBeenPackaged( project ) )
- {
- // fallback to loose class files only if artifacts haven't been packaged yet
- // and only for plain old jars. Not war files, not ear files, not anything else.
-
- if ( isTestArtifact( artifact ) )
- {
- if ( project.hasLifecyclePhase( "test-compile" ) )
- {
- return new File( project.getBuild().getTestOutputDirectory() );
- }
- }
- else
- {
- String type = artifact.getProperty( "type", "" );
- if ( project.hasLifecyclePhase( "compile" ) && COMPILE_PHASE_TYPES.contains( type ) )
- {
- return new File( project.getBuild().getOutputDirectory() );
- }
- }
- }
-
- // The fall-through indicates that the artifact cannot be found;
- // for instance if package produced nothing or classifier problems.
- return null;
- }
-
- private boolean hasArtifactFileFromPackagePhase( Artifact projectArtifact )
- {
- return projectArtifact != null && projectArtifact.getFile() != null && projectArtifact.getFile().exists();
- }
-
- private boolean hasBeenPackaged( MavenProject project )
- {
- return project.hasLifecyclePhase( "package" ) || project.hasLifecyclePhase( "install" )
- || project.hasLifecyclePhase( "deploy" );
- }
-
- /**
- * Tries to resolve the specified artifact from the artifacts of the given project.
- *
- * @param project The project to try to resolve the artifact from, must not be <code>null</code>.
- * @param requestedArtifact The artifact to resolve, must not be <code>null</code>.
- * @return The matching artifact from the project or <code>null</code> if not found. Note that this
- */
- private Artifact findMatchingArtifact( MavenProject project, Artifact requestedArtifact )
- {
- String requestedRepositoryConflictId = ArtifactIdUtils.toVersionlessId( requestedArtifact );
-
- Artifact mainArtifact = RepositoryUtils.toArtifact( project.getArtifact() );
- if ( requestedRepositoryConflictId.equals( ArtifactIdUtils.toVersionlessId( mainArtifact ) ) )
- {
- return mainArtifact;
- }
-
- for ( Artifact attachedArtifact : RepositoryUtils.toArtifacts( project.getAttachedArtifacts() ) )
- {
- if ( attachedArtifactComparison( requestedArtifact, attachedArtifact ) )
- {
- return attachedArtifact;
- }
- }
-
- return null;
- }
-
- private boolean attachedArtifactComparison( Artifact requested, Artifact attached )
- {
- //
- // We are taking as much as we can from the DefaultArtifact.equals(). The requested artifact has no file so
- // we want to remove that from the comparison.
- //
- return requested.getArtifactId().equals( attached.getArtifactId() )
- && requested.getGroupId().equals( attached.getGroupId() )
- && requested.getVersion().equals( attached.getVersion() )
- && requested.getExtension().equals( attached.getExtension() )
- && requested.getClassifier().equals( attached.getClassifier() );
- }
-
- /**
- * Determines whether the specified artifact refers to test classes.
- *
- * @param artifact The artifact to check, must not be {@code null}.
- * @return {@code true} if the artifact refers to test classes, {@code false} otherwise.
- */
- private static boolean isTestArtifact( Artifact artifact )
- {
- return ( "test-jar".equals( artifact.getProperty( "type", "" ) ) )
- || ( "jar".equals( artifact.getExtension() ) && "tests".equals( artifact.getClassifier() ) );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
deleted file mode 100644
index d7fd88e2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
+++ /dev/null
@@ -1,362 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.DefaultArtifactHandler;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.ArtifactProperties;
-import org.eclipse.aether.artifact.ArtifactType;
-import org.eclipse.aether.artifact.ArtifactTypeRegistry;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.artifact.DefaultArtifactType;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.Exclusion;
-import org.eclipse.aether.repository.Authentication;
-import org.eclipse.aether.repository.Proxy;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.util.repository.AuthenticationBuilder;
-
-/**
- * <strong>Warning:</strong> This is an internal utility class that is only public for technical reasons, it is not part
- * of the public API. In particular, this class can be changed or deleted without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public class RepositoryUtils
-{
-
- private static String nullify( String string )
- {
- return ( string == null || string.length() <= 0 ) ? null : string;
- }
-
- private static org.apache.maven.artifact.Artifact toArtifact( Dependency dependency )
- {
- if ( dependency == null )
- {
- return null;
- }
-
- org.apache.maven.artifact.Artifact result = toArtifact( dependency.getArtifact() );
- result.setScope( dependency.getScope() );
- result.setOptional( dependency.isOptional() );
-
- return result;
- }
-
- public static org.apache.maven.artifact.Artifact toArtifact( Artifact artifact )
- {
- if ( artifact == null )
- {
- return null;
- }
-
- ArtifactHandler handler = newHandler( artifact );
-
- /*
- * NOTE: From Artifact.hasClassifier(), an empty string and a null both denote "no classifier". However, some
- * plugins only check for null, so be sure to nullify an empty classifier.
- */
- org.apache.maven.artifact.Artifact result =
- new org.apache.maven.artifact.DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(),
- artifact.getVersion(), null,
- artifact.getProperty( ArtifactProperties.TYPE,
- artifact.getExtension() ),
- nullify( artifact.getClassifier() ), handler );
-
- result.setFile( artifact.getFile() );
- result.setResolved( artifact.getFile() != null );
-
- List<String> trail = new ArrayList<String>( 1 );
- trail.add( result.getId() );
- result.setDependencyTrail( trail );
-
- return result;
- }
-
- public static void toArtifacts( Collection<org.apache.maven.artifact.Artifact> artifacts,
- Collection<? extends DependencyNode> nodes, List<String> trail,
- DependencyFilter filter )
- {
- for ( DependencyNode node : nodes )
- {
- org.apache.maven.artifact.Artifact artifact = toArtifact( node.getDependency() );
-
- List<String> nodeTrail = new ArrayList<String>( trail.size() + 1 );
- nodeTrail.addAll( trail );
- nodeTrail.add( artifact.getId() );
-
- if ( filter == null || filter.accept( node, Collections.<DependencyNode>emptyList() ) )
- {
- artifact.setDependencyTrail( nodeTrail );
- artifacts.add( artifact );
- }
-
- toArtifacts( artifacts, node.getChildren(), nodeTrail, filter );
- }
- }
-
- public static Artifact toArtifact( org.apache.maven.artifact.Artifact artifact )
- {
- if ( artifact == null )
- {
- return null;
- }
-
- String version = artifact.getVersion();
- if ( version == null && artifact.getVersionRange() != null )
- {
- version = artifact.getVersionRange().toString();
- }
-
- Map<String, String> props = null;
- if ( org.apache.maven.artifact.Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
- {
- String localPath = ( artifact.getFile() != null ) ? artifact.getFile().getPath() : "";
- props = Collections.singletonMap( ArtifactProperties.LOCAL_PATH, localPath );
- }
-
- Artifact result =
- new DefaultArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getClassifier(),
- artifact.getArtifactHandler().getExtension(), version, props,
- newArtifactType( artifact.getType(), artifact.getArtifactHandler() ) );
- result = result.setFile( artifact.getFile() );
-
- return result;
- }
-
- public static Dependency toDependency( org.apache.maven.artifact.Artifact artifact,
- Collection<org.apache.maven.model.Exclusion> exclusions )
- {
- if ( artifact == null )
- {
- return null;
- }
-
- Artifact result = toArtifact( artifact );
-
- List<Exclusion> excl = null;
- if ( exclusions != null )
- {
- excl = new ArrayList<Exclusion>( exclusions.size() );
- for ( org.apache.maven.model.Exclusion exclusion : exclusions )
- {
- excl.add( toExclusion( exclusion ) );
- }
- }
-
- return new Dependency( result, artifact.getScope(), artifact.isOptional(), excl );
- }
-
- public static List<RemoteRepository> toRepos( List<ArtifactRepository> repos )
- {
- if ( repos == null )
- {
- return null;
- }
-
- List<RemoteRepository> results = new ArrayList<RemoteRepository>( repos.size() );
- for ( ArtifactRepository repo : repos )
- {
- results.add( toRepo( repo ) );
- }
- return results;
- }
-
- public static RemoteRepository toRepo( ArtifactRepository repo )
- {
- RemoteRepository result = null;
- if ( repo != null )
- {
- RemoteRepository.Builder builder =
- new RemoteRepository.Builder( repo.getId(), getLayout( repo ), repo.getUrl() );
- builder.setSnapshotPolicy( toPolicy( repo.getSnapshots() ) );
- builder.setReleasePolicy( toPolicy( repo.getReleases() ) );
- builder.setAuthentication( toAuthentication( repo.getAuthentication() ) );
- builder.setProxy( toProxy( repo.getProxy() ) );
- builder.setMirroredRepositories( toRepos( repo.getMirroredRepositories() ) );
- result = builder.build();
- }
- return result;
- }
-
- public static String getLayout( ArtifactRepository repo )
- {
- try
- {
- return repo.getLayout().getId();
- }
- catch ( LinkageError e )
- {
- /*
- * NOTE: getId() was added in 3.x and is as such not implemented by plugins compiled against 2.x APIs.
- */
- String className = repo.getLayout().getClass().getSimpleName();
- if ( className.endsWith( "RepositoryLayout" ) )
- {
- String layout = className.substring( 0, className.length() - "RepositoryLayout".length() );
- if ( layout.length() > 0 )
- {
- layout = Character.toLowerCase( layout.charAt( 0 ) ) + layout.substring( 1 );
- return layout;
- }
- }
- return "";
- }
- }
-
- private static RepositoryPolicy toPolicy( ArtifactRepositoryPolicy policy )
- {
- RepositoryPolicy result = null;
- if ( policy != null )
- {
- result = new RepositoryPolicy( policy.isEnabled(), policy.getUpdatePolicy(), policy.getChecksumPolicy() );
- }
- return result;
- }
-
- private static Authentication toAuthentication( org.apache.maven.artifact.repository.Authentication auth )
- {
- Authentication result = null;
- if ( auth != null )
- {
- AuthenticationBuilder authBuilder = new AuthenticationBuilder();
- authBuilder.addUsername( auth.getUsername() ).addPassword( auth.getPassword() );
- authBuilder.addPrivateKey( auth.getPrivateKey(), auth.getPassphrase() );
- result = authBuilder.build();
- }
- return result;
- }
-
- private static Proxy toProxy( org.apache.maven.repository.Proxy proxy )
- {
- Proxy result = null;
- if ( proxy != null )
- {
- AuthenticationBuilder authBuilder = new AuthenticationBuilder();
- authBuilder.addUsername( proxy.getUserName() ).addPassword( proxy.getPassword() );
- result = new Proxy( proxy.getProtocol(), proxy.getHost(), proxy.getPort(), authBuilder.build() );
- }
- return result;
- }
-
- public static ArtifactHandler newHandler( Artifact artifact )
- {
- String type = artifact.getProperty( ArtifactProperties.TYPE, artifact.getExtension() );
- DefaultArtifactHandler handler = new DefaultArtifactHandler( type );
- handler.setExtension( artifact.getExtension() );
- handler.setLanguage( artifact.getProperty( ArtifactProperties.LANGUAGE, null ) );
- String addedToClasspath = artifact.getProperty( ArtifactProperties.CONSTITUTES_BUILD_PATH, "" );
- handler.setAddedToClasspath( Boolean.parseBoolean( addedToClasspath ) );
- String includesDependencies = artifact.getProperty( ArtifactProperties.INCLUDES_DEPENDENCIES, "" );
- handler.setIncludesDependencies( Boolean.parseBoolean( includesDependencies ) );
- return handler;
- }
-
- public static ArtifactType newArtifactType( String id, ArtifactHandler handler )
- {
- return new DefaultArtifactType( id, handler.getExtension(), handler.getClassifier(), handler.getLanguage(),
- handler.isAddedToClasspath(), handler.isIncludesDependencies() );
- }
-
- public static Dependency toDependency( org.apache.maven.model.Dependency dependency,
- ArtifactTypeRegistry stereotypes )
- {
- ArtifactType stereotype = stereotypes.get( dependency.getType() );
- if ( stereotype == null )
- {
- stereotype = new DefaultArtifactType( dependency.getType() );
- }
-
- boolean system = dependency.getSystemPath() != null && dependency.getSystemPath().length() > 0;
-
- Map<String, String> props = null;
- if ( system )
- {
- props = Collections.singletonMap( ArtifactProperties.LOCAL_PATH, dependency.getSystemPath() );
- }
-
- Artifact artifact =
- new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getClassifier(), null,
- dependency.getVersion(), props, stereotype );
-
- List<Exclusion> exclusions = new ArrayList<Exclusion>( dependency.getExclusions().size() );
- for ( org.apache.maven.model.Exclusion exclusion : dependency.getExclusions() )
- {
- exclusions.add( toExclusion( exclusion ) );
- }
-
- Dependency result = new Dependency( artifact, dependency.getScope(), dependency.isOptional(), exclusions );
-
- return result;
- }
-
- private static Exclusion toExclusion( org.apache.maven.model.Exclusion exclusion )
- {
- return new Exclusion( exclusion.getGroupId(), exclusion.getArtifactId(), "*", "*" );
- }
-
- public static ArtifactTypeRegistry newArtifactTypeRegistry( ArtifactHandlerManager handlerManager )
- {
- return new MavenArtifactTypeRegistry( handlerManager );
- }
-
- static class MavenArtifactTypeRegistry
- implements ArtifactTypeRegistry
- {
-
- private final ArtifactHandlerManager handlerManager;
-
- public MavenArtifactTypeRegistry( ArtifactHandlerManager handlerManager )
- {
- this.handlerManager = handlerManager;
- }
-
- public ArtifactType get( String stereotypeId )
- {
- ArtifactHandler handler = handlerManager.getArtifactHandler( stereotypeId );
- return newArtifactType( stereotypeId, handler );
- }
-
- }
-
- public static Collection<Artifact> toArtifacts( Collection<org.apache.maven.artifact.Artifact> artifactsToConvert )
- {
- List<Artifact> artifacts = new ArrayList<Artifact>();
- for ( org.apache.maven.artifact.Artifact a : artifactsToConvert )
- {
- artifacts.add( toArtifact( a ) );
- }
- return artifacts;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/SessionScoped.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/SessionScoped.java
deleted file mode 100644
index 63b1eb77..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/SessionScoped.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import com.google.inject.ScopeAnnotation;
-
-/**
- * Indicates that annotated component should be instantiated before session starts and discarded after session execution
- * completes.
- *
- * @author Jason van Zyl
- * @since 3.2.0
- */
-@Target( { TYPE } )
-@Retention( RUNTIME )
-@ScopeAnnotation
-public @interface SessionScoped
-{
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java
deleted file mode 100644
index b54ba070..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/DependencyResolutionRequiredException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.maven.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Exception that occurs when an artifact file is used, but has not been resolved.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo it may be better for artifact.getFile() to throw it - perhaps it is a runtime exception?
- */
-public class DependencyResolutionRequiredException
- extends Exception
-{
- public DependencyResolutionRequiredException( Artifact artifact )
- {
- super( "Attempted to access the artifact " + artifact + "; which has not yet been resolved" );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/InvalidRepositoryException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/InvalidRepositoryException.java
deleted file mode 100644
index 62991f11..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/InvalidRepositoryException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.net.MalformedURLException;
-
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-/**
- * Error constructing an artifact repository.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class InvalidRepositoryException
- extends Exception
-{
- private final String repositoryId;
-
- public InvalidRepositoryException( String message, String repositoryId, MalformedURLException cause )
- {
- super( message, cause );
- this.repositoryId = repositoryId;
- }
-
- protected InvalidRepositoryException( String message, String repositoryId, ComponentLookupException cause )
- {
- super( message, cause );
- this.repositoryId = repositoryId;
- }
-
- @Deprecated
- public InvalidRepositoryException( String message, Throwable t )
- {
- super( message, t );
- this.repositoryId = null;
- }
-
- public InvalidRepositoryException( String message, String repositoryId )
- {
- super( message );
- this.repositoryId = repositoryId;
- }
-
- public String getRepositoryId()
- {
- return repositoryId;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java
deleted file mode 100644
index a16f64f6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.maven.artifact.factory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-@Deprecated
-public interface ArtifactFactory
-{
- @Deprecated
- String ROLE = ArtifactFactory.class.getName();
-
- Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type );
-
- Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
- String classifier );
-
- Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope );
-
- Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, boolean optional );
-
- Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, String inheritedScope );
-
- Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, String inheritedScope, boolean optional );
-
- Artifact createBuildArtifact( String groupId, String artifactId, String version, String packaging );
-
- Artifact createProjectArtifact( String groupId, String artifactId, String version );
-
- Artifact createParentArtifact( String groupId, String artifactId, String version );
-
- Artifact createPluginArtifact( String groupId, String artifactId, VersionRange versionRange );
-
- Artifact createProjectArtifact( String groupId, String artifactId, String version, String scope );
-
- Artifact createExtensionArtifact( String groupId, String artifactId, VersionRange versionRange );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
deleted file mode 100644
index dfcac019..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.apache.maven.artifact.factory;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-@Component( role = ArtifactFactory.class )
-public class DefaultArtifactFactory
- implements ArtifactFactory
-{
- @Requirement
- private ArtifactHandlerManager artifactHandlerManager;
-
- public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type )
- {
- return createArtifact( groupId, artifactId, version, scope, type, null, null );
- }
-
- public Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
- String classifier )
- {
- return createArtifact( groupId, artifactId, version, null, type, classifier, null );
- }
-
- public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
- String type, String classifier, String scope )
- {
- return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, null );
- }
-
- public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
- String type, String classifier, String scope, boolean optional )
- {
- return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, null, optional );
- }
-
- public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
- String type, String classifier, String scope, String inheritedScope )
- {
- return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
- }
-
- public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
- String type, String classifier, String scope, String inheritedScope,
- boolean optional )
- {
- return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, optional );
- }
-
- public Artifact createBuildArtifact( String groupId, String artifactId, String version, String packaging )
- {
- return createArtifact( groupId, artifactId, version, null, packaging, null, null );
- }
-
- public Artifact createProjectArtifact( String groupId, String artifactId, String version )
- {
- return createProjectArtifact( groupId, artifactId, version, null );
- }
-
- public Artifact createParentArtifact( String groupId, String artifactId, String version )
- {
- return createProjectArtifact( groupId, artifactId, version );
- }
-
- public Artifact createPluginArtifact( String groupId, String artifactId, VersionRange versionRange )
- {
- return createArtifact( groupId, artifactId, versionRange, "maven-plugin", null, Artifact.SCOPE_RUNTIME, null );
- }
-
- public Artifact createProjectArtifact( String groupId, String artifactId, String version, String scope )
- {
- return createArtifact( groupId, artifactId, version, scope, "pom" );
- }
-
- public Artifact createExtensionArtifact( String groupId, String artifactId, VersionRange versionRange )
- {
- return createArtifact( groupId, artifactId, versionRange, "jar", null, Artifact.SCOPE_RUNTIME, null );
- }
-
- private Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type,
- String classifier, String inheritedScope )
- {
- VersionRange versionRange = null;
- if ( version != null )
- {
- versionRange = VersionRange.createFromVersion( version );
- }
- return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
- }
-
- private Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, String inheritedScope )
- {
- return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, false );
- }
-
- private Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, String inheritedScope, boolean optional )
- {
- String desiredScope = Artifact.SCOPE_RUNTIME;
-
- if ( inheritedScope == null )
- {
- desiredScope = scope;
- }
- else if ( Artifact.SCOPE_TEST.equals( scope ) || Artifact.SCOPE_PROVIDED.equals( scope ) )
- {
- return null;
- }
- else if ( Artifact.SCOPE_COMPILE.equals( scope ) && Artifact.SCOPE_COMPILE.equals( inheritedScope ) )
- {
- // added to retain compile artifactScope. Remove if you want compile inherited as runtime
- desiredScope = Artifact.SCOPE_COMPILE;
- }
-
- if ( Artifact.SCOPE_TEST.equals( inheritedScope ) )
- {
- desiredScope = Artifact.SCOPE_TEST;
- }
-
- if ( Artifact.SCOPE_PROVIDED.equals( inheritedScope ) )
- {
- desiredScope = Artifact.SCOPE_PROVIDED;
- }
-
- if ( Artifact.SCOPE_SYSTEM.equals( scope ) )
- {
- // system scopes come through unchanged...
- desiredScope = Artifact.SCOPE_SYSTEM;
- }
-
- ArtifactHandler handler = artifactHandlerManager.getArtifactHandler( type );
-
- return new DefaultArtifact( groupId, artifactId, versionRange, desiredScope, type, classifier, handler,
- optional );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java
deleted file mode 100644
index 628f38bc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.apache.maven.artifact.handler;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @author Jason van Zyl
- */
-@Component( role = ArtifactHandler.class )
-public class DefaultArtifactHandler
- implements ArtifactHandler
-{
- private String extension;
-
- private String type;
-
- private String classifier;
-
- private String directory;
-
- private String packaging;
-
- private boolean includesDependencies;
-
- private String language;
-
- private boolean addedToClasspath;
-
- public DefaultArtifactHandler()
- {
- }
-
- public DefaultArtifactHandler( String type )
- {
- this.type = type;
- }
-
- public String getExtension()
- {
- if ( extension == null )
- {
- extension = type;
- }
- return extension;
- }
-
- public void setExtension( String extension )
- {
- this.extension = extension;
- }
-
- public String getType()
- {
- return type;
- }
-
- public String getClassifier()
- {
- return classifier;
- }
-
- public String getDirectory()
- {
- if ( directory == null )
- {
- directory = getPackaging() + "s";
- }
- return directory;
- }
-
- public String getPackaging()
- {
- if ( packaging == null )
- {
- packaging = type;
- }
- return packaging;
- }
-
- public boolean isIncludesDependencies()
- {
- return includesDependencies;
- }
-
- public void setIncludesDependencies( boolean includesDependencies )
- {
- this.includesDependencies = includesDependencies;
- }
-
- public String getLanguage()
- {
- if ( language == null )
- {
- language = "none";
- }
-
- return language;
- }
-
- public void setLanguage( String language )
- {
- this.language = language;
- }
-
- public boolean isAddedToClasspath()
- {
- return addedToClasspath;
- }
-
- public void setAddedToClasspath( boolean addedToClasspath )
- {
- this.addedToClasspath = addedToClasspath;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
deleted file mode 100644
index cada9e93..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.maven.artifact.handler.manager;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-
-import org.apache.maven.artifact.handler.ArtifactHandler;
-
-/**
- * @author Jason van Zyl
- */
-public interface ArtifactHandlerManager
-{
- String ROLE = ArtifactHandlerManager.class.getName();
-
- ArtifactHandler getArtifactHandler( String type );
-
- @Deprecated
- void addHandlers( Map<String, ArtifactHandler> handlers );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
deleted file mode 100644
index 6be636b0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.apache.maven.artifact.handler.manager;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.DefaultArtifactHandler;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * @author Jason van Zyl
- */
-@Component( role = ArtifactHandlerManager.class )
-public class DefaultArtifactHandlerManager
- implements ArtifactHandlerManager
-{
-
- @Requirement( role = ArtifactHandler.class )
- private Map<String, ArtifactHandler> artifactHandlers;
-
- private Map<String, ArtifactHandler> unmanagedHandlers = new ConcurrentHashMap<String, ArtifactHandler>();
-
- public ArtifactHandler getArtifactHandler( String type )
- {
- ArtifactHandler handler = unmanagedHandlers.get( type );
-
- if ( handler == null )
- {
- handler = artifactHandlers.get( type );
-
- if ( handler == null )
- {
- handler = new DefaultArtifactHandler( type );
- }
- }
-
- return handler;
- }
-
- public void addHandlers( Map<String, ArtifactHandler> handlers )
- {
- // legacy support for maven-gpg-plugin:1.0
- unmanagedHandlers.putAll( handlers );
- }
-
- @Deprecated
- public Set<String> getHandlerTypes()
- {
- return artifactHandlers.keySet();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java
deleted file mode 100644
index 5ef3a980..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.maven.artifact.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-
-@Deprecated
-public abstract class AbstractArtifactMetadata
- extends org.apache.maven.repository.legacy.metadata.AbstractArtifactMetadata
- implements org.apache.maven.artifact.metadata.ArtifactMetadata
-{
- protected AbstractArtifactMetadata( Artifact artifact )
- {
- super( artifact );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java
deleted file mode 100644
index e419ef9e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven.artifact.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-
-@Deprecated
-public class ArtifactMetadataRetrievalException
- extends org.apache.maven.repository.legacy.metadata.ArtifactMetadataRetrievalException
-{
-
- /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
- @Deprecated
- public ArtifactMetadataRetrievalException( String message )
- {
- super( message, null, null );
- }
-
- /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
- @Deprecated
- public ArtifactMetadataRetrievalException( Throwable cause )
- {
- super( null, cause, null );
- }
-
- /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
- @Deprecated
- public ArtifactMetadataRetrievalException( String message,
- Throwable cause )
- {
- super( message, cause, null );
- }
-
- public ArtifactMetadataRetrievalException( String message, Throwable cause, Artifact artifact )
- {
- super( message, cause, artifact );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java
deleted file mode 100644
index ccd58363..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.maven.artifact.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
-
-@Deprecated
-public interface ArtifactMetadataSource
- extends org.apache.maven.repository.legacy.metadata.ArtifactMetadataSource
-{
-
- ResolutionGroup retrieve( MetadataResolutionRequest request )
- throws ArtifactMetadataRetrievalException;
-
- ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- throws ArtifactMetadataRetrievalException;
-
- List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request )
- throws ArtifactMetadataRetrievalException;
-
- List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- throws ArtifactMetadataRetrievalException;
-
- List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact,
- ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws ArtifactMetadataRetrievalException;
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
deleted file mode 100644
index c219b24e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.artifact.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-
-@Deprecated
-public class ResolutionGroup
- extends org.apache.maven.repository.legacy.metadata.ResolutionGroup
-{
-
- public ResolutionGroup( Artifact pomArtifact, Set<Artifact> artifacts,
- List<ArtifactRepository> resolutionRepositories )
- {
- super( pomArtifact, artifacts, resolutionRepositories );
- }
-
- public ResolutionGroup( Artifact pomArtifact, Artifact relocatedArtifact, Set<Artifact> artifacts,
- Map<String, Artifact> managedVersions, List<ArtifactRepository> resolutionRepositories )
- {
- super( pomArtifact, relocatedArtifact, artifacts, managedVersions, resolutionRepositories );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java
deleted file mode 100644
index 6b18789d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/DefaultRepositoryRequest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.apache.maven.artifact.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Collects basic settings to access the repository system.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultRepositoryRequest
- implements RepositoryRequest
-{
-
- private boolean offline;
-
- private boolean forceUpdate;
-
- private ArtifactRepository localRepository;
-
- private List<ArtifactRepository> remoteRepositories;
-
- /**
- * Creates an empty repository request.
- */
- public DefaultRepositoryRequest()
- {
- // enables no-arg constructor
- }
-
- /**
- * Creates a shallow copy of the specified repository request.
- *
- * @param repositoryRequest The repository request to copy from, must not be {@code null}.
- */
- public DefaultRepositoryRequest( RepositoryRequest repositoryRequest )
- {
- setLocalRepository( repositoryRequest.getLocalRepository() );
- setRemoteRepositories( repositoryRequest.getRemoteRepositories() );
- setOffline( repositoryRequest.isOffline() );
- setForceUpdate( repositoryRequest.isForceUpdate() );
- }
-
- public static RepositoryRequest getRepositoryRequest( MavenSession session, MavenProject project )
- {
- RepositoryRequest request = new DefaultRepositoryRequest();
-
- request.setLocalRepository( session.getLocalRepository() );
- if ( project != null )
- {
- request.setRemoteRepositories( project.getPluginArtifactRepositories() );
- }
- request.setOffline( session.isOffline() );
- request.setForceUpdate( session.getRequest().isUpdateSnapshots() );
-
- return request;
- }
-
- public boolean isOffline()
- {
- return offline;
- }
-
- public DefaultRepositoryRequest setOffline( boolean offline )
- {
- this.offline = offline;
-
- return this;
- }
-
- public boolean isForceUpdate()
- {
- return forceUpdate;
- }
-
- public DefaultRepositoryRequest setForceUpdate( boolean forceUpdate )
- {
- this.forceUpdate = forceUpdate;
-
- return this;
- }
-
- public ArtifactRepository getLocalRepository()
- {
- return localRepository;
- }
-
- public DefaultRepositoryRequest setLocalRepository( ArtifactRepository localRepository )
- {
- this.localRepository = localRepository;
-
- return this;
- }
-
- public List<ArtifactRepository> getRemoteRepositories()
- {
- if ( remoteRepositories == null )
- {
- remoteRepositories = new ArrayList<ArtifactRepository>();
- }
-
- return remoteRepositories;
- }
-
- public DefaultRepositoryRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
- {
- this.remoteRepositories = remoteRepositories;
-
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
deleted file mode 100644
index f56fb459..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
+++ /dev/null
@@ -1,435 +0,0 @@
-package org.apache.maven.artifact.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreException;
-import org.apache.maven.repository.Proxy;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.repository.LocalArtifactRegistration;
-import org.eclipse.aether.repository.LocalArtifactRequest;
-import org.eclipse.aether.repository.LocalArtifactResult;
-import org.eclipse.aether.repository.LocalMetadataRegistration;
-import org.eclipse.aether.repository.LocalMetadataRequest;
-import org.eclipse.aether.repository.LocalMetadataResult;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.LocalRepositoryManager;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * <strong>Warning:</strong> This is an internal utility class that is only public for technical reasons, it is not part
- * of the public API. In particular, this class can be changed or deleted without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public class LegacyLocalRepositoryManager
- implements LocalRepositoryManager
-{
-
- private final ArtifactRepository delegate;
-
- private final LocalRepository repo;
-
- private final boolean realLocalRepo;
-
- public static RepositorySystemSession overlay( ArtifactRepository repository, RepositorySystemSession session,
- RepositorySystem system )
- {
- if ( repository == null || repository.getBasedir() == null )
- {
- return session;
- }
-
- if ( session != null )
- {
- LocalRepositoryManager lrm = session.getLocalRepositoryManager();
- if ( lrm != null && lrm.getRepository().getBasedir().equals( new File( repository.getBasedir() ) ) )
- {
- return session;
- }
- }
- else
- {
- session = new DefaultRepositorySystemSession();
- }
-
- final LocalRepositoryManager llrm = new LegacyLocalRepositoryManager( repository );
-
- return new DefaultRepositorySystemSession( session ).setLocalRepositoryManager( llrm );
- }
-
- private LegacyLocalRepositoryManager( ArtifactRepository delegate )
- {
- if ( delegate == null )
- {
- throw new IllegalArgumentException( "local repository delegate missing" );
- }
- this.delegate = delegate;
-
- ArtifactRepositoryLayout layout = delegate.getLayout();
- repo =
- new LocalRepository( new File( delegate.getBasedir() ),
- ( layout != null ) ? layout.getClass().getSimpleName() : "legacy" );
-
- /*
- * NOTE: "invoker:install" vs "appassembler:assemble": Both mojos use the artifact installer to put an artifact
- * into a repository. In the first case, the result needs to be a proper local repository that one can use for
- * local artifact resolution. In the second case, the result needs to precisely obey the path information of the
- * repository's layout to allow pointing at artifacts within the repository. Unfortunately,
- * DefaultRepositoryLayout does not correctly describe the layout of a local repository which unlike a remote
- * repository never uses timestamps in the filename of a snapshot artifact. The discrepancy gets notable when a
- * remotely resolved snapshot artifact gets passed into pathOf(). So producing a proper local artifact path
- * using DefaultRepositoryLayout requires us to enforce usage of the artifact's base version. This
- * transformation however contradicts the other use case of precisely obeying the repository's layout. The below
- * flag tries to detect which use case applies to make both plugins happy.
- */
- realLocalRepo = ( layout instanceof DefaultRepositoryLayout ) && "local".equals( delegate.getId() );
- }
-
- public LocalRepository getRepository()
- {
- return repo;
- }
-
- public String getPathForLocalArtifact( Artifact artifact )
- {
- if ( realLocalRepo )
- {
- return delegate.pathOf( RepositoryUtils.toArtifact( artifact.setVersion( artifact.getBaseVersion() ) ) );
- }
- return delegate.pathOf( RepositoryUtils.toArtifact( artifact ) );
- }
-
- public String getPathForRemoteArtifact( Artifact artifact, RemoteRepository repository, String context )
- {
- return delegate.pathOf( RepositoryUtils.toArtifact( artifact ) );
- }
-
- public String getPathForLocalMetadata( Metadata metadata )
- {
- return delegate.pathOfLocalRepositoryMetadata( new ArtifactMetadataAdapter( metadata ), delegate );
- }
-
- public String getPathForRemoteMetadata( Metadata metadata, RemoteRepository repository, String context )
- {
- return delegate.pathOfLocalRepositoryMetadata( new ArtifactMetadataAdapter( metadata ),
- new ArtifactRepositoryAdapter( repository ) );
- }
-
- public LocalArtifactResult find( RepositorySystemSession session, LocalArtifactRequest request )
- {
- String path = getPathForLocalArtifact( request.getArtifact() );
- File file = new File( getRepository().getBasedir(), path );
-
- LocalArtifactResult result = new LocalArtifactResult( request );
- if ( file.isFile() )
- {
- result.setFile( file );
- result.setAvailable( true );
- }
-
- return result;
- }
-
- public LocalMetadataResult find( RepositorySystemSession session, LocalMetadataRequest request )
- {
- Metadata metadata = request.getMetadata();
-
- String path;
- if ( request.getRepository() == null )
- {
- path = getPathForLocalMetadata( metadata );
- }
- else
- {
- path = getPathForRemoteMetadata( metadata, request.getRepository(), request.getContext() );
- }
-
- File file = new File( getRepository().getBasedir(), path );
-
- LocalMetadataResult result = new LocalMetadataResult( request );
- if ( file.isFile() )
- {
- result.setFile( file );
- }
-
- return result;
- }
-
- public void add( RepositorySystemSession session, LocalArtifactRegistration request )
- {
- // noop
- }
-
- public void add( RepositorySystemSession session, LocalMetadataRegistration request )
- {
- // noop
- }
-
- static class ArtifactMetadataAdapter
- implements ArtifactMetadata
- {
-
- private final Metadata metadata;
-
- public ArtifactMetadataAdapter( Metadata metadata )
- {
- this.metadata = metadata;
- }
-
- public boolean storedInArtifactVersionDirectory()
- {
- return metadata.getVersion().length() > 0;
- }
-
- public boolean storedInGroupDirectory()
- {
- return metadata.getArtifactId().length() <= 0;
- }
-
- public String getGroupId()
- {
- return nullify( metadata.getGroupId() );
- }
-
- public String getArtifactId()
- {
- return nullify( metadata.getArtifactId() );
- }
-
- public String getBaseVersion()
- {
- return nullify( metadata.getVersion() );
- }
-
- private String nullify( String str )
- {
- return ( str == null || str.length() <= 0 ) ? null : str;
- }
-
- public Object getKey()
- {
- return metadata.toString();
- }
-
- public String getRemoteFilename()
- {
- return metadata.getType();
- }
-
- public String getLocalFilename( ArtifactRepository repository )
- {
- return insertRepositoryKey( getRemoteFilename(), repository.getKey() );
- }
-
- private String insertRepositoryKey( String filename, String repositoryKey )
- {
- String result;
- int idx = filename.indexOf( '.' );
- if ( idx < 0 )
- {
- result = filename + '-' + repositoryKey;
- }
- else
- {
- result = filename.substring( 0, idx ) + '-' + repositoryKey + filename.substring( idx );
- }
- return result;
- }
-
- public void merge( org.apache.maven.repository.legacy.metadata.ArtifactMetadata metadata )
- {
- // not used
- }
-
- public void merge( ArtifactMetadata metadata )
- {
- // not used
- }
-
- public void storeInLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
- throws RepositoryMetadataStoreException
- {
- // not used
- }
-
- public String extendedToString()
- {
- return metadata.toString();
- }
-
- }
-
- static class ArtifactRepositoryAdapter
- implements ArtifactRepository
- {
-
- private final RemoteRepository repository;
-
- public ArtifactRepositoryAdapter( RemoteRepository repository )
- {
- this.repository = repository;
- }
-
- public String pathOf( org.apache.maven.artifact.Artifact artifact )
- {
- return null;
- }
-
- public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata )
- {
- return null;
- }
-
- public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
- {
- return null;
- }
-
- public String getUrl()
- {
- return repository.getUrl();
- }
-
- public void setUrl( String url )
- {
- }
-
- public String getBasedir()
- {
- return null;
- }
-
- public String getProtocol()
- {
- return repository.getProtocol();
- }
-
- public String getId()
- {
- return repository.getId();
- }
-
- public void setId( String id )
- {
- }
-
- public ArtifactRepositoryPolicy getSnapshots()
- {
- return null;
- }
-
- public void setSnapshotUpdatePolicy( ArtifactRepositoryPolicy policy )
- {
- }
-
- public ArtifactRepositoryPolicy getReleases()
- {
- return null;
- }
-
- public void setReleaseUpdatePolicy( ArtifactRepositoryPolicy policy )
- {
- }
-
- public ArtifactRepositoryLayout getLayout()
- {
- return null;
- }
-
- public void setLayout( ArtifactRepositoryLayout layout )
- {
- }
-
- public String getKey()
- {
- return getId();
- }
-
- public boolean isUniqueVersion()
- {
- return true;
- }
-
- public boolean isBlacklisted()
- {
- return false;
- }
-
- public void setBlacklisted( boolean blackListed )
- {
- }
-
- public org.apache.maven.artifact.Artifact find( org.apache.maven.artifact.Artifact artifact )
- {
- return null;
- }
-
- public List<String> findVersions( org.apache.maven.artifact.Artifact artifact )
- {
- return Collections.emptyList();
- }
-
- public boolean isProjectAware()
- {
- return false;
- }
-
- public void setAuthentication( Authentication authentication )
- {
- }
-
- public Authentication getAuthentication()
- {
- return null;
- }
-
- public void setProxy( Proxy proxy )
- {
- }
-
- public Proxy getProxy()
- {
- return null;
- }
-
- public List<ArtifactRepository> getMirroredRepositories()
- {
- return Collections.emptyList();
- }
-
- public void setMirroredRepositories( List<ArtifactRepository> mirroredRepositories )
- {
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
deleted file mode 100644
index 8e45b203..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
+++ /dev/null
@@ -1,412 +0,0 @@
-package org.apache.maven.artifact.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.repository.Proxy;
-
-//TODO: completely separate local and remote artifact repositories
-public class MavenArtifactRepository
- implements ArtifactRepository
-{
- private String id;
-
- private String url;
-
- private String basedir;
-
- private String protocol;
-
- private ArtifactRepositoryLayout layout;
-
- private ArtifactRepositoryPolicy snapshots;
-
- private ArtifactRepositoryPolicy releases;
-
- private Authentication authentication;
-
- private Proxy proxy;
-
- private List<ArtifactRepository> mirroredRepositories = Collections.emptyList();
-
- public MavenArtifactRepository()
- {
- }
-
- /**
- * Create a remote download repository.
- *
- * @param id the unique identifier of the repository
- * @param url the URL of the repository
- * @param layout the layout of the repository
- * @param snapshots the policies to use for snapshots
- * @param releases the policies to use for releases
- */
- public MavenArtifactRepository( String id, String url, ArtifactRepositoryLayout layout,
- ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
- {
- this.id = id;
- this.url = url;
- this.layout = layout;
- this.snapshots = snapshots;
- this.releases = releases;
- //
- // Derive these from the URL
- //
- this.protocol = protocol( url );
- this.basedir = basedir( url );
- }
-
- public String pathOf( Artifact artifact )
- {
- return layout.pathOf( artifact );
- }
-
- public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata )
- {
- return layout.pathOfRemoteRepositoryMetadata( artifactMetadata );
- }
-
- public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
- {
- return layout.pathOfLocalRepositoryMetadata( metadata, repository );
- }
-
- public void setLayout( ArtifactRepositoryLayout layout )
- {
- this.layout = layout;
- }
-
- public ArtifactRepositoryLayout getLayout()
- {
- return layout;
- }
-
- public void setSnapshotUpdatePolicy( ArtifactRepositoryPolicy snapshots )
- {
- this.snapshots = snapshots;
- }
-
- public ArtifactRepositoryPolicy getSnapshots()
- {
- return snapshots;
- }
-
- public void setReleaseUpdatePolicy( ArtifactRepositoryPolicy releases )
- {
- this.releases = releases;
- }
-
- public ArtifactRepositoryPolicy getReleases()
- {
- return releases;
- }
-
- public String getKey()
- {
- return getId();
- }
-
- public String toString()
- {
- StringBuilder sb = new StringBuilder();
-
- sb.append( " id: " ).append( getId() ).append( "\n" );
- sb.append( " url: " ).append( getUrl() ).append( "\n" );
- sb.append( " layout: " ).append( layout != null ? layout : "none" ).append( "\n" );
-
- if ( proxy != null )
- {
- sb.append( " proxy: " ).append( proxy.getHost() ).append( ":" ).append( proxy.getPort() ).append( "\n" );
- }
-
- if ( snapshots != null )
- {
- sb.append( "snapshots: [enabled => " ).append( snapshots.isEnabled() );
- sb.append( ", update => " ).append( snapshots.getUpdatePolicy() ).append( "]\n" );
- }
-
- if ( releases != null )
- {
- sb.append( " releases: [enabled => " ).append( releases.isEnabled() );
- sb.append( ", update => " ).append( releases.getUpdatePolicy() ).append( "]\n" );
- }
-
- return sb.toString();
- }
-
- public Artifact find( Artifact artifact )
- {
- File artifactFile = new File( getBasedir(), pathOf( artifact ) );
-
- // We need to set the file here or the resolver will fail with an NPE, not fully equipped to deal
- // with multiple local repository implementations yet.
- artifact.setFile( artifactFile );
-
- return artifact;
- }
-
- public List<String> findVersions( Artifact artifact )
- {
- return Collections.emptyList();
- }
-
- public String getId()
- {
- return id;
- }
-
- public String getUrl()
- {
- return url;
- }
-
- public String getBasedir()
- {
- return basedir;
- }
-
- public String getProtocol()
- {
- return protocol;
- }
-
- public void setId( String id )
- {
- this.id = id;
- }
-
- public void setUrl( String url )
- {
- this.url = url;
-
- this.protocol = protocol( url );
- this.basedir = basedir( url );
- }
-
- // Path Utils
-
- /**
- * Return the protocol name.
- * <br/>
- * E.g: for input
- * <code>http://www.codehause.org</code> this method will return <code>http</code>
- *
- * @param url the url
- * @return the host name
- */
- private static String protocol( final String url )
- {
- final int pos = url.indexOf( ":" );
-
- if ( pos == -1 )
- {
- return "";
- }
- return url.substring( 0, pos ).trim();
- }
-
- /**
- * Derive the path portion of the given URL.
- *
- * @param url the repository URL
- * @return the basedir of the repository
- * @todo need to URL decode for spaces?
- */
- private String basedir( String url )
- {
- String retValue = null;
-
- if ( protocol.equalsIgnoreCase( "file" ) )
- {
- retValue = url.substring( protocol.length() + 1 );
- retValue = decode( retValue );
- // special case: if omitted // on protocol, keep path as is
- if ( retValue.startsWith( "//" ) )
- {
- retValue = retValue.substring( 2 );
-
- if ( retValue.length() >= 2 && ( retValue.charAt( 1 ) == '|' || retValue.charAt( 1 ) == ':' ) )
- {
- // special case: if there is a windows drive letter, then keep the original return value
- retValue = retValue.charAt( 0 ) + ":" + retValue.substring( 2 );
- }
- else
- {
- // Now we expect the host
- int index = retValue.indexOf( "/" );
- if ( index >= 0 )
- {
- retValue = retValue.substring( index + 1 );
- }
-
- // special case: if there is a windows drive letter, then keep the original return value
- if ( retValue.length() >= 2 && ( retValue.charAt( 1 ) == '|' || retValue.charAt( 1 ) == ':' ) )
- {
- retValue = retValue.charAt( 0 ) + ":" + retValue.substring( 2 );
- }
- else if ( index >= 0 )
- {
- // leading / was previously stripped
- retValue = "/" + retValue;
- }
- }
- }
-
- // special case: if there is a windows drive letter using |, switch to :
- if ( retValue.length() >= 2 && retValue.charAt( 1 ) == '|' )
- {
- retValue = retValue.charAt( 0 ) + ":" + retValue.substring( 2 );
- }
-
- // normalize separators
- retValue = new File( retValue ).getPath();
- }
-
- if ( retValue == null )
- {
- retValue = "/";
- }
- return retValue.trim();
- }
-
- /**
- * Decodes the specified (portion of a) URL. <strong>Note:</strong> This decoder assumes that ISO-8859-1 is used to
- * convert URL-encoded bytes to characters.
- *
- * @param url The URL to decode, may be <code>null</code>.
- * @return The decoded URL or <code>null</code> if the input was <code>null</code>.
- */
- private static String decode( String url )
- {
- String decoded = url;
- if ( url != null )
- {
- int pos = -1;
- while ( ( pos = decoded.indexOf( '%', pos + 1 ) ) >= 0 )
- {
- if ( pos + 2 < decoded.length() )
- {
- String hexStr = decoded.substring( pos + 1, pos + 3 );
- char ch = (char) Integer.parseInt( hexStr, 16 );
- decoded = decoded.substring( 0, pos ) + ch + decoded.substring( pos + 3 );
- }
- }
- }
- return decoded;
- }
-
- public int hashCode()
- {
- final int prime = 31;
- int result = 1;
- result = prime * result + ( ( getId() == null ) ? 0 : getId().hashCode() );
- return result;
- }
-
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- if ( obj == null )
- {
- return false;
- }
- if ( getClass() != obj.getClass() )
- {
- return false;
- }
-
- ArtifactRepository other = (ArtifactRepository) obj;
-
- return eq( getId(), other.getId() );
- }
-
- protected static <T> boolean eq( T s1, T s2 )
- {
- return s1 != null ? s1.equals( s2 ) : s2 == null;
- }
-
- public Authentication getAuthentication()
- {
- return authentication;
- }
-
- public void setAuthentication( Authentication authentication )
- {
- this.authentication = authentication;
- }
-
- public Proxy getProxy()
- {
- return proxy;
- }
-
- public void setProxy( Proxy proxy )
- {
- this.proxy = proxy;
- }
-
- public boolean isBlacklisted()
- {
- return false;
- }
-
- public void setBlacklisted( boolean blackListed )
- {
- // no op
- }
-
- public boolean isUniqueVersion()
- {
- return true;
- }
-
- public boolean isProjectAware()
- {
- return false;
- }
-
- public List<ArtifactRepository> getMirroredRepositories()
- {
- return mirroredRepositories;
- }
-
- public void setMirroredRepositories( List<ArtifactRepository> mirroredRepositories )
- {
- if ( mirroredRepositories != null )
- {
- this.mirroredRepositories = mirroredRepositories;
- }
- else
- {
- this.mirroredRepositories = Collections.emptyList();
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryCache.java
deleted file mode 100644
index bf79d698..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryCache.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.maven.artifact.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Caches auxiliary data used during repository access like already processed metadata. The data in the cache is meant
- * for exclusive consumption by the repository system and is opaque to the cache implementation.
- *
- * @author Benjamin Bentmann
- */
-@Deprecated
-//
-// Used by Tycho and will break users and force them to upgrade to Maven 3.1 so we should really leave
-// this here, possibly indefinitely.
-//
-public interface RepositoryCache
-{
-
- /**
- * Puts the specified data into the cache. <strong>Warning:</strong> The cache will directly save the provided
- * reference. If the cached data is mutable, i.e. could be modified after being put into the cache, the caller is
- * responsible for creating a copy of the original data and store the copy in the cache.
- *
- * @param request The repository request from which this cache was retrieved, must not be {@code null}.
- * @param key The key to use associate the data with, must not be {@code null}.
- * @param data The data to store in the cache, may be {@code null}.
- */
- void put( RepositoryRequest request, Object key, Object data );
-
- /**
- * Gets the specified data from the cache. <strong>Warning:</strong> The cache will directly return the saved
- * reference. If the cached data is to be modified after its retrieval, the caller is responsible to create a copy
- * of the returned data and use this instead of the cache record.
- *
- * @param request The repository request from which this cache was retrieved, must not be {@code null}.
- * @param key The key to use for lookup of the data, must not be {@code null}.
- * @return The requested data or {@code null} if none was present in the cache.
- */
- Object get( RepositoryRequest request, Object key );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java
deleted file mode 100644
index 55f60686..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/RepositoryRequest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.apache.maven.artifact.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-/**
- * Collects basic settings to access the repository system.
- *
- * @author Benjamin Bentmann
- */
-public interface RepositoryRequest
-{
-
- /**
- * Indicates whether network access to remote repositories has been disabled.
- *
- * @return {@code true} if remote access has been disabled, {@code false} otherwise.
- */
- boolean isOffline();
-
- /**
- * Enables/disables network access to remote repositories.
- *
- * @param offline {@code true} to disable remote access, {@code false} to allow network access.
- * @return This request, never {@code null}.
- */
- RepositoryRequest setOffline( boolean offline );
-
- /**
- * Indicates whether remote repositories should be re-checked for updated artifacts/metadata regardless of their
- * configured update policy.
- *
- * @return {@code true} if remote repositories should be re-checked for updated artifacts/metadata, {@code false}
- * otherwise.
- */
- boolean isForceUpdate();
-
- /**
- * Enables/disabled forced checks for updated artifacts/metadata on remote repositories.
- *
- * @param forceUpdate {@code true} to forcibly check the remote repositories for updated artifacts/metadata, {@code
- * false} to use the update policy configured on each repository.
- * @return This request, never {@code null}.
- */
- RepositoryRequest setForceUpdate( boolean forceUpdate );
-
- /**
- * Gets the local repository to use.
- *
- * @return The local repository to use or {@code null} if not set.
- */
- ArtifactRepository getLocalRepository();
-
- /**
- * Sets the local repository to use.
- *
- * @param localRepository The local repository to use.
- * @return This request, never {@code null}.
- */
- RepositoryRequest setLocalRepository( ArtifactRepository localRepository );
-
- /**
- * Gets the remote repositories to use.
- *
- * @return The remote repositories to use, never {@code null}.
- */
- List<ArtifactRepository> getRemoteRepositories();
-
- /**
- * Sets the remote repositories to use.
- *
- * @param remoteRepositories The remote repositories to use.
- * @return This request, never {@code null}.
- */
- RepositoryRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
deleted file mode 100644
index 70c0b14c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.apache.maven.artifact.repository.layout;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * @author jdcasey
- */
-@Component( role = ArtifactRepositoryLayout.class, hint = "default" )
-public class DefaultRepositoryLayout
- implements ArtifactRepositoryLayout
-{
- private static final char PATH_SEPARATOR = '/';
-
- private static final char GROUP_SEPARATOR = '.';
-
- private static final char ARTIFACT_SEPARATOR = '-';
-
- public String getId()
- {
- return "default";
- }
-
- public String pathOf( Artifact artifact )
- {
- ArtifactHandler artifactHandler = artifact.getArtifactHandler();
-
- StringBuilder path = new StringBuilder( 128 );
-
- path.append( formatAsDirectory( artifact.getGroupId() ) ).append( PATH_SEPARATOR );
- path.append( artifact.getArtifactId() ).append( PATH_SEPARATOR );
- path.append( artifact.getBaseVersion() ).append( PATH_SEPARATOR );
- path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );
-
- if ( artifact.hasClassifier() )
- {
- path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );
- }
-
- if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
- {
- path.append( GROUP_SEPARATOR ).append( artifactHandler.getExtension() );
- }
-
- return path.toString();
- }
-
- public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
- {
- return pathOfRepositoryMetadata( metadata, metadata.getLocalFilename( repository ) );
- }
-
- private String pathOfRepositoryMetadata( ArtifactMetadata metadata,
- String filename )
- {
- StringBuilder path = new StringBuilder( 128 );
-
- path.append( formatAsDirectory( metadata.getGroupId() ) ).append( PATH_SEPARATOR );
- if ( !metadata.storedInGroupDirectory() )
- {
- path.append( metadata.getArtifactId() ).append( PATH_SEPARATOR );
-
- if ( metadata.storedInArtifactVersionDirectory() )
- {
- path.append( metadata.getBaseVersion() ).append( PATH_SEPARATOR );
- }
- }
-
- path.append( filename );
-
- return path.toString();
- }
-
- public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
- {
- return pathOfRepositoryMetadata( metadata, metadata.getRemoteFilename() );
- }
-
- private String formatAsDirectory( String directory )
- {
- return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
- }
-
- @Override
- public String toString()
- {
- return getId();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
deleted file mode 100644
index e1e5fe3f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadata.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.WriterFactory;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Shared methods of the repository metadata handling.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public abstract class AbstractRepositoryMetadata
- implements RepositoryMetadata
-{
- private Metadata metadata;
-
- protected AbstractRepositoryMetadata( Metadata metadata )
- {
- this.metadata = metadata;
- }
-
- public String getRemoteFilename()
- {
- return "maven-metadata.xml";
- }
-
- public String getLocalFilename( ArtifactRepository repository )
- {
- return "maven-metadata-" + repository.getKey() + ".xml";
- }
-
- public void storeInLocalRepository( ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws RepositoryMetadataStoreException
- {
- try
- {
- updateRepositoryMetadata( localRepository, remoteRepository );
- }
- catch ( IOException e )
- {
- throw new RepositoryMetadataStoreException( "Error updating group repository metadata", e );
- }
- catch ( XmlPullParserException e )
- {
- throw new RepositoryMetadataStoreException( "Error updating group repository metadata", e );
- }
- }
-
- protected void updateRepositoryMetadata( ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws IOException, XmlPullParserException
- {
- MetadataXpp3Reader mappingReader = new MetadataXpp3Reader();
-
- Metadata metadata = null;
-
- File metadataFile = new File( localRepository.getBasedir(),
- localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );
-
- if ( metadataFile.length() == 0 )
- {
- if ( !metadataFile.delete() )
- {
- // sleep for 10ms just in case this is windows holding a file lock
- try
- {
- Thread.sleep( 10 );
- }
- catch ( InterruptedException e )
- {
- // ignore
- }
- metadataFile.delete(); // if this fails, forget about it, we'll try to overwrite it anyway so no need
- // to delete on exit
- }
- }
- else if ( metadataFile.exists() )
- {
- Reader reader = null;
-
- try
- {
- reader = ReaderFactory.newXmlReader( metadataFile );
-
- metadata = mappingReader.read( reader, false );
- }
- finally
- {
- IOUtil.close( reader );
- }
- }
-
- boolean changed;
-
- // If file could not be found or was not valid, start from scratch
- if ( metadata == null )
- {
- metadata = this.metadata;
-
- changed = true;
- }
- else
- {
- changed = metadata.merge( this.metadata );
- }
-
- // beware meta-versions!
- String version = metadata.getVersion();
- if ( version != null && ( Artifact.LATEST_VERSION.equals( version ) || Artifact.RELEASE_VERSION.equals(
- version ) ) )
- {
- // meta-versions are not valid <version/> values...don't write them.
- metadata.setVersion( null );
- }
-
- if ( changed || !metadataFile.exists() )
- {
- Writer writer = null;
- try
- {
- metadataFile.getParentFile().mkdirs();
- writer = WriterFactory.newXmlWriter( metadataFile );
-
- MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer();
-
- mappingWriter.write( writer, metadata );
- }
- finally
- {
- IOUtil.close( writer );
- }
- }
- else
- {
- metadataFile.setLastModified( System.currentTimeMillis() );
- }
- }
-
- public String toString()
- {
- return "repository metadata for: \'" + getKey() + "\'";
- }
-
- protected static Metadata createMetadata( Artifact artifact,
- Versioning versioning )
- {
- Metadata metadata = new Metadata();
- metadata.setGroupId( artifact.getGroupId() );
- metadata.setArtifactId( artifact.getArtifactId() );
- metadata.setVersion( artifact.getVersion() );
- metadata.setVersioning( versioning );
- return metadata;
- }
-
- protected static Versioning createVersioning( Snapshot snapshot )
- {
- Versioning versioning = new Versioning();
- versioning.setSnapshot( snapshot );
- versioning.updateTimestamp();
- return versioning;
- }
-
- public void setMetadata( Metadata metadata )
- {
- this.metadata = metadata;
- }
-
- public Metadata getMetadata()
- {
- return metadata;
- }
-
- public void merge( org.apache.maven.repository.legacy.metadata.ArtifactMetadata metadata )
- {
- // TODO: not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact replaces?
- AbstractRepositoryMetadata repoMetadata = (AbstractRepositoryMetadata) metadata;
- this.metadata.merge( repoMetadata.getMetadata() );
- }
-
- public void merge( ArtifactMetadata metadata )
- {
- // TODO: not sure that it should assume this, maybe the calls to addMetadata should pre-merge, then artifact replaces?
- AbstractRepositoryMetadata repoMetadata = (AbstractRepositoryMetadata) metadata;
- this.metadata.merge( repoMetadata.getMetadata() );
- }
-
- public String extendedToString()
- {
- StringBuilder buffer = new StringBuilder();
-
- buffer.append( "\nRepository Metadata\n--------------------------" );
- buffer.append( "\nGroupId: " ).append( getGroupId() );
- buffer.append( "\nArtifactId: " ).append( getArtifactId() );
- buffer.append( "\nMetadata Type: " ).append( getClass().getName() );
-
- return buffer.toString();
- }
-
- public int getNature()
- {
- return RELEASE;
- }
-
- public ArtifactRepositoryPolicy getPolicy( ArtifactRepository repository )
- {
- int nature = getNature();
- if ( ( nature & RepositoryMetadata.RELEASE_OR_SNAPSHOT ) == RepositoryMetadata.RELEASE_OR_SNAPSHOT )
- {
- ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy( repository.getReleases() );
- policy.merge( repository.getSnapshots() );
- return policy;
- }
- else if ( ( nature & RepositoryMetadata.SNAPSHOT ) != 0 )
- {
- return repository.getSnapshots();
- }
- else
- {
- return repository.getReleases();
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/ArtifactRepositoryMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/ArtifactRepositoryMetadata.java
deleted file mode 100644
index 85fc6018..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/ArtifactRepositoryMetadata.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.Restriction;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-/**
- * Metadata for the artifact directory of the repository.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class ArtifactRepositoryMetadata
- extends AbstractRepositoryMetadata
-{
- private Artifact artifact;
-
- public ArtifactRepositoryMetadata( Artifact artifact )
- {
- this( artifact, null );
- }
-
- public ArtifactRepositoryMetadata( Artifact artifact,
- Versioning versioning )
- {
- super( createMetadata( artifact, versioning ) );
- this.artifact = artifact;
- }
-
- public boolean storedInGroupDirectory()
- {
- return false;
- }
-
- public boolean storedInArtifactVersionDirectory()
- {
- return false;
- }
-
- public String getGroupId()
- {
- return artifact.getGroupId();
- }
-
- public String getArtifactId()
- {
- return artifact.getArtifactId();
- }
-
- public String getBaseVersion()
- {
- // Don't want the artifact's version in here, as this is stored in the directory above that
- return null;
- }
-
- public Object getKey()
- {
- return "artifact " + artifact.getGroupId() + ":" + artifact.getArtifactId();
- }
-
- public boolean isSnapshot()
- {
- // Don't consider the artifact's version in here, as this is stored in the directory above that
- return false;
- }
-
- public int getNature()
- {
- if ( artifact.getVersion() != null )
- {
- return artifact.isSnapshot() ? SNAPSHOT : RELEASE;
- }
-
- VersionRange range = artifact.getVersionRange();
- if ( range != null )
- {
- for ( Restriction restriction : range.getRestrictions() )
- {
- if ( isSnapshot( restriction.getLowerBound() ) || isSnapshot( restriction.getUpperBound() ) )
- {
- return RELEASE_OR_SNAPSHOT;
- }
- }
- }
-
- return RELEASE;
- }
-
- private boolean isSnapshot( ArtifactVersion version )
- {
- return version != null && ArtifactUtils.isSnapshot( version.getQualifier() );
- }
-
- public ArtifactRepository getRepository()
- {
- return null;
- }
-
- public void setRepository( ArtifactRepository remoteRepository )
- {
- /*
- * NOTE: Metadata at the g:a level contains a collection of available versions. After merging, we can't tell
- * which repository provides which version so the metadata manager must not restrict the artifact resolution to
- * the repository with the most recent updates.
- */
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
deleted file mode 100644
index 22e3ade8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadata.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-
-/**
- * Describes repository directory metadata.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo not happy about the store method - they use "this"
- */
-public interface RepositoryMetadata
- extends org.apache.maven.artifact.metadata.ArtifactMetadata
-{
-
- int RELEASE = 1;
-
- int SNAPSHOT = 2;
-
- int RELEASE_OR_SNAPSHOT = RELEASE | SNAPSHOT;
-
- /**
- * Get the repository the metadata was located in.
- *
- * @return the repository
- */
- ArtifactRepository getRepository();
-
- /**
- * Set the repository the metadata was located in.
- *
- * @param remoteRepository the repository
- */
- void setRepository( ArtifactRepository remoteRepository );
-
- /**
- * Get the repository metadata associated with this marker.
- *
- * @return the metadata, or <code>null</code> if none loaded
- */
- Metadata getMetadata();
-
- /**
- * Set the metadata contents.
- *
- * @param metadata the metadata
- */
- void setMetadata( Metadata metadata );
-
- /**
- * Whether this represents a snapshot.
- *
- * @return if it is a snapshot
- */
- boolean isSnapshot();
-
- /**
- * Gets the artifact quality this metadata refers to. One of {@link #RELEASE}, {@link #SNAPSHOT} or
- * {@link #RELEASE_OR_SNAPSHOT}.
- *
- * @return The artifact quality this metadata refers to.
- */
- int getNature();
-
- /**
- * Gets the policy that applies to this metadata regarding the specified repository.
- *
- * @param repository The repository for which to determine the policy, must not be {@code null}.
- * @return The policy, never {@code null}.
- */
- ArtifactRepositoryPolicy getPolicy( ArtifactRepository repository );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataDeploymentException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataDeploymentException.java
deleted file mode 100644
index 94545650..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataDeploymentException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Error while deploying repository metadata.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class RepositoryMetadataDeploymentException
- extends Throwable
-{
- public RepositoryMetadataDeploymentException( String message )
- {
- super( message );
- }
-
- public RepositoryMetadataDeploymentException( String message,
- Exception e )
- {
- super( message, e );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataInstallationException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataInstallationException.java
deleted file mode 100644
index 55bb57ed..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataInstallationException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Error while installing repository metadata.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class RepositoryMetadataInstallationException
- extends Throwable
-{
- public RepositoryMetadataInstallationException( String message )
- {
- super( message );
- }
-
- public RepositoryMetadataInstallationException( String message,
- Exception e )
- {
- super( message, e );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java
deleted file mode 100644
index 35626e58..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataManager.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.RepositoryRequest;
-
-public interface RepositoryMetadataManager
-{
-
- void resolve( RepositoryMetadata repositoryMetadata, RepositoryRequest repositoryRequest )
- throws RepositoryMetadataResolutionException;
-
- void resolve( RepositoryMetadata repositoryMetadata, List<ArtifactRepository> repositories,
- ArtifactRepository localRepository )
- throws RepositoryMetadataResolutionException;
-
- void resolveAlways( RepositoryMetadata metadata, ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws RepositoryMetadataResolutionException;
-
- /**
- * Deploy metadata to the remote repository.
- *
- * @param metadata the metadata to deploy
- * @param localRepository the local repository to install to first
- * @param deploymentRepository the remote repository to deploy to
- */
- void deploy( ArtifactMetadata metadata, ArtifactRepository localRepository,
- ArtifactRepository deploymentRepository )
- throws RepositoryMetadataDeploymentException;
-
- /**
- * Install the metadata in the local repository.
- *
- * @param metadata the metadata
- * @param localRepository the local repository
- */
- void install( ArtifactMetadata metadata, ArtifactRepository localRepository )
- throws RepositoryMetadataInstallationException;
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataResolutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataResolutionException.java
deleted file mode 100644
index 8a6f38d4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/RepositoryMetadataResolutionException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.artifact.repository.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Error while retrieving repository metadata from the repository.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class RepositoryMetadataResolutionException
- extends Exception
-{
- public RepositoryMetadataResolutionException( String message )
- {
- super( message );
- }
-
- public RepositoryMetadataResolutionException( String message,
- Exception e )
- {
- super( message, e );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java
deleted file mode 100644
index 6a1578d8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.apache.maven.artifact.repository.metadata.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.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
-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 metadata from some kind of textual format like XML.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = MetadataReader.class )
-public class DefaultMetadataReader
- implements MetadataReader
-{
-
- public Metadata read( File input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input file missing" );
- }
-
- Metadata metadata = read( ReaderFactory.newXmlReader( input ), options );
-
- return metadata;
- }
-
- public Metadata read( Reader input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input reader missing" );
- }
-
- try
- {
- MetadataXpp3Reader r = new MetadataXpp3Reader();
- return r.read( input, isStrict( options ) );
- }
- catch ( XmlPullParserException e )
- {
- throw new MetadataParseException( e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e );
- }
- finally
- {
- IOUtil.close( input );
- }
- }
-
- public Metadata read( InputStream input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input stream missing" );
- }
-
- try
- {
- MetadataXpp3Reader r = new MetadataXpp3Reader();
- return r.read( input, isStrict( options ) );
- }
- catch ( XmlPullParserException e )
- {
- throw new MetadataParseException( e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e );
- }
- 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() );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataParseException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataParseException.java
deleted file mode 100644
index e3e141b1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataParseException.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.maven.artifact.repository.metadata.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 metadata due to invalid syntax (e.g. non-wellformed XML or unknown elements).
- *
- * @author Benjamin Bentmann
- */
-public class MetadataParseException
- 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 MetadataParseException( 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 MetadataParseException( 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-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataReader.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataReader.java
deleted file mode 100644
index 232246fd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/MetadataReader.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.artifact.repository.metadata.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.artifact.repository.metadata.Metadata;
-
-/**
- * Handles deserialization of metadata from some kind of textual format like XML.
- *
- * @author Benjamin Bentmann
- */
-public interface MetadataReader
-{
-
- /**
- * 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.artifact.repository.metadata.io.isStrict";
-
- /**
- * Reads the metadata from the specified file.
- *
- * @param input The file to deserialize the metadata 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 metadata, never {@code null}.
- * @throws IOException If the metadata could not be deserialized.
- * @throws MetadataParseException If the input format could not be parsed.
- */
- Metadata read( File input, Map<String, ?> options )
- throws IOException, MetadataParseException;
-
- /**
- * Reads the metadata from the specified character reader. The reader will be automatically closed before the method
- * returns.
- *
- * @param input The reader to deserialize the metadata 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 metadata, never {@code null}.
- * @throws IOException If the metadata could not be deserialized.
- * @throws MetadataParseException If the input format could not be parsed.
- */
- Metadata read( Reader input, Map<String, ?> options )
- throws IOException, MetadataParseException;
-
- /**
- * Reads the metadata from the specified byte stream. The stream will be automatically closed before the method
- * returns.
- *
- * @param input The stream to deserialize the metadata 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 metadata, never {@code null}.
- * @throws IOException If the metadata could not be deserialized.
- * @throws MetadataParseException If the input format could not be parsed.
- */
- Metadata read( InputStream input, Map<String, ?> options )
- throws IOException, MetadataParseException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
deleted file mode 100644
index 050ec478..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
+++ /dev/null
@@ -1,329 +0,0 @@
-package org.apache.maven.artifact.resolver;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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 java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.RepositoryCache;
-import org.apache.maven.artifact.repository.RepositoryRequest;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Server;
-
-/**
- * A resolution request allows you to either use an existing MavenProject, or a coordinate (gid:aid:version)
- * to process a POMs dependencies.
- *
- * @author Jason van Zyl
- */
-public class ArtifactResolutionRequest
- implements RepositoryRequest
-{
-
- private Artifact artifact;
-
- // Needs to go away
- // These are really overrides now, projects defining dependencies for a plugin that override what is
- // specified in the plugin itself.
- private Set<Artifact> artifactDependencies;
-
- private ArtifactRepository localRepository;
-
- private List<ArtifactRepository> remoteRepositories;
-
- private ArtifactFilter collectionFilter;
-
- private ArtifactFilter resolutionFilter;
-
- // Needs to go away
- private List<ResolutionListener> listeners = new ArrayList<ResolutionListener>();
-
- // This is like a filter but overrides all transitive versions
- private Map<String, Artifact> managedVersionMap;
-
- private boolean resolveRoot = true;
-
- private boolean resolveTransitively = false;
-
- private boolean offline;
-
- private boolean forceUpdate;
-
- private List<Server> servers;
-
- private List<Mirror> mirrors;
-
- private List<Proxy> proxies;
-
- public ArtifactResolutionRequest()
- {
- // nothing here
- }
-
- public ArtifactResolutionRequest( RepositoryRequest request )
- {
- setLocalRepository( request.getLocalRepository() );
- setRemoteRepositories( request.getRemoteRepositories() );
- setOffline( request.isOffline() );
- setForceUpdate( request.isForceUpdate() );
- }
-
- public Artifact getArtifact()
- {
- return artifact;
- }
-
- public ArtifactResolutionRequest setArtifact( Artifact artifact )
- {
- this.artifact = artifact;
-
- return this;
- }
-
- public ArtifactResolutionRequest setArtifactDependencies( Set<Artifact> artifactDependencies )
- {
- this.artifactDependencies = artifactDependencies;
-
- return this;
- }
-
- public Set<Artifact> getArtifactDependencies()
- {
- return artifactDependencies;
- }
-
- public ArtifactRepository getLocalRepository()
- {
- return localRepository;
- }
-
- public ArtifactResolutionRequest setLocalRepository( ArtifactRepository localRepository )
- {
- this.localRepository = localRepository;
-
- return this;
- }
-
- public List<ArtifactRepository> getRemoteRepositories()
- {
- return remoteRepositories;
- }
-
- public ArtifactResolutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
- {
- this.remoteRepositories = remoteRepositories;
-
- return this;
- }
-
- /**
- * Gets the artifact filter that controls traversal of the dependency graph.
- *
- * @return The filter used to determine which of the artifacts in the dependency graph should be traversed or
- * {@code null} to collect all transitive dependencies.
- */
- public ArtifactFilter getCollectionFilter()
- {
- return collectionFilter;
- }
-
- public ArtifactResolutionRequest setCollectionFilter( ArtifactFilter filter )
- {
- this.collectionFilter = filter;
-
- return this;
- }
-
- /**
- * Gets the artifact filter that controls downloading of artifact files. This filter operates on those artifacts
- * that have been included by the {@link #getCollectionFilter()}.
- *
- * @return The filter used to determine which of the artifacts should have their files resolved or {@code null} to
- * resolve the files for all collected artifacts.
- */
- public ArtifactFilter getResolutionFilter()
- {
- return resolutionFilter;
- }
-
- public ArtifactResolutionRequest setResolutionFilter( ArtifactFilter filter )
- {
- this.resolutionFilter = filter;
-
- return this;
- }
-
- public List<ResolutionListener> getListeners()
- {
- return listeners;
- }
-
- public ArtifactResolutionRequest setListeners( List<ResolutionListener> listeners )
- {
- this.listeners = listeners;
-
- return this;
- }
-
- public ArtifactResolutionRequest addListener( ResolutionListener listener )
- {
- listeners.add( listener );
-
- return this;
- }
-
- public Map<String, Artifact> getManagedVersionMap()
- {
- return managedVersionMap;
- }
-
- public ArtifactResolutionRequest setManagedVersionMap( Map<String, Artifact> managedVersionMap )
- {
- this.managedVersionMap = managedVersionMap;
-
- return this;
- }
-
- public ArtifactResolutionRequest setResolveRoot( boolean resolveRoot )
- {
- this.resolveRoot = resolveRoot;
-
- return this;
- }
-
- public boolean isResolveRoot()
- {
- return resolveRoot;
- }
-
- public ArtifactResolutionRequest setResolveTransitively( boolean resolveDependencies )
- {
- this.resolveTransitively = resolveDependencies;
-
- return this;
- }
-
- public boolean isResolveTransitively()
- {
- return resolveTransitively;
- }
-
- public String toString()
- {
- StringBuilder sb = new StringBuilder()
- .append( "REQUEST: " ).append( "\n" )
- .append( "artifact: " ).append( artifact ).append( "\n" )
- .append( artifactDependencies ).append( "\n" )
- .append( "localRepository: " ).append( localRepository ).append( "\n" )
- .append( "remoteRepositories: " ).append( remoteRepositories ).append( "\n" );
-
- return sb.toString();
- }
-
- public boolean isOffline()
- {
- return offline;
- }
-
- public ArtifactResolutionRequest setOffline( boolean offline )
- {
- this.offline = offline;
-
- return this;
- }
-
- public boolean isForceUpdate()
- {
- return forceUpdate;
- }
-
- public ArtifactResolutionRequest setForceUpdate( boolean forceUpdate )
- {
- this.forceUpdate = forceUpdate;
-
- return this;
- }
-
- public ArtifactResolutionRequest setServers( List<Server> servers )
- {
- this.servers = servers;
-
- return this;
- }
-
- public List<Server> getServers()
- {
- if ( servers == null )
- {
- servers = new ArrayList<Server>();
- }
-
- return servers;
- }
-
- public ArtifactResolutionRequest setMirrors( List<Mirror> mirrors )
- {
- this.mirrors = mirrors;
-
- return this;
- }
-
- public List<Mirror> getMirrors()
- {
- if ( mirrors == null )
- {
- mirrors = new ArrayList<Mirror>();
- }
-
- return mirrors;
- }
-
- public ArtifactResolutionRequest setProxies( List<Proxy> proxies )
- {
- this.proxies = proxies;
-
- return this;
- }
-
- public List<Proxy> getProxies()
- {
- if ( proxies == null )
- {
- proxies = new ArrayList<Proxy>();
- }
-
- return proxies;
- }
-
- //
- // Used by Tycho and will break users and force them to upgrade to Maven 3.1 so we should really leave
- // this here, possibly indefinitely.
- //
- public ArtifactResolutionRequest setCache( RepositoryCache cache )
- {
- return this;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
deleted file mode 100644
index 86bfdb60..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java
+++ /dev/null
@@ -1,358 +0,0 @@
-package org.apache.maven.artifact.resolver;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-
-/**
- * Specific problems during resolution that we want to account for:
- * <p/>
- * - missing metadata - version range violations - version circular dependencies - missing artifacts
- * - network/transfer errors - file system errors: permissions
- *
- * @author Jason van Zyl
- * @TODO carlos: all these possible has*Exceptions and get*Exceptions methods make the clients too
- * complex requiring a long list of checks, need to create a parent/interfact/encapsulation
- * for the types of exceptions
- */
-public class ArtifactResolutionResult
-{
- private Artifact originatingArtifact;
-
- private List<Artifact> missingArtifacts;
-
- // Exceptions
-
- private List<Exception> exceptions;
-
- private List<Exception> versionRangeViolations;
-
- private List<ArtifactResolutionException> metadataResolutionExceptions;
-
- private List<CyclicDependencyException> circularDependencyExceptions;
-
- private List<ArtifactResolutionException> errorArtifactExceptions;
-
- // file system errors
-
- private List<ArtifactRepository> repositories;
-
- private Set<Artifact> artifacts;
-
- private Set<ResolutionNode> resolutionNodes;
-
- public Artifact getOriginatingArtifact()
- {
- return originatingArtifact;
- }
-
- public ArtifactResolutionResult setOriginatingArtifact( final Artifact originatingArtifact )
- {
- this.originatingArtifact = originatingArtifact;
-
- return this;
- }
-
- public void addArtifact( Artifact artifact )
- {
- if ( artifacts == null )
- {
- artifacts = new LinkedHashSet<Artifact>();
- }
-
- artifacts.add( artifact );
- }
-
- public Set<Artifact> getArtifacts()
- {
- if ( artifacts == null )
- {
- artifacts = new LinkedHashSet<Artifact>();
- }
-
- return artifacts;
- }
-
- public void setArtifacts( Set<Artifact> artifacts )
- {
- this.artifacts = artifacts;
- }
-
- public Set<ResolutionNode> getArtifactResolutionNodes()
- {
- if ( resolutionNodes == null )
- {
- resolutionNodes = new LinkedHashSet<ResolutionNode>();
- }
-
- return resolutionNodes;
- }
-
- public void setArtifactResolutionNodes( Set<ResolutionNode> resolutionNodes )
- {
- this.resolutionNodes = resolutionNodes;
- }
-
- public boolean hasMissingArtifacts()
- {
- return missingArtifacts != null && !missingArtifacts.isEmpty();
- }
-
- public List<Artifact> getMissingArtifacts()
- {
- return missingArtifacts == null ? Collections.<Artifact>emptyList() : missingArtifacts;
- }
-
- public ArtifactResolutionResult addMissingArtifact( Artifact artifact )
- {
- missingArtifacts = initList( missingArtifacts );
-
- missingArtifacts.add( artifact );
-
- return this;
- }
-
- public ArtifactResolutionResult setUnresolvedArtifacts( final List<Artifact> unresolvedArtifacts )
- {
- this.missingArtifacts = unresolvedArtifacts;
-
- return this;
- }
-
- public boolean isSuccess()
- {
- return !( hasMissingArtifacts() || hasExceptions() );
- }
-
- // ------------------------------------------------------------------------
- // Exceptions
- // ------------------------------------------------------------------------
-
- public boolean hasExceptions()
- {
- return exceptions != null && !exceptions.isEmpty();
- }
-
- public List<Exception> getExceptions()
- {
- return exceptions == null ? Collections.<Exception>emptyList() : exceptions;
- }
-
- // ------------------------------------------------------------------------
- // Version Range Violations
- // ------------------------------------------------------------------------
-
- public boolean hasVersionRangeViolations()
- {
- return versionRangeViolations != null;
- }
-
- /**
- * @TODO this needs to accept a {@link OverConstrainedVersionException} as returned by
- * {@link #getVersionRangeViolation(int)} but it's not used like that in
- * {@link DefaultLegacyArtifactCollector}
- */
- public ArtifactResolutionResult addVersionRangeViolation( Exception e )
- {
- versionRangeViolations = initList( versionRangeViolations );
-
- versionRangeViolations.add( e );
-
- exceptions = initList( exceptions );
-
- exceptions.add( e );
-
- return this;
- }
-
- public OverConstrainedVersionException getVersionRangeViolation( int i )
- {
- return (OverConstrainedVersionException) versionRangeViolations.get( i );
- }
-
- public List<Exception> getVersionRangeViolations()
- {
- return versionRangeViolations == null ? Collections.<Exception>emptyList() : versionRangeViolations;
- }
-
- // ------------------------------------------------------------------------
- // Metadata Resolution Exceptions: ArtifactResolutionExceptions
- // ------------------------------------------------------------------------
-
- public boolean hasMetadataResolutionExceptions()
- {
- return metadataResolutionExceptions != null;
- }
-
- public ArtifactResolutionResult addMetadataResolutionException( ArtifactResolutionException e )
- {
- metadataResolutionExceptions = initList( metadataResolutionExceptions );
-
- metadataResolutionExceptions.add( e );
-
- exceptions = initList( exceptions );
-
- exceptions.add( e );
-
- return this;
- }
-
- public ArtifactResolutionException getMetadataResolutionException( int i )
- {
- return metadataResolutionExceptions.get( i );
- }
-
- public List<ArtifactResolutionException> getMetadataResolutionExceptions()
- {
- return metadataResolutionExceptions == null ? Collections.<ArtifactResolutionException>emptyList()
- : metadataResolutionExceptions;
- }
-
- // ------------------------------------------------------------------------
- // ErrorArtifactExceptions: ArtifactResolutionExceptions
- // ------------------------------------------------------------------------
-
- public boolean hasErrorArtifactExceptions()
- {
- return errorArtifactExceptions != null;
- }
-
- public ArtifactResolutionResult addErrorArtifactException( ArtifactResolutionException e )
- {
- errorArtifactExceptions = initList( errorArtifactExceptions );
-
- errorArtifactExceptions.add( e );
-
- exceptions = initList( exceptions );
-
- exceptions.add( e );
-
- return this;
- }
-
- public List<ArtifactResolutionException> getErrorArtifactExceptions()
- {
- if ( errorArtifactExceptions == null )
- {
- return Collections.emptyList();
- }
-
- return errorArtifactExceptions;
- }
-
- // ------------------------------------------------------------------------
- // Circular Dependency Exceptions
- // ------------------------------------------------------------------------
-
- public boolean hasCircularDependencyExceptions()
- {
- return circularDependencyExceptions != null;
- }
-
- public ArtifactResolutionResult addCircularDependencyException( CyclicDependencyException e )
- {
- circularDependencyExceptions = initList( circularDependencyExceptions );
-
- circularDependencyExceptions.add( e );
-
- exceptions = initList( exceptions );
-
- exceptions.add( e );
-
- return this;
- }
-
- public CyclicDependencyException getCircularDependencyException( int i )
- {
- return circularDependencyExceptions.get( i );
- }
-
- public List<CyclicDependencyException> getCircularDependencyExceptions()
- {
- if ( circularDependencyExceptions == null )
- {
- return Collections.emptyList();
- }
-
- return circularDependencyExceptions;
- }
-
- // ------------------------------------------------------------------------
- // Repositories
- // ------------------------------------------------------------------------
-
- public List<ArtifactRepository> getRepositories()
- {
- if ( repositories == null )
- {
- return Collections.emptyList();
- }
-
- return repositories;
- }
-
- public ArtifactResolutionResult setRepositories( final List<ArtifactRepository> repositories )
- {
- this.repositories = repositories;
-
- return this;
- }
-
- //
- // Internal
- //
-
- private <T> List<T> initList( final List<T> l )
- {
- if ( l == null )
- {
- return new ArrayList<T>();
- }
- return l;
- }
-
- public String toString()
- {
- StringBuilder sb = new StringBuilder();
-
- if ( artifacts != null )
- {
- int i = 1;
- sb.append( "---------" ).append( "\n" );
- sb.append( artifacts.size() ).append( "\n" );
- for ( Artifact a : artifacts )
- {
- sb.append( i ).append( " " ).append( a ).append( "\n" );
- i++;
- }
- sb.append( "---------" ).append( "\n" );
- }
-
- return sb.toString();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java
deleted file mode 100644
index a8caa79b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.maven.artifact.resolver;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.List;
-
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * @author Benjamin Bentmann
- */
-@Component( role = ResolutionErrorHandler.class )
-public class DefaultResolutionErrorHandler
- implements ResolutionErrorHandler
-{
-
- public void throwErrors( ArtifactResolutionRequest request, ArtifactResolutionResult result )
- throws ArtifactResolutionException
- {
- // Metadata cannot be found
-
- if ( result.hasMetadataResolutionExceptions() )
- {
- throw result.getMetadataResolutionException( 0 );
- }
-
- // Metadata cannot be retrieved
-
- // Cyclic Dependency Error
-
- if ( result.hasCircularDependencyExceptions() )
- {
- throw result.getCircularDependencyException( 0 );
- }
-
- // Version Range Violation
-
- if ( result.hasVersionRangeViolations() )
- {
- throw result.getVersionRangeViolation( 0 );
- }
-
- // Transfer Error
-
- if ( result.hasErrorArtifactExceptions() )
- {
- throw result.getErrorArtifactExceptions().get( 0 );
- }
-
- if ( result.hasMissingArtifacts() )
- {
- throw new MultipleArtifactsNotFoundException( request.getArtifact(), toList( result.getArtifacts() ),
- result.getMissingArtifacts(),
- request.getRemoteRepositories() );
- }
-
- // this should never happen since we checked all possible error sources before but better be sure
- if ( result.hasExceptions() )
- {
- throw new ArtifactResolutionException( "Unknown error during artifact resolution, " + request + ", "
- + result.getExceptions(), request.getArtifact(), request.getRemoteRepositories() );
- }
- }
-
- private static <T> List<T> toList( Collection<T> items )
- {
- return ( items != null ) ? new ArrayList<T>( items ) : null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionErrorHandler.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionErrorHandler.java
deleted file mode 100644
index c54e5b6c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionErrorHandler.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.maven.artifact.resolver;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author Benjamin Bentmann
- */
-public interface ResolutionErrorHandler
-{
-
- void throwErrors( ArtifactResolutionRequest request, ArtifactResolutionResult result )
- throws ArtifactResolutionException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java
deleted file mode 100644
index 97687de2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.apache.maven.artifact.resolver;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-/**
- * Listens to the resolution process and handles events.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public interface ResolutionListener
-{
- String ROLE = ResolutionListener.class.getName();
-
- int TEST_ARTIFACT = 1;
-
- int PROCESS_CHILDREN = 2;
-
- int FINISH_PROCESSING_CHILDREN = 3;
-
- int INCLUDE_ARTIFACT = 4;
-
- int OMIT_FOR_NEARER = 5;
-
- int UPDATE_SCOPE = 6;
-
- @Deprecated
- int MANAGE_ARTIFACT = 7;
-
- int OMIT_FOR_CYCLE = 8;
-
- /**
- * this event means that the artifactScope has NOT been updated to a farther node artifactScope because current
- * node is in the first level pom
- */
- int UPDATE_SCOPE_CURRENT_POM = 9;
-
- int SELECT_VERSION_FROM_RANGE = 10;
-
- int RESTRICT_RANGE = 11;
-
- int MANAGE_ARTIFACT_VERSION = 12;
-
- int MANAGE_ARTIFACT_SCOPE = 13;
-
- int MANAGE_ARTIFACT_SYSTEM_PATH = 14;
-
- void testArtifact( Artifact node );
-
- void startProcessChildren( Artifact artifact );
-
- void endProcessChildren( Artifact artifact );
-
- void includeArtifact( Artifact artifact );
-
- void omitForNearer( Artifact omitted,
- Artifact kept );
-
- void updateScope( Artifact artifact,
- String scope );
-
- @Deprecated
- void manageArtifact( Artifact artifact,
- Artifact replacement );
-
- // TODO Use the following two instead of manageArtifact
- // TODO Remove ResolutionListenerDM interface
-
- //void manageArtifactVersion( Artifact artifact, Artifact replacement );
-
- //void manageArtifactScope( Artifact artifact, Artifact replacement );
-
- void omitForCycle( Artifact artifact );
-
- /**
- * This event means that the artifactScope has NOT been updated to a farther node artifactScope because current
- * node is in the first level pom
- *
- * @param artifact current node artifact, the one in the first level pom
- * @param ignoredScope artifactScope that was ignored because artifact was in first level pom
- */
- void updateScopeCurrentPom( Artifact artifact,
- String ignoredScope );
-
- void selectVersionFromRange( Artifact artifact );
-
- void restrictRange( Artifact artifact,
- Artifact replacement,
- VersionRange newRange );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
deleted file mode 100644
index ae6c9214..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
+++ /dev/null
@@ -1,251 +0,0 @@
-package org.apache.maven.artifact.resolver;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-
-public class ResolutionNode
-{
- private Artifact artifact;
-
- private List<ResolutionNode> children;
-
- private final List<Object> parents;
-
- private final int depth;
-
- private final ResolutionNode parent;
-
- private final List<ArtifactRepository> remoteRepositories;
-
- private boolean active = true;
-
- private List<Artifact> trail;
-
- public ResolutionNode( Artifact artifact, List<ArtifactRepository> remoteRepositories )
- {
- this.artifact = artifact;
- this.remoteRepositories = remoteRepositories;
- depth = 0;
- parents = Collections.emptyList();
- parent = null;
- }
-
- public ResolutionNode( Artifact artifact, List<ArtifactRepository> remoteRepositories, ResolutionNode parent )
- {
- this.artifact = artifact;
- this.remoteRepositories = remoteRepositories;
- depth = parent.depth + 1;
- parents = new ArrayList<Object>();
- parents.addAll( parent.parents );
- parents.add( parent.getKey() );
- this.parent = parent;
- }
-
- public Artifact getArtifact()
- {
- return artifact;
- }
-
- public Object getKey()
- {
- return artifact.getDependencyConflictId();
- }
-
- public void addDependencies( Set<Artifact> artifacts, List<ArtifactRepository> remoteRepositories,
- ArtifactFilter filter )
- throws CyclicDependencyException, OverConstrainedVersionException
- {
- if ( artifacts != null && !artifacts.isEmpty() )
- {
- children = new ArrayList<ResolutionNode>( artifacts.size() );
-
- for ( Artifact a : artifacts )
- {
- if ( parents.contains( a.getDependencyConflictId() ) )
- {
- a.setDependencyTrail( getDependencyTrail() );
-
- throw new CyclicDependencyException( "A dependency has introduced a cycle", a );
- }
-
- children.add( new ResolutionNode( a, remoteRepositories, this ) );
- }
- }
- else
- {
- children = Collections.emptyList();
- }
- trail = null;
- }
-
- /**
- * @return {@link List} &lt; {@link String} > with artifact ids
- * @throws OverConstrainedVersionException
- */
- public List<String> getDependencyTrail()
- throws OverConstrainedVersionException
- {
- List<Artifact> trial = getTrail();
-
- List<String> ret = new ArrayList<String>( trial.size() );
-
- for ( Artifact artifact : trial )
- {
- ret.add( artifact.getId() );
- }
-
- return ret;
- }
-
- private List<Artifact> getTrail()
- throws OverConstrainedVersionException
- {
- if ( trail == null )
- {
- List<Artifact> ids = new LinkedList<Artifact>();
- ResolutionNode node = this;
- while ( node != null )
- {
- Artifact artifact = node.getArtifact();
- if ( artifact.getVersion() == null )
- {
- // set the recommended version
- ArtifactVersion selected = artifact.getSelectedVersion();
- // MNG-2123: null is a valid response to getSelectedVersion, don't
- // assume it won't ever be.
- if ( selected != null )
- {
- artifact.selectVersion( selected.toString() );
- }
- else
- {
- throw new OverConstrainedVersionException( "Unable to get a selected Version for "
- + artifact.getArtifactId(), artifact );
- }
- }
-
- ids.add( 0, artifact );
- node = node.parent;
- }
- trail = ids;
- }
- return trail;
- }
-
- public boolean isResolved()
- {
- return children != null;
- }
-
- /**
- * Test whether the node is direct or transitive dependency.
- */
- public boolean isChildOfRootNode()
- {
- return parent != null && parent.parent == null;
- }
-
- public Iterator<ResolutionNode> getChildrenIterator()
- {
- return children.iterator();
- }
-
- public int getDepth()
- {
- return depth;
- }
-
- public List<ArtifactRepository> getRemoteRepositories()
- {
- return remoteRepositories;
- }
-
- public boolean isActive()
- {
- return active;
- }
-
- public void enable()
- {
- active = true;
-
- // TODO: if it was null, we really need to go find them now... or is this taken care of by the ordering?
- if ( children != null )
- {
- for ( ResolutionNode node : children )
- {
- node.enable();
- }
- }
- }
-
- public void disable()
- {
- active = false;
- if ( children != null )
- {
- for ( ResolutionNode node : children )
- {
- node.disable();
- }
- }
- }
-
- public boolean filterTrail( ArtifactFilter filter )
- throws OverConstrainedVersionException
- {
- boolean success = true;
- if ( filter != null )
- {
- for ( Artifact artifact : getTrail() )
- {
- if ( !filter.include( artifact ) )
- {
- success = false;
- }
- }
- }
- return success;
- }
-
- @Override
- public String toString()
- {
- return artifact.toString() + " (" + depth + "; " + ( active ? "enabled" : "disabled" ) + ")";
- }
-
- public void setArtifact( Artifact artifact )
- {
- this.artifact = artifact;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AbstractScopeArtifactFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AbstractScopeArtifactFilter.java
deleted file mode 100644
index 95872dbb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AbstractScopeArtifactFilter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * Filter to only retain objects in the given artifactScope or better.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-abstract class AbstractScopeArtifactFilter
- implements ArtifactFilter
-{
-
- private boolean compileScope;
-
- private boolean runtimeScope;
-
- private boolean testScope;
-
- private boolean providedScope;
-
- private boolean systemScope;
-
- void addScopeInternal( String scope )
- {
- if ( Artifact.SCOPE_COMPILE.equals( scope ) )
- {
- systemScope = true;
- providedScope = true;
- compileScope = true;
- }
- else if ( Artifact.SCOPE_RUNTIME.equals( scope ) )
- {
- compileScope = true;
- runtimeScope = true;
- }
- else if ( Artifact.SCOPE_COMPILE_PLUS_RUNTIME.equals( scope ) )
- {
- systemScope = true;
- providedScope = true;
- compileScope = true;
- runtimeScope = true;
- }
- else if ( Artifact.SCOPE_RUNTIME_PLUS_SYSTEM.equals( scope ) )
- {
- systemScope = true;
- compileScope = true;
- runtimeScope = true;
- }
- else if ( Artifact.SCOPE_TEST.equals( scope ) )
- {
- systemScope = true;
- providedScope = true;
- compileScope = true;
- runtimeScope = true;
- testScope = true;
- }
- }
-
- public boolean include( Artifact artifact )
- {
- if ( Artifact.SCOPE_COMPILE.equals( artifact.getScope() ) )
- {
- return compileScope;
- }
- else if ( Artifact.SCOPE_RUNTIME.equals( artifact.getScope() ) )
- {
- return runtimeScope;
- }
- else if ( Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
- {
- return testScope;
- }
- else if ( Artifact.SCOPE_PROVIDED.equals( artifact.getScope() ) )
- {
- return providedScope;
- }
- else if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
- {
- return systemScope;
- }
- else
- {
- return true;
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java
deleted file mode 100644
index 5c6689de..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * Apply multiple filters.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class AndArtifactFilter
- implements ArtifactFilter
-{
- private Set<ArtifactFilter> filters;
-
- public AndArtifactFilter()
- {
- this.filters = new LinkedHashSet<ArtifactFilter>();
- }
-
- public AndArtifactFilter( List<ArtifactFilter> filters )
- {
- this.filters = new LinkedHashSet<ArtifactFilter>( filters );
- }
-
- public boolean include( Artifact artifact )
- {
- boolean include = true;
- for ( Iterator<ArtifactFilter> i = filters.iterator(); i.hasNext() && include; )
- {
- ArtifactFilter filter = i.next();
- if ( !filter.include( artifact ) )
- {
- include = false;
- }
- }
- return include;
- }
-
- public void add( ArtifactFilter artifactFilter )
- {
- filters.add( artifactFilter );
- }
-
- public List<ArtifactFilter> getFilters()
- {
- return new ArrayList<ArtifactFilter>( filters );
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
- hash = hash * 31 + filters.hashCode();
- return hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof AndArtifactFilter ) )
- {
- return false;
- }
-
- AndArtifactFilter other = (AndArtifactFilter) obj;
-
- return filters.equals( other.filters );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java
deleted file mode 100644
index fb0afcfb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashSet;
-import java.util.Set;
-
-/**
- * Filter to only retain objects in the given scope or better. This implementation allows the accumulation of multiple
- * scopes and their associated implied scopes, so that the user can filter apply a series of implication rules in a
- * single step. This should be a more efficient implementation of multiple standard {@link ScopeArtifactFilter}
- * instances ORed together.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @author jdcasey
- */
-public class CumulativeScopeArtifactFilter
- extends AbstractScopeArtifactFilter
-{
-
- private Set<String> scopes;
-
- /**
- * Create a new filter with the specified scopes and their implied scopes enabled.
- *
- * @param scopes The scopes to enable, along with all implied scopes, may be {@code null}.
- */
- public CumulativeScopeArtifactFilter( Collection<String> scopes )
- {
- this.scopes = new HashSet<String>();
-
- addScopes( scopes );
- }
-
- /**
- * Creates a new filter that combines the specified filters.
- *
- * @param filters The filters to combine, may be {@code null}.
- */
- public CumulativeScopeArtifactFilter( CumulativeScopeArtifactFilter... filters )
- {
- this.scopes = new HashSet<String>();
-
- if ( filters != null )
- {
- for ( CumulativeScopeArtifactFilter filter : filters )
- {
- addScopes( filter.getScopes() );
- }
- }
- }
-
- private void addScopes( Collection<String> scopes )
- {
- if ( scopes != null )
- {
- for ( String scope : scopes )
- {
- addScope( scope );
- }
- }
- }
-
- private void addScope( String scope )
- {
- this.scopes.add( scope );
-
- addScopeInternal( scope );
- }
-
- public Set<String> getScopes()
- {
- return scopes;
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
-
- hash = hash * 31 + scopes.hashCode();
-
- return hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof CumulativeScopeArtifactFilter ) )
- {
- return false;
- }
-
- CumulativeScopeArtifactFilter that = (CumulativeScopeArtifactFilter) obj;
-
- return scopes.equals( that.scopes );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java
deleted file mode 100644
index b6ef02e5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExcludesArtifactFilter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * Filter to exclude from a list of artifact patterns.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo I think this is equiv. to exclusion set filter in maven-core
- */
-public class ExcludesArtifactFilter
- extends IncludesArtifactFilter
-{
- public ExcludesArtifactFilter( List<String> patterns )
- {
- super( patterns );
- }
-
- public boolean include( Artifact artifact )
- {
- return !super.include( artifact );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java
deleted file mode 100644
index c3dc9812..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- */
-public class ExclusionSetFilter
- implements ArtifactFilter
-{
- private Set<String> excludes;
-
- public ExclusionSetFilter( String[] excludes )
- {
- this.excludes = new LinkedHashSet<String>( Arrays.asList( excludes ) );
- }
-
- public ExclusionSetFilter( Set<String> excludes )
- {
- this.excludes = excludes;
- }
-
- public boolean include( Artifact artifact )
- {
- String id = artifact.getArtifactId();
-
- if ( excludes.contains( id ) )
- {
- return false;
- }
-
- id = artifact.getGroupId() + ':' + id;
-
- return !excludes.contains( id );
-
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
- hash = hash * 31 + excludes.hashCode();
- return hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof ExclusionSetFilter ) )
- {
- return false;
- }
-
- ExclusionSetFilter other = (ExclusionSetFilter) obj;
-
- return excludes.equals( other.excludes );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java
deleted file mode 100644
index 403e1251..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * Filter to include from a list of artifact patterns.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class IncludesArtifactFilter
- implements ArtifactFilter
-{
- private final Set<String> patterns;
-
- public IncludesArtifactFilter( List<String> patterns )
- {
- this.patterns = new LinkedHashSet<String>( patterns );
- }
-
- public boolean include( Artifact artifact )
- {
- String id = artifact.getGroupId() + ":" + artifact.getArtifactId();
-
- boolean matched = false;
- for ( Iterator<String> i = patterns.iterator(); i.hasNext() & !matched; )
- {
- // TODO: what about wildcards? Just specifying groups? versions?
- if ( id.equals( i.next() ) )
- {
- matched = true;
- }
- }
- return matched;
- }
-
- public List<String> getPatterns()
- {
- return new ArrayList<String>( patterns );
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
- hash = hash * 31 + patterns.hashCode();
-
- return hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- // make sure IncludesArtifactFilter is not equal ExcludesArtifactFilter!
- if ( obj == null || getClass() != obj.getClass() )
- {
- return false;
- }
-
- IncludesArtifactFilter other = (IncludesArtifactFilter) obj;
-
- return patterns.equals( other.patterns );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java
deleted file mode 100644
index 1d131b71..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.maven.artifact.resolver.filter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Filter to only retain objects in the given artifactScope or better.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class ScopeArtifactFilter
- extends AbstractScopeArtifactFilter
-{
-
- private final String scope;
-
- public ScopeArtifactFilter( String scope )
- {
- this.scope = scope;
-
- addScopeInternal( scope );
- }
-
- public String getScope()
- {
- return scope;
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
-
- hash = hash * 31 + ( scope != null ? scope.hashCode() : 0 );
-
- return hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof ScopeArtifactFilter ) )
- {
- return false;
- }
-
- ScopeArtifactFilter other = (ScopeArtifactFilter) obj;
-
- return equals( scope, other.scope );
- }
-
- private static <T> boolean equals( T str1, T str2 )
- {
- return str1 != null ? str1.equals( str2 ) : str2 == null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java
deleted file mode 100644
index f33bc328..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java
+++ /dev/null
@@ -1,785 +0,0 @@
-package org.apache.maven.bridge;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.Authentication;
-import org.apache.maven.artifact.repository.MavenArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout2;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.repository.Proxy;
-import org.apache.maven.repository.RepositorySystem;
-import org.apache.maven.settings.Mirror;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.AuthenticationContext;
-import org.eclipse.aether.repository.AuthenticationSelector;
-import org.eclipse.aether.repository.ProxySelector;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * @author Jason van Zyl
- */
-@Component( role = MavenRepositorySystem.class, hint = "default" )
-public class MavenRepositorySystem
-{
- @Requirement
- private ArtifactHandlerManager artifactHandlerManager;
-
- @Requirement( role = ArtifactRepositoryLayout.class )
- private Map<String, ArtifactRepositoryLayout> layouts;
-
- // DefaultProjectBuilder
- public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type )
- {
- return XcreateArtifact( groupId, artifactId, version, scope, type );
- }
-
- // DefaultProjectBuilder
- public Artifact createProjectArtifact( String groupId, String artifactId, String metaVersionId )
- {
- return XcreateProjectArtifact( groupId, artifactId, metaVersionId );
- }
-
- // DefaultProjectBuilder
- public Artifact createDependencyArtifact( Dependency d )
- {
- if ( d.getVersion() == null )
- {
- return null;
- }
-
- VersionRange versionRange;
- try
- {
- versionRange = VersionRange.createFromVersionSpec( d.getVersion() );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- return null;
- }
-
- Artifact artifact =
- XcreateDependencyArtifact( d.getGroupId(), d.getArtifactId(), versionRange, d.getType(),
- d.getClassifier(), d.getScope(), d.isOptional() );
-
- if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) && d.getSystemPath() != null )
- {
- artifact.setFile( new File( d.getSystemPath() ) );
- }
-
- if ( !d.getExclusions().isEmpty() )
- {
- List<String> exclusions = new ArrayList<String>();
-
- for ( Exclusion exclusion : d.getExclusions() )
- {
- exclusions.add( exclusion.getGroupId() + ':' + exclusion.getArtifactId() );
- }
-
- artifact.setDependencyFilter( new ExcludesArtifactFilter( exclusions ) );
- }
-
- return artifact;
- }
-
- // DefaultProjectBuilder
- public Artifact createExtensionArtifact( String groupId, String artifactId, String version )
- {
- VersionRange versionRange;
- try
- {
- versionRange = VersionRange.createFromVersionSpec( version );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- return null;
- }
-
- return XcreateExtensionArtifact( groupId, artifactId, versionRange );
- }
-
- // DefaultProjectBuilder
- public Artifact createParentArtifact( String groupId, String artifactId, String version )
- {
- return XcreateParentArtifact( groupId, artifactId, version );
- }
-
- // DefaultProjectBuilder
- public Artifact createPluginArtifact( Plugin plugin )
- {
- VersionRange versionRange;
- try
- {
- String version = plugin.getVersion();
- if ( StringUtils.isEmpty( version ) )
- {
- version = "RELEASE";
- }
- versionRange = VersionRange.createFromVersionSpec( version );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- return null;
- }
-
- return XcreatePluginArtifact( plugin.getGroupId(), plugin.getArtifactId(), versionRange );
- }
-
- public void injectMirror( List<ArtifactRepository> repositories, List<Mirror> mirrors )
- {
- if ( repositories != null && mirrors != null )
- {
- for ( ArtifactRepository repository : repositories )
- {
- Mirror mirror = getMirror( repository, mirrors );
- injectMirror( repository, mirror );
- }
- }
- }
-
- private Mirror getMirror( RepositorySystemSession session, ArtifactRepository repository )
- {
- if ( session != null )
- {
- org.eclipse.aether.repository.MirrorSelector selector = session.getMirrorSelector();
- if ( selector != null )
- {
- RemoteRepository repo = selector.getMirror( RepositoryUtils.toRepo( repository ) );
- if ( repo != null )
- {
- Mirror mirror = new Mirror();
- mirror.setId( repo.getId() );
- mirror.setUrl( repo.getUrl() );
- mirror.setLayout( repo.getContentType() );
- return mirror;
- }
- }
- }
- return null;
- }
-
- public void injectMirror( RepositorySystemSession session, List<ArtifactRepository> repositories )
- {
- if ( repositories != null && session != null )
- {
- for ( ArtifactRepository repository : repositories )
- {
- Mirror mirror = getMirror( session, repository );
- injectMirror( repository, mirror );
- }
- }
- }
-
- private void injectMirror( ArtifactRepository repository, Mirror mirror )
- {
- if ( mirror != null )
- {
- ArtifactRepository original =
- createArtifactRepository( repository.getId(), repository.getUrl(), repository.getLayout(),
- repository.getSnapshots(), repository.getReleases() );
-
- repository.setMirroredRepositories( Collections.singletonList( original ) );
-
- repository.setId( mirror.getId() );
- repository.setUrl( mirror.getUrl() );
-
- if ( StringUtils.isNotEmpty( mirror.getLayout() ) )
- {
- repository.setLayout( getLayout( mirror.getLayout() ) );
- }
- }
- }
-
- private Authentication getAuthentication( RepositorySystemSession session, ArtifactRepository repository )
- {
- if ( session != null )
- {
- AuthenticationSelector selector = session.getAuthenticationSelector();
- if ( selector != null )
- {
- RemoteRepository repo = RepositoryUtils.toRepo( repository );
- org.eclipse.aether.repository.Authentication auth = selector.getAuthentication( repo );
- if ( auth != null )
- {
- repo = new RemoteRepository.Builder( repo ).setAuthentication( auth ).build();
- AuthenticationContext authCtx = AuthenticationContext.forRepository( session, repo );
- Authentication result =
- new Authentication( authCtx.get( AuthenticationContext.USERNAME ),
- authCtx.get( AuthenticationContext.PASSWORD ) );
- result.setPrivateKey( authCtx.get( AuthenticationContext.PRIVATE_KEY_PATH ) );
- result.setPassphrase( authCtx.get( AuthenticationContext.PRIVATE_KEY_PASSPHRASE ) );
- authCtx.close();
- return result;
- }
- }
- }
- return null;
- }
-
- public void injectAuthentication( RepositorySystemSession session, List<ArtifactRepository> repositories )
- {
- if ( repositories != null && session != null )
- {
- for ( ArtifactRepository repository : repositories )
- {
- repository.setAuthentication( getAuthentication( session, repository ) );
- }
- }
- }
-
- private Proxy getProxy( RepositorySystemSession session, ArtifactRepository repository )
- {
- if ( session != null )
- {
- ProxySelector selector = session.getProxySelector();
- if ( selector != null )
- {
- RemoteRepository repo = RepositoryUtils.toRepo( repository );
- org.eclipse.aether.repository.Proxy proxy = selector.getProxy( repo );
- if ( proxy != null )
- {
- Proxy p = new Proxy();
- p.setHost( proxy.getHost() );
- p.setProtocol( proxy.getType() );
- p.setPort( proxy.getPort() );
- if ( proxy.getAuthentication() != null )
- {
- repo = new RemoteRepository.Builder( repo ).setProxy( proxy ).build();
- AuthenticationContext authCtx = AuthenticationContext.forProxy( session, repo );
- p.setUserName( authCtx.get( AuthenticationContext.USERNAME ) );
- p.setPassword( authCtx.get( AuthenticationContext.PASSWORD ) );
- p.setNtlmDomain( authCtx.get( AuthenticationContext.NTLM_DOMAIN ) );
- p.setNtlmHost( authCtx.get( AuthenticationContext.NTLM_WORKSTATION ) );
- authCtx.close();
- }
- return p;
- }
- }
- }
- return null;
- }
-
- public void injectProxy( RepositorySystemSession session, List<ArtifactRepository> repositories )
- {
- if ( repositories != null && session != null )
- {
- for ( ArtifactRepository repository : repositories )
- {
- repository.setProxy( getProxy( session, repository ) );
- }
- }
- }
-
- private ArtifactRepositoryLayout getLayout( String id )
- {
- ArtifactRepositoryLayout layout = layouts.get( id );
-
- return layout;
- }
-
-
- //
- // Taken from LegacyRepositorySystem
- //
-
- public static org.apache.maven.model.Repository fromSettingsRepository( org.apache.maven.settings.Repository
- settingsRepository )
- {
- org.apache.maven.model.Repository modelRepository = new org.apache.maven.model.Repository();
- modelRepository.setId( settingsRepository.getId() );
- modelRepository.setLayout( settingsRepository.getLayout() );
- modelRepository.setName( settingsRepository.getName() );
- modelRepository.setUrl( settingsRepository.getUrl() );
- modelRepository.setReleases( fromSettingsRepositoryPolicy( settingsRepository.getReleases() ) );
- modelRepository.setSnapshots( fromSettingsRepositoryPolicy( settingsRepository.getSnapshots() ) );
- return modelRepository;
- }
-
- public static org.apache.maven.model.RepositoryPolicy fromSettingsRepositoryPolicy(
- org.apache.maven.settings.RepositoryPolicy settingsRepositoryPolicy )
- {
- org.apache.maven.model.RepositoryPolicy modelRepositoryPolicy = new org.apache.maven.model.RepositoryPolicy();
- if ( settingsRepositoryPolicy != null )
- {
- modelRepositoryPolicy.setEnabled( settingsRepositoryPolicy.isEnabled() );
- modelRepositoryPolicy.setUpdatePolicy( settingsRepositoryPolicy.getUpdatePolicy() );
- modelRepositoryPolicy.setChecksumPolicy( settingsRepositoryPolicy.getChecksumPolicy() );
- }
- return modelRepositoryPolicy;
- }
-
- public static ArtifactRepository buildArtifactRepository( org.apache.maven.settings.Repository repo )
- throws InvalidRepositoryException
- {
- return buildArtifactRepository( fromSettingsRepository( repo ) );
- }
-
- public static ArtifactRepository buildArtifactRepository( org.apache.maven.model.Repository repo )
- throws InvalidRepositoryException
- {
- if ( repo != null )
- {
- String id = repo.getId();
-
- if ( StringUtils.isEmpty( id ) )
- {
- throw new InvalidRepositoryException( "Repository identifier missing", "" );
- }
-
- String url = repo.getUrl();
-
- if ( StringUtils.isEmpty( url ) )
- {
- throw new InvalidRepositoryException( "URL missing for repository " + id, id );
- }
-
- ArtifactRepositoryPolicy snapshots = buildArtifactRepositoryPolicy( repo.getSnapshots() );
-
- ArtifactRepositoryPolicy releases = buildArtifactRepositoryPolicy( repo.getReleases() );
-
- ArtifactRepositoryLayout layout = new DefaultRepositoryLayout();
-
- return createArtifactRepository( id, url, layout, snapshots, releases );
- }
- else
- {
- return null;
- }
- }
-
- public static ArtifactRepositoryPolicy buildArtifactRepositoryPolicy( org.apache.maven.model.RepositoryPolicy
- policy )
- {
- boolean enabled = true;
-
- String updatePolicy = null;
-
- String checksumPolicy = null;
-
- if ( policy != null )
- {
- enabled = policy.isEnabled();
-
- if ( policy.getUpdatePolicy() != null )
- {
- updatePolicy = policy.getUpdatePolicy();
- }
- if ( policy.getChecksumPolicy() != null )
- {
- checksumPolicy = policy.getChecksumPolicy();
- }
- }
-
- return new ArtifactRepositoryPolicy( enabled, updatePolicy, checksumPolicy );
- }
-
- public ArtifactRepository createArtifactRepository( String id, String url, String layoutId,
- ArtifactRepositoryPolicy snapshots,
- ArtifactRepositoryPolicy releases )
- throws Exception
- {
- ArtifactRepositoryLayout layout = layouts.get( layoutId );
-
- checkLayout( id, layoutId, layout );
-
- return createArtifactRepository( id, url, layout, snapshots, releases );
- }
-
- private void checkLayout( String repositoryId, String layoutId, ArtifactRepositoryLayout layout )
- throws Exception
- {
- if ( layout == null )
- {
- throw new Exception( String.format( "Cannot find ArtifactRepositoryLayout instance for: %s %s", layoutId,
- repositoryId ) );
- }
- }
-
- public static ArtifactRepository createArtifactRepository( String id, String url,
- ArtifactRepositoryLayout repositoryLayout,
- ArtifactRepositoryPolicy snapshots,
- ArtifactRepositoryPolicy releases )
- {
- if ( snapshots == null )
- {
- snapshots = new ArtifactRepositoryPolicy();
- }
-
- if ( releases == null )
- {
- releases = new ArtifactRepositoryPolicy();
- }
-
- ArtifactRepository repository;
- if ( repositoryLayout instanceof ArtifactRepositoryLayout2 )
- {
- repository =
- ( (ArtifactRepositoryLayout2) repositoryLayout ).newMavenArtifactRepository( id, url, snapshots,
- releases );
- }
- else
- {
- repository = new MavenArtifactRepository( id, url, repositoryLayout, snapshots, releases );
- }
-
- return repository;
- }
-
- // ArtifactFactory
- private Artifact XcreateArtifact( String groupId, String artifactId, String version, String scope, String type )
- {
- return XcreateArtifact( groupId, artifactId, version, scope, type, null, null );
- }
-
- private Artifact XcreateDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
- String type, String classifier, String scope, boolean optional )
- {
- return XcreateArtifact( groupId, artifactId, versionRange, type, classifier, scope, null, optional );
- }
-
- private Artifact XcreateProjectArtifact( String groupId, String artifactId, String version )
- {
- return XcreateProjectArtifact( groupId, artifactId, version, null );
- }
-
- private Artifact XcreateParentArtifact( String groupId, String artifactId, String version )
- {
- return XcreateProjectArtifact( groupId, artifactId, version );
- }
-
- private Artifact XcreatePluginArtifact( String groupId, String artifactId, VersionRange versionRange )
- {
- return XcreateArtifact( groupId, artifactId, versionRange, "maven-plugin", null, Artifact.SCOPE_RUNTIME, null );
- }
-
- private Artifact XcreateProjectArtifact( String groupId, String artifactId, String version, String scope )
- {
- return XcreateArtifact( groupId, artifactId, version, scope, "pom" );
- }
-
- private Artifact XcreateExtensionArtifact( String groupId, String artifactId, VersionRange versionRange )
- {
- return XcreateArtifact( groupId, artifactId, versionRange, "jar", null, Artifact.SCOPE_RUNTIME, null );
- }
-
- private Artifact XcreateArtifact( String groupId, String artifactId, String version, String scope, String type,
- String classifier, String inheritedScope )
- {
- VersionRange versionRange = null;
- if ( version != null )
- {
- versionRange = VersionRange.createFromVersion( version );
- }
- return XcreateArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
- }
-
- private Artifact XcreateArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, String inheritedScope )
- {
- return XcreateArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, false );
- }
-
- private Artifact XcreateArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
- String classifier, String scope, String inheritedScope, boolean optional )
- {
- String desiredScope = Artifact.SCOPE_RUNTIME;
-
- if ( inheritedScope == null )
- {
- desiredScope = scope;
- }
- else if ( Artifact.SCOPE_TEST.equals( scope ) || Artifact.SCOPE_PROVIDED.equals( scope ) )
- {
- return null;
- }
- else if ( Artifact.SCOPE_COMPILE.equals( scope ) && Artifact.SCOPE_COMPILE.equals( inheritedScope ) )
- {
- // added to retain compile artifactScope. Remove if you want compile inherited as runtime
- desiredScope = Artifact.SCOPE_COMPILE;
- }
-
- if ( Artifact.SCOPE_TEST.equals( inheritedScope ) )
- {
- desiredScope = Artifact.SCOPE_TEST;
- }
-
- if ( Artifact.SCOPE_PROVIDED.equals( inheritedScope ) )
- {
- desiredScope = Artifact.SCOPE_PROVIDED;
- }
-
- if ( Artifact.SCOPE_SYSTEM.equals( scope ) )
- {
- // system scopes come through unchanged...
- desiredScope = Artifact.SCOPE_SYSTEM;
- }
-
- ArtifactHandler handler = artifactHandlerManager.getArtifactHandler( type );
-
- return new DefaultArtifact( groupId, artifactId, versionRange, desiredScope, type, classifier, handler,
- optional );
- }
-
- //
- // Code taken from LegacyRepositorySystem
- //
-
- public ArtifactRepository createDefaultRemoteRepository( MavenExecutionRequest request )
- throws Exception
- {
- return createRepository( RepositorySystem.DEFAULT_REMOTE_REPO_URL, RepositorySystem.DEFAULT_REMOTE_REPO_ID,
- true, ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY, false,
- ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY,
- ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
- }
-
- public ArtifactRepository createRepository( String url, String repositoryId, boolean releases,
- String releaseUpdates, boolean snapshots, String snapshotUpdates,
- String checksumPolicy ) throws Exception
- {
- ArtifactRepositoryPolicy snapshotsPolicy =
- new ArtifactRepositoryPolicy( snapshots, snapshotUpdates, checksumPolicy );
-
- ArtifactRepositoryPolicy releasesPolicy =
- new ArtifactRepositoryPolicy( releases, releaseUpdates, checksumPolicy );
-
- return createArtifactRepository( repositoryId, url, "default", snapshotsPolicy, releasesPolicy );
- }
-
- public Set<String> getRepoIds( List<ArtifactRepository> repositories )
- {
- Set<String> repoIds = new HashSet<String>();
-
- if ( repositories != null )
- {
- for ( ArtifactRepository repository : repositories )
- {
- repoIds.add( repository.getId() );
- }
- }
-
- return repoIds;
- }
-
-
- public ArtifactRepository createLocalRepository( MavenExecutionRequest request, File localRepository )
- throws Exception
- {
- return createRepository( "file://" + localRepository.toURI().getRawPath(),
- RepositorySystem.DEFAULT_LOCAL_REPO_ID, true,
- ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, true,
- ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
- ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
- }
-
- private static final String WILDCARD = "*";
-
- private static final String EXTERNAL_WILDCARD = "external:*";
-
- public static Mirror getMirror( ArtifactRepository repository, List<Mirror> mirrors )
- {
- String repoId = repository.getId();
-
- if ( repoId != null && mirrors != null )
- {
- for ( Mirror mirror : mirrors )
- {
- if ( repoId.equals( mirror.getMirrorOf() ) && matchesLayout( repository, mirror ) )
- {
- return mirror;
- }
- }
-
- for ( Mirror mirror : mirrors )
- {
- if ( matchPattern( repository, mirror.getMirrorOf() ) && matchesLayout( repository, mirror ) )
- {
- return mirror;
- }
- }
- }
-
- return null;
- }
-
- /**
- * This method checks if the pattern matches the originalRepository. Valid patterns: * = everything external:* =
- * everything not on the localhost and not file based. repo,repo1 = repo or repo1 *,!repo1 = everything except repo1
- *
- * @param originalRepository to compare for a match.
- * @param pattern used for match. Currently only '*' is supported.
- * @return true if the repository is a match to this pattern.
- */
- static boolean matchPattern( ArtifactRepository originalRepository, String pattern )
- {
- boolean result = false;
- String originalId = originalRepository.getId();
-
- // simple checks first to short circuit processing below.
- if ( WILDCARD.equals( pattern ) || pattern.equals( originalId ) )
- {
- result = true;
- }
- else
- {
- // process the list
- String[] repos = pattern.split( "," );
- for ( String repo : repos )
- {
- // see if this is a negative match
- if ( repo.length() > 1 && repo.startsWith( "!" ) )
- {
- if ( repo.substring( 1 ).equals( originalId ) )
- {
- // explicitly exclude. Set result and stop processing.
- result = false;
- break;
- }
- }
- // check for exact match
- else if ( repo.equals( originalId ) )
- {
- result = true;
- break;
- }
- // check for external:*
- else if ( EXTERNAL_WILDCARD.equals( repo ) && isExternalRepo( originalRepository ) )
- {
- result = true;
- // don't stop processing in case a future segment explicitly excludes this repo
- }
- else if ( WILDCARD.equals( repo ) )
- {
- result = true;
- // don't stop processing in case a future segment explicitly excludes this repo
- }
- }
- }
- return result;
- }
-
- /**
- * Checks the URL to see if this repository refers to an external repository
- *
- * @param originalRepository
- * @return true if external.
- */
- static boolean isExternalRepo( ArtifactRepository originalRepository )
- {
- try
- {
- URL url = new URL( originalRepository.getUrl() );
- return !( url.getHost().equals( "localhost" ) || url.getHost().equals( "127.0.0.1" )
- || url.getProtocol().equals( "file" ) );
- }
- catch ( MalformedURLException e )
- {
- // bad url just skip it here. It should have been validated already, but the wagon lookup will deal with it
- return false;
- }
- }
-
- static boolean matchesLayout( ArtifactRepository repository, Mirror mirror )
- {
- return matchesLayout( RepositoryUtils.getLayout( repository ), mirror.getMirrorOfLayouts() );
- }
-
- /**
- * Checks whether the layouts configured for a mirror match with the layout of the repository.
- *
- * @param repoLayout The layout of the repository, may be {@code null}.
- * @param mirrorLayout The layouts supported by the mirror, may be {@code null}.
- * @return {@code true} if the layouts associated with the mirror match the layout of the original repository,
- * {@code false} otherwise.
- */
- static boolean matchesLayout( String repoLayout, String mirrorLayout )
- {
- boolean result = false;
-
- // simple checks first to short circuit processing below.
- if ( StringUtils.isEmpty( mirrorLayout ) || WILDCARD.equals( mirrorLayout ) )
- {
- result = true;
- }
- else if ( mirrorLayout.equals( repoLayout ) )
- {
- result = true;
- }
- else
- {
- // process the list
- String[] layouts = mirrorLayout.split( "," );
- for ( String layout : layouts )
- {
- // see if this is a negative match
- if ( layout.length() > 1 && layout.startsWith( "!" ) )
- {
- if ( layout.substring( 1 ).equals( repoLayout ) )
- {
- // explicitly exclude. Set result and stop processing.
- result = false;
- break;
- }
- }
- // check for exact match
- else if ( layout.equals( repoLayout ) )
- {
- result = true;
- break;
- }
- else if ( WILDCARD.equals( layout ) )
- {
- result = true;
- // don't stop processing in case a future segment explicitly excludes this repo
- }
- }
- }
-
- return result;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ArtifactClassRealmConstituent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ArtifactClassRealmConstituent.java
deleted file mode 100644
index 562d6f47..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ArtifactClassRealmConstituent.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * @author Benjamin Bentmann
- */
-class ArtifactClassRealmConstituent
- implements ClassRealmConstituent
-{
-
- private final Artifact artifact;
-
- public ArtifactClassRealmConstituent( Artifact artifact )
- {
- this.artifact = artifact;
- }
-
- public String getGroupId()
- {
- return artifact.getGroupId();
- }
-
- public String getArtifactId()
- {
- return artifact.getArtifactId();
- }
-
- public String getType()
- {
- return artifact.getExtension();
- }
-
- public String getClassifier()
- {
- return artifact.getClassifier();
- }
-
- public String getVersion()
- {
- return artifact.getBaseVersion();
- }
-
- public File getFile()
- {
- return artifact.getFile();
- }
-
- @Override
- public String toString()
- {
- return artifact.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmConstituent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmConstituent.java
deleted file mode 100644
index f658eb43..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmConstituent.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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;
-
-/**
- * Describes a constituent of a class realm.
- *
- * @author Benjamin Bentmann
- */
-public interface ClassRealmConstituent
-{
-
- /**
- * Gets the group id of the constituent's artifact.
- *
- * @return The group id, never {@code null}.
- */
- String getGroupId();
-
- /**
- * Gets the artifact id of the constituent's artifact.
- *
- * @return The artifact id, never {@code null}.
- */
- String getArtifactId();
-
- /**
- * Gets the type of the constituent's artifact.
- *
- * @return The type, never {@code null}.
- */
- String getType();
-
- /**
- * Gets the classifier of the constituent's artifact.
- *
- * @return The classifier or an empty string, never {@code null}.
- */
- String getClassifier();
-
- /**
- * Gets the version of the constituent's artifact.
- *
- * @return The version, never {@code null}.
- */
- String getVersion();
-
- /**
- * Gets the file of the constituent's artifact.
- *
- * @return The file, never {@code null}.
- */
- File getFile();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManager.java
deleted file mode 100644
index e5d15143..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManager.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * Manages the class realms used by Maven. <strong>Warning:</strong> This is an internal utility interface that is only
- * public for technical reasons, it is not part of the public API. In particular, this interface can be changed or
- * deleted without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public interface ClassRealmManager
-{
-
- /**
- * Gets the class realm hosting the Maven core.
- *
- * @return The class realm hosting the Maven core, never {@code null}.
- */
- ClassRealm getCoreRealm();
-
- /**
- * Gets the class realm exposing the Maven API. This is basically a restricted view on the Maven core realm.
- *
- * @return The class realm exposing the Maven API, never {@code null}.
- */
- ClassRealm getMavenApiRealm();
-
- /**
- * Creates a new class realm for the specified project and its build extensions.
- *
- * @param model The model of the project for which to create a realm, must not be {@code null}.
- * @param artifacts The artifacts to add to the class realm, may be {@code null}. Unresolved artifacts (i.e. with a
- * missing file) will automatically be excluded from the realm.
- * @return The new project realm, never {@code null}.
- */
- ClassRealm createProjectRealm( Model model, List<Artifact> artifacts );
-
- /**
- * Creates a new class realm for the specified build extension.
- *
- * @param extension The extension plugin for which to create a realm, must not be {@code null}.
- * @param artifacts The artifacts to add to the class realm, may be {@code null}. Unresolved artifacts (i.e. with a
- * missing file) will automatically be excluded from the realm.
- * @return The new extension realm, never {@code null}.
- */
- ClassRealm createExtensionRealm( Plugin extension, List<Artifact> artifacts );
-
- /**
- * Creates a new class realm for the specified plugin.
- *
- * @param plugin The plugin for which to create a realm, must not be {@code null}.
- * @param parent The parent realm for the new realm, may be {@code null}.
- * @param parentImports The packages/types to import from the parent realm, may be {@code null}.
- * @param foreignImports The packages/types to import from foreign realms, may be {@code null}.
- * @param artifacts The artifacts to add to the class realm, may be {@code null}. Unresolved artifacts (i.e. with a
- * missing file) will automatically be excluded from the realm.
- * @return The new plugin realm, never {@code null}.
- */
- ClassRealm createPluginRealm( Plugin plugin, ClassLoader parent, List<String> parentImports,
- Map<String, ClassLoader> foreignImports, List<Artifact> artifacts );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManagerDelegate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManagerDelegate.java
deleted file mode 100644
index b0229b97..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmManagerDelegate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.classworlds.realm.ClassRealm;
-
-/**
- * ClassRealmManagerDelegate is used to perform addition configuration of
- * class realms created by ClassRealmManager.
- *
- * @author igor
- */
-public interface ClassRealmManagerDelegate
-{
-
- void setupRealm( ClassRealm classRealm, ClassRealmRequest request );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmRequest.java
deleted file mode 100644
index 9b62108f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/ClassRealmRequest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Describes the requirements for a new class realm.
- *
- * @author Benjamin Bentmann
- */
-public interface ClassRealmRequest
-{
-
- /**
- * The type of a class realm.
- */
- enum RealmType
- {
- /**
- * The class realm for the public API of the Maven core.
- */
- Core,
-
- /**
- * A class realm for a project to aggregates its build extensions.
- */
- Project,
-
- /**
- * A class realm for a build extension.
- */
- Extension,
-
- /**
- * A class realm for a plugin.
- */
- Plugin,
- }
-
- /**
- * Gets the type of the class realm.
- *
- * @return The type of the class realm, never {@code null}.
- */
- RealmType getType();
-
- /**
- * Gets the parent class realm (if any).
- *
- * @return The parent class realm or {@code null} if using the default parent.
- */
- ClassLoader getParent();
-
- /**
- * @deprecated Use {@link #getParentImports()} instead.
- */
- @Deprecated
- List<String> getImports();
-
- /**
- * Gets the packages/types to import from the parent realm.
- *
- * @return The modifiable list of packages/types to import from the parent realm, never {@code null}.
- */
- List<String> getParentImports();
-
- /**
- * Gets the packages/types to import from foreign realms.
- *
- * @return The modifiable map of packages/types to import from foreign realms, never {@code null}.
- */
- Map<String, ClassLoader> getForeignImports();
-
- /**
- * Gets the constituents for the class realm.
- *
- * @return The modifiable list of constituents for the class realm, never {@code null}.
- */
- List<ClassRealmConstituent> getConstituents();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
deleted file mode 100644
index 69ee04a9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java
+++ /dev/null
@@ -1,416 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.MalformedURLException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-import java.util.TreeMap;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.classrealm.ClassRealmRequest.RealmType;
-import org.apache.maven.extension.internal.CoreExportsProvider;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.codehaus.plexus.MutablePlexusContainer;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.classworlds.ClassWorld;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.classworlds.realm.DuplicateRealmException;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * Manages the class realms used by Maven. <strong>Warning:</strong> This is an internal utility class that is only
- * public for technical reasons, it is not part of the public API. In particular, this class can be changed or deleted
- * without prior notice.
- *
- * @author Benjamin Bentmann
- */
-@Named
-@Singleton
-public class DefaultClassRealmManager
- implements ClassRealmManager
-{
- public static final String API_REALMID = "maven.api";
-
- /**
- * During normal command line build, ClassWorld is loaded by jvm system classloader, which only includes
- * plexus-classworlds jar and possibly javaagent classes, see http://jira.codehaus.org/browse/MNG-4747.
- * <p>
- * Using ClassWorld to determine plugin/extensions realm parent classloaders gives m2e and integration test harness
- * flexibility to load multiple version of maven into dedicated classloaders without assuming state of jvm system
- * classloader.
- */
- private static final ClassLoader PARENT_CLASSLOADER = ClassWorld.class.getClassLoader();
-
- private final Logger logger;
-
- private final ClassWorld world;
-
- private final ClassRealm containerRealm;
-
- // this is a live injected collection
- private final List<ClassRealmManagerDelegate> delegates;
-
- private final ClassRealm mavenApiRealm;
-
- /**
- * Patterns of artifacts provided by maven core and exported via maven api realm. These artifacts are filtered from
- * plugin and build extensions realms to avoid presence of duplicate and possibly conflicting classes on classpath.
- */
- private final Set<String> providedArtifacts;
-
- @Inject
- public DefaultClassRealmManager( Logger logger, PlexusContainer container,
- List<ClassRealmManagerDelegate> delegates, CoreExportsProvider exports )
- {
- this.logger = logger;
- this.world = ( (MutablePlexusContainer) container ).getClassWorld();
- this.containerRealm = container.getContainerRealm();
- this.delegates = delegates;
-
- Map<String, ClassLoader> foreignImports = exports.get().getExportedPackages();
-
- this.mavenApiRealm =
- createRealm( API_REALMID, RealmType.Core, null /* parent */, null /* parentImports */,
- foreignImports, null /* artifacts */ );
-
- this.providedArtifacts = exports.get().getExportedArtifacts();
- }
-
- private ClassRealm newRealm( String id )
- {
- synchronized ( world )
- {
- String realmId = id;
-
- Random random = new Random();
-
- while ( true )
- {
- try
- {
- ClassRealm classRealm = world.newRealm( realmId, null );
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Created new class realm " + realmId );
- }
-
- return classRealm;
- }
- catch ( DuplicateRealmException e )
- {
- realmId = id + '-' + random.nextInt();
- }
- }
- }
- }
-
- public ClassRealm getMavenApiRealm()
- {
- return mavenApiRealm;
- }
-
- /**
- * Creates a new class realm with the specified parent and imports.
- *
- * @param baseRealmId The base id to use for the new realm, must not be {@code null}.
- * @param type The type of the class realm, must not be {@code null}.
- * @param parent The parent realm for the new realm, may be {@code null}.
- * @param parentImports The packages/types to import from the parent realm, may be {@code null}.
- * @param foreignImports The packages/types to import from foreign realms, may be {@code null}.
- * @param artifacts The artifacts to add to the realm, may be {@code null}. Unresolved artifacts (i.e. with a
- * missing file) will automatically be excluded from the realm.
- * @return The created class realm, never {@code null}.
- */
- private ClassRealm createRealm( String baseRealmId, RealmType type, ClassLoader parent, List<String> parentImports,
- Map<String, ClassLoader> foreignImports, List<Artifact> artifacts )
- {
- Set<String> artifactIds = new LinkedHashSet<String>();
-
- List<ClassRealmConstituent> constituents = new ArrayList<ClassRealmConstituent>();
-
- if ( artifacts != null )
- {
- for ( Artifact artifact : artifacts )
- {
- if ( !isProvidedArtifact( artifact ) )
- {
- artifactIds.add( getId( artifact ) );
- if ( artifact.getFile() != null )
- {
- constituents.add( new ArtifactClassRealmConstituent( artifact ) );
- }
- }
- }
- }
-
- if ( parentImports != null )
- {
- parentImports = new ArrayList<String>( parentImports );
- }
- else
- {
- parentImports = new ArrayList<String>();
- }
-
- if ( foreignImports != null )
- {
- foreignImports = new TreeMap<String, ClassLoader>( foreignImports );
- }
- else
- {
- foreignImports = new TreeMap<String, ClassLoader>();
- }
-
- ClassRealm classRealm = newRealm( baseRealmId );
-
- if ( parent != null )
- {
- classRealm.setParentClassLoader( parent );
- }
-
- callDelegates( classRealm, type, parent, parentImports, foreignImports, constituents );
-
- wireRealm( classRealm, parentImports, foreignImports );
-
- Set<String> includedIds = populateRealm( classRealm, constituents );
-
- if ( logger.isDebugEnabled() )
- {
- artifactIds.removeAll( includedIds );
-
- for ( String id : artifactIds )
- {
- logger.debug( " Excluded: " + id );
- }
- }
-
- return classRealm;
- }
-
- public ClassRealm getCoreRealm()
- {
- return containerRealm;
- }
-
- public ClassRealm createProjectRealm( Model model, List<Artifact> artifacts )
- {
- if ( model == null )
- {
- throw new IllegalArgumentException( "model missing" );
- }
-
- ClassLoader parent = getMavenApiRealm();
-
- return createRealm( getKey( model ), RealmType.Project, parent, null, null, artifacts );
- }
-
- private static String getKey( Model model )
- {
- return "project>" + model.getGroupId() + ":" + model.getArtifactId() + ":" + model.getVersion();
- }
-
- public ClassRealm createExtensionRealm( Plugin plugin, List<Artifact> artifacts )
- {
- if ( plugin == null )
- {
- throw new IllegalArgumentException( "extension plugin missing" );
- }
-
- ClassLoader parent = PARENT_CLASSLOADER;
-
- Map<String, ClassLoader> foreignImports =
- Collections.<String, ClassLoader>singletonMap( "", getMavenApiRealm() );
-
- return createRealm( getKey( plugin, true ), RealmType.Extension, parent, null, foreignImports, artifacts );
- }
-
- private boolean isProvidedArtifact( Artifact artifact )
- {
- return providedArtifacts.contains( artifact.getGroupId() + ":" + artifact.getArtifactId() );
- }
-
- public ClassRealm createPluginRealm( Plugin plugin, ClassLoader parent, List<String> parentImports,
- Map<String, ClassLoader> foreignImports, List<Artifact> artifacts )
- {
- if ( plugin == null )
- {
- throw new IllegalArgumentException( "plugin missing" );
- }
-
- if ( parent == null )
- {
- parent = PARENT_CLASSLOADER;
- }
-
- return createRealm( getKey( plugin, false ), RealmType.Plugin, parent, parentImports, foreignImports,
- artifacts );
- }
-
- private static String getKey( Plugin plugin, boolean extension )
- {
- String version = ArtifactUtils.toSnapshotVersion( plugin.getVersion() );
- return ( extension ? "extension>" : "plugin>" ) + plugin.getGroupId() + ":" + plugin.getArtifactId() + ":"
- + version;
- }
-
- private static String getId( Artifact artifact )
- {
- return getId( artifact.getGroupId(), artifact.getArtifactId(), artifact.getExtension(),
- artifact.getClassifier(), artifact.getBaseVersion() );
- }
-
- private static String getId( ClassRealmConstituent constituent )
- {
- return getId( constituent.getGroupId(), constituent.getArtifactId(), constituent.getType(),
- constituent.getClassifier(), constituent.getVersion() );
- }
-
- private static String getId( String gid, String aid, String type, String cls, String ver )
- {
- return gid + ':' + aid + ':' + type + ( StringUtils.isNotEmpty( cls ) ? ':' + cls : "" ) + ':' + ver;
- }
-
- private void callDelegates( ClassRealm classRealm, RealmType type, ClassLoader parent, List<String> parentImports,
- Map<String, ClassLoader> foreignImports, List<ClassRealmConstituent> constituents )
- {
- List<ClassRealmManagerDelegate> delegates = new ArrayList<ClassRealmManagerDelegate>( this.delegates );
-
- if ( !delegates.isEmpty() )
- {
- ClassRealmRequest request =
- new DefaultClassRealmRequest( type, parent, parentImports, foreignImports, constituents );
-
- for ( ClassRealmManagerDelegate delegate : delegates )
- {
- try
- {
- delegate.setupRealm( classRealm, request );
- }
- catch ( Exception e )
- {
- logger.error( delegate.getClass().getName() + " failed to setup class realm " + classRealm + ": "
- + e.getMessage(), e );
- }
- }
- }
- }
-
- private Set<String> populateRealm( ClassRealm classRealm, List<ClassRealmConstituent> constituents )
- {
- Set<String> includedIds = new LinkedHashSet<String>();
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Populating class realm " + classRealm.getId() );
- }
-
- for ( ClassRealmConstituent constituent : constituents )
- {
- File file = constituent.getFile();
-
- String id = getId( constituent );
- includedIds.add( id );
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( " Included: " + id );
- }
-
- try
- {
- classRealm.addURL( file.toURI().toURL() );
- }
- catch ( MalformedURLException e )
- {
- // Not going to happen
- logger.error( e.getMessage(), e );
- }
- }
-
- return includedIds;
- }
-
- private void wireRealm( ClassRealm classRealm, List<String> parentImports, Map<String, ClassLoader> foreignImports )
- {
- if ( foreignImports != null && !foreignImports.isEmpty() )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Importing foreign packages into class realm " + classRealm.getId() );
- }
-
- for ( Map.Entry<String, ClassLoader> entry : foreignImports.entrySet() )
- {
- ClassLoader importedRealm = entry.getValue();
- String imp = entry.getKey();
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( " Imported: " + imp + " < " + getId( importedRealm ) );
- }
-
- classRealm.importFrom( importedRealm, imp );
- }
- }
-
- if ( parentImports != null && !parentImports.isEmpty() )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Importing parent packages into class realm " + classRealm.getId() );
- }
-
- for ( String imp : parentImports )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( " Imported: " + imp + " < " + getId( classRealm.getParentClassLoader() ) );
- }
-
- classRealm.importFromParent( imp );
- }
- }
- }
-
- private String getId( ClassLoader classLoader )
- {
- if ( classLoader instanceof ClassRealm )
- {
- return ( (ClassRealm) classLoader ).getId();
- }
- return String.valueOf( classLoader );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmRequest.java
deleted file mode 100644
index 062b2cf3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmRequest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.classrealm;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Benjamin Bentmann
- */
-class DefaultClassRealmRequest
- implements ClassRealmRequest
-{
-
- private final RealmType type;
-
- private final ClassLoader parent;
-
- private final List<String> parentImports;
-
- private final Map<String, ClassLoader> foreignImports;
-
- private final List<ClassRealmConstituent> constituents;
-
- public DefaultClassRealmRequest( RealmType type, ClassLoader parent, List<String> parentImports,
- Map<String, ClassLoader> foreignImports, List<ClassRealmConstituent> constituents )
- {
- this.type = type;
- this.parent = parent;
- this.parentImports = parentImports;
- this.foreignImports = foreignImports;
- this.constituents = constituents;
- }
-
- public RealmType getType()
- {
- return type;
- }
-
- public ClassLoader getParent()
- {
- return parent;
- }
-
- public List<String> getImports()
- {
- return getParentImports();
- }
-
- public List<String> getParentImports()
- {
- return parentImports;
- }
-
- public Map<String, ClassLoader> getForeignImports()
- {
- return foreignImports;
- }
-
- public List<ClassRealmConstituent> getConstituents()
- {
- return constituents;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BasedirBeanConfigurationPathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BasedirBeanConfigurationPathTranslator.java
deleted file mode 100644
index 9859f586..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BasedirBeanConfigurationPathTranslator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-/**
- * A path translator that resolves relative paths against a specific base directory.
- *
- * @author Benjamin Bentmann
- */
-public class BasedirBeanConfigurationPathTranslator
- implements BeanConfigurationPathTranslator
-{
-
- private final File basedir;
-
- /**
- * Creates a new path translator using the specified base directory.
- *
- * @param basedir The base directory to resolve relative paths against, may be {@code null} to disable path
- * translation.
- */
- public BasedirBeanConfigurationPathTranslator( File basedir )
- {
- this.basedir = basedir;
- }
-
- public File translatePath( File path )
- {
- File result = path;
-
- if ( path != null && basedir != null )
- {
- if ( path.isAbsolute() )
- {
- // path is already absolute, we're done
- }
- else if ( path.getPath().startsWith( File.separator ) )
- {
- // drive-relative Windows path, don't align with base dir but with drive root
- result = path.getAbsoluteFile();
- }
- else
- {
- // an ordinary relative path, align with base dir
- result = new File( new File( basedir, path.getPath() ).toURI().normalize() ).getAbsoluteFile();
- }
- }
-
- return result;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationException.java
deleted file mode 100644
index 3d10ed4a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Thrown when a bean couldn't be configured.
- *
- * @author Benjamin Bentmann
- */
-public class BeanConfigurationException
- extends Exception
-{
-
- public BeanConfigurationException( String message )
- {
- super( message );
- }
-
- public BeanConfigurationException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationPathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationPathTranslator.java
deleted file mode 100644
index 39663391..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationPathTranslator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-/**
- * Postprocesses filesystem paths. For instance, a path translator might want to resolve relative paths given in the
- * bean configuration against some base directory.
- *
- * @author Benjamin Bentmann
- */
-public interface BeanConfigurationPathTranslator
-{
-
- /**
- * Translates the specified path.
- *
- * @param path The path to translate, may be {@code null}.
- * @return The translated path or {@code null} if none.
- */
- File translatePath( File path );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationRequest.java
deleted file mode 100644
index d19aa204..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationRequest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A request to configure a bean from some configuration in the POM or similar.
- *
- * @author Benjamin Bentmann
- */
-public interface BeanConfigurationRequest
-{
-
- /**
- * Gets the bean to configure. Eventually, a valid request must have a bean set.
- *
- * @return The bean to configure, or {@code null} if none.
- */
- Object getBean();
-
- /**
- * Sets the bean to configure. Eventually, a valid request must have a bean set.
- *
- * @param bean The bean to configure, may be {@code null}.
- * @return This request for chaining, never {@code null}.
- */
- BeanConfigurationRequest setBean( Object bean );
-
- /**
- * Gets the configuration to unmarshal into the bean.
- *
- * @return The configuration to unmarshal into the bean or {@code null} if none.
- */
- Object getConfiguration();
-
- /**
- * Sets the configuration to unmarshal into the bean. The configuration should be taken from
- * {@link org.apache.maven.model.ConfigurationContainer#getConfiguration()} or a similar source.
- * Fully equivalent to {@code setConfiguration(configuration, null)}.
- *
- * @param configuration The configuration to unmarshal, may be {@code null}.
- * @return This request for chaining, never {@code null}.
- */
- BeanConfigurationRequest setConfiguration( Object configuration );
-
- /**
- * Sets the configuration to unmarshal into the bean. The configuration should be taken from
- * {@link org.apache.maven.model.ConfigurationContainer#getConfiguration()} or a similar source.
- * If {@code element} is not {@code null}, child configuration element with the specified name will
- * be unmarshaled.
- *
- * @param configuration The configuration to unmarshal, may be {@code null}.
- * @param element Configuration element name to unmarshal or {@code null} to unmarshal entire configuration.
- * @return This request for chaining, never {@code null}.
- */
- BeanConfigurationRequest setConfiguration( Object configuration, String element );
-
- /**
- * Returns configuration element name or {@code null}.
- *
- * @see #setConfiguration(Object, String)
- *
- * @return Configuration element name or {@code null}
- */
- String getConfigurationElement();
-
- /**
- * Gets the class loader from which to load any types referenced by the configuration. If unset, the class loader of
- * the bean class will be used.
- *
- * @return The class loader to load referenced types from or {@code null} if unset.
- */
- ClassLoader getClassLoader();
-
- /**
- * Sets the class loader from which to load any types referenced by the configuration. If unset, the class loader of
- * the bean class will be used.
- *
- * @param classLoader The class loader to load referenced types from, may be {@code null}.
- * @return This request for chaining, never {@code null}.
- */
- BeanConfigurationRequest setClassLoader( ClassLoader classLoader );
-
- /**
- * Gets the optional preprocessor for configuration values.
- *
- * @return The preprocessor for configuration values or {@code null} if none.
- */
- BeanConfigurationValuePreprocessor getValuePreprocessor();
-
- /**
- * Sets the optional preprocessor for configuration values.
- *
- * @param valuePreprocessor The preprocessor for configuration values, may be {@code null} if unneeded.
- * @return This request for chaining, never {@code null}.
- */
- BeanConfigurationRequest setValuePreprocessor( BeanConfigurationValuePreprocessor valuePreprocessor );
-
- /**
- * Gets the optional path translator for configuration values unmarshalled to files.
- *
- * @return The path translator for files or {@code null} if none.
- */
- BeanConfigurationPathTranslator getPathTranslator();
-
- /**
- * Sets the optional path translator for configuration values unmarshalled to files.
- *
- * @param pathTranslator The path translator for files, may be {@code null} if unneeded.
- * @return This request for chaining, never {@code null}.
- */
- BeanConfigurationRequest setPathTranslator( BeanConfigurationPathTranslator pathTranslator );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationValuePreprocessor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationValuePreprocessor.java
deleted file mode 100644
index 63f85173..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurationValuePreprocessor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Preprocesses a value from a bean configuration before the bean configurator unmarshals it into a bean property. A
- * common use case for such preprocessing is the evaluation of variables within the configuration value.
- *
- * @author Benjamin Bentmann
- */
-public interface BeanConfigurationValuePreprocessor
-{
-
- /**
- * Preprocesses the specified bean configuration value. The optional type provided to this method is a hint (not a
- * requirement) for the preprocessor to resolve the value to a compatible value or a (string) value than can be
- * unmarshalled into that type. The preprocessor is not required to perform any type conversion but should rather
- * filter out incompatible values from its result.
- *
- * @param value The configuration value to preprocess, must not be {@code null}.
- * @param type The target type of the value, may be {@code null}.
- * @return The processed configuration value or {@code null} if none.
- * @throws BeanConfigurationException If an error occurred while preprocessing the value.
- */
- Object preprocessValue( String value, Class<?> type )
- throws BeanConfigurationException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurator.java
deleted file mode 100644
index 36d23eca..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/BeanConfigurator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Unmarshals some textual configuration from the POM or similar into the properties of a bean. This component works
- * similar to the way Maven configures plugins from the POM, i.e. some configuration like {@code <param>value</param>}
- * is mapped to an equally named property of the bean and converted. The properties of the bean are supposed to either
- * have a public setter or be backed by an equally named field (of any visibility).
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface BeanConfigurator
-{
-
- /**
- * Performs the specified bean configuration.
- *
- * @param request The configuration request that specifies the bean and the configuration to process, must not be
- * {@code null}.
- * @throws BeanConfigurationException If the bean configuration could not be successfully processed.
- */
- void configureBean( BeanConfigurationRequest request )
- throws BeanConfigurationException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java
deleted file mode 100644
index 32def48f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/DefaultBeanConfigurationRequest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.apache.maven.configuration;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import 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.codehaus.plexus.util.StringUtils;
-
-/**
- * A basic bean configuration request.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultBeanConfigurationRequest
- implements BeanConfigurationRequest
-{
-
- private Object bean;
-
- private Object configuration;
-
- private String configurationElement;
-
- private ClassLoader classLoader;
-
- private BeanConfigurationValuePreprocessor valuePreprocessor;
-
- private BeanConfigurationPathTranslator pathTranslator;
-
- public Object getBean()
- {
- return bean;
- }
-
- public DefaultBeanConfigurationRequest setBean( Object bean )
- {
- this.bean = bean;
- return this;
- }
-
- public Object getConfiguration()
- {
- return configuration;
- }
-
- public String getConfigurationElement()
- {
- return configurationElement;
- }
-
- public DefaultBeanConfigurationRequest setConfiguration( Object configuration )
- {
- return setConfiguration( configuration, null );
- }
-
- public DefaultBeanConfigurationRequest setConfiguration( Object configuration, String element )
- {
- this.configuration = configuration;
- this.configurationElement = element;
- return this;
- }
-
- /**
- * Sets the configuration to the configuration taken from the specified build plugin in the POM. First, the build
- * plugins will be searched for the specified plugin, if that fails, the plugin management section will be searched.
- *
- * @param model The POM to extract the plugin configuration from, may be {@code null}.
- * @param pluginGroupId The group id of the plugin whose configuration should be used, must not be {@code null} or
- * empty.
- * @param pluginArtifactId The artifact id of the plugin whose configuration should be used, must not be
- * {@code null} or empty.
- * @param pluginExecutionId The id of a plugin execution whose configuration should be used, may be {@code null} or
- * empty to use the general plugin configuration.
- * @return This request for chaining, never {@code null}.
- */
- public DefaultBeanConfigurationRequest setConfiguration( Model model, String pluginGroupId,
- String pluginArtifactId, String pluginExecutionId )
- {
- Plugin plugin = findPlugin( model, pluginGroupId, pluginArtifactId );
- if ( plugin != null )
- {
- if ( StringUtils.isNotEmpty( pluginExecutionId ) )
- {
- for ( PluginExecution execution : plugin.getExecutions() )
- {
- if ( pluginExecutionId.equals( execution.getId() ) )
- {
- setConfiguration( execution.getConfiguration() );
- break;
- }
- }
- }
- else
- {
- setConfiguration( plugin.getConfiguration() );
- }
- }
- return this;
- }
-
- private Plugin findPlugin( Model model, String groupId, String artifactId )
- {
- if ( StringUtils.isEmpty( groupId ) )
- {
- throw new IllegalArgumentException( "group id for plugin has not been specified" );
- }
- if ( StringUtils.isEmpty( artifactId ) )
- {
- throw new IllegalArgumentException( "artifact id for plugin has not been specified" );
- }
-
- if ( model != null )
- {
- Build build = model.getBuild();
- if ( build != null )
- {
- for ( Plugin plugin : build.getPlugins() )
- {
- if ( groupId.equals( plugin.getGroupId() ) && artifactId.equals( plugin.getArtifactId() ) )
- {
- return plugin;
- }
- }
-
- PluginManagement mngt = build.getPluginManagement();
- if ( mngt != null )
- {
- for ( Plugin plugin : mngt.getPlugins() )
- {
- if ( groupId.equals( plugin.getGroupId() ) && artifactId.equals( plugin.getArtifactId() ) )
- {
- return plugin;
- }
- }
- }
- }
- }
-
- return null;
- }
-
- public ClassLoader getClassLoader()
- {
- return classLoader;
- }
-
- public DefaultBeanConfigurationRequest setClassLoader( ClassLoader classLoader )
- {
- this.classLoader = classLoader;
- return this;
- }
-
- public BeanConfigurationValuePreprocessor getValuePreprocessor()
- {
- return valuePreprocessor;
- }
-
- public DefaultBeanConfigurationRequest setValuePreprocessor( BeanConfigurationValuePreprocessor valuePreprocessor )
- {
- this.valuePreprocessor = valuePreprocessor;
- return this;
- }
-
- public BeanConfigurationPathTranslator getPathTranslator()
- {
- return pathTranslator;
- }
-
- public DefaultBeanConfigurationRequest setPathTranslator( BeanConfigurationPathTranslator pathTranslator )
- {
- this.pathTranslator = pathTranslator;
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java
deleted file mode 100644
index 3d3def62..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.apache.maven.configuration.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.maven.configuration.BeanConfigurationException;
-import org.apache.maven.configuration.BeanConfigurationPathTranslator;
-import org.apache.maven.configuration.BeanConfigurationRequest;
-import org.apache.maven.configuration.BeanConfigurationValuePreprocessor;
-import org.apache.maven.configuration.BeanConfigurator;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
-import org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter;
-import org.codehaus.plexus.component.configurator.converters.lookup.ConverterLookup;
-import org.codehaus.plexus.component.configurator.converters.lookup.DefaultConverterLookup;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.codehaus.plexus.component.configurator.expression.TypeAwareExpressionEvaluator;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * <strong>Warning:</strong> This is an internal class that is only public for technical reasons, it is not part of the
- * public API. In particular, this class can be changed or deleted without prior notice.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = BeanConfigurator.class )
-public class DefaultBeanConfigurator
- implements BeanConfigurator
-{
-
- private final ConverterLookup converterLookup = new DefaultConverterLookup();
-
- public void configureBean( BeanConfigurationRequest request )
- throws BeanConfigurationException
- {
- if ( request == null )
- {
- throw new IllegalArgumentException( "bean configuration request not specified" );
- }
-
- if ( request.getBean() == null )
- {
- throw new IllegalArgumentException( "bean to be configured not specified" );
- }
-
- Object configuration = request.getConfiguration();
- if ( configuration == null )
- {
- return;
- }
-
- PlexusConfiguration plexusConfig;
- if ( configuration instanceof PlexusConfiguration )
- {
- plexusConfig = (PlexusConfiguration) configuration;
- }
- else if ( configuration instanceof Xpp3Dom )
- {
- plexusConfig = new XmlPlexusConfiguration( (Xpp3Dom) configuration );
- }
- else
- {
- throw new BeanConfigurationException( "unsupported bean configuration source ("
- + configuration.getClass().getName() + ")" );
- }
-
- if ( request.getConfigurationElement() != null )
- {
- plexusConfig = plexusConfig.getChild( request.getConfigurationElement() );
- }
-
- ClassLoader classLoader = request.getClassLoader();
- if ( classLoader == null )
- {
- classLoader = request.getBean().getClass().getClassLoader();
- }
-
- BeanExpressionEvaluator evaluator = new BeanExpressionEvaluator( request );
-
- ObjectWithFieldsConverter converter = new ObjectWithFieldsConverter();
-
- try
- {
- converter.processConfiguration( converterLookup, request.getBean(), classLoader, plexusConfig, evaluator );
- }
- catch ( ComponentConfigurationException e )
- {
- throw new BeanConfigurationException( e.getMessage(), e );
- }
- }
-
- static class BeanExpressionEvaluator
- implements TypeAwareExpressionEvaluator
- {
-
- private final BeanConfigurationValuePreprocessor preprocessor;
-
- private final BeanConfigurationPathTranslator translator;
-
- public BeanExpressionEvaluator( BeanConfigurationRequest request )
- {
- preprocessor = request.getValuePreprocessor();
- translator = request.getPathTranslator();
- }
-
- public Object evaluate( String expression, Class<?> type )
- throws ExpressionEvaluationException
- {
- if ( preprocessor != null )
- {
- try
- {
- return preprocessor.preprocessValue( expression, type );
- }
- catch ( BeanConfigurationException e )
- {
- throw new ExpressionEvaluationException( e.getMessage(), e );
- }
- }
- return expression;
- }
-
- public Object evaluate( String expression )
- throws ExpressionEvaluationException
- {
- return evaluate( expression, null );
- }
-
- public File alignToBaseDirectory( File file )
- {
- if ( translator != null )
- {
- return translator.translatePath( file );
- }
- return file;
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/AbstractEventSpy.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/AbstractEventSpy.java
deleted file mode 100644
index 09132275..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/AbstractEventSpy.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.eventspy;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A skeleton eventspy that does nothing other than helping implementors.
- * @since 3.0.2
- */
-public abstract class AbstractEventSpy
- implements EventSpy
-{
-
- public void init( Context context )
- throws Exception
- {
- }
-
- public void onEvent( Object event )
- throws Exception
- {
- }
-
- public void close()
- throws Exception
- {
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
deleted file mode 100644
index 4284fce9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.maven.eventspy;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-
-/**
- * A core extension to monitor Maven's execution. Typically, such an extension gets loaded into Maven by specifying the
- * system property {@code maven.ext.class.path} on the command line. As soon as dependency injection is setup, Maven
- * looks up all implementators of this interface and calls their {@link #init(Context)} method. <em>Note:</em>
- * Implementors are strongly advised to inherit from {@link AbstractEventSpy} instead of directly implementing this
- * interface.
- * @since 3.0.2
- */
-public interface EventSpy
-{
-
- interface Context
- {
-
- /**
- * Gets key-value pairs providing information about the Maven runtime.
- *
- * @return The key-value pairs, never {@code null}.
- */
- Map<String, Object> getData();
-
- }
-
- /**
- * Initializes the spy.
- *
- * @param context The event spy context, never {@code null}.
- */
- void init( Context context )
- throws Exception;
-
- /**
- * Notifies the spy of some build event/operation.
- *
- * @param event The event, never {@code null}.
- * @see org.apache.maven.settings.building.SettingsBuildingRequest
- * @see org.apache.maven.settings.building.SettingsBuildingResult
- * @see org.apache.maven.execution.MavenExecutionRequest
- * @see org.apache.maven.execution.MavenExecutionResult
- * @see org.apache.maven.project.DependencyResolutionRequest
- * @see org.apache.maven.project.DependencyResolutionResult
- * @see org.apache.maven.execution.ExecutionEvent
- * @see org.eclipse.aether.RepositoryEvent
- */
- void onEvent( Object event )
- throws Exception;
-
- /**
- * Notifies the spy of Maven's termination, allowing it to free any resources allocated by it.
- */
- void close()
- throws Exception;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java
deleted file mode 100644
index d44642d1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.maven.eventspy.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.eventspy.EventSpy;
-import org.apache.maven.execution.ExecutionListener;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.RepositoryListener;
-
-/**
- * Dispatches callbacks to all registered eventspies.
- * @since 3.0.2
- */
-@Component( role = EventSpyDispatcher.class )
-public class EventSpyDispatcher
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement( role = EventSpy.class )
- private List<EventSpy> eventSpies;
-
- public void setEventSpies( List<EventSpy> eventSpies )
- {
- // make copy to get rid of needless overhead for dynamic lookups
- this.eventSpies = new ArrayList<EventSpy>( eventSpies );
- }
-
- public List<EventSpy> getEventSpies()
- {
- return eventSpies;
- }
-
- public ExecutionListener chainListener( ExecutionListener listener )
- {
- if ( eventSpies.isEmpty() )
- {
- return listener;
- }
- return new EventSpyExecutionListener( this, listener );
- }
-
- public RepositoryListener chainListener( RepositoryListener listener )
- {
- if ( eventSpies.isEmpty() )
- {
- return listener;
- }
- return new EventSpyRepositoryListener( this, listener );
- }
-
- public void init( EventSpy.Context context )
- {
- if ( eventSpies.isEmpty() )
- {
- return;
- }
- for ( EventSpy eventSpy : eventSpies )
- {
- try
- {
- eventSpy.init( context );
- }
- catch ( Exception e )
- {
- logError( "initialize", e, eventSpy );
- }
- catch ( LinkageError e )
- {
- logError( "initialize", e, eventSpy );
- }
- }
- }
-
- public void onEvent( Object event )
- {
- if ( eventSpies.isEmpty() )
- {
- return;
- }
- for ( EventSpy eventSpy : eventSpies )
- {
- try
- {
- eventSpy.onEvent( event );
- }
- catch ( Exception e )
- {
- logError( "notify", e, eventSpy );
- }
- catch ( LinkageError e )
- {
- logError( "notify", e, eventSpy );
- }
- }
- }
-
- public void close()
- {
- if ( eventSpies.isEmpty() )
- {
- return;
- }
- for ( EventSpy eventSpy : eventSpies )
- {
- try
- {
- eventSpy.close();
- }
- catch ( Exception e )
- {
- logError( "close", e, eventSpy );
- }
- catch ( LinkageError e )
- {
- logError( "close", e, eventSpy );
- }
- }
- }
-
- private void logError( String action, Throwable e, EventSpy spy )
- {
- String msg = "Failed to " + action + " spy " + spy.getClass().getName() + ": " + e.getMessage();
-
- if ( logger.isDebugEnabled() )
- {
- logger.warn( msg, e );
- }
- else
- {
- logger.warn( msg );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyExecutionListener.java
deleted file mode 100644
index 6b25da58..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyExecutionListener.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package org.apache.maven.eventspy.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.AbstractExecutionListener;
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.ExecutionListener;
-
-/**
- * Forwards execution events to eventspies.
- * @since 3.0.2
- */
-class EventSpyExecutionListener
- extends AbstractExecutionListener
-{
-
- private final EventSpyDispatcher dispatcher;
-
- private final ExecutionListener delegate;
-
- public EventSpyExecutionListener( EventSpyDispatcher dispatcher, ExecutionListener delegate )
- {
- this.dispatcher = dispatcher;
- this.delegate = delegate;
- }
-
- @Override
- public void projectDiscoveryStarted( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.projectDiscoveryStarted( event );
- }
-
- @Override
- public void sessionStarted( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.sessionStarted( event );
- }
-
- @Override
- public void sessionEnded( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.sessionEnded( event );
- }
-
- @Override
- public void projectSkipped( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.projectSkipped( event );
- }
-
- @Override
- public void projectStarted( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.projectStarted( event );
- }
-
- @Override
- public void projectSucceeded( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.projectSucceeded( event );
- }
-
- @Override
- public void projectFailed( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.projectFailed( event );
- }
-
- @Override
- public void forkStarted( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.forkStarted( event );
- }
-
- @Override
- public void forkSucceeded( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.forkSucceeded( event );
- }
-
- @Override
- public void forkFailed( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.forkFailed( event );
- }
-
- @Override
- public void mojoSkipped( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.mojoSkipped( event );
- }
-
- @Override
- public void mojoStarted( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.mojoStarted( event );
- }
-
- @Override
- public void mojoSucceeded( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.mojoSucceeded( event );
- }
-
- @Override
- public void mojoFailed( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.mojoFailed( event );
- }
-
- @Override
- public void forkedProjectStarted( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.forkedProjectStarted( event );
- }
-
- @Override
- public void forkedProjectSucceeded( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.forkedProjectSucceeded( event );
- }
-
- @Override
- public void forkedProjectFailed( ExecutionEvent event )
- {
- dispatcher.onEvent( event );
- delegate.forkedProjectFailed( event );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyRepositoryListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyRepositoryListener.java
deleted file mode 100644
index 60d4cd1c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyRepositoryListener.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.apache.maven.eventspy.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.AbstractRepositoryListener;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryListener;
-
-/**
- * Forwards repository events to eventspies.
- * @since 3.0.2
- */
-class EventSpyRepositoryListener
- extends AbstractRepositoryListener
-{
- private final EventSpyDispatcher dispatcher;
-
- private final RepositoryListener delegate;
-
- public EventSpyRepositoryListener( EventSpyDispatcher dispatcher, RepositoryListener delegate )
- {
- this.dispatcher = dispatcher;
- this.delegate = delegate;
- }
-
- @Override
- public void artifactDeployed( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactDeployed( event );
- }
-
- @Override
- public void artifactDeploying( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactDeploying( event );
- }
-
- @Override
- public void artifactDescriptorInvalid( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactDescriptorInvalid( event );
- }
-
- @Override
- public void artifactDescriptorMissing( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactDescriptorMissing( event );
- }
-
- @Override
- public void artifactInstalled( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactInstalled( event );
- }
-
- @Override
- public void artifactInstalling( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactInstalling( event );
- }
-
- @Override
- public void artifactResolved( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactResolved( event );
- }
-
- @Override
- public void artifactResolving( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactResolving( event );
- }
-
- @Override
- public void metadataDeployed( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataDeployed( event );
- }
-
- @Override
- public void metadataDeploying( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataDeploying( event );
- }
-
- @Override
- public void metadataInstalled( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataInstalled( event );
- }
-
- @Override
- public void metadataInstalling( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataInstalling( event );
- }
-
- @Override
- public void metadataInvalid( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataInvalid( event );
- }
-
- @Override
- public void metadataResolved( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataResolved( event );
- }
-
- @Override
- public void metadataResolving( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataResolving( event );
- }
-
- @Override
- public void artifactDownloaded( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactDownloaded( event );
- }
-
- @Override
- public void artifactDownloading( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.artifactDownloading( event );
- }
-
- @Override
- public void metadataDownloaded( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataDownloaded( event );
- }
-
- @Override
- public void metadataDownloading( RepositoryEvent event )
- {
- dispatcher.onEvent( event );
- delegate.metadataDownloading( event );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java
deleted file mode 100644
index 6df72c81..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java
+++ /dev/null
@@ -1,336 +0,0 @@
-package org.apache.maven.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.net.ConnectException;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.lifecycle.LifecycleExecutionException;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.building.ModelProblemUtils;
-import org.apache.maven.plugin.AbstractMojoExecutionException;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.PluginContainerException;
-import org.apache.maven.plugin.PluginExecutionException;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectBuildingResult;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.StringUtils;
-
-/*
-
-- test projects for each of these
-- how to categorize the problems so that the id of the problem can be match to a page with descriptive help and the test
- project
-- nice little sample projects that could be run in the core as well as integration tests
-
-All Possible Errors
-- invalid lifecycle phase (maybe same as bad CLI param, though you were talking about embedder too)
-- <module> specified is not found
-- malformed settings
-- malformed POM
-- local repository not writable
-- remote repositories not available
-- artifact metadata missing
-- extension metadata missing
-- extension artifact missing
-- artifact metadata retrieval problem
-- version range violation
-- circular dependency
-- artifact missing
-- artifact retrieval exception
-- md5 checksum doesn't match for local artifact, need to redownload this
-- POM doesn't exist for a goal that requires one
-- parent POM missing (in both the repository + relative path)
-- component not found
-
-Plugins:
-- plugin metadata missing
-- plugin metadata retrieval problem
-- plugin artifact missing
-- plugin artifact retrieval problem
-- plugin dependency metadata missing
-- plugin dependency metadata retrieval problem
-- plugin configuration problem
-- plugin execution failure due to something that is know to possibly go wrong (like compilation failure)
-- plugin execution error due to something that is not expected to go wrong (the compiler executable missing)
-- asking to use a plugin for which you do not have a version defined - tools to easily select versions
-- goal not found in a plugin (probably could list the ones that are)
-
- */
-
-// PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
-// CycleDetectedInPluginGraphException;
-
-@Component( role = ExceptionHandler.class )
-public class DefaultExceptionHandler
- implements ExceptionHandler
-{
-
- public ExceptionSummary handleException( Throwable exception )
- {
- return handle( "", exception );
- }
-
- private ExceptionSummary handle( String message, Throwable exception )
- {
- String reference = getReference( exception );
-
- List<ExceptionSummary> children = null;
-
- if ( exception instanceof ProjectBuildingException )
- {
- List<ProjectBuildingResult> results = ( (ProjectBuildingException) exception ).getResults();
-
- children = new ArrayList<ExceptionSummary>();
-
- for ( ProjectBuildingResult result : results )
- {
- ExceptionSummary child = handle( result );
- if ( child != null )
- {
- children.add( child );
- }
- }
-
- message = "The build could not read " + children.size() + " project" + ( children.size() == 1 ? "" : "s" );
- }
- else
- {
- message = getMessage( message, exception );
- }
-
- return new ExceptionSummary( exception, message, reference, children );
- }
-
- private ExceptionSummary handle( ProjectBuildingResult result )
- {
- List<ExceptionSummary> children = new ArrayList<ExceptionSummary>();
-
- for ( ModelProblem problem : result.getProblems() )
- {
- ExceptionSummary child = handle( problem, result.getProjectId() );
- if ( child != null )
- {
- children.add( child );
- }
- }
-
- if ( children.isEmpty() )
- {
- return null;
- }
-
- String message =
- "\nThe project " + result.getProjectId() + " (" + result.getPomFile() + ") has "
- + children.size() + " error" + ( children.size() == 1 ? "" : "s" );
-
- return new ExceptionSummary( null, message, null, children );
- }
-
- private ExceptionSummary handle( ModelProblem problem, String projectId )
- {
- if ( ModelProblem.Severity.ERROR.compareTo( problem.getSeverity() ) >= 0 )
- {
- String message = problem.getMessage();
-
- String location = ModelProblemUtils.formatLocation( problem, projectId );
-
- if ( StringUtils.isNotEmpty( location ) )
- {
- message += " @ " + location;
- }
-
- return handle( message, problem.getException() );
- }
- else
- {
- return null;
- }
- }
-
- private String getReference( Throwable exception )
- {
- String reference = "";
-
- if ( exception != null )
- {
- if ( exception instanceof MojoExecutionException )
- {
- reference = MojoExecutionException.class.getSimpleName();
-
- Throwable cause = exception.getCause();
- if ( cause instanceof IOException )
- {
- cause = cause.getCause();
- if ( cause instanceof ConnectException )
- {
- reference = ConnectException.class.getSimpleName();
- }
- }
- }
- else if ( exception instanceof MojoFailureException )
- {
- reference = MojoFailureException.class.getSimpleName();
- }
- else if ( exception instanceof LinkageError )
- {
- reference = LinkageError.class.getSimpleName();
- }
- else if ( exception instanceof PluginExecutionException )
- {
- Throwable cause = exception.getCause();
-
- if ( cause instanceof PluginContainerException )
- {
- Throwable cause2 = cause.getCause();
-
- if ( cause2 instanceof NoClassDefFoundError
- && cause2.getMessage().contains( "org/sonatype/aether/" ) )
- {
- reference = "AetherClassNotFound";
- }
- }
-
- if ( StringUtils.isEmpty( reference ) )
- {
- reference = getReference( cause );
- }
-
- if ( StringUtils.isEmpty( reference ) )
- {
- reference = exception.getClass().getSimpleName();
- }
- }
- else if ( exception instanceof LifecycleExecutionException )
- {
- reference = getReference( exception.getCause() );
- }
- else if ( isNoteworthyException( exception ) )
- {
- reference = exception.getClass().getSimpleName();
- }
- }
-
- if ( StringUtils.isNotEmpty( reference ) && !reference.startsWith( "http:" ) )
- {
- reference = "http://cwiki.apache.org/confluence/display/MAVEN/" + reference;
- }
-
- return reference;
- }
-
- private boolean isNoteworthyException( Throwable exception )
- {
- if ( exception == null )
- {
- return false;
- }
- else if ( exception instanceof Error )
- {
- return true;
- }
- else if ( exception instanceof RuntimeException )
- {
- return false;
- }
- else if ( exception.getClass().getName().startsWith( "java" ) )
- {
- return false;
- }
- return true;
- }
-
- private String getMessage( String message, Throwable exception )
- {
- String fullMessage = ( message != null ) ? message : "";
-
- for ( Throwable t = exception; t != null; t = t.getCause() )
- {
- String exceptionMessage = t.getMessage();
-
- if ( t instanceof AbstractMojoExecutionException )
- {
- String longMessage = ( (AbstractMojoExecutionException) t ).getLongMessage();
- if ( StringUtils.isNotEmpty( longMessage ) )
- {
- if ( StringUtils.isEmpty( exceptionMessage ) || longMessage.contains( exceptionMessage ) )
- {
- exceptionMessage = longMessage;
- }
- else if ( !exceptionMessage.contains( longMessage ) )
- {
- exceptionMessage = join( exceptionMessage, '\n' + longMessage );
- }
- }
- }
-
- if ( StringUtils.isEmpty( exceptionMessage ) )
- {
- exceptionMessage = t.getClass().getSimpleName();
- }
-
- if ( t instanceof UnknownHostException && !fullMessage.contains( "host" ) )
- {
- fullMessage = join( fullMessage, "Unknown host " + exceptionMessage );
- }
- else if ( !fullMessage.contains( exceptionMessage ) )
- {
- fullMessage = join( fullMessage, exceptionMessage );
- }
- }
-
- return fullMessage.trim();
- }
-
- private String join( String message1, String message2 )
- {
- String message = "";
-
- if ( StringUtils.isNotEmpty( message1 ) )
- {
- message = message1.trim();
- }
-
- if ( StringUtils.isNotEmpty( message2 ) )
- {
- if ( StringUtils.isNotEmpty( message ) )
- {
- if ( message.endsWith( "." ) || message.endsWith( "!" ) || message.endsWith( ":" ) )
- {
- message += " ";
- }
- else
- {
- message += ": ";
- }
- }
-
- message += message2;
- }
-
- return message;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionHandler.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionHandler.java
deleted file mode 100644
index 47865f67..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.maven.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Transform an exception into useful end-user message.
- *
- * @since 3.0-alpha-3
- */
-public interface ExceptionHandler
-{
- ExceptionSummary handleException( Throwable e );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java
deleted file mode 100644
index dcc376a4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.apache.maven.exception;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Provide a summary of the exception, containing:<ul>
- * <li>the exception itself,</li>
- * <li>useful end-user message,</li>
- * <li>useful reference to a solution, or set of solutions: this is usually a wiki page url in
- * <a href="http://cwiki.apache.org/confluence/display/MAVEN/">http://cwiki.apache.org/confluence/display/MAVEN/</a>,
- * </li>
- * <li>child exception summaries.</li>
- * </ul>
- */
-public class ExceptionSummary
-{
-
- private Throwable exception;
-
- private String message;
-
- private String reference;
-
- private List<ExceptionSummary> children;
-
- public ExceptionSummary( Throwable exception, String message, String reference )
- {
- this( exception, message, reference, null );
- }
-
- public ExceptionSummary( Throwable exception, String message, String reference, List<ExceptionSummary> children )
- {
- this.exception = exception;
- this.message = ( message != null ) ? message : "";
- this.reference = ( reference != null ) ? reference : "";
- this.children = ( children != null ) ? children : Collections.<ExceptionSummary>emptyList();
- }
-
- public Throwable getException()
- {
- return exception;
- }
-
- public String getMessage()
- {
- return message;
- }
-
- public String getReference()
- {
- return reference;
- }
-
- public List<ExceptionSummary> getChildren()
- {
- return children;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/AbstractExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/AbstractExecutionListener.java
deleted file mode 100644
index 89665007..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/AbstractExecutionListener.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Provides a skeleton implementation for execution listeners. The methods of this class are empty.
- *
- * @author Benjamin Bentmann
- */
-public class AbstractExecutionListener
- implements ExecutionListener
-{
-
- public void projectDiscoveryStarted( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void sessionStarted( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void sessionEnded( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void projectSkipped( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void projectStarted( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void projectSucceeded( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void projectFailed( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void forkStarted( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void forkSucceeded( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void forkFailed( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void mojoSkipped( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void mojoStarted( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void mojoSucceeded( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void mojoFailed( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void forkedProjectStarted( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void forkedProjectSucceeded( ExecutionEvent event )
- {
- // default does nothing
- }
-
- public void forkedProjectFailed( ExecutionEvent event )
- {
- // default does nothing
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildFailure.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildFailure.java
deleted file mode 100644
index bf8f62ba..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildFailure.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.MavenProject;
-
-/**
- * Summarizes the result of a failed project build in the reactor.
- *
- * @author Benjamin Bentmann
- */
-public class BuildFailure
- extends BuildSummary
-{
-
- /**
- * The cause of the build failure.
- */
- private final Throwable cause;
-
- /**
- * Creates a new build summary for the specified project.
- *
- * @param project The project being summarized, must not be {@code null}.
- * @param time The build time of the project in milliseconds.
- * @param cause The cause of the build failure, may be {@code null}.
- */
- public BuildFailure( MavenProject project, long time, Throwable cause )
- {
- super( project, time );
- this.cause = cause;
- }
-
- /**
- * Gets the cause of the build failure.
- *
- * @return The cause of the build failure or {@code null} if unknown.
- */
- public Throwable getCause()
- {
- return cause;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSuccess.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSuccess.java
deleted file mode 100644
index 3d0e8bd7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSuccess.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.MavenProject;
-
-/**
- * Summarizes the result of a successful project build in the reactor.
- *
- * @author Benjamin Bentmann
- */
-public class BuildSuccess
- extends BuildSummary
-{
-
- /**
- * Creates a new build summary for the specified project.
- *
- * @param project The project being summarized, must not be {@code null}.
- * @param time The build time of the project in milliseconds.
- */
- public BuildSuccess( MavenProject project, long time )
- {
- super( project, time );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSummary.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSummary.java
deleted file mode 100644
index ec23f721..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/BuildSummary.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.MavenProject;
-
-/**
- * Summarizes the result of a project build in the reactor.
- *
- * @author Benjamin Bentmann
- */
-public abstract class BuildSummary
-{
-
- /**
- * The project being summarized.
- */
- private final MavenProject project;
-
- /**
- * The build time of the project in milliseconds.
- */
- private final long time;
-
- /**
- * Creates a new build summary for the specified project.
- *
- * @param project The project being summarized, must not be {@code null}.
- * @param time The build time of the project in milliseconds.
- */
- protected BuildSummary( MavenProject project, long time )
- {
- if ( project == null )
- {
- throw new IllegalArgumentException( "project missing" );
- }
- this.project = project;
- this.time = time;
- }
-
- /**
- * Gets the project being summarized.
- *
- * @return The project being summarized, never {@code null}.
- */
- public MavenProject getProject()
- {
- return project;
- }
-
- /**
- * Gets the build time of the project in milliseconds.
- *
- * @return The build time of the project in milliseconds.
- */
- public long getTime()
- {
- return time;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
deleted file mode 100644
index e5509dca..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
+++ /dev/null
@@ -1,1299 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.eventspy.internal.EventSpyDispatcher;
-import org.apache.maven.model.Profile;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Server;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.eclipse.aether.DefaultRepositoryCache;
-import org.eclipse.aether.RepositoryCache;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.transfer.TransferListener;
-
-import com.google.common.collect.Maps;
-
-/**
- * @author Jason van Zyl
- */
-public class DefaultMavenExecutionRequest
- implements MavenExecutionRequest
-{
-
- private RepositoryCache repositoryCache = new DefaultRepositoryCache();
-
- private WorkspaceReader workspaceReader;
-
- private ArtifactRepository localRepository;
-
- private EventSpyDispatcher eventSpyDispatcher;
-
- private File localRepositoryPath;
-
- private boolean offline = false;
-
- private boolean interactiveMode = true;
-
- private boolean cacheTransferError;
-
- private boolean cacheNotFound;
-
- private List<Proxy> proxies;
-
- private List<Server> servers;
-
- private List<Mirror> mirrors;
-
- private List<Profile> profiles;
-
- private List<String> pluginGroups;
-
- private boolean isProjectPresent = true;
-
- // ----------------------------------------------------------------------------
- // We need to allow per execution user and global settings as the embedder
- // might be running in a mode where its executing many threads with totally
- // different settings.
- // ----------------------------------------------------------------------------
-
- private File userSettingsFile;
-
- private File globalSettingsFile;
-
- private File userToolchainsFile;
-
- private File globalToolchainsFile;
-
- // ----------------------------------------------------------------------------
- // Request
- // ----------------------------------------------------------------------------
-
- private File multiModuleProjectDirectory;
-
- private File basedir;
-
- private List<String> goals;
-
- private boolean useReactor = false;
-
- private boolean recursive = true;
-
- private File pom;
-
- private String reactorFailureBehavior = REACTOR_FAIL_FAST;
-
- private List<String> selectedProjects;
-
- private List<String> excludedProjects;
-
- private String resumeFrom;
-
- private String makeBehavior;
-
- private Properties systemProperties;
-
- private Properties userProperties;
-
- private Date startTime;
-
- private boolean showErrors = false;
-
- private List<String> activeProfiles;
-
- private List<String> inactiveProfiles;
-
- private TransferListener transferListener;
-
- private int loggingLevel = LOGGING_LEVEL_INFO;
-
- private String globalChecksumPolicy;
-
- private boolean updateSnapshots = false;
-
- private List<ArtifactRepository> remoteRepositories;
-
- private List<ArtifactRepository> pluginArtifactRepositories;
-
- private ExecutionListener executionListener;
-
- private int degreeOfConcurrency = 1;
-
- private String builderId = "singlethreaded";
-
- private Map<String, List<ToolchainModel>> toolchains;
-
- /**
- * Suppress SNAPSHOT updates.
- *
- * @issue MNG-2681
- */
- private boolean noSnapshotUpdates;
-
- private boolean useLegacyLocalRepositoryManager = false;
-
- private Map<String, Object> data;
-
- public DefaultMavenExecutionRequest()
- {
- }
-
- public static MavenExecutionRequest copy( MavenExecutionRequest original )
- {
- DefaultMavenExecutionRequest copy = new DefaultMavenExecutionRequest();
- copy.setLocalRepository( original.getLocalRepository() );
- copy.setLocalRepositoryPath( original.getLocalRepositoryPath() );
- copy.setOffline( original.isOffline() );
- copy.setInteractiveMode( original.isInteractiveMode() );
- copy.setCacheNotFound( original.isCacheNotFound() );
- copy.setCacheTransferError( original.isCacheTransferError() );
- copy.setProxies( original.getProxies() );
- copy.setServers( original.getServers() );
- copy.setMirrors( original.getMirrors() );
- copy.setProfiles( original.getProfiles() );
- copy.setPluginGroups( original.getPluginGroups() );
- copy.setProjectPresent( original.isProjectPresent() );
- copy.setUserSettingsFile( original.getUserSettingsFile() );
- copy.setGlobalSettingsFile( original.getGlobalSettingsFile() );
- copy.setUserToolchainsFile( original.getUserToolchainsFile() );
- copy.setGlobalToolchainsFile( original.getGlobalToolchainsFile() );
- copy.setBaseDirectory( ( original.getBaseDirectory() != null ) ? new File( original.getBaseDirectory() )
- : null );
- copy.setGoals( original.getGoals() );
- copy.setRecursive( original.isRecursive() );
- copy.setPom( original.getPom() );
- copy.setSystemProperties( original.getSystemProperties() );
- copy.setUserProperties( original.getUserProperties() );
- copy.setShowErrors( original.isShowErrors() );
- copy.setActiveProfiles( original.getActiveProfiles() );
- copy.setInactiveProfiles( original.getInactiveProfiles() );
- copy.setTransferListener( original.getTransferListener() );
- copy.setLoggingLevel( original.getLoggingLevel() );
- copy.setGlobalChecksumPolicy( original.getGlobalChecksumPolicy() );
- copy.setUpdateSnapshots( original.isUpdateSnapshots() );
- copy.setRemoteRepositories( original.getRemoteRepositories() );
- copy.setPluginArtifactRepositories( original.getPluginArtifactRepositories() );
- copy.setRepositoryCache( original.getRepositoryCache() );
- copy.setWorkspaceReader( original.getWorkspaceReader() );
- copy.setNoSnapshotUpdates( original.isNoSnapshotUpdates() );
- copy.setExecutionListener( original.getExecutionListener() );
- copy.setUseLegacyLocalRepository( original.isUseLegacyLocalRepository() );
- copy.setBuilderId( original.getBuilderId() );
- return copy;
- }
-
- @Override
- public String getBaseDirectory()
- {
- if ( basedir == null )
- {
- return null;
- }
-
- return basedir.getAbsolutePath();
- }
-
- @Override
- public ArtifactRepository getLocalRepository()
- {
- return localRepository;
- }
-
- @Override
- public File getLocalRepositoryPath()
- {
- return localRepositoryPath;
- }
-
- @Override
- public List<String> getGoals()
- {
- if ( goals == null )
- {
- goals = new ArrayList<String>();
- }
- return goals;
- }
-
- @Override
- public Properties getSystemProperties()
- {
- if ( systemProperties == null )
- {
- systemProperties = new Properties();
- }
-
- return systemProperties;
- }
-
- @Override
- public Properties getUserProperties()
- {
- if ( userProperties == null )
- {
- userProperties = new Properties();
- }
-
- return userProperties;
- }
-
- @Override
- public File getPom()
- {
- return pom;
- }
-
- @Override
- public String getReactorFailureBehavior()
- {
- return reactorFailureBehavior;
- }
-
- @Override
- public List<String> getSelectedProjects()
- {
- if ( selectedProjects == null )
- {
- selectedProjects = new ArrayList<String>();
- }
-
- return selectedProjects;
- }
-
- @Override
- public List<String> getExcludedProjects()
- {
- if ( excludedProjects == null )
- {
- excludedProjects = new ArrayList<String>();
- }
-
- return excludedProjects;
- }
-
- @Override
- public String getResumeFrom()
- {
- return resumeFrom;
- }
-
- @Override
- public String getMakeBehavior()
- {
- return makeBehavior;
- }
-
- @Override
- public Date getStartTime()
- {
- return startTime;
- }
-
- @Override
- public boolean isShowErrors()
- {
- return showErrors;
- }
-
- @Override
- public boolean isInteractiveMode()
- {
- return interactiveMode;
- }
-
- @Override
- public MavenExecutionRequest setActiveProfiles( List<String> activeProfiles )
- {
- if ( activeProfiles != null )
- {
- this.activeProfiles = new ArrayList<String>( activeProfiles );
- }
- else
- {
- this.activeProfiles = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setInactiveProfiles( List<String> inactiveProfiles )
- {
- if ( inactiveProfiles != null )
- {
- this.inactiveProfiles = new ArrayList<String>( inactiveProfiles );
- }
- else
- {
- this.inactiveProfiles = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
- {
- if ( remoteRepositories != null )
- {
- this.remoteRepositories = new ArrayList<ArtifactRepository>( remoteRepositories );
- }
- else
- {
- this.remoteRepositories = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifactRepositories )
- {
- if ( pluginArtifactRepositories != null )
- {
- this.pluginArtifactRepositories = new ArrayList<ArtifactRepository>( pluginArtifactRepositories );
- }
- else
- {
- this.pluginArtifactRepositories = null;
- }
-
- return this;
- }
-
- public void setProjectBuildingConfiguration( ProjectBuildingRequest projectBuildingConfiguration )
- {
- this.projectBuildingRequest = projectBuildingConfiguration;
- }
-
- @Override
- public List<String> getActiveProfiles()
- {
- if ( activeProfiles == null )
- {
- activeProfiles = new ArrayList<String>();
- }
- return activeProfiles;
- }
-
- @Override
- public List<String> getInactiveProfiles()
- {
- if ( inactiveProfiles == null )
- {
- inactiveProfiles = new ArrayList<String>();
- }
- return inactiveProfiles;
- }
-
- @Override
- public TransferListener getTransferListener()
- {
- return transferListener;
- }
-
- @Override
- public int getLoggingLevel()
- {
- return loggingLevel;
- }
-
- @Override
- public boolean isOffline()
- {
- return offline;
- }
-
- @Override
- public boolean isUpdateSnapshots()
- {
- return updateSnapshots;
- }
-
- @Override
- public boolean isNoSnapshotUpdates()
- {
- return noSnapshotUpdates;
- }
-
- @Override
- public String getGlobalChecksumPolicy()
- {
- return globalChecksumPolicy;
- }
-
- @Override
- public boolean isRecursive()
- {
- return recursive;
- }
-
- // ----------------------------------------------------------------------
- //
- // ----------------------------------------------------------------------
-
- @Override
- public MavenExecutionRequest setBaseDirectory( File basedir )
- {
- this.basedir = basedir;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setStartTime( Date startTime )
- {
- this.startTime = startTime;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setShowErrors( boolean showErrors )
- {
- this.showErrors = showErrors;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setGoals( List<String> goals )
- {
- if ( goals != null )
- {
- this.goals = new ArrayList<String>( goals );
- }
- else
- {
- this.goals = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setLocalRepository( ArtifactRepository localRepository )
- {
- this.localRepository = localRepository;
-
- if ( localRepository != null )
- {
- setLocalRepositoryPath( new File( localRepository.getBasedir() ).getAbsoluteFile() );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setLocalRepositoryPath( File localRepository )
- {
- localRepositoryPath = localRepository;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setLocalRepositoryPath( String localRepository )
- {
- localRepositoryPath = ( localRepository != null ) ? new File( localRepository ) : null;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setSystemProperties( Properties properties )
- {
- if ( properties != null )
- {
- this.systemProperties = new Properties();
- this.systemProperties.putAll( properties );
- }
- else
- {
- this.systemProperties = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setUserProperties( Properties userProperties )
- {
- if ( userProperties != null )
- {
- this.userProperties = new Properties();
- this.userProperties.putAll( userProperties );
- }
- else
- {
- this.userProperties = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setReactorFailureBehavior( String failureBehavior )
- {
- reactorFailureBehavior = failureBehavior;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setSelectedProjects( List<String> selectedProjects )
- {
- if ( selectedProjects != null )
- {
- this.selectedProjects = new ArrayList<String>( selectedProjects );
- }
- else
- {
- this.selectedProjects = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setExcludedProjects( List<String> excludedProjects )
- {
- if ( excludedProjects != null )
- {
- this.excludedProjects = new ArrayList<String>( excludedProjects );
- }
- else
- {
- this.excludedProjects = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setResumeFrom( String project )
- {
- this.resumeFrom = project;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setMakeBehavior( String makeBehavior )
- {
- this.makeBehavior = makeBehavior;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addActiveProfile( String profile )
- {
- if ( !getActiveProfiles().contains( profile ) )
- {
- getActiveProfiles().add( profile );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addInactiveProfile( String profile )
- {
- if ( !getInactiveProfiles().contains( profile ) )
- {
- getInactiveProfiles().add( profile );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addActiveProfiles( List<String> profiles )
- {
- for ( String profile : profiles )
- {
- addActiveProfile( profile );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addInactiveProfiles( List<String> profiles )
- {
- for ( String profile : profiles )
- {
- addInactiveProfile( profile );
- }
-
- return this;
- }
-
- public MavenExecutionRequest setUseReactor( boolean reactorActive )
- {
- useReactor = reactorActive;
-
- return this;
- }
-
- public boolean useReactor()
- {
- return useReactor;
- }
-
- /** @deprecated use {@link #setPom(File)} */
- @Deprecated
- public MavenExecutionRequest setPomFile( String pomFilename )
- {
- if ( pomFilename != null )
- {
- pom = new File( pomFilename );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setPom( File pom )
- {
- this.pom = pom;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setInteractiveMode( boolean interactive )
- {
- interactiveMode = interactive;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setTransferListener( TransferListener transferListener )
- {
- this.transferListener = transferListener;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setLoggingLevel( int loggingLevel )
- {
- this.loggingLevel = loggingLevel;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setOffline( boolean offline )
- {
- this.offline = offline;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setUpdateSnapshots( boolean updateSnapshots )
- {
- this.updateSnapshots = updateSnapshots;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setNoSnapshotUpdates( boolean noSnapshotUpdates )
- {
- this.noSnapshotUpdates = noSnapshotUpdates;
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setGlobalChecksumPolicy( String globalChecksumPolicy )
- {
- this.globalChecksumPolicy = globalChecksumPolicy;
-
- return this;
- }
-
- // ----------------------------------------------------------------------------
- // Settings equivalents
- // ----------------------------------------------------------------------------
-
- @Override
- public List<Proxy> getProxies()
- {
- if ( proxies == null )
- {
- proxies = new ArrayList<Proxy>();
- }
- return proxies;
- }
-
- @Override
- public MavenExecutionRequest setProxies( List<Proxy> proxies )
- {
- if ( proxies != null )
- {
- this.proxies = new ArrayList<Proxy>( proxies );
- }
- else
- {
- this.proxies = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addProxy( Proxy proxy )
- {
- if ( proxy == null )
- {
- throw new IllegalArgumentException( "proxy missing" );
- }
-
- for ( Proxy p : getProxies() )
- {
- if ( p.getId() != null && p.getId().equals( proxy.getId() ) )
- {
- return this;
- }
- }
-
- getProxies().add( proxy );
-
- return this;
- }
-
- @Override
- public List<Server> getServers()
- {
- if ( servers == null )
- {
- servers = new ArrayList<Server>();
- }
- return servers;
- }
-
- @Override
- public MavenExecutionRequest setServers( List<Server> servers )
- {
- if ( servers != null )
- {
- this.servers = new ArrayList<Server>( servers );
- }
- else
- {
- this.servers = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addServer( Server server )
- {
- if ( server == null )
- {
- throw new IllegalArgumentException( "server missing" );
- }
-
- for ( Server p : getServers() )
- {
- if ( p.getId() != null && p.getId().equals( server.getId() ) )
- {
- return this;
- }
- }
-
- getServers().add( server );
-
- return this;
- }
-
- @Override
- public List<Mirror> getMirrors()
- {
- if ( mirrors == null )
- {
- mirrors = new ArrayList<Mirror>();
- }
- return mirrors;
- }
-
- @Override
- public MavenExecutionRequest setMirrors( List<Mirror> mirrors )
- {
- if ( mirrors != null )
- {
- this.mirrors = new ArrayList<Mirror>( mirrors );
- }
- else
- {
- this.mirrors = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addMirror( Mirror mirror )
- {
- if ( mirror == null )
- {
- throw new IllegalArgumentException( "mirror missing" );
- }
-
- for ( Mirror p : getMirrors() )
- {
- if ( p.getId() != null && p.getId().equals( mirror.getId() ) )
- {
- return this;
- }
- }
-
- getMirrors().add( mirror );
-
- return this;
- }
-
- @Override
- public List<Profile> getProfiles()
- {
- if ( profiles == null )
- {
- profiles = new ArrayList<Profile>();
- }
- return profiles;
- }
-
- @Override
- public MavenExecutionRequest setProfiles( List<Profile> profiles )
- {
- if ( profiles != null )
- {
- this.profiles = new ArrayList<Profile>( profiles );
- }
- else
- {
- this.profiles = null;
- }
-
- return this;
- }
-
- @Override
- public List<String> getPluginGroups()
- {
- if ( pluginGroups == null )
- {
- pluginGroups = new ArrayList<String>();
- }
-
- return pluginGroups;
- }
-
- @Override
- public MavenExecutionRequest setPluginGroups( List<String> pluginGroups )
- {
- if ( pluginGroups != null )
- {
- this.pluginGroups = new ArrayList<String>( pluginGroups );
- }
- else
- {
- this.pluginGroups = null;
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addPluginGroup( String pluginGroup )
- {
- if ( !getPluginGroups().contains( pluginGroup ) )
- {
- getPluginGroups().add( pluginGroup );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest addPluginGroups( List<String> pluginGroups )
- {
- for ( String pluginGroup : pluginGroups )
- {
- addPluginGroup( pluginGroup );
- }
-
- return this;
- }
-
- @Override
- public MavenExecutionRequest setRecursive( boolean recursive )
- {
- this.recursive = recursive;
-
- return this;
- }
-
- // calculated from request attributes.
- private ProjectBuildingRequest projectBuildingRequest;
-
- @Override
- public boolean isProjectPresent()
- {
- return isProjectPresent;
- }
-
- @Override
- public MavenExecutionRequest setProjectPresent( boolean projectPresent )
- {
- isProjectPresent = projectPresent;
-
- return this;
- }
-
- // Settings files
-
- @Override
- public File getUserSettingsFile()
- {
- return userSettingsFile;
- }
-
- @Override
- public MavenExecutionRequest setUserSettingsFile( File userSettingsFile )
- {
- this.userSettingsFile = userSettingsFile;
-
- return this;
- }
-
- @Override
- public File getGlobalSettingsFile()
- {
- return globalSettingsFile;
- }
-
- @Override
- public MavenExecutionRequest setGlobalSettingsFile( File globalSettingsFile )
- {
- this.globalSettingsFile = globalSettingsFile;
-
- return this;
- }
-
- @Override
- public File getUserToolchainsFile()
- {
- return userToolchainsFile;
- }
-
- @Override
- public MavenExecutionRequest setUserToolchainsFile( File userToolchainsFile )
- {
- this.userToolchainsFile = userToolchainsFile;
-
- return this;
- }
-
- @Override
- public File getGlobalToolchainsFile()
- {
- return globalToolchainsFile;
- }
-
- @Override
- public MavenExecutionRequest setGlobalToolchainsFile( File globalToolchainsFile )
- {
- this.globalToolchainsFile = globalToolchainsFile;
- return this;
- }
-
- @Override
- public MavenExecutionRequest addRemoteRepository( ArtifactRepository repository )
- {
- for ( ArtifactRepository repo : getRemoteRepositories() )
- {
- if ( repo.getId() != null && repo.getId().equals( repository.getId() ) )
- {
- return this;
- }
- }
-
- getRemoteRepositories().add( repository );
-
- return this;
- }
-
- @Override
- public List<ArtifactRepository> getRemoteRepositories()
- {
- if ( remoteRepositories == null )
- {
- remoteRepositories = new ArrayList<ArtifactRepository>();
- }
- return remoteRepositories;
- }
-
- @Override
- public MavenExecutionRequest addPluginArtifactRepository( ArtifactRepository repository )
- {
- for ( ArtifactRepository repo : getPluginArtifactRepositories() )
- {
- if ( repo.getId() != null && repo.getId().equals( repository.getId() ) )
- {
- return this;
- }
- }
-
- getPluginArtifactRepositories().add( repository );
-
- return this;
- }
-
- @Override
- public List<ArtifactRepository> getPluginArtifactRepositories()
- {
- if ( pluginArtifactRepositories == null )
- {
- pluginArtifactRepositories = new ArrayList<ArtifactRepository>();
- }
- return pluginArtifactRepositories;
- }
-
- // TODO: this does not belong here.
- @Override
- public ProjectBuildingRequest getProjectBuildingRequest()
- {
- if ( projectBuildingRequest == null )
- {
- projectBuildingRequest = new DefaultProjectBuildingRequest();
- projectBuildingRequest.setLocalRepository( getLocalRepository() );
- projectBuildingRequest.setSystemProperties( getSystemProperties() );
- projectBuildingRequest.setUserProperties( getUserProperties() );
- projectBuildingRequest.setRemoteRepositories( getRemoteRepositories() );
- projectBuildingRequest.setPluginArtifactRepositories( getPluginArtifactRepositories() );
- projectBuildingRequest.setActiveProfileIds( getActiveProfiles() );
- projectBuildingRequest.setInactiveProfileIds( getInactiveProfiles() );
- projectBuildingRequest.setProfiles( getProfiles() );
- projectBuildingRequest.setProcessPlugins( true );
- projectBuildingRequest.setBuildStartTime( getStartTime() );
- }
-
- return projectBuildingRequest;
- }
-
- @Override
- public MavenExecutionRequest addProfile( Profile profile )
- {
- if ( profile == null )
- {
- throw new IllegalArgumentException( "profile missing" );
- }
-
- for ( Profile p : getProfiles() )
- {
- if ( p.getId() != null && p.getId().equals( profile.getId() ) )
- {
- return this;
- }
- }
-
- getProfiles().add( profile );
-
- return this;
- }
-
- @Override
- public RepositoryCache getRepositoryCache()
- {
- return repositoryCache;
- }
-
- @Override
- public MavenExecutionRequest setRepositoryCache( RepositoryCache repositoryCache )
- {
- this.repositoryCache = repositoryCache;
-
- return this;
- }
-
- @Override
- public ExecutionListener getExecutionListener()
- {
- return executionListener;
- }
-
- @Override
- public MavenExecutionRequest setExecutionListener( ExecutionListener executionListener )
- {
- this.executionListener = executionListener;
-
- return this;
- }
-
- @Override
- public void setDegreeOfConcurrency( final int degreeOfConcurrency )
- {
- this.degreeOfConcurrency = degreeOfConcurrency;
- }
-
- @Override
- public int getDegreeOfConcurrency()
- {
- return degreeOfConcurrency;
- }
-
- @Override
- public WorkspaceReader getWorkspaceReader()
- {
- return workspaceReader;
- }
-
- @Override
- public MavenExecutionRequest setWorkspaceReader( WorkspaceReader workspaceReader )
- {
- this.workspaceReader = workspaceReader;
- return this;
- }
-
- @Override
- public boolean isCacheTransferError()
- {
- return cacheTransferError;
- }
-
- @Override
- public MavenExecutionRequest setCacheTransferError( boolean cacheTransferError )
- {
- this.cacheTransferError = cacheTransferError;
- return this;
- }
-
- @Override
- public boolean isCacheNotFound()
- {
- return cacheNotFound;
- }
-
- @Override
- public MavenExecutionRequest setCacheNotFound( boolean cacheNotFound )
- {
- this.cacheNotFound = cacheNotFound;
- return this;
- }
-
- @Override
- public boolean isUseLegacyLocalRepository()
- {
- return this.useLegacyLocalRepositoryManager;
- }
-
- @Override
- public MavenExecutionRequest setUseLegacyLocalRepository( boolean useLegacyLocalRepositoryManager )
- {
- this.useLegacyLocalRepositoryManager = useLegacyLocalRepositoryManager;
- return this;
- }
-
- @Override
- public MavenExecutionRequest setBuilderId( String builderId )
- {
- this.builderId = builderId;
- return this;
- }
-
- @Override
- public String getBuilderId()
- {
- return builderId;
- }
-
- @Override
- public Map<String, List<ToolchainModel>> getToolchains()
- {
- if ( toolchains == null )
- {
- toolchains = new HashMap<String, List<ToolchainModel>>();
- }
- return toolchains;
- }
-
- @Override
- public MavenExecutionRequest setToolchains( Map<String, List<ToolchainModel>> toolchains )
- {
- this.toolchains = toolchains;
- return this;
- }
-
- @Override
- public void setMultiModuleProjectDirectory( File directory )
- {
- this.multiModuleProjectDirectory = directory;
- }
-
- @Override
- public File getMultiModuleProjectDirectory()
- {
- return multiModuleProjectDirectory;
- }
-
- @Override
- public MavenExecutionRequest setEventSpyDispatcher( EventSpyDispatcher eventSpyDispatcher )
- {
- this.eventSpyDispatcher = eventSpyDispatcher;
- return this;
- }
-
- @Override
- public EventSpyDispatcher getEventSpyDispatcher()
- {
- return eventSpyDispatcher;
- }
-
- @Override
- public Map<String, Object> getData()
- {
- if ( data == null )
- {
- data = Maps.newHashMap();
- }
-
- return data;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
deleted file mode 100644
index 7568fdee..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
+++ /dev/null
@@ -1,318 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.bridge.MavenRepositorySystem;
-import org.apache.maven.repository.RepositorySystem;
-//
-// All of this needs to go away and be couched in terms of the execution request
-//
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Repository;
-import org.apache.maven.settings.Server;
-import org.apache.maven.settings.Settings;
-import org.apache.maven.settings.SettingsUtils;
-//
-// Settings in core
-//
-import org.apache.maven.toolchain.model.PersistedToolchains;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.util.StringUtils;
-
-@Named
-public class DefaultMavenExecutionRequestPopulator
- implements MavenExecutionRequestPopulator
-{
-
- private final MavenRepositorySystem repositorySystem;
-
- @Inject
- public DefaultMavenExecutionRequestPopulator( MavenRepositorySystem repositorySystem )
- {
- this.repositorySystem = repositorySystem;
- }
-
-
- @Override
- public MavenExecutionRequest populateFromToolchains( MavenExecutionRequest request, PersistedToolchains toolchains )
- throws MavenExecutionRequestPopulationException
- {
- if ( toolchains != null )
- {
- Map<String, List<ToolchainModel>> groupedToolchains = new HashMap<String, List<ToolchainModel>>( 2 );
-
- for ( ToolchainModel model : toolchains.getToolchains() )
- {
- if ( !groupedToolchains.containsKey( model.getType() ) )
- {
- groupedToolchains.put( model.getType(), new ArrayList<ToolchainModel>() );
- }
-
- groupedToolchains.get( model.getType() ).add( model );
- }
-
- request.setToolchains( groupedToolchains );
- }
- return request;
- }
-
- @Override
- public MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
- throws MavenExecutionRequestPopulationException
- {
- baseDirectory( request );
-
- localRepository( request );
-
- populateDefaultPluginGroups( request );
-
- injectDefaultRepositories( request );
-
- injectDefaultPluginRepositories( request );
-
- return request;
- }
-
- //
- //
- //
-
- private void populateDefaultPluginGroups( MavenExecutionRequest request )
- {
- request.addPluginGroup( "org.apache.maven.plugins" );
- request.addPluginGroup( "org.codehaus.mojo" );
- }
-
- private void injectDefaultRepositories( MavenExecutionRequest request )
- throws MavenExecutionRequestPopulationException
- {
- Set<String> definedRepositories = repositorySystem.getRepoIds( request.getRemoteRepositories() );
-
- if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID ) )
- {
- try
- {
- request.addRemoteRepository( repositorySystem.createDefaultRemoteRepository( request ) );
- }
- catch ( Exception e )
- {
- throw new MavenExecutionRequestPopulationException( "Cannot create default remote repository.", e );
- }
- }
- }
-
- private void injectDefaultPluginRepositories( MavenExecutionRequest request )
- throws MavenExecutionRequestPopulationException
- {
- Set<String> definedRepositories = repositorySystem.getRepoIds( request.getPluginArtifactRepositories() );
-
- if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID ) )
- {
- try
- {
- request.addPluginArtifactRepository( repositorySystem.createDefaultRemoteRepository( request ) );
- }
- catch ( Exception e )
- {
- throw new MavenExecutionRequestPopulationException( "Cannot create default remote repository.", e );
- }
- }
- }
-
- private void localRepository( MavenExecutionRequest request )
- throws MavenExecutionRequestPopulationException
- {
- // ------------------------------------------------------------------------
- // Local Repository
- //
- // 1. Use a value has been passed in via the configuration
- // 2. Use value in the resultant settings
- // 3. Use default value
- // ------------------------------------------------------------------------
-
- if ( request.getLocalRepository() == null )
- {
- request.setLocalRepository( createLocalRepository( request ) );
- }
-
- if ( request.getLocalRepositoryPath() == null )
- {
- request.setLocalRepositoryPath( new File( request.getLocalRepository().getBasedir() ).getAbsoluteFile() );
- }
- }
-
- // ------------------------------------------------------------------------
- // Artifact Transfer Mechanism
- // ------------------------------------------------------------------------
-
- private ArtifactRepository createLocalRepository( MavenExecutionRequest request )
- throws MavenExecutionRequestPopulationException
- {
- String localRepositoryPath = null;
-
- if ( request.getLocalRepositoryPath() != null )
- {
- localRepositoryPath = request.getLocalRepositoryPath().getAbsolutePath();
- }
-
- if ( StringUtils.isEmpty( localRepositoryPath ) )
- {
- localRepositoryPath = RepositorySystem.defaultUserLocalRepository.getAbsolutePath();
- }
-
- try
- {
- return repositorySystem.createLocalRepository( request, new File( localRepositoryPath ) );
- }
- catch ( Exception e )
- {
- throw new MavenExecutionRequestPopulationException( "Cannot create local repository.", e );
- }
- }
-
- private void baseDirectory( MavenExecutionRequest request )
- {
- if ( request.getBaseDirectory() == null && request.getPom() != null )
- {
- request.setBaseDirectory( request.getPom().getAbsoluteFile().getParentFile() );
- }
- }
-
- /*if_not[MAVEN4]*/
-
- @Override
- @Deprecated
- public MavenExecutionRequest populateFromSettings( MavenExecutionRequest request, Settings settings )
- throws MavenExecutionRequestPopulationException
- {
- if ( settings == null )
- {
- return request;
- }
-
- request.setOffline( settings.isOffline() );
-
- request.setInteractiveMode( settings.isInteractiveMode() );
-
- request.setPluginGroups( settings.getPluginGroups() );
-
- request.setLocalRepositoryPath( settings.getLocalRepository() );
-
- for ( Server server : settings.getServers() )
- {
- server = server.clone();
-
- request.addServer( server );
- }
-
- // <proxies>
- // <proxy>
- // <active>true</active>
- // <protocol>http</protocol>
- // <host>proxy.somewhere.com</host>
- // <port>8080</port>
- // <username>proxyuser</username>
- // <password>somepassword</password>
- // <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
- // </proxy>
- // </proxies>
-
- for ( Proxy proxy : settings.getProxies() )
- {
- if ( !proxy.isActive() )
- {
- continue;
- }
-
- proxy = proxy.clone();
-
- request.addProxy( proxy );
- }
-
- // <mirrors>
- // <mirror>
- // <id>nexus</id>
- // <mirrorOf>*</mirrorOf>
- // <url>http://repository.sonatype.org/content/groups/public</url>
- // </mirror>
- // </mirrors>
-
- for ( Mirror mirror : settings.getMirrors() )
- {
- mirror = mirror.clone();
-
- request.addMirror( mirror );
- }
-
- request.setActiveProfiles( settings.getActiveProfiles() );
-
- for ( org.apache.maven.settings.Profile rawProfile : settings.getProfiles() )
- {
- request.addProfile( SettingsUtils.convertFromSettingsProfile( rawProfile ) );
-
- if ( settings.getActiveProfiles().contains( rawProfile.getId() ) )
- {
- List<Repository> remoteRepositories = rawProfile.getRepositories();
- for ( Repository remoteRepository : remoteRepositories )
- {
- try
- {
- request.addRemoteRepository( repositorySystem.buildArtifactRepository( remoteRepository ) );
- }
- catch ( InvalidRepositoryException e )
- {
- // do nothing for now
- }
- }
-
- List<Repository> pluginRepositories = rawProfile.getPluginRepositories();
- for ( Repository pluginRepo : pluginRepositories )
- {
- try
- {
- request.addPluginArtifactRepository( repositorySystem.buildArtifactRepository( pluginRepo ) );
- }
- catch ( InvalidRepositoryException e )
- {
- // do nothing for now
- }
- }
- }
- }
-
- return request;
- }
-
- /*end[MAVEN4]*/
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java
deleted file mode 100644
index a8967eda..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.IdentityHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.apache.maven.project.DependencyResolutionResult;
-import org.apache.maven.project.MavenProject;
-
-/** @author Jason van Zyl */
-public class DefaultMavenExecutionResult
- implements MavenExecutionResult
-{
- private MavenProject project;
-
- private List<MavenProject> topologicallySortedProjects = Collections.emptyList();
-
- private DependencyResolutionResult dependencyResolutionResult;
-
- private final List<Throwable> exceptions = new CopyOnWriteArrayList<Throwable>();
-
- private final Map<MavenProject, BuildSummary> buildSummaries =
- Collections.synchronizedMap( new IdentityHashMap<MavenProject, BuildSummary>() );
-
- public MavenExecutionResult setProject( MavenProject project )
- {
- this.project = project;
-
- return this;
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public MavenExecutionResult setTopologicallySortedProjects( List<MavenProject> topologicallySortedProjects )
- {
- this.topologicallySortedProjects = topologicallySortedProjects;
-
- return this;
- }
-
- public List<MavenProject> getTopologicallySortedProjects()
- {
- return null == topologicallySortedProjects ? Collections.<MavenProject>emptyList()
- : topologicallySortedProjects;
- }
-
- public DependencyResolutionResult getDependencyResolutionResult()
- {
- return dependencyResolutionResult;
- }
-
- public MavenExecutionResult setDependencyResolutionResult( DependencyResolutionResult dependencyResolutionResult )
- {
- this.dependencyResolutionResult = dependencyResolutionResult;
-
- return this;
- }
-
- public List<Throwable> getExceptions()
- {
- return exceptions;
- }
-
- public MavenExecutionResult addException( Throwable t )
- {
- exceptions.add( t );
-
- return this;
- }
-
- public boolean hasExceptions()
- {
- return !getExceptions().isEmpty();
- }
-
- public BuildSummary getBuildSummary( MavenProject project )
- {
- return buildSummaries.get( project );
- }
-
- public void addBuildSummary( BuildSummary summary )
- {
- buildSummaries.put( summary.getProject(), summary );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java
deleted file mode 100644
index 0ee7f57a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionEvent.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Holds data relevant for an execution event.
- *
- * @author Benjamin Bentmann
- */
-public interface ExecutionEvent
-{
-
- /**
- * The possible types of execution events.
- */
- enum Type
- {
- ProjectDiscoveryStarted,
- SessionStarted,
- SessionEnded,
- ProjectSkipped,
- ProjectStarted,
- ProjectSucceeded,
- ProjectFailed,
- MojoSkipped,
- MojoStarted,
- MojoSucceeded,
- MojoFailed,
- ForkStarted,
- ForkSucceeded,
- ForkFailed,
- ForkedProjectStarted,
- ForkedProjectSucceeded,
- ForkedProjectFailed,
- }
-
- /**
- * Gets the type of the event.
- *
- * @return The type of the event, never {@code null}.
- */
- Type getType();
-
- /**
- * Gets the session from which this event originates.
- *
- * @return The current session, never {@code null}.
- */
- MavenSession getSession();
-
- /**
- * Gets the current project (if any).
- *
- * @return The current project or {@code null} if not applicable.
- */
- MavenProject getProject();
-
- /**
- * Gets the current mojo execution (if any).
- *
- * @return The current mojo execution or {@code null} if not applicable.
- */
- MojoExecution getMojoExecution();
-
- /**
- * Gets the exception that caused the event (if any).
- *
- * @return The exception or {@code null} if none.
- */
- Exception getException();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java
deleted file mode 100644
index ad3f345a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ExecutionListener.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Defines events that Maven fires during a build. <strong>Warning:</strong> This interface might be extended in future
- * Maven versions to support further events. Hence it is strongly recommended to derive custom listeners from
- * {@link AbstractExecutionListener} in order to avoid interoperability problems.
- *
- * @author Benjamin Bentmann
- */
-public interface ExecutionListener
-{
-
- void projectDiscoveryStarted( ExecutionEvent event );
-
- void sessionStarted( ExecutionEvent event );
-
- void sessionEnded( ExecutionEvent event );
-
- void projectSkipped( ExecutionEvent event );
-
- void projectStarted( ExecutionEvent event );
-
- void projectSucceeded( ExecutionEvent event );
-
- void projectFailed( ExecutionEvent event );
-
- void mojoSkipped( ExecutionEvent event );
-
- void mojoStarted( ExecutionEvent event );
-
- void mojoSucceeded( ExecutionEvent event );
-
- void mojoFailed( ExecutionEvent event );
-
- void forkStarted( ExecutionEvent event );
-
- void forkSucceeded( ExecutionEvent event );
-
- void forkFailed( ExecutionEvent event );
-
- void forkedProjectStarted( ExecutionEvent event );
-
- void forkedProjectSucceeded( ExecutionEvent event );
-
- void forkedProjectFailed( ExecutionEvent event );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
deleted file mode 100644
index 53f84c50..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
+++ /dev/null
@@ -1,443 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.eventspy.internal.EventSpyDispatcher;
-import org.apache.maven.model.Profile;
-import org.apache.maven.project.ProjectBuildingRequest;
-//
-// These settings values need to be removed and pushed down into a provider of configuration information
-//
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Server;
-//
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.RepositoryCache;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.transfer.TransferListener;
-
-/**
- * @author Jason van Zyl
- */
-public interface MavenExecutionRequest
-{
- // ----------------------------------------------------------------------
- // Logging
- // ----------------------------------------------------------------------
-
- int LOGGING_LEVEL_DEBUG = Logger.LEVEL_DEBUG;
-
- int LOGGING_LEVEL_INFO = Logger.LEVEL_INFO;
-
- int LOGGING_LEVEL_WARN = Logger.LEVEL_WARN;
-
- int LOGGING_LEVEL_ERROR = Logger.LEVEL_ERROR;
-
- int LOGGING_LEVEL_FATAL = Logger.LEVEL_FATAL;
-
- int LOGGING_LEVEL_DISABLED = Logger.LEVEL_DISABLED;
-
- // ----------------------------------------------------------------------
- // Reactor Failure Mode
- // ----------------------------------------------------------------------
-
- String REACTOR_FAIL_FAST = "FAIL_FAST";
-
- String REACTOR_FAIL_AT_END = "FAIL_AT_END";
-
- String REACTOR_FAIL_NEVER = "FAIL_NEVER";
-
- // ----------------------------------------------------------------------
- // Reactor Make Mode
- // ----------------------------------------------------------------------
-
- String REACTOR_MAKE_UPSTREAM = "make-upstream";
-
- String REACTOR_MAKE_DOWNSTREAM = "make-downstream";
-
- String REACTOR_MAKE_BOTH = "make-both";
-
- // ----------------------------------------------------------------------
- // Artifact repository policies
- // ----------------------------------------------------------------------
-
- String CHECKSUM_POLICY_FAIL = ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL;
-
- String CHECKSUM_POLICY_WARN = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
-
- // ----------------------------------------------------------------------
- //
- // ----------------------------------------------------------------------
-
- // Base directory
- MavenExecutionRequest setBaseDirectory( File basedir );
-
- String getBaseDirectory();
-
- // Timing (remove this)
- MavenExecutionRequest setStartTime( Date start );
-
- Date getStartTime();
-
- // Goals
- MavenExecutionRequest setGoals( List<String> goals );
-
- List<String> getGoals();
-
- // Properties
-
- /**
- * 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}.
- */
- MavenExecutionRequest setSystemProperties( Properties systemProperties );
-
- /**
- * 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 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}.
- */
- MavenExecutionRequest setUserProperties( Properties userProperties );
-
- /**
- * 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();
-
- // Reactor
- MavenExecutionRequest setReactorFailureBehavior( String failureBehavior );
-
- String getReactorFailureBehavior();
-
- MavenExecutionRequest setSelectedProjects( List<String> projects );
-
- List<String> getSelectedProjects();
-
- /**
- * @param projects the projects to exclude
- * @return this MavenExecutionRequest
- * @since 3.2
- */
- MavenExecutionRequest setExcludedProjects( List<String> projects );
-
- /**
- * @return the excluded projects, never {@code null}
- * @since 3.2
- */
- List<String> getExcludedProjects();
-
- MavenExecutionRequest setResumeFrom( String project );
-
- String getResumeFrom();
-
- MavenExecutionRequest setMakeBehavior( String makeBehavior );
-
- String getMakeBehavior();
-
- /**
- * Set's the parallel degree of concurrency used by the build.
- *
- * @param degreeOfConcurrency
- */
- void setDegreeOfConcurrency( int degreeOfConcurrency );
-
- /**
- * @return the degree of concurrency for the build.
- */
- int getDegreeOfConcurrency();
-
- // Recursive (really to just process the top-level POM)
- MavenExecutionRequest setRecursive( boolean recursive );
-
- boolean isRecursive();
-
- MavenExecutionRequest setPom( File pom );
-
- File getPom();
-
- // Errors
- MavenExecutionRequest setShowErrors( boolean showErrors );
-
- boolean isShowErrors();
-
- // Transfer listeners
- MavenExecutionRequest setTransferListener( TransferListener transferListener );
-
- TransferListener getTransferListener();
-
- // Logging
- MavenExecutionRequest setLoggingLevel( int loggingLevel );
-
- int getLoggingLevel();
-
- // Update snapshots
- MavenExecutionRequest setUpdateSnapshots( boolean updateSnapshots );
-
- boolean isUpdateSnapshots();
-
- MavenExecutionRequest setNoSnapshotUpdates( boolean noSnapshotUpdates );
-
- boolean isNoSnapshotUpdates();
-
- // Checksum policy
- MavenExecutionRequest setGlobalChecksumPolicy( String globalChecksumPolicy );
-
- String getGlobalChecksumPolicy();
-
- // Local repository
- MavenExecutionRequest setLocalRepositoryPath( String localRepository );
-
- MavenExecutionRequest setLocalRepositoryPath( File localRepository );
-
- File getLocalRepositoryPath();
-
- MavenExecutionRequest setLocalRepository( ArtifactRepository repository );
-
- ArtifactRepository getLocalRepository();
-
- // Interactive
- MavenExecutionRequest setInteractiveMode( boolean interactive );
-
- boolean isInteractiveMode();
-
- // Offline
- MavenExecutionRequest setOffline( boolean offline );
-
- boolean isOffline();
-
- boolean isCacheTransferError();
-
- MavenExecutionRequest setCacheTransferError( boolean cacheTransferError );
-
- boolean isCacheNotFound();
-
- MavenExecutionRequest setCacheNotFound( boolean cacheNotFound );
-
- // Profiles
- List<Profile> getProfiles();
-
- MavenExecutionRequest addProfile( Profile profile );
-
- MavenExecutionRequest setProfiles( List<Profile> profiles );
-
- MavenExecutionRequest addActiveProfile( String profile );
-
- MavenExecutionRequest addActiveProfiles( List<String> profiles );
-
- MavenExecutionRequest setActiveProfiles( List<String> profiles );
-
- List<String> getActiveProfiles();
-
- MavenExecutionRequest addInactiveProfile( String profile );
-
- MavenExecutionRequest addInactiveProfiles( List<String> profiles );
-
- MavenExecutionRequest setInactiveProfiles( List<String> profiles );
-
- List<String> getInactiveProfiles();
-
- // Proxies
- List<Proxy> getProxies();
-
- MavenExecutionRequest setProxies( List<Proxy> proxies );
-
- MavenExecutionRequest addProxy( Proxy proxy );
-
- // Servers
- List<Server> getServers();
-
- MavenExecutionRequest setServers( List<Server> servers );
-
- MavenExecutionRequest addServer( Server server );
-
- // Mirrors
- List<Mirror> getMirrors();
-
- MavenExecutionRequest setMirrors( List<Mirror> mirrors );
-
- MavenExecutionRequest addMirror( Mirror mirror );
-
- // Plugin groups
- List<String> getPluginGroups();
-
- MavenExecutionRequest setPluginGroups( List<String> pluginGroups );
-
- MavenExecutionRequest addPluginGroup( String pluginGroup );
-
- MavenExecutionRequest addPluginGroups( List<String> pluginGroups );
-
- boolean isProjectPresent();
-
- MavenExecutionRequest setProjectPresent( boolean isProjectPresent );
-
- File getUserSettingsFile();
-
- MavenExecutionRequest setUserSettingsFile( File userSettingsFile );
-
- File getGlobalSettingsFile();
-
- MavenExecutionRequest setGlobalSettingsFile( File globalSettingsFile );
-
- MavenExecutionRequest addRemoteRepository( ArtifactRepository repository );
-
- MavenExecutionRequest addPluginArtifactRepository( ArtifactRepository repository );
-
- /**
- * Set a new list of remote repositories to use the execution request. This is necessary if you perform
- * transformations on the remote repositories being used. For example if you replace existing repositories with
- * mirrors then it's easier to just replace the whole list with a new list of transformed repositories.
- *
- * @param repositories
- * @return This request, never {@code null}.
- */
- MavenExecutionRequest setRemoteRepositories( List<ArtifactRepository> repositories );
-
- List<ArtifactRepository> getRemoteRepositories();
-
- MavenExecutionRequest setPluginArtifactRepositories( List<ArtifactRepository> repositories );
-
- List<ArtifactRepository> getPluginArtifactRepositories();
-
- MavenExecutionRequest setRepositoryCache( RepositoryCache repositoryCache );
-
- RepositoryCache getRepositoryCache();
-
- WorkspaceReader getWorkspaceReader();
-
- MavenExecutionRequest setWorkspaceReader( WorkspaceReader workspaceReader );
-
- File getUserToolchainsFile();
-
- MavenExecutionRequest setUserToolchainsFile( File userToolchainsFile );
-
- /**
- *
- *
- * @return the global toolchains file
- * @since 3.3.0
- */
- File getGlobalToolchainsFile();
-
- /**
- *
- * @param globalToolchainsFile the global toolchains file
- * @return this request
- * @since 3.3.0
- */
- MavenExecutionRequest setGlobalToolchainsFile( File globalToolchainsFile );
-
- ExecutionListener getExecutionListener();
-
- MavenExecutionRequest setExecutionListener( ExecutionListener executionListener );
-
- ProjectBuildingRequest getProjectBuildingRequest();
-
- /**
- * @since 3.1
- */
- boolean isUseLegacyLocalRepository();
-
- /**
- * @since 3.1
- */
- MavenExecutionRequest setUseLegacyLocalRepository( boolean useLegacyLocalRepository );
-
- /**
- * Controls the {@link Builder} used by Maven by specification of the builder's id.
- *
- * @since 3.2.0
- */
- MavenExecutionRequest setBuilderId( String builderId );
-
- /**
- * Controls the {@link Builder} used by Maven by specification of the builders id.
- *
- * @since 3.2.0
- */
- String getBuilderId();
-
- /**
- *
- * @param toolchains all toolchains grouped by type
- * @return this request
- * @since 3.3.0
- */
- MavenExecutionRequest setToolchains( Map<String, List<ToolchainModel>> toolchains );
-
- /**
- *
- * @return all toolchains grouped by type, never {@code null}
- * @since 3.3.0
- */
- Map<String, List<ToolchainModel>> getToolchains();
-
- /**
- * @since 3.3.0
- */
- void setMultiModuleProjectDirectory( File file );
-
- /**
- * @since 3.3.0
- */
- File getMultiModuleProjectDirectory();
-
- /**
- * @since 3.3.0
- */
- MavenExecutionRequest setEventSpyDispatcher( EventSpyDispatcher eventSpyDispatcher );
-
- /**
- * @since 3.3.0
- */
- EventSpyDispatcher getEventSpyDispatcher();
-
- /**
- * @since 3.3.0
- */
- Map<String, Object> getData();
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java
deleted file mode 100644
index ddd6ad22..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author Jason van Zyl
- */
-public class MavenExecutionRequestPopulationException
- extends Exception
-{
- public MavenExecutionRequestPopulationException( String message )
- {
- super( message );
- }
-
- public MavenExecutionRequestPopulationException( Throwable cause )
- {
- super( cause );
- }
-
- public MavenExecutionRequestPopulationException( String message,
- Throwable cause )
- {
- super( message, cause );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java
deleted file mode 100644
index 4f254f7a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.settings.Settings;
-import org.apache.maven.toolchain.model.PersistedToolchains;
-
-/**
- * Assists in populating an execution request for invocation of Maven.
- *
- * @author Benjamin Bentmann
- */
-public interface MavenExecutionRequestPopulator
-{
- /**
- * Copies the values from the given toolchains into the specified execution request. This method will replace any
- * existing values in the execution request that are controlled by the toolchains. Hence, it is expected that this
- * method is called on a new/empty execution request before the caller mutates it to fit its needs.
- *
- * @param request The execution request to populate, must not be {@code null}.
- * @param toolchains The toolchains to copy into the execution request, may be {@code null}.
- * @return The populated execution request, never {@code null}.
- * @throws MavenExecutionRequestPopulationException If the execution request could not be populated.
- * @since 3.3.0
- */
- MavenExecutionRequest populateFromToolchains( MavenExecutionRequest request, PersistedToolchains toolchains )
- throws MavenExecutionRequestPopulationException;
-
- /**
- * Injects default values like plugin groups or repositories into the specified execution request.
- *
- * @param request The execution request to populate, must not be {@code null}.
- * @return The populated execution request, never {@code null}.
- * @throws MavenExecutionRequestPopulationException If the execution request could not be populated.
- */
- MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
- throws MavenExecutionRequestPopulationException;
-
- /*if_not[MAVEN4]*/
-
- /**
- * Copies the values from the given settings into the specified execution request. This method will replace any
- * existing values in the execution request that are controlled by the settings. Hence, it is expected that this
- * method is called on a new/empty execution request before the caller mutates it to fit its needs.
- *
- * @param request The execution request to populate, must not be {@code null}.
- * @param settings The settings to copy into the execution request, may be {@code null}.
- * @return The populated execution request, never {@code null}.
- * @throws MavenExecutionRequestPopulationException If the execution request could not be populated.
- */
- @Deprecated
- MavenExecutionRequest populateFromSettings( MavenExecutionRequest request, Settings settings )
- throws MavenExecutionRequestPopulationException;
-
- /*end[MAVEN4]*/
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java
deleted file mode 100644
index cb95fb1f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionResult.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.project.DependencyResolutionResult;
-import org.apache.maven.project.MavenProject;
-
-/**
- * @author Jason van Zyl
- */
-public interface MavenExecutionResult
-{
- MavenExecutionResult setProject( MavenProject project );
- MavenProject getProject();
-
- MavenExecutionResult setTopologicallySortedProjects( List<MavenProject> projects );
-
- /**
- * @return the sorted list, or an empty list if there are no projects.
- */
- List<MavenProject> getTopologicallySortedProjects();
-
- MavenExecutionResult setDependencyResolutionResult( DependencyResolutionResult result );
- DependencyResolutionResult getDependencyResolutionResult();
-
- // for each exception
- // - knowing what artifacts are missing
- // - project building exception
- // - invalid project model exception: list of markers
- // - xmlpull parser exception
- List<Throwable> getExceptions();
-
- MavenExecutionResult addException( Throwable e );
-
- boolean hasExceptions();
-
- /**
- * Gets the build summary for the specified project.
- *
- * @param project The project to get the build summary for, must not be {@code null}.
- * @return The build summary for the project or {@code null} if the project has not been built (yet).
- */
- BuildSummary getBuildSummary( MavenProject project );
-
- /**
- * Add the specified build summary.
- *
- * @param summary The build summary to add, must not be {@code null}.
- */
- void addBuildSummary( BuildSummary summary );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
deleted file mode 100644
index 235691ac..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
+++ /dev/null
@@ -1,438 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.RepositoryCache;
-import org.apache.maven.monitor.event.EventDispatcher;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * @author Jason van Zyl
- */
-public class MavenSession
- implements Cloneable
-{
- private MavenExecutionRequest request;
-
- private MavenExecutionResult result;
-
- private RepositorySystemSession repositorySession;
-
- private Properties executionProperties;
-
- private MavenProject currentProject;
-
- /**
- * These projects have already been topologically sorted in the {@link org.apache.maven.Maven} component before
- * being passed into the session. This is also the potentially constrained set of projects by using --projects
- * on the command line.
- */
- private List<MavenProject> projects;
-
- /**
- * The full set of projects before any potential constraining by --projects. Useful in the case where you want to
- * build a smaller set of projects but perform other operations in the context of your reactor.
- */
- private List<MavenProject> allProjects;
-
- private MavenProject topLevelProject;
-
- private ProjectDependencyGraph projectDependencyGraph;
-
- private boolean parallel;
-
- private final Map<String, Map<String, Map<String, Object>>> pluginContextsByProjectAndPluginKey =
- new ConcurrentHashMap<String, Map<String, Map<String, Object>>>();
-
-
- public void setProjects( List<MavenProject> projects )
- {
- if ( !projects.isEmpty() )
- {
- this.currentProject = projects.get( 0 );
- this.topLevelProject = currentProject;
- for ( MavenProject project : projects )
- {
- if ( project.isExecutionRoot() )
- {
- topLevelProject = project;
- break;
- }
- }
- }
- else
- {
- this.currentProject = null;
- this.topLevelProject = null;
- }
- this.projects = projects;
- }
-
- public ArtifactRepository getLocalRepository()
- {
- return request.getLocalRepository();
- }
-
- public List<String> getGoals()
- {
- return request.getGoals();
- }
-
- /**
- * 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}.
- */
- public Properties getUserProperties()
- {
- return request.getUserProperties();
- }
-
- /**
- * 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}.
- */
- public Properties getSystemProperties()
- {
- return request.getSystemProperties();
- }
-
- public Settings getSettings()
- {
- return settings;
- }
-
- public List<MavenProject> getProjects()
- {
- return projects;
- }
-
- public String getExecutionRootDirectory()
- {
- return request.getBaseDirectory();
- }
-
- public MavenExecutionRequest getRequest()
- {
- return request;
- }
-
- public void setCurrentProject( MavenProject currentProject )
- {
- this.currentProject = currentProject;
- }
-
- public MavenProject getCurrentProject()
- {
- return currentProject;
- }
-
- public ProjectBuildingRequest getProjectBuildingRequest()
- {
- return request.getProjectBuildingRequest().setRepositorySession( getRepositorySession() );
- }
-
- public List<String> getPluginGroups()
- {
- return request.getPluginGroups();
- }
-
- public boolean isOffline()
- {
- return request.isOffline();
- }
-
- public MavenProject getTopLevelProject()
- {
- return topLevelProject;
- }
-
- public MavenExecutionResult getResult()
- {
- return result;
- }
-
- // Backward compat
-
- public Map<String, Object> getPluginContext( PluginDescriptor plugin, MavenProject project )
- {
- String projectKey = project.getId();
-
- Map<String, Map<String, Object>> pluginContextsByKey = pluginContextsByProjectAndPluginKey.get( projectKey );
-
- if ( pluginContextsByKey == null )
- {
- pluginContextsByKey = new ConcurrentHashMap<String, Map<String, Object>>();
-
- pluginContextsByProjectAndPluginKey.put( projectKey, pluginContextsByKey );
- }
-
- String pluginKey = plugin.getPluginLookupKey();
-
- Map<String, Object> pluginContext = pluginContextsByKey.get( pluginKey );
-
- if ( pluginContext == null )
- {
- pluginContext = new ConcurrentHashMap<String, Object>();
-
- pluginContextsByKey.put( pluginKey, pluginContext );
- }
-
- return pluginContext;
- }
-
- public ProjectDependencyGraph getProjectDependencyGraph()
- {
- return projectDependencyGraph;
- }
-
- public void setProjectDependencyGraph( ProjectDependencyGraph projectDependencyGraph )
- {
- this.projectDependencyGraph = projectDependencyGraph;
- }
-
- public String getReactorFailureBehavior()
- {
- return request.getReactorFailureBehavior();
- }
-
- @Override
- public MavenSession clone()
- {
- try
- {
- return (MavenSession) super.clone();
- }
- catch ( CloneNotSupportedException e )
- {
- throw new RuntimeException( "Bug", e );
- }
- }
-
- public Date getStartTime()
- {
- return request.getStartTime();
- }
-
- public boolean isParallel()
- {
- return parallel;
- }
-
- public void setParallel( boolean parallel )
- {
- this.parallel = parallel;
- }
-
- public RepositorySystemSession getRepositorySession()
- {
- return repositorySession;
- }
-
- private Map<String, MavenProject> projectMap;
-
- public void setProjectMap( Map<String, MavenProject> projectMap )
- {
- this.projectMap = projectMap;
- }
-
- /** This is a provisional method and may be removed */
- public List<MavenProject> getAllProjects()
- {
- return allProjects;
- }
-
- /** This is a provisional method and may be removed */
- public void setAllProjects( List<MavenProject> allProjects )
- {
- this.allProjects = allProjects;
- }
-
- /*if_not[MAVEN4]*/
-
- //
- // Deprecated
- //
-
- private PlexusContainer container;
-
- private final Settings settings;
-
- @Deprecated
- /** @deprecated This appears to only be used in the ReactorReader and we can do any processing required there */
- public Map<String, MavenProject> getProjectMap()
- {
- return projectMap;
- }
-
- @Deprecated
- public MavenSession( PlexusContainer container, RepositorySystemSession repositorySession,
- MavenExecutionRequest request, MavenExecutionResult result )
- {
- this.container = container;
- this.request = request;
- this.result = result;
- this.settings = new SettingsAdapter( request );
- this.repositorySession = repositorySession;
- }
-
- @Deprecated
- public MavenSession( PlexusContainer container, MavenExecutionRequest request, MavenExecutionResult result,
- MavenProject project )
- {
- this( container, request, result, Arrays.asList( new MavenProject[]{project} ) );
- }
-
- @Deprecated
- public MavenSession( PlexusContainer container, Settings settings, ArtifactRepository localRepository,
- EventDispatcher eventDispatcher, ReactorManager unused, List<String> goals,
- String executionRootDir, Properties executionProperties, Date startTime )
- {
- this( container, settings, localRepository, eventDispatcher, unused, goals, executionRootDir,
- executionProperties, null, startTime );
- }
-
- @Deprecated
- public MavenSession( PlexusContainer container, Settings settings, ArtifactRepository localRepository,
- EventDispatcher eventDispatcher, ReactorManager unused, List<String> goals,
- String executionRootDir, Properties executionProperties, Properties userProperties,
- Date startTime )
- {
- this.container = container;
- this.settings = settings;
- this.executionProperties = executionProperties;
- this.request = new DefaultMavenExecutionRequest();
- this.request.setUserProperties( userProperties );
- this.request.setLocalRepository( localRepository );
- this.request.setGoals( goals );
- this.request.setBaseDirectory( ( executionRootDir != null ) ? new File( executionRootDir ) : null );
- this.request.setStartTime( startTime );
- }
-
- @Deprecated
- public MavenSession( PlexusContainer container, MavenExecutionRequest request, MavenExecutionResult result,
- List<MavenProject> projects )
- {
- this.container = container;
- this.request = request;
- this.result = result;
- this.settings = new SettingsAdapter( request );
- setProjects( projects );
- }
-
- @Deprecated
- public List<MavenProject> getSortedProjects()
- {
- return getProjects();
- }
-
- @Deprecated
- //
- // Used by Tycho and will break users and force them to upgrade to Maven 3.1 so we should really leave
- // this here, possibly indefinitely.
- //
- public RepositoryCache getRepositoryCache()
- {
- return null;
- }
-
- @Deprecated
- public EventDispatcher getEventDispatcher()
- {
- return null;
- }
-
- @Deprecated
- public boolean isUsingPOMsFromFilesystem()
- {
- return request.isProjectPresent();
- }
-
- /**
- * @deprecated Use either {@link #getUserProperties()} or {@link #getSystemProperties()}.
- */
- @Deprecated
- public Properties getExecutionProperties()
- {
- if ( executionProperties == null )
- {
- executionProperties = new Properties();
- executionProperties.putAll( request.getSystemProperties() );
- executionProperties.putAll( request.getUserProperties() );
- }
-
- return executionProperties;
- }
-
- @Deprecated
- public PlexusContainer getContainer()
- {
- return container;
- }
-
- @Deprecated
- public Object lookup( String role )
- throws ComponentLookupException
- {
- return container.lookup( role );
- }
-
- @Deprecated
- public Object lookup( String role, String roleHint )
- throws ComponentLookupException
- {
- return container.lookup( role, roleHint );
- }
-
- @Deprecated
- public List<Object> lookupList( String role )
- throws ComponentLookupException
- {
- return container.lookupList( role );
- }
-
- @Deprecated
- public Map<String, Object> lookupMap( String role )
- throws ComponentLookupException
- {
- return container.lookupMap( role );
- }
-
- /*end[MAVEN4]*/
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionEvent.java
deleted file mode 100644
index a8d293d1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionEvent.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.Mojo;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Encapsulates parameters of MojoExecutionListener callback methods and is meant to provide API evolution path should
- * it become necessary to introduce new parameters in the existing callbacks in the future.
- *
- * @see MojoExecutionListener
- * @see org.apache.maven.execution.scope.WeakMojoExecutionListener
- * @since 3.1.2
- * @provisional This class is part of work in progress and can be changed or removed without notice.
- */
-public class MojoExecutionEvent
-{
- private final MavenSession session;
-
- private final MavenProject project;
-
- private final MojoExecution mojoExecution;
-
- private final Mojo mojo;
-
- private final Throwable cause;
-
- public MojoExecutionEvent( MavenSession session, MavenProject project, MojoExecution mojoExecution, Mojo mojo )
- {
- this( session, project, mojoExecution, mojo, null );
- }
-
- public MojoExecutionEvent( MavenSession session, MavenProject project, MojoExecution mojoExecution, Mojo mojo,
- Throwable cause )
- {
- this.session = session;
- this.project = project;
- this.mojoExecution = mojoExecution;
- this.mojo = mojo;
- this.cause = cause;
- }
-
- public MavenSession getSession()
- {
- return session;
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public MojoExecution getExecution()
- {
- return mojoExecution;
- }
-
- public Mojo getMojo()
- {
- return mojo;
- }
-
- public Throwable getCause()
- {
- return cause;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionListener.java
deleted file mode 100644
index c2fb7a18..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/MojoExecutionListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.MojoExecutionException;
-
-/**
- * Extension point that allows build extensions observe and possibly veto mojo executions.
- *
- * @see org.apache.maven.execution.scope.WeakMojoExecutionListener
- * @since 3.1.2
- * @provisional This interface is part of work in progress and can be changed or removed without notice.
- */
-public interface MojoExecutionListener
-{
- void beforeMojoExecution( MojoExecutionEvent event )
- throws MojoExecutionException;
-
- void afterMojoExecutionSuccess( MojoExecutionEvent event )
- throws MojoExecutionException;
-
- void afterExecutionFailure( MojoExecutionEvent event );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java
deleted file mode 100644
index 1db277db..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectDependencyGraph.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.project.MavenProject;
-
-/**
- * Describes the inter-dependencies between projects in the reactor.
- *
- * @author Benjamin Bentmann
- */
-public interface ProjectDependencyGraph
-{
-
- /**
- * Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their
- * inter-dependencies.
- *
- * @return The projects in the build order, never {@code null}.
- */
- List<MavenProject> getSortedProjects();
-
- /**
- * Gets the downstream projects of the specified project. A downstream project is a project that directly or
- * indirectly depends on the given project.
- *
- * @param project The project whose downstream projects should be retrieved, must not be {@code null}.
- * @param transitive A flag whether to retrieve all direct and indirect downstream projects or just the immediate
- * downstream projects.
- * @return The downstream projects in the build order, never {@code null}.
- */
- List<MavenProject> getDownstreamProjects( MavenProject project, boolean transitive );
-
- /**
- * Gets the upstream projects of the specified project. An upstream project is a project that directly or indirectly
- * is a prerequisite of the given project.
- *
- * @param project The project whose upstream projects should be retrieved, must not be {@code null}.
- * @param transitive A flag whether to retrieve all direct and indirect upstream projects or just the immediate
- * upstream projects.
- * @return The upstream projects in the build order, never {@code null}.
- */
- List<MavenProject> getUpstreamProjects( MavenProject project, boolean transitive );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionEvent.java
deleted file mode 100644
index fb71078f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionEvent.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Encapsulates parameters of ProjectExecutionListener callback methods and is meant to provide API evolution path
- * should it become necessary to introduce new parameters in the existing callbacks in the future.
- *
- * @see ProjectExecutionListener
- * @since 3.1.2
- * @provisional This class is part of work in progress and can be changed or removed without notice.
- */
-public class ProjectExecutionEvent
-{
-
- private final MavenSession session;
-
- private final MavenProject project;
-
- private final List<MojoExecution> executionPlan;
-
- private final Throwable cause;
-
- public ProjectExecutionEvent( MavenSession session, MavenProject project )
- {
- this( session, project, null, null );
- }
-
- public ProjectExecutionEvent( MavenSession session, MavenProject project, List<MojoExecution> executionPlan )
- {
- this( session, project, executionPlan, null );
- }
-
- public ProjectExecutionEvent( MavenSession session, MavenProject project, Throwable cause )
- {
- this( session, project, null, cause );
- }
-
- public ProjectExecutionEvent( MavenSession session, MavenProject project, List<MojoExecution> executionPlan,
- Throwable cause )
- {
- this.session = session;
- this.project = project;
- this.executionPlan = executionPlan;
- this.cause = cause;
- }
-
- public MavenSession getSession()
- {
- return session;
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public List<MojoExecution> getExecutionPlan()
- {
- return executionPlan;
- }
-
- public Throwable getCause()
- {
- return cause;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionListener.java
deleted file mode 100644
index d7e89183..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ProjectExecutionListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.lifecycle.LifecycleExecutionException;
-
-/**
- * Extension point that allows build extensions observe and possibly veto project build execution.
- *
- * @see ExecutionListener
- * @see MojoExecutionListener
- * @since 3.1.2
- * @provisional This interface is part of work in progress and can be changed or removed without notice.
- */
-public interface ProjectExecutionListener
-{
- void beforeProjectExecution( ProjectExecutionEvent event )
- throws LifecycleExecutionException;
-
- void beforeProjectLifecycleExecution( ProjectExecutionEvent event )
- throws LifecycleExecutionException;
-
- void afterProjectExecutionSuccess( ProjectExecutionEvent event )
- throws LifecycleExecutionException;
-
- void afterProjectExecutionFailure( ProjectExecutionEvent event );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java
deleted file mode 100644
index 1b99a3be..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/ReactorManager.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.DuplicateProjectException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectSorter;
-import org.codehaus.plexus.util.dag.CycleDetectedException;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Deprecated
-public class ReactorManager
-{
- public static final String FAIL_FAST = "fail-fast";
-
- public static final String FAIL_AT_END = "fail-at-end";
-
- public static final String FAIL_NEVER = "fail-never";
-
- public static final String MAKE_MODE = "make";
-
- public static final String MAKE_DEPENDENTS_MODE = "make-dependents";
-
- // make projects that depend on me, and projects that I depend on
- public static final String MAKE_BOTH_MODE = "make-both";
-
- private List<String> blackList = new ArrayList<String>();
-
- private Map<String, BuildFailure> buildFailuresByProject = new HashMap<String, BuildFailure>();
-
- private Map pluginContextsByProjectAndPluginKey = new HashMap();
-
- private String failureBehavior = FAIL_FAST;
-
- private final ProjectSorter sorter;
-
- private Map<String, BuildSuccess> buildSuccessesByProject = new HashMap<String, BuildSuccess>();
-
- public ReactorManager( List<MavenProject> projects )
- throws CycleDetectedException, DuplicateProjectException
- {
- this.sorter = new ProjectSorter( projects );
- }
-
- public Map getPluginContext( PluginDescriptor plugin, MavenProject project )
- {
- Map pluginContextsByKey = (Map) pluginContextsByProjectAndPluginKey.get( project.getId() );
-
- if ( pluginContextsByKey == null )
- {
- pluginContextsByKey = new HashMap();
- pluginContextsByProjectAndPluginKey.put( project.getId(), pluginContextsByKey );
- }
-
- Map pluginContext = (Map) pluginContextsByKey.get( plugin.getPluginLookupKey() );
-
- if ( pluginContext == null )
- {
- pluginContext = new HashMap();
- pluginContextsByKey.put( plugin.getPluginLookupKey(), pluginContext );
- }
-
- return pluginContext;
- }
-
- public void setFailureBehavior( String failureBehavior )
- {
- if ( failureBehavior == null )
- {
- this.failureBehavior = FAIL_FAST; // default
- return;
- }
- if ( FAIL_FAST.equals( failureBehavior ) || FAIL_AT_END.equals( failureBehavior )
- || FAIL_NEVER.equals( failureBehavior ) )
- {
- this.failureBehavior = failureBehavior;
- }
- else
- {
- throw new IllegalArgumentException( "Invalid failure behavior (must be one of: \'" + FAIL_FAST + "\', \'"
- + FAIL_AT_END + "\', \'" + FAIL_NEVER + "\')." );
- }
- }
-
- public String getFailureBehavior()
- {
- return failureBehavior;
- }
-
- public void blackList( MavenProject project )
- {
- blackList( getProjectKey( project ) );
- }
-
- private void blackList( String id )
- {
- if ( !blackList.contains( id ) )
- {
- blackList.add( id );
-
- List<String> dependents = sorter.getDependents( id );
-
- if ( dependents != null && !dependents.isEmpty() )
- {
- for ( String dependentId : dependents )
- {
- if ( !buildSuccessesByProject.containsKey( dependentId )
- && !buildFailuresByProject.containsKey( dependentId ) )
- {
- blackList( dependentId );
- }
- }
- }
- }
- }
-
- public boolean isBlackListed( MavenProject project )
- {
- return blackList.contains( getProjectKey( project ) );
- }
-
- private static String getProjectKey( MavenProject project )
- {
- return ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
- }
-
- public void registerBuildFailure( MavenProject project, Exception error, String task, long time )
- {
- buildFailuresByProject.put( getProjectKey( project ), new BuildFailure( project, time, error ) );
- }
-
- public boolean hasBuildFailures()
- {
- return !buildFailuresByProject.isEmpty();
- }
-
- public boolean hasBuildFailure( MavenProject project )
- {
- return buildFailuresByProject.containsKey( getProjectKey( project ) );
- }
-
- public boolean hasMultipleProjects()
- {
- return sorter.hasMultipleProjects();
- }
-
- public List<MavenProject> getSortedProjects()
- {
- return sorter.getSortedProjects();
- }
-
- public boolean hasBuildSuccess( MavenProject project )
- {
- return buildSuccessesByProject.containsKey( getProjectKey( project ) );
- }
-
- public void registerBuildSuccess( MavenProject project, long time )
- {
- buildSuccessesByProject.put( getProjectKey( project ), new BuildSuccess( project, time ) );
- }
-
- public BuildFailure getBuildFailure( MavenProject project )
- {
- return (BuildFailure) buildFailuresByProject.get( getProjectKey( project ) );
- }
-
- public BuildSuccess getBuildSuccess( MavenProject project )
- {
- return (BuildSuccess) buildSuccessesByProject.get( getProjectKey( project ) );
- }
-
- public boolean executedMultipleProjects()
- {
- return buildFailuresByProject.size() + buildSuccessesByProject.size() > 1;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/SettingsAdapter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/SettingsAdapter.java
deleted file mode 100644
index 000607ff..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/SettingsAdapter.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.apache.maven.execution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Profile;
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.RuntimeInfo;
-import org.apache.maven.settings.Server;
-import org.apache.maven.settings.Settings;
-import org.apache.maven.settings.SettingsUtils;
-
-/**
- * Adapt a {@link MavenExecutionRequest} to a {@link Settings} object for use in the Maven core.
- * We want to make sure that what is ask for in the execution request overrides what is in the settings.
- * The CLI feeds into an execution request so if a particular value is present in the execution request
- * then we will take that over the value coming from the user settings.
- *
- * @author Jason van Zyl
- */
-class SettingsAdapter
- extends Settings
-{
-
- private MavenExecutionRequest request;
-
- private RuntimeInfo runtimeInfo;
-
- public SettingsAdapter( MavenExecutionRequest request )
- {
- this.request = request;
-
- /*
- * NOTE: Plugins like maven-release-plugin query the path to the settings.xml to pass it into a forked Maven and
- * the CLI will fail when called with a non-existing settings, so be sure to only point at actual files. Having
- * a null file should be harmless as this case matches general Maven 2.x behavior...
- */
- File userSettings = request.getUserSettingsFile();
- this.runtimeInfo = new RuntimeInfo( ( userSettings != null && userSettings.isFile() ) ? userSettings : null );
- }
-
- @Override
- public String getLocalRepository()
- {
- if ( request.getLocalRepositoryPath() != null )
- {
- return request.getLocalRepositoryPath().getAbsolutePath();
- }
-
- return null;
- }
-
- @Override
- public boolean isInteractiveMode()
- {
- return request.isInteractiveMode();
- }
-
- @Override
- public boolean isOffline()
- {
- return request.isOffline();
- }
-
- @Override
- public List<Proxy> getProxies()
- {
- return request.getProxies();
- }
-
- @Override
- public List<Server> getServers()
- {
- return request.getServers();
- }
-
- @Override
- public List<Mirror> getMirrors()
- {
- return request.getMirrors();
- }
-
- @Override
- public List<Profile> getProfiles()
- {
- List<Profile> result = new ArrayList<Profile>();
- for ( org.apache.maven.model.Profile profile : request.getProfiles() )
- {
- result.add( SettingsUtils.convertToSettingsProfile( profile ) );
- }
- return result;
- }
-
- @Override
- public List<String> getActiveProfiles()
- {
- return request.getActiveProfiles();
- }
-
- @Override
- public List<String> getPluginGroups()
- {
- return request.getPluginGroups();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/MojoExecutionScoped.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/MojoExecutionScoped.java
deleted file mode 100644
index 0dcbd16f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/MojoExecutionScoped.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.execution.scope;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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 java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import com.google.inject.ScopeAnnotation;
-
-/**
- * Indicates that annotated component should be instantiated before mojo execution starts and discarded after mojo
- * execution completes.
- *
- * @author igor
- * @since 3.1.2
- */
-@Target( { TYPE } )
-@Retention( RUNTIME )
-@ScopeAnnotation
-public @interface MojoExecutionScoped
-{
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java
deleted file mode 100644
index 94e7c104..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/WeakMojoExecutionListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.execution.scope;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MojoExecutionEvent;
-import org.apache.maven.plugin.MojoExecutionException;
-
-/**
- * Extension point that allows build extensions observe and possibly veto mojo executions.
- * <p>
- * Unlike {@link MojoExecutionListener}, this extension point does not trigger instantiation of the component, hence
- * "weak" class name prefix. Only applies to mojo execution scoped components.
- *
- * @see org.apache.maven.execution.MojoExecutionListener
- * @since 3.1.2
- * @provisional This interface is part of work in progress and can be changed or removed without notice.
- */
-public interface WeakMojoExecutionListener
-{
- void beforeMojoExecution( MojoExecutionEvent event )
- throws MojoExecutionException;
-
- void afterMojoExecutionSuccess( MojoExecutionEvent event )
- throws MojoExecutionException;
-
- void afterExecutionFailure( MojoExecutionEvent event );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java
deleted file mode 100644
index 8a98daf0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.apache.maven.execution.scope.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.IdentityHashMap;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.apache.maven.execution.MojoExecutionEvent;
-import org.apache.maven.execution.MojoExecutionListener;
-import org.apache.maven.execution.scope.WeakMojoExecutionListener;
-import org.apache.maven.plugin.MojoExecutionException;
-
-import com.google.common.collect.Maps;
-import com.google.inject.Key;
-import com.google.inject.OutOfScopeException;
-import com.google.inject.Provider;
-import com.google.inject.Scope;
-import com.google.inject.util.Providers;
-
-public class MojoExecutionScope
- implements Scope, MojoExecutionListener
-{
- private static final Provider<Object> SEEDED_KEY_PROVIDER = new Provider<Object>()
- {
- public Object get()
- {
- throw new IllegalStateException();
- }
- };
-
- private static final class ScopeState
- {
- public final Map<Key<?>, Provider<?>> seeded = Maps.newHashMap();
-
- public final Map<Key<?>, Object> provided = Maps.newHashMap();
- }
-
- private final ThreadLocal<LinkedList<ScopeState>> values = new ThreadLocal<LinkedList<ScopeState>>();
-
- public MojoExecutionScope()
- {
- }
-
- public void enter()
- {
- LinkedList<ScopeState> stack = values.get();
- if ( stack == null )
- {
- stack = new LinkedList<ScopeState>();
- values.set( stack );
- }
- stack.addFirst( new ScopeState() );
- }
-
- private ScopeState getScopeState()
- {
- LinkedList<ScopeState> stack = values.get();
- if ( stack == null || stack.isEmpty() )
- {
- throw new IllegalStateException();
- }
- return stack.getFirst();
- }
-
- public void exit()
- throws MojoExecutionException
- {
- final LinkedList<ScopeState> stack = values.get();
- if ( stack == null || stack.isEmpty() )
- {
- throw new IllegalStateException();
- }
- stack.removeFirst();
- if ( stack.isEmpty() )
- {
- values.remove();
- }
- }
-
- public <T> void seed( Class<T> clazz, Provider<T> value )
- {
- getScopeState().seeded.put( Key.get( clazz ), value );
- }
-
- public <T> void seed( Class<T> clazz, final T value )
- {
- getScopeState().seeded.put( Key.get( clazz ), Providers.of( value ) );
- }
-
- public <T> Provider<T> scope( final Key<T> key, final Provider<T> unscoped )
- {
- return new Provider<T>()
- {
- @SuppressWarnings( "unchecked" )
- public T get()
- {
- LinkedList<ScopeState> stack = values.get();
- if ( stack == null || stack.isEmpty() )
- {
- throw new OutOfScopeException( "Cannot access " + key + " outside of a scoping block" );
- }
-
- ScopeState state = stack.getFirst();
-
- Provider<?> seeded = state.seeded.get( key );
-
- if ( seeded != null )
- {
- return (T) seeded.get();
- }
-
- T provided = (T) state.provided.get( key );
- if ( provided == null && unscoped != null )
- {
- provided = unscoped.get();
- state.provided.put( key, provided );
- }
-
- return provided;
- }
- };
- }
-
- @SuppressWarnings( { "unchecked" } )
- public static <T> Provider<T> seededKeyProvider()
- {
- return (Provider<T>) SEEDED_KEY_PROVIDER;
- }
-
- public void beforeMojoExecution( MojoExecutionEvent event )
- throws MojoExecutionException
- {
- for ( WeakMojoExecutionListener provided : getProvidedListeners() )
- {
- provided.beforeMojoExecution( event );
- }
- }
-
- public void afterMojoExecutionSuccess( MojoExecutionEvent event )
- throws MojoExecutionException
- {
- for ( WeakMojoExecutionListener provided : getProvidedListeners() )
- {
- provided.afterMojoExecutionSuccess( event );
- }
- }
-
- public void afterExecutionFailure( MojoExecutionEvent event )
- {
- for ( WeakMojoExecutionListener provided : getProvidedListeners() )
- {
- provided.afterExecutionFailure( event );
- }
- }
-
- private Collection<WeakMojoExecutionListener> getProvidedListeners()
- {
- // the same instance can be provided multiple times under different Key's
- // deduplicate instances to avoid redundant beforeXXX/afterXXX callbacks
- IdentityHashMap<WeakMojoExecutionListener, Object> listeners =
- new IdentityHashMap<WeakMojoExecutionListener, Object>();
- for ( Object provided : getScopeState().provided.values() )
- {
- if ( provided instanceof WeakMojoExecutionListener )
- {
- listeners.put( (WeakMojoExecutionListener) provided, null );
- }
- }
- return listeners.keySet();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeCoreModule.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeCoreModule.java
deleted file mode 100644
index 8208c3c3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeCoreModule.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.execution.scope.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.execution.MojoExecutionListener;
-
-@Named
-public class MojoExecutionScopeCoreModule
- extends MojoExecutionScopeModule
-{
-
- @Inject
- public MojoExecutionScopeCoreModule()
- {
- super( new MojoExecutionScope() );
- }
-
- @Override
- protected void configure()
- {
- super.configure();
- bind( MojoExecutionListener.class ).toInstance( scope );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeModule.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeModule.java
deleted file mode 100644
index 229a3c56..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScopeModule.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.maven.execution.scope.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.scope.MojoExecutionScoped;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-import com.google.inject.AbstractModule;
-
-public class MojoExecutionScopeModule
- extends AbstractModule
-{
- protected final MojoExecutionScope scope;
-
- public MojoExecutionScopeModule( PlexusContainer container )
- throws ComponentLookupException
- {
- this( container.lookup( MojoExecutionScope.class ) );
- }
-
- protected MojoExecutionScopeModule( MojoExecutionScope scope )
- {
- this.scope = scope;
- }
-
- @Override
- protected void configure()
- {
- bindScope( MojoExecutionScoped.class, scope );
- bind( MojoExecutionScope.class ).toInstance( scope );
-
- bind( MavenProject.class ).toProvider( MojoExecutionScope.<MavenProject>seededKeyProvider() ).in( scope );
- bind( MojoExecution.class ).toProvider( MojoExecutionScope.<MojoExecution>seededKeyProvider() ).in( scope );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java
deleted file mode 100644
index c4265b31..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.maven.extension.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Provides information about artifacts (identified by groupId:artifactId string key) and classpath elements exported by
- * Maven core itself and loaded Maven core extensions.
- *
- * @since 3.3.0
- */
-public class CoreExports
-{
- private final Set<String> artifacts;
-
- private final Map<String, ClassLoader> packages;
-
- public CoreExports( CoreExtensionEntry entry )
- {
- this( entry.getClassRealm(), entry.getExportedArtifacts(), entry.getExportedPackages() );
- }
-
- public CoreExports( ClassRealm realm, Set<String> exportedArtifacts, Set<String> exportedPackages )
- {
- Map<String, ClassLoader> packages = new LinkedHashMap<String, ClassLoader>();
- for ( String pkg : exportedPackages )
- {
- packages.put( pkg, realm );
- }
- this.artifacts = ImmutableSet.copyOf( exportedArtifacts );
- this.packages = ImmutableMap.copyOf( packages );
- }
-
- /**
- * Returns artifacts exported by Maven core and core extensions. Artifacts are identified by their
- * groupId:artifactId string key.
- */
- public Set<String> getExportedArtifacts()
- {
- return artifacts;
- }
-
- /**
- * Returns packages exported by Maven core and core extensions.
- */
- public Map<String, ClassLoader> getExportedPackages()
- {
- return packages;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExportsProvider.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExportsProvider.java
deleted file mode 100644
index e7e4534c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExportsProvider.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.maven.extension.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.codehaus.plexus.PlexusContainer;
-import org.eclipse.sisu.Nullable;
-
-@Named
-@Singleton
-public class CoreExportsProvider
-{
-
- private final CoreExports exports;
-
- @Inject
- public CoreExportsProvider( PlexusContainer container, @Nullable CoreExports exports )
- {
- if ( exports == null )
- {
- this.exports = new CoreExports( CoreExtensionEntry.discoverFrom( container.getContainerRealm() ) );
- }
- else
- {
- this.exports = exports;
- }
- }
-
- public CoreExports get()
- {
- return exports;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java
deleted file mode 100644
index edadeb2d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExtensionEntry.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.apache.maven.extension.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.apache.maven.project.ExtensionDescriptor;
-import org.apache.maven.project.ExtensionDescriptorBuilder;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.util.IOUtil;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Provides information about artifacts (identified by groupId:artifactId string key) and classpath elements exported by
- * Maven core itself or a Maven core extension.
- *
- * @since 3.3.0
- */
-public class CoreExtensionEntry
-{
- private final ClassRealm realm;
-
- private final Set<String> artifacts;
-
- private final Set<String> packages;
-
- public CoreExtensionEntry( ClassRealm realm, Collection<String> artifacts, Collection<String> packages )
- {
- this.realm = realm;
- this.artifacts = ImmutableSet.copyOf( artifacts );
- this.packages = ImmutableSet.copyOf( packages );
- }
-
- /**
- * Returns ClassLoader used to load extension classes.
- */
- public ClassRealm getClassRealm()
- {
- return realm;
- }
-
- /**
- * Returns artifacts exported by the extension, identified by groupId:artifactId string key.
- */
- public Set<String> getExportedArtifacts()
- {
- return artifacts;
- }
-
- /**
- * Returns classpath elements exported by the extension.
- */
- public Set<String> getExportedPackages()
- {
- return packages;
- }
-
- private static final ExtensionDescriptorBuilder builder = new ExtensionDescriptorBuilder();
-
- public static CoreExtensionEntry discoverFrom( ClassRealm loader )
- {
- Set<String> artifacts = new LinkedHashSet<String>();
- Set<String> packages = new LinkedHashSet<String>();
-
- try
- {
- Enumeration<URL> urls = loader.getResources( builder.getExtensionDescriptorLocation() );
- while ( urls.hasMoreElements() )
- {
- InputStream is = urls.nextElement().openStream();
- try
- {
- ExtensionDescriptor descriptor = builder.build( is );
- artifacts.addAll( descriptor.getExportedArtifacts() );
- packages.addAll( descriptor.getExportedPackages() );
- }
- finally
- {
- IOUtil.close( is );
- }
- }
- }
- catch ( IOException ignored )
- {
- // exports descriptors are entirely optional
- }
-
- return new CoreExtensionEntry( loader, artifacts, packages );
- }
-
- public static CoreExtensionEntry discoverFrom( ClassRealm loader, Collection<File> classpath )
- {
- Set<String> artifacts = new LinkedHashSet<String>();
- Set<String> packages = new LinkedHashSet<String>();
-
- try
- {
- for ( File entry : classpath )
- {
- ExtensionDescriptor descriptor = builder.build( entry );
- if ( descriptor != null )
- {
- artifacts.addAll( descriptor.getExportedArtifacts() );
- packages.addAll( descriptor.getExportedPackages() );
- }
- }
- }
- catch ( IOException ignored )
- {
- // exports descriptors are entirely optional
- }
-
- return new CoreExtensionEntry( loader, artifacts, packages );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
deleted file mode 100644
index c8367463..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java
+++ /dev/null
@@ -1,488 +0,0 @@
-package org.apache.maven.graph;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.DefaultMaven;
-import org.apache.maven.MavenExecutionException;
-import org.apache.maven.ProjectCycleException;
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.building.DefaultModelProblem;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.building.ModelProblemUtils;
-import org.apache.maven.model.building.ModelSource;
-import org.apache.maven.model.building.Result;
-import org.apache.maven.model.building.UrlModelSource;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.project.ProjectBuildingResult;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.dag.CycleDetectedException;
-
-import com.google.common.collect.Lists;
-
-@Component( role = GraphBuilder.class, hint = GraphBuilder.HINT )
-public class DefaultGraphBuilder
- implements GraphBuilder
-{
- @Requirement
- private Logger logger;
-
- @Requirement
- protected ProjectBuilder projectBuilder;
-
- @Override
- public Result<ProjectDependencyGraph> build( MavenSession session )
- {
- if ( session.getProjectDependencyGraph() != null )
- {
- return dependencyGraph( session, session.getProjects(), false );
- }
-
- List<MavenProject> projects = session.getProjects();
-
- if ( projects == null )
- {
- try
- {
- projects = getProjectsForMavenReactor( session );
- }
- catch ( ProjectBuildingException e )
- {
- return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
- }
-
- validateProjects( projects );
-
- return dependencyGraph( session, projects, true );
- }
- else
- {
- return dependencyGraph( session, projects, false );
- }
- }
-
- private Result<ProjectDependencyGraph> dependencyGraph( MavenSession session, List<MavenProject> projects,
- boolean applyMakeBehaviour )
- {
- MavenExecutionRequest request = session.getRequest();
-
- ProjectDependencyGraph projectDependencyGraph = null;
-
- try
- {
- projectDependencyGraph = new DefaultProjectDependencyGraph( projects );
-
- if ( applyMakeBehaviour )
- {
- List<MavenProject> activeProjects = projectDependencyGraph.getSortedProjects();
-
- activeProjects = trimSelectedProjects( activeProjects, projectDependencyGraph, request );
- activeProjects = trimExcludedProjects( activeProjects, request );
- activeProjects = trimResumedProjects( activeProjects, request );
-
- if ( activeProjects.size() != projectDependencyGraph.getSortedProjects().size() )
- {
- projectDependencyGraph =
- new FilteredProjectDependencyGraph( projectDependencyGraph, activeProjects );
- }
- }
- }
- catch ( CycleDetectedException e )
- {
- String message = "The projects in the reactor contain a cyclic reference: " + e.getMessage();
- ProjectCycleException error = new ProjectCycleException( message, e );
- return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, error ) ) );
- }
- catch ( org.apache.maven.project.DuplicateProjectException e )
- {
- return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
- }
- catch ( MavenExecutionException e )
- {
- return Result.error( Lists.newArrayList( new DefaultModelProblem( null, null, null, null, 0, 0, e ) ) );
- }
-
- session.setProjects( projectDependencyGraph.getSortedProjects() );
- session.setProjectDependencyGraph( projectDependencyGraph );
-
- return Result.success( projectDependencyGraph );
- }
-
- private List<MavenProject> trimSelectedProjects( List<MavenProject> projects, ProjectDependencyGraph graph,
- MavenExecutionRequest request )
- throws MavenExecutionException
- {
- List<MavenProject> result = projects;
-
- if ( !request.getSelectedProjects().isEmpty() )
- {
- File reactorDirectory = null;
- if ( request.getBaseDirectory() != null )
- {
- reactorDirectory = new File( request.getBaseDirectory() );
- }
-
- Collection<MavenProject> selectedProjects = new LinkedHashSet<MavenProject>( projects.size() );
-
- for ( String selector : request.getSelectedProjects() )
- {
- MavenProject selectedProject = null;
-
- for ( MavenProject project : projects )
- {
- if ( isMatchingProject( project, selector, reactorDirectory ) )
- {
- selectedProject = project;
- break;
- }
- }
-
- if ( selectedProject != null )
- {
- selectedProjects.add( selectedProject );
- }
- else
- {
- throw new MavenExecutionException( "Could not find the selected project in the reactor: "
- + selector, request.getPom() );
- }
- }
-
- boolean makeUpstream = false;
- boolean makeDownstream = false;
-
- if ( MavenExecutionRequest.REACTOR_MAKE_UPSTREAM.equals( request.getMakeBehavior() ) )
- {
- makeUpstream = true;
- }
- else if ( MavenExecutionRequest.REACTOR_MAKE_DOWNSTREAM.equals( request.getMakeBehavior() ) )
- {
- makeDownstream = true;
- }
- else if ( MavenExecutionRequest.REACTOR_MAKE_BOTH.equals( request.getMakeBehavior() ) )
- {
- makeUpstream = true;
- makeDownstream = true;
- }
- else if ( StringUtils.isNotEmpty( request.getMakeBehavior() ) )
- {
- throw new MavenExecutionException( "Invalid reactor make behavior: " + request.getMakeBehavior(),
- request.getPom() );
- }
-
- if ( makeUpstream || makeDownstream )
- {
- for ( MavenProject selectedProject : new ArrayList<MavenProject>( selectedProjects ) )
- {
- if ( makeUpstream )
- {
- selectedProjects.addAll( graph.getUpstreamProjects( selectedProject, true ) );
- }
- if ( makeDownstream )
- {
- selectedProjects.addAll( graph.getDownstreamProjects( selectedProject, true ) );
- }
- }
- }
-
- result = new ArrayList<MavenProject>( selectedProjects.size() );
-
- for ( MavenProject project : projects )
- {
- if ( selectedProjects.contains( project ) )
- {
- result.add( project );
- }
- }
- }
-
- return result;
- }
-
- private List<MavenProject> trimExcludedProjects( List<MavenProject> projects, MavenExecutionRequest request )
- throws MavenExecutionException
- {
- List<MavenProject> result = projects;
-
- if ( !request.getExcludedProjects().isEmpty() )
- {
- File reactorDirectory = null;
-
- if ( request.getBaseDirectory() != null )
- {
- reactorDirectory = new File( request.getBaseDirectory() );
- }
-
- Collection<MavenProject> excludedProjects = new LinkedHashSet<MavenProject>( projects.size() );
-
- for ( String selector : request.getExcludedProjects() )
- {
- MavenProject excludedProject = null;
-
- for ( MavenProject project : projects )
- {
- if ( isMatchingProject( project, selector, reactorDirectory ) )
- {
- excludedProject = project;
- break;
- }
- }
-
- if ( excludedProject != null )
- {
- excludedProjects.add( excludedProject );
- }
- else
- {
- throw new MavenExecutionException( "Could not find the selected project in the reactor: "
- + selector, request.getPom() );
- }
- }
-
- result = new ArrayList<MavenProject>( projects.size() );
- for ( MavenProject project : projects )
- {
- if ( !excludedProjects.contains( project ) )
- {
- result.add( project );
- }
- }
- }
-
- return result;
- }
-
- private List<MavenProject> trimResumedProjects( List<MavenProject> projects, MavenExecutionRequest request )
- throws MavenExecutionException
- {
- List<MavenProject> result = projects;
-
- if ( StringUtils.isNotEmpty( request.getResumeFrom() ) )
- {
- File reactorDirectory = null;
- if ( request.getBaseDirectory() != null )
- {
- reactorDirectory = new File( request.getBaseDirectory() );
- }
-
- String selector = request.getResumeFrom();
-
- result = new ArrayList<MavenProject>( projects.size() );
-
- boolean resumed = false;
-
- for ( MavenProject project : projects )
- {
- if ( !resumed && isMatchingProject( project, selector, reactorDirectory ) )
- {
- resumed = true;
- }
-
- if ( resumed )
- {
- result.add( project );
- }
- }
-
- if ( !resumed )
- {
- throw new MavenExecutionException( "Could not find project to resume reactor build from: " + selector
- + " vs " + projects, request.getPom() );
- }
- }
-
- return result;
- }
-
- private boolean isMatchingProject( MavenProject project, String selector, File reactorDirectory )
- {
- // [groupId]:artifactId
- if ( selector.indexOf( ':' ) >= 0 )
- {
- String id = ':' + project.getArtifactId();
-
- if ( id.equals( selector ) )
- {
- return true;
- }
-
- id = project.getGroupId() + id;
-
- if ( id.equals( selector ) )
- {
- return true;
- }
- }
-
- // relative path, e.g. "sub", "../sub" or "."
- else if ( reactorDirectory != null )
- {
- File selectedProject = new File( new File( reactorDirectory, selector ).toURI().normalize() );
-
- if ( selectedProject.isFile() )
- {
- return selectedProject.equals( project.getFile() );
- }
- else if ( selectedProject.isDirectory() )
- {
- return selectedProject.equals( project.getBasedir() );
- }
- }
-
- return false;
- }
-
- private MavenExecutionResult addExceptionToResult( MavenExecutionResult result, Throwable e )
- {
- if ( !result.getExceptions().contains( e ) )
- {
- result.addException( e );
- }
-
- return result;
- }
-
- // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //
- // Project collection
- //
- // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- private List<MavenProject> getProjectsForMavenReactor( MavenSession session )
- throws ProjectBuildingException
- {
- MavenExecutionRequest request = session.getRequest();
-
- request.getProjectBuildingRequest().setRepositorySession( session.getRepositorySession() );
-
- List<MavenProject> projects = new ArrayList<MavenProject>();
-
- // We have no POM file.
- //
- if ( request.getPom() == null )
- {
- ModelSource modelSource = new UrlModelSource( DefaultMaven.class.getResource( "project/standalone.xml" ) );
- MavenProject project = projectBuilder.build( modelSource, request.getProjectBuildingRequest() )
- .getProject();
- project.setExecutionRoot( true );
- projects.add( project );
- request.setProjectPresent( false );
- return projects;
- }
-
- List<File> files = Arrays.asList( request.getPom().getAbsoluteFile() );
- collectProjects( projects, files, request );
- return projects;
- }
-
- private void collectProjects( List<MavenProject> projects, List<File> files, MavenExecutionRequest request )
- throws ProjectBuildingException
- {
- ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
-
- List<ProjectBuildingResult> results = projectBuilder.build( files, request.isRecursive(),
- projectBuildingRequest );
-
- boolean problems = false;
-
- for ( ProjectBuildingResult result : results )
- {
- projects.add( result.getProject() );
-
- if ( !result.getProblems().isEmpty() && logger.isWarnEnabled() )
- {
- logger.warn( "" );
- logger.warn( "Some problems were encountered while building the effective model for "
- + result.getProject().getId() );
-
- for ( ModelProblem problem : result.getProblems() )
- {
- String loc = ModelProblemUtils.formatLocation( problem, result.getProjectId() );
- logger.warn( problem.getMessage() + ( StringUtils.isNotEmpty( loc ) ? " @ " + loc : "" ) );
- }
-
- problems = true;
- }
- }
-
- if ( problems )
- {
- logger.warn( "" );
- logger.warn( "It is highly recommended to fix these problems"
- + " because they threaten the stability of your build." );
- logger.warn( "" );
- logger.warn( "For this reason, future Maven versions might no"
- + " longer support building such malformed projects." );
- logger.warn( "" );
- }
- }
-
- private void validateProjects( List<MavenProject> projects )
- {
- Map<String, MavenProject> projectsMap = new HashMap<String, MavenProject>();
-
- for ( MavenProject p : projects )
- {
- String projectKey = ArtifactUtils.key( p.getGroupId(), p.getArtifactId(), p.getVersion() );
-
- projectsMap.put( projectKey, p );
- }
-
- for ( MavenProject project : projects )
- {
- // MNG-1911 / MNG-5572: Building plugins with extensions cannot be part of reactor
- for ( Plugin plugin : project.getBuildPlugins() )
- {
- if ( plugin.isExtensions() )
- {
- String pluginKey = ArtifactUtils.key( plugin.getGroupId(), plugin.getArtifactId(),
- plugin.getVersion() );
-
- if ( projectsMap.containsKey( pluginKey ) )
- {
- logger.warn( project.getName() + " uses " + plugin.getKey()
- + " as extensions, which is not possible within the same reactor build. "
- + "This plugin was pulled from the local repository!" );
- }
- }
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
deleted file mode 100644
index 01fec339..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.apache.maven.graph;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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 java.util.Set;
-
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.project.DuplicateProjectException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectSorter;
-import org.codehaus.plexus.util.dag.CycleDetectedException;
-
-/**
- * Describes the inter-dependencies between projects in the reactor.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultProjectDependencyGraph
- implements ProjectDependencyGraph
-{
-
- private ProjectSorter sorter;
-
- /**
- * Creates a new project dependency graph based on the specified projects.
- *
- * @param projects The projects to create the dependency graph with
- * @throws DuplicateProjectException
- * @throws CycleDetectedException
- */
- public DefaultProjectDependencyGraph( Collection<MavenProject> projects )
- throws CycleDetectedException, DuplicateProjectException
- {
- this.sorter = new ProjectSorter( projects );
- }
-
- public List<MavenProject> getSortedProjects()
- {
- return new ArrayList<MavenProject>( sorter.getSortedProjects() );
- }
-
- public List<MavenProject> getDownstreamProjects( MavenProject project, boolean transitive )
- {
- if ( project == null )
- {
- throw new IllegalArgumentException( "project missing" );
- }
-
- Set<String> projectIds = new HashSet<String>();
-
- getDownstreamProjects( ProjectSorter.getId( project ), projectIds, transitive );
-
- return getSortedProjects( projectIds );
- }
-
- private void getDownstreamProjects( String projectId, Set<String> projectIds, boolean transitive )
- {
- for ( String id : sorter.getDependents( projectId ) )
- {
- if ( projectIds.add( id ) && transitive )
- {
- getDownstreamProjects( id, projectIds, transitive );
- }
- }
- }
-
- public List<MavenProject> getUpstreamProjects( MavenProject project, boolean transitive )
- {
- if ( project == null )
- {
- throw new IllegalArgumentException( "project missing" );
- }
-
- Set<String> projectIds = new HashSet<String>();
-
- getUpstreamProjects( ProjectSorter.getId( project ), projectIds, transitive );
-
- return getSortedProjects( projectIds );
- }
-
- private void getUpstreamProjects( String projectId, Collection<String> projectIds, boolean transitive )
- {
- for ( String id : sorter.getDependencies( projectId ) )
- {
- if ( projectIds.add( id ) && transitive )
- {
- getUpstreamProjects( id, projectIds, transitive );
- }
- }
- }
-
- private List<MavenProject> getSortedProjects( Set<String> projectIds )
- {
- List<MavenProject> result = new ArrayList<MavenProject>( projectIds.size() );
-
- for ( MavenProject mavenProject : sorter.getSortedProjects() )
- {
- if ( projectIds.contains( ProjectSorter.getId( mavenProject ) ) )
- {
- result.add( mavenProject );
- }
- }
-
- return result;
- }
-
- @Override
- public String toString()
- {
- return sorter.getSortedProjects().toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java
deleted file mode 100644
index 662bda47..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/FilteredProjectDependencyGraph.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.maven.graph;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.IdentityHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Provides a sub view of another dependency graph.
- *
- * @author Benjamin Bentmann
- */
-class FilteredProjectDependencyGraph
- implements ProjectDependencyGraph
-{
-
- private ProjectDependencyGraph projectDependencyGraph;
-
- private Map<MavenProject, ?> whiteList;
-
- private List<MavenProject> sortedProjects;
-
- /**
- * Creates a new project dependency graph from the specified graph.
- *
- * @param projectDependencyGraph The project dependency graph to create a sub view from, must not be {@code null}.
- * @param whiteList The projects on which the dependency view should focus, must not be {@code null}.
- */
- public FilteredProjectDependencyGraph( ProjectDependencyGraph projectDependencyGraph,
- Collection<? extends MavenProject> whiteList )
- {
- if ( projectDependencyGraph == null )
- {
- throw new IllegalArgumentException( "project dependency graph missing" );
- }
-
- this.projectDependencyGraph = projectDependencyGraph;
-
- this.whiteList = new IdentityHashMap<MavenProject, Object>();
-
- for ( MavenProject project : whiteList )
- {
- this.whiteList.put( project, null );
- }
- }
-
- public List<MavenProject> getSortedProjects()
- {
- if ( sortedProjects == null )
- {
- sortedProjects = applyFilter( projectDependencyGraph.getSortedProjects() );
- }
-
- return new ArrayList<MavenProject>( sortedProjects );
- }
-
- public List<MavenProject> getDownstreamProjects( MavenProject project, boolean transitive )
- {
- return applyFilter( projectDependencyGraph.getDownstreamProjects( project, transitive ) );
- }
-
- public List<MavenProject> getUpstreamProjects( MavenProject project, boolean transitive )
- {
- return applyFilter( projectDependencyGraph.getUpstreamProjects( project, transitive ) );
- }
-
- private List<MavenProject> applyFilter( Collection<? extends MavenProject> projects )
- {
- List<MavenProject> filtered = new ArrayList<MavenProject>( projects.size() );
-
- for ( MavenProject project : projects )
- {
- if ( whiteList.containsKey( project ) )
- {
- filtered.add( project );
- }
- }
-
- return filtered;
- }
-
- @Override
- public String toString()
- {
- return getSortedProjects().toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/GraphBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/GraphBuilder.java
deleted file mode 100644
index fb7c4f2a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/graph/GraphBuilder.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.maven.graph;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.model.building.Result;
-
-public interface GraphBuilder
-{
- String HINT = "graphBuilder";
-
- Result<? extends ProjectDependencyGraph> build( MavenSession session );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
deleted file mode 100644
index 26a8ddae..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ /dev/null
@@ -1,271 +0,0 @@
-package org.apache.maven.internal.aether;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.LinkedHashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.bridge.MavenRepositorySystem;
-import org.apache.maven.eventspy.internal.EventSpyDispatcher;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Server;
-import org.apache.maven.settings.building.SettingsProblem;
-import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
-import org.apache.maven.settings.crypto.SettingsDecrypter;
-import org.apache.maven.settings.crypto.SettingsDecryptionResult;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.eclipse.aether.ConfigurationProperties;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.NoLocalRepositoryManagerException;
-import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.resolution.ResolutionErrorPolicy;
-import org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory;
-import org.eclipse.aether.util.repository.AuthenticationBuilder;
-import org.eclipse.aether.util.repository.DefaultAuthenticationSelector;
-import org.eclipse.aether.util.repository.DefaultMirrorSelector;
-import org.eclipse.aether.util.repository.DefaultProxySelector;
-import org.eclipse.aether.util.repository.SimpleResolutionErrorPolicy;
-import org.eclipse.sisu.Nullable;
-
-/**
- * @since 3.3.0
- */
-@Named
-public class DefaultRepositorySystemSessionFactory
-{
- @Inject
- private Logger logger;
-
- @Inject
- private ArtifactHandlerManager artifactHandlerManager;
-
- @Inject
- private RepositorySystem repoSystem;
-
- @Inject
- @Nullable
- @Named( "simple" )
- private LocalRepositoryManagerFactory simpleLocalRepoMgrFactory;
-
- @Inject
- @Nullable
- @Named( "ide" )
- private WorkspaceReader workspaceRepository;
-
- @Inject
- private SettingsDecrypter settingsDecrypter;
-
- @Inject
- private EventSpyDispatcher eventSpyDispatcher;
-
- @Inject
- MavenRepositorySystem mavenRepositorySystem;
-
- public DefaultRepositorySystemSession newRepositorySession( MavenExecutionRequest request )
- {
- DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
-
- session.setCache( request.getRepositoryCache() );
-
- Map<Object, Object> configProps = new LinkedHashMap<Object, Object>();
- configProps.put( ConfigurationProperties.USER_AGENT, getUserAgent() );
- configProps.put( ConfigurationProperties.INTERACTIVE, request.isInteractiveMode() );
- configProps.putAll( request.getSystemProperties() );
- configProps.putAll( request.getUserProperties() );
-
- session.setOffline( request.isOffline() );
- session.setChecksumPolicy( request.getGlobalChecksumPolicy() );
- if ( request.isNoSnapshotUpdates() )
- {
- session.setUpdatePolicy( RepositoryPolicy.UPDATE_POLICY_NEVER );
- }
- else if ( request.isUpdateSnapshots() )
- {
- session.setUpdatePolicy( RepositoryPolicy.UPDATE_POLICY_ALWAYS );
- }
- else
- {
- session.setUpdatePolicy( null );
- }
-
- int errorPolicy = 0;
- errorPolicy |= request.isCacheNotFound() ? ResolutionErrorPolicy.CACHE_NOT_FOUND : 0;
- errorPolicy |= request.isCacheTransferError() ? ResolutionErrorPolicy.CACHE_TRANSFER_ERROR : 0;
- session.setResolutionErrorPolicy( new SimpleResolutionErrorPolicy( errorPolicy, errorPolicy
- | ResolutionErrorPolicy.CACHE_NOT_FOUND ) );
-
- session.setArtifactTypeRegistry( RepositoryUtils.newArtifactTypeRegistry( artifactHandlerManager ) );
-
- LocalRepository localRepo = new LocalRepository( request.getLocalRepository().getBasedir() );
-
- if ( request.isUseLegacyLocalRepository() )
- {
- logger.warn( "Disabling enhanced local repository: using legacy is strongly discouraged to ensure"
- + " build reproducibility." );
- try
- {
- session.setLocalRepositoryManager( simpleLocalRepoMgrFactory.newInstance( session, localRepo ) );
- }
- catch ( NoLocalRepositoryManagerException e )
- {
-
- logger.warn( "Failed to configure legacy local repository: back to default" );
- session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
- }
- }
- else
- {
- session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
- }
-
- if ( request.getWorkspaceReader() != null )
- {
- session.setWorkspaceReader( request.getWorkspaceReader() );
- }
- else
- {
- session.setWorkspaceReader( workspaceRepository );
- }
-
- DefaultSettingsDecryptionRequest decrypt = new DefaultSettingsDecryptionRequest();
- decrypt.setProxies( request.getProxies() );
- decrypt.setServers( request.getServers() );
- SettingsDecryptionResult decrypted = settingsDecrypter.decrypt( decrypt );
-
- if ( logger.isDebugEnabled() )
- {
- for ( SettingsProblem problem : decrypted.getProblems() )
- {
- logger.debug( problem.getMessage(), problem.getException() );
- }
- }
-
- DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
- for ( Mirror mirror : request.getMirrors() )
- {
- mirrorSelector.add( mirror.getId(), mirror.getUrl(), mirror.getLayout(), false, mirror.getMirrorOf(),
- mirror.getMirrorOfLayouts() );
- }
- session.setMirrorSelector( mirrorSelector );
-
- DefaultProxySelector proxySelector = new DefaultProxySelector();
- for ( Proxy proxy : decrypted.getProxies() )
- {
- AuthenticationBuilder authBuilder = new AuthenticationBuilder();
- authBuilder.addUsername( proxy.getUsername() ).addPassword( proxy.getPassword() );
- proxySelector.add( new org.eclipse.aether.repository.Proxy( proxy.getProtocol(), proxy.getHost(),
- proxy.getPort(), authBuilder.build() ),
- proxy.getNonProxyHosts() );
- }
- session.setProxySelector( proxySelector );
-
- DefaultAuthenticationSelector authSelector = new DefaultAuthenticationSelector();
- for ( Server server : decrypted.getServers() )
- {
- AuthenticationBuilder authBuilder = new AuthenticationBuilder();
- authBuilder.addUsername( server.getUsername() ).addPassword( server.getPassword() );
- authBuilder.addPrivateKey( server.getPrivateKey(), server.getPassphrase() );
- authSelector.add( server.getId(), authBuilder.build() );
-
- if ( server.getConfiguration() != null )
- {
- Xpp3Dom dom = (Xpp3Dom) server.getConfiguration();
- for ( int i = dom.getChildCount() - 1; i >= 0; i-- )
- {
- Xpp3Dom child = dom.getChild( i );
- if ( "wagonProvider".equals( child.getName() ) )
- {
- dom.removeChild( i );
- }
- }
-
- XmlPlexusConfiguration config = new XmlPlexusConfiguration( dom );
- configProps.put( "aether.connector.wagon.config." + server.getId(), config );
- }
-
- configProps.put( "aether.connector.perms.fileMode." + server.getId(), server.getFilePermissions() );
- configProps.put( "aether.connector.perms.dirMode." + server.getId(), server.getDirectoryPermissions() );
- }
- session.setAuthenticationSelector( authSelector );
-
- session.setTransferListener( request.getTransferListener() );
-
- session.setRepositoryListener( eventSpyDispatcher.chainListener( new LoggingRepositoryListener( logger ) ) );
-
- session.setUserProperties( request.getUserProperties() );
- session.setSystemProperties( request.getSystemProperties() );
- session.setConfigProperties( configProps );
-
- mavenRepositorySystem.injectMirror( request.getRemoteRepositories(), request.getMirrors() );
- mavenRepositorySystem.injectProxy( session, request.getRemoteRepositories() );
- mavenRepositorySystem.injectAuthentication( session, request.getRemoteRepositories() );
-
- mavenRepositorySystem.injectMirror( request.getPluginArtifactRepositories(), request.getMirrors() );
- mavenRepositorySystem.injectProxy( session, request.getPluginArtifactRepositories() );
- mavenRepositorySystem.injectAuthentication( session, request.getPluginArtifactRepositories() );
-
- return session;
- }
-
- private String getUserAgent()
- {
- return "Apache-Maven/" + getMavenVersion() + " (Java " + System.getProperty( "java.version" ) + "; "
- + System.getProperty( "os.name" ) + " " + System.getProperty( "os.version" ) + ")";
- }
-
- private String getMavenVersion()
- {
- Properties props = new Properties();
-
- InputStream is = getClass().getResourceAsStream( "/META-INF/maven/org.apache.maven/maven-core/pom.properties" );
- if ( is != null )
- {
- try
- {
- props.load( is );
- }
- catch ( IOException e )
- {
- logger.debug( "Failed to read Maven version", e );
- }
- IOUtil.close( is );
- }
-
- return props.getProperty( "version", "unknown-version" );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java
deleted file mode 100644
index 7b67c3bd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.apache.maven.internal.aether;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.FileNotFoundException;
-
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.AbstractRepositoryListener;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.transfer.MetadataNotFoundException;
-
-/**
- * @author Benjamin Bentmann
- */
-class LoggingRepositoryListener
- extends AbstractRepositoryListener
-{
-
- private final Logger logger;
-
- public LoggingRepositoryListener( Logger logger )
- {
- this.logger = logger;
- }
-
- @Override
- public void artifactInstalling( RepositoryEvent event )
- {
- logger.info( "Installing " + event.getArtifact().getFile() + " to " + event.getFile() );
- }
-
- @Override
- public void metadataInstalling( RepositoryEvent event )
- {
- logger.debug( "Installing " + event.getMetadata() + " to " + event.getFile() );
- }
-
- @Override
- public void metadataResolved( RepositoryEvent event )
- {
- Exception e = event.getException();
- if ( e != null )
- {
- if ( e instanceof MetadataNotFoundException )
- {
- logger.debug( e.getMessage() );
- }
- else if ( logger.isDebugEnabled() )
- {
- logger.warn( e.getMessage(), e );
- }
- else
- {
- logger.warn( e.getMessage() );
- }
- }
- }
-
- @Override
- public void metadataInvalid( RepositoryEvent event )
- {
- Exception exception = event.getException();
-
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( "The metadata " );
- if ( event.getMetadata().getFile() != null )
- {
- buffer.append( event.getMetadata().getFile() );
- }
- else
- {
- buffer.append( event.getMetadata() );
- }
-
- if ( exception instanceof FileNotFoundException )
- {
- buffer.append( " is inaccessible" );
- }
- else
- {
- buffer.append( " is invalid" );
- }
-
- if ( exception != null )
- {
- buffer.append( ": " );
- buffer.append( exception.getMessage() );
- }
-
- if ( logger.isDebugEnabled() )
- {
- logger.warn( buffer.toString(), exception );
- }
- else
- {
- logger.warn( buffer.toString() );
- }
- }
-
- @Override
- public void artifactDescriptorInvalid( RepositoryEvent event )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( "The POM for " );
- buffer.append( event.getArtifact() );
- buffer.append( " is invalid, transitive dependencies (if any) will not be available" );
-
- if ( logger.isDebugEnabled() )
- {
- logger.warn( buffer + ": " + event.getException().getMessage() );
- }
- else
- {
- logger.warn( buffer + ", enable debug logging for more details" );
- }
- }
-
- @Override
- public void artifactDescriptorMissing( RepositoryEvent event )
- {
- logger.warn( "The POM for " + event.getArtifact() + " is missing, no dependency information available" );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
deleted file mode 100644
index 6f994b3d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
-import org.apache.maven.lifecycle.internal.LifecycleStarter;
-import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
-import org.apache.maven.lifecycle.internal.MojoDescriptorCreator;
-import org.apache.maven.lifecycle.internal.MojoExecutor;
-import org.apache.maven.lifecycle.internal.ProjectIndex;
-import org.apache.maven.lifecycle.internal.TaskSegment;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * A facade that provides lifecycle services to components outside maven core.
- *
- * Note that this component is not normally used from within core itself.
- *
- * @author Jason van Zyl
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold
- */
-@Component( role = LifecycleExecutor.class )
-public class DefaultLifecycleExecutor
- implements LifecycleExecutor
-{
-
- @Requirement
- private LifeCyclePluginAnalyzer lifeCyclePluginAnalyzer;
-
- @Requirement
- private DefaultLifecycles defaultLifeCycles;
-
- @Requirement
- private LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator;
-
- @Requirement
- private LifecycleExecutionPlanCalculator lifecycleExecutionPlanCalculator;
-
- @Requirement
- private MojoExecutor mojoExecutor;
-
- @Requirement
- private LifecycleStarter lifecycleStarter;
-
-
- public void execute( MavenSession session )
- {
- lifecycleStarter.execute( session );
- }
-
- @Requirement
- private MojoDescriptorCreator mojoDescriptorCreator;
-
- // These methods deal with construction intact Plugin object that look like they come from a standard
- // <plugin/> block in a Maven POM. We have to do some wiggling to pull the sources of information
- // together and this really shows the problem of constructing a sensible default configuration but
- // it's all encapsulated here so it appears normalized to the POM builder.
-
- // We are going to take the project packaging and find all plugin in the default lifecycle and create
- // fully populated Plugin objects, including executions with goals and default configuration taken
- // from the plugin.xml inside a plugin.
- //
- // TODO: This whole method could probably removed by injecting lifeCyclePluginAnalyzer straight into client site.
- // TODO: But for some reason the whole plexus appcontext refuses to start when I try this.
-
- public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
- {
- return lifeCyclePluginAnalyzer.getPluginsBoundByDefaultToAllLifecycles( packaging );
- }
-
- // USED BY MAVEN HELP PLUGIN
-
- @Deprecated
- public Map<String, Lifecycle> getPhaseToLifecycleMap()
- {
- return defaultLifeCycles.getPhaseToLifecycleMap();
- }
-
- // NOTE: Backward-compat with maven-help-plugin:2.1
-
- @SuppressWarnings( { "UnusedDeclaration" } )
- MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project, String invokedVia,
- boolean canUsePrefix, boolean isOptionalMojo )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException
- {
- return mojoDescriptorCreator.getMojoDescriptor( task, session, project );
- }
-
- // Used by m2eclipse
-
- @SuppressWarnings( { "UnusedDeclaration" } )
- public MavenExecutionPlan calculateExecutionPlan( MavenSession session, boolean setup, String... tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginManagerException, LifecyclePhaseNotFoundException, LifecycleNotFoundException,
- PluginVersionResolutionException
- {
- List<TaskSegment> taskSegments =
- lifecycleTaskSegmentCalculator.calculateTaskSegments( session, Arrays.asList( tasks ) );
-
- TaskSegment mergedSegment = new TaskSegment( false );
-
- for ( TaskSegment taskSegment : taskSegments )
- {
- mergedSegment.getTasks().addAll( taskSegment.getTasks() );
- }
-
- return lifecycleExecutionPlanCalculator.calculateExecutionPlan( session, session.getCurrentProject(),
- mergedSegment.getTasks(), setup );
- }
-
- public MavenExecutionPlan calculateExecutionPlan( MavenSession session, String... tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginManagerException, LifecyclePhaseNotFoundException, LifecycleNotFoundException,
- PluginVersionResolutionException
- {
- return calculateExecutionPlan( session, true, tasks );
- }
-
- // Site 3.x
- public void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- lifecycleExecutionPlanCalculator.calculateForkedExecutions( mojoExecution, session );
- }
-
- // Site 3.x
- public List<MavenProject> executeForkedExecutions( MojoExecution mojoExecution, MavenSession session )
- throws LifecycleExecutionException
- {
- return mojoExecutor.executeForkedExecutions( mojoExecution, session,
- new ProjectIndex( session.getProjects() ) );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
deleted file mode 100644
index 64c9a7f9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-
-import com.google.common.base.Preconditions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @since 3.0
- * @author Jason van Zyl
- * @author Kristian Rosenvold
- */
-// TODO: The configuration for the lifecycle needs to be externalized so that I can use the annotations properly for the
-// wiring and reference and external source for the lifecycle configuration.
-@Component( role = DefaultLifecycles.class )
-public class DefaultLifecycles
-{
- public static final String[] STANDARD_LIFECYCLES = { "default", "clean", "site" };
-
- // @Configuration(source="org/apache/maven/lifecycle/lifecycles.xml")
-
- @Requirement( role = Lifecycle.class )
- private Map<String, Lifecycle> lifecycles;
-
- @Requirement
- private Logger logger;
-
- public DefaultLifecycles()
- {
- }
-
- public DefaultLifecycles( Map<String, Lifecycle> lifecycles, Logger logger )
- {
- this.lifecycles = new LinkedHashMap<String, Lifecycle>();
- this.logger = logger;
- this.lifecycles = lifecycles;
- }
-
- public Lifecycle get( String key )
- {
- return getPhaseToLifecycleMap().get( key );
- }
-
- /**
- * We use this to map all phases to the lifecycle that contains it. This is used so that a user can specify the
- * phase they want to execute and we can easily determine what lifecycle we need to run.
- *
- * @return A map of lifecycles, indexed on id
- */
- public Map<String, Lifecycle> getPhaseToLifecycleMap()
- {
- // If people are going to make their own lifecycles then we need to tell people how to namespace them correctly
- // so that they don't interfere with internally defined lifecycles.
-
- HashMap<String, Lifecycle> phaseToLifecycleMap = new HashMap<String, Lifecycle>();
-
- for ( Lifecycle lifecycle : getLifeCycles() )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Lifecycle " + lifecycle );
- }
-
- for ( String phase : lifecycle.getPhases() )
- {
- // The first definition wins.
- if ( !phaseToLifecycleMap.containsKey( phase ) )
- {
- phaseToLifecycleMap.put( phase, lifecycle );
- }
- else
- {
- Lifecycle original = phaseToLifecycleMap.get( phase );
- logger.warn( "Duplicated lifecycle phase " + phase + ". Defined in " + original.getId()
- + " but also in " + lifecycle.getId() );
- }
- }
- }
-
- return phaseToLifecycleMap;
- }
-
- public List<Lifecycle> getLifeCycles()
- {
- // ensure canonical order of standard lifecycles
- Map<String, Lifecycle> lifecycles = new LinkedHashMap<String, Lifecycle>( this.lifecycles );
-
- LinkedHashSet<String> lifecycleNames = new LinkedHashSet<String>( Arrays.asList( STANDARD_LIFECYCLES ) );
- lifecycleNames.addAll( lifecycles.keySet() );
-
- ArrayList<Lifecycle> result = new ArrayList<Lifecycle>();
- for ( String name : lifecycleNames )
- {
- Lifecycle lifecycle = lifecycles.get( name );
- Preconditions.checkNotNull( "A lifecycle must have an id.", lifecycle.getId() );
- result.add( lifecycle );
- }
-
- return result;
- }
-
- public String getLifecyclePhaseList()
- {
- Set<String> phases = new LinkedHashSet<String>();
-
- for ( Lifecycle lifecycle : getLifeCycles() )
- {
- phases.addAll( lifecycle.getPhases() );
- }
-
- return StringUtils.join( phases.iterator(), ", " );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java
deleted file mode 100644
index ed07c1d5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Set;
-import org.apache.maven.model.Plugin;
-
-/**
- * @since 3.0
- * @author Kristian Rosenvold
- */
-public interface LifeCyclePluginAnalyzer
-{
- Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java
deleted file mode 100644
index fcfde951..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Class Lifecycle.
- */
-public class Lifecycle
-{
- public Lifecycle()
- {
- }
-
- public Lifecycle( String id, List<String> phases, Map<String, String> defaultPhases )
- {
- this.id = id;
- this.phases = phases;
- this.defaultPhases = defaultPhases;
- }
-
- // <lifecycle>
- // <id>clean</id>
- // <phases>
- // <phase>pre-clean</phase>
- // <phase>clean</phase>
- // <phase>post-clean</phase>
- // </phases>
- // <default-phases>
- // <clean>org.apache.maven.plugins:maven-clean-plugin:clean</clean>
- // </default-phases>
- // </lifecycle>
-
- private String id;
-
- private List<String> phases;
-
- private Map<String, String> defaultPhases;
-
- public String getId()
- {
- return this.id;
- }
-
- public List<String> getPhases()
- {
- return this.phases;
- }
-
- public Map<String, String> getDefaultPhases()
- {
- return defaultPhases;
- }
-
- @Override
- public String toString()
- {
- return id + " -> " + phases;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
deleted file mode 100644
index 349576cd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- */
-public class LifecycleExecutionException
- extends Exception
-{
- private MavenProject project;
-
- public LifecycleExecutionException( String message )
- {
- super( message );
- }
-
- public LifecycleExecutionException( Throwable cause )
- {
- super( cause );
- }
-
- public LifecycleExecutionException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
- public LifecycleExecutionException( String message, MavenProject project )
- {
- super( message );
- this.project = project;
- }
-
- public LifecycleExecutionException( String message, MojoExecution execution, MavenProject project )
- {
- super( message );
- this.project = project;
- }
-
- public LifecycleExecutionException( String message, MojoExecution execution, MavenProject project, Throwable cause )
- {
- super( message, cause );
- this.project = project;
- }
-
- public LifecycleExecutionException( MojoExecution execution, MavenProject project, Throwable cause )
- {
- this( createMessage( execution, project, cause ), execution, project, cause );
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- private static String createMessage( MojoExecution execution, MavenProject project, Throwable cause )
- {
- StringBuilder buffer = new StringBuilder( 256 );
-
- buffer.append( "Failed to execute goal" );
-
- if ( execution != null )
- {
- buffer.append( ' ' );
- buffer.append( execution.getGroupId() );
- buffer.append( ':' );
- buffer.append( execution.getArtifactId() );
- buffer.append( ':' );
- buffer.append( execution.getVersion() );
- buffer.append( ':' );
- buffer.append( execution.getGoal() );
- buffer.append( " (" );
- buffer.append( execution.getExecutionId() );
- buffer.append( ")" );
- }
-
- if ( project != null )
- {
- buffer.append( " on project " );
- buffer.append( project.getArtifactId() );
- }
-
- if ( cause != null )
- {
- buffer.append( ": " ).append( cause.getMessage() );
- }
-
- return buffer.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
deleted file mode 100644
index 04c602cf..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.MavenProject;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * A facade that provides lifecycle services to components outside Maven core.
- *
- * @author Jason van Zyl
- */
-public interface LifecycleExecutor
-{
-
- // USED BY MAVEN HELP PLUGIN
- @Deprecated
- String ROLE = LifecycleExecutor.class.getName();
-
- // For a given project packaging find all the plugins that are bound to any registered
- // lifecycles. The project builder needs to now what default plugin information needs to be
- // merged into POM being built. Once the POM builder has this plugin information, versions can be assigned
- // by the POM builder because they will have to be defined in plugin management. Once this is setComplete then it
- // can be passed back so that the default configuration information can be populated.
- //
- // We need to know the specific version so that we can lookup the right version of the plugin descriptor
- // which tells us what the default configuration is.
- //
-
- /**
- * @return The plugins bound to the lifecycles of the specified packaging or {@code null} if the packaging is
- * unknown.
- */
- Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging );
-
- MavenExecutionPlan calculateExecutionPlan( MavenSession session, String... tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginManagerException, LifecyclePhaseNotFoundException, LifecycleNotFoundException,
- PluginVersionResolutionException;
-
- MavenExecutionPlan calculateExecutionPlan( MavenSession session, boolean setup, String... tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginManagerException, LifecyclePhaseNotFoundException, LifecycleNotFoundException,
- PluginVersionResolutionException;
-
- void execute( MavenSession session );
-
- // used by the site plugin 3.x
- void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException;
-
- // used by the site plugin 3.x
- List<MavenProject> executeForkedExecutions( MojoExecution mojoExecution, MavenSession session )
- throws LifecycleExecutionException;
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java
deleted file mode 100644
index f0701987..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Lifecycle mapping delegate component interface. Calculates project build execution plan given {@link Lifecycle} and
- * lifecycle phase. Standard lifecycles use plugin execution {@code <phase>} or mojo default lifecycle phase to
- * calculate the execution plan, but custom lifecycles can use alternative mapping strategies.
- * <p>
- * Implementations of this interface must be annotated with either {@code @Named("lifecycle-id")} or equivalent plexus
- * {@code @Component} annotations.
- *
- * @since 3.2.0
- * @see org.apache.maven.lifecycle.internal.DefaultLifecycleMappingDelegate
- * @author ifedorenko
- */
-public interface LifecycleMappingDelegate
-{
- Map<String, List<MojoExecution>> calculateLifecycleMappings( MavenSession session, MavenProject project,
- Lifecycle lifecycle, String lifecyclePhase )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException;
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleNotFoundException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleNotFoundException.java
deleted file mode 100644
index e9ff0c20..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleNotFoundException.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals a failure to locate a lifecycle.
- *
- * @author Benjamin Bentmann
- */
-public class LifecycleNotFoundException
- extends Exception
-{
-
- private final String lifecycleId;
-
- /**
- * Creates a new exception to indicate that the specified lifecycle is unknown.
- *
- * @param lifecycleId The identifier of the lifecycle that could not be located, may be {@code null}.
- */
- public LifecycleNotFoundException( String lifecycleId )
- {
- super( "Unknown lifecycle " + lifecycleId );
- this.lifecycleId = ( lifecycleId != null ) ? lifecycleId : "";
- }
-
- /**
- * Gets the identifier of the lifecycle that was not found.
- *
- * @return The identifier of the lifecycle that was not found, never {@code null}.
- */
- public String getLifecycleId()
- {
- return lifecycleId;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecyclePhaseNotFoundException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecyclePhaseNotFoundException.java
deleted file mode 100644
index fab1d2f2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/LifecyclePhaseNotFoundException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals a failure to locate the lifecycle for some phase.
- *
- * @author Benjamin Bentmann
- */
-public class LifecyclePhaseNotFoundException
- extends Exception
-{
-
- private final String lifecyclePhase;
-
- /**
- * Creates a new exception to indicate that the specified lifecycle phase is not defined by any known lifecycle.
- *
- * @param message The detail message, may be {@code null}.
- * @param lifecyclePhase The name of the lifecycle phase that could not be located, may be {@code null}.
- */
- public LifecyclePhaseNotFoundException( String message, String lifecyclePhase )
- {
- super( message );
- this.lifecyclePhase = ( lifecyclePhase != null ) ? lifecyclePhase : "";
- }
-
- /**
- * Gets the lifecycle phase that was not found.
- *
- * @return The lifecycle phase that was not found, never {@code null}.
- */
- public String getLifecyclePhase()
- {
- return lifecyclePhase;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java
deleted file mode 100644
index 7767ea25..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-
-//TODO: lifecycles being executed
-//TODO: what runs in each phase
-//TODO: plugins that need downloading
-//TODO: project dependencies that need downloading
-//TODO: unfortunately the plugins need to be downloaded in order to get the plugin.xml file. need to externalize this
-// from the plugin archive.
-//TODO: this will be the class that people get in IDEs to modify
-
-public class MavenExecutionPlan
- implements Iterable<ExecutionPlanItem>
-{
-
- /*
- At the moment, this class is totally immutable, and this is in line with thoughts about the
- pre-calculated execution plan that stays the same during the execution.
-
- If deciding to add mutable state to this class, it should be at least considered to
- separate this into a separate mutable structure.
-
- */
-
- private final List<ExecutionPlanItem> planItem;
-
- private final Map<String, ExecutionPlanItem> lastMojoExecutionForAllPhases;
-
- final List<String> phasesInExecutionPlan;
-
- public MavenExecutionPlan( List<ExecutionPlanItem> planItem, DefaultLifecycles defaultLifecycles )
- {
- this.planItem = planItem;
-
- lastMojoExecutionForAllPhases = new LinkedHashMap<String, ExecutionPlanItem>();
-
- LinkedHashSet<String> totalPhaseSet = new LinkedHashSet<String>();
- if ( defaultLifecycles != null )
- {
- for ( String phase : getDistinctPhasesInOrderOfExecutionPlanAppearance( planItem ) )
- {
- final Lifecycle lifecycle = defaultLifecycles.get( phase );
- if ( lifecycle != null )
- {
- totalPhaseSet.addAll( lifecycle.getPhases() );
- }
- }
- }
- this.phasesInExecutionPlan = new ArrayList<String>( totalPhaseSet );
-
- Map<String, ExecutionPlanItem> lastInExistingPhases = new HashMap<String, ExecutionPlanItem>();
- for ( ExecutionPlanItem executionPlanItem : getExecutionPlanItems() )
- {
- lastInExistingPhases.put( executionPlanItem.getLifecyclePhase(), executionPlanItem );
- }
-
- ExecutionPlanItem lastSeenExecutionPlanItem = null;
-
- for ( String phase : totalPhaseSet )
- {
- ExecutionPlanItem forThisPhase = lastInExistingPhases.get( phase );
- if ( forThisPhase != null )
- {
- lastSeenExecutionPlanItem = forThisPhase;
- }
-
- lastMojoExecutionForAllPhases.put( phase, lastSeenExecutionPlanItem );
- }
- }
-
- public Iterator<ExecutionPlanItem> iterator()
- {
- return getExecutionPlanItems().iterator();
- }
-
- /**
- * Returns the last ExecutionPlanItem in the supplied phase. If no items are in the specified phase,
- * the closest executionPlanItem from an earlier phase item will be returned.
- *
- * @param requestedPhase the requested phase
- * The execution plan item
- * @return The ExecutionPlanItem or null if none can be found
- */
- public ExecutionPlanItem findLastInPhase( String requestedPhase )
- {
- return lastMojoExecutionForAllPhases.get( requestedPhase );
- }
-
- private List<ExecutionPlanItem> getExecutionPlanItems()
- {
- return planItem;
- }
-
- private static Iterable<String> getDistinctPhasesInOrderOfExecutionPlanAppearance(
- List<ExecutionPlanItem> planItems )
- {
- LinkedHashSet<String> result = new LinkedHashSet<String>();
- for ( ExecutionPlanItem executionPlanItem : planItems )
- {
- final String phase = executionPlanItem.getLifecyclePhase();
- if ( !result.contains( phase ) )
- {
- result.add( phase );
- }
- }
- return result;
- }
-
- public List<MojoExecution> getMojoExecutions()
- {
- List<MojoExecution> result = new ArrayList<MojoExecution>();
- for ( ExecutionPlanItem executionPlanItem : planItem )
- {
- result.add( executionPlanItem.getMojoExecution() );
- }
- return result;
- }
-
- /**
- * Get set of plugins having a goal/mojo used but not marked @threadSafe
- *
- * @return the set of plugins (without info on which goal is concerned)
- */
- public Set<Plugin> getNonThreadSafePlugins()
- {
- Set<Plugin> plugins = new HashSet<Plugin>();
- for ( ExecutionPlanItem executionPlanItem : planItem )
- {
- final MojoExecution mojoExecution = executionPlanItem.getMojoExecution();
- if ( !mojoExecution.getMojoDescriptor().isThreadSafe() )
- {
- plugins.add( mojoExecution.getPlugin() );
- }
- }
- return plugins;
- }
-
- /**
- * Get set of mojos used but not marked @threadSafe
- *
- * @return the set of mojo descriptors
- */
- public Set<MojoDescriptor> getNonThreadSafeMojos()
- {
- Set<MojoDescriptor> mojos = new HashSet<MojoDescriptor>();
- for ( ExecutionPlanItem executionPlanItem : planItem )
- {
- final MojoExecution mojoExecution = executionPlanItem.getMojoExecution();
- if ( !mojoExecution.getMojoDescriptor().isThreadSafe() )
- {
- mojos.add( mojoExecution.getMojoDescriptor() );
- }
- }
- return mojos;
- }
-
- // Used by m2e but will be removed, really.
- @Deprecated
- public List<MojoExecution> getExecutions()
- {
- return getMojoExecutions();
- }
-
- public int size()
- {
- return planItem.size();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MissingProjectException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MissingProjectException.java
deleted file mode 100644
index 571e1d2b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MissingProjectException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals a failure to execute a lifecycle phase or mojo because a project is required but not present.
- *
- * @author Benjamin Bentmann
- */
-public class MissingProjectException
- extends Exception
-{
-
- /**
- * Creates a new exception.
- *
- * @param message The detail message, may be {@code null}.
- */
- public MissingProjectException( String message )
- {
- super( message );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MojoExecutionConfigurator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MojoExecutionConfigurator.java
deleted file mode 100644
index b85bac77..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/MojoExecutionConfigurator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * A MojoExecutionConfigurator is responsible for creating the configuration for Mojo based on configuration for a Mojo
- * in the MavenProject and the default configuration for the Mojo from the containing plugin's plugin.xml descriptor.
- *
- * @provisional
- * @author Jason van Zyl
- * @since 3.3.1, MNG-5753
- */
-public interface MojoExecutionConfigurator
-{
- /**
- * Create the MojoExecution configuration based on configuration for a Mojo in the MavenProject and the
- * default configuration for the Mojo from the containing plugin's plugin.xml descriptor.
- *
- * @param project
- * @param mojoExecution
- * @param allowPluginLevelConfig
- */
- void configure( MavenProject project, MojoExecution mojoExecution, boolean allowPluginLevelConfig );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalSpecifiedException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalSpecifiedException.java
deleted file mode 100644
index 2ac9638a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalSpecifiedException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals a failure to build because no goal was specified.
- *
- * @author Benjamin Bentmann
- */
-public class NoGoalSpecifiedException
- extends Exception
-{
-
- /**
- * Creates a new exception.
- *
- * @param message The detail message, may be {@code null}.
- */
- public NoGoalSpecifiedException( String message )
- {
- super( message );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
deleted file mode 100644
index 771385cc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @since 3.0
- * @author Kristian Rosenvold
- * This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = BuildListCalculator.class )
-public class BuildListCalculator
-{
- public ProjectBuildList calculateProjectBuilds( MavenSession session, List<TaskSegment> taskSegments )
- {
- List<ProjectSegment> projectBuilds = new ArrayList<ProjectSegment>();
-
- MavenProject rootProject = session.getTopLevelProject();
-
- for ( TaskSegment taskSegment : taskSegments )
- {
- List<MavenProject> projects;
-
- if ( taskSegment.isAggregating() )
- {
- projects = Collections.singletonList( rootProject );
- }
- else
- {
- projects = session.getProjects();
- }
- for ( MavenProject project : projects )
- {
- BuilderCommon.attachToThread( project ); // Not totally sure if this is needed for anything
- MavenSession copiedSession = session.clone();
- copiedSession.setCurrentProject( project );
- projectBuilds.add( new ProjectSegment( project, taskSegment, copiedSession ) );
- }
- }
- return new ProjectBuildList( projectBuilds );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java
deleted file mode 100644
index 01545078..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * Simple {@link ThreadFactory} implementation that ensures the corresponding threads have a meaningful name.
- */
-public class BuildThreadFactory
- implements ThreadFactory
-{
- private final AtomicInteger id = new AtomicInteger();
-
- private static final String PREFIX = "BuilderThread";
-
- public Thread newThread( Runnable r )
- {
- return new Thread( r, String.format( "%s %d", PREFIX, id.getAndIncrement() ) );
- }
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/CompoundProjectExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/CompoundProjectExecutionListener.java
deleted file mode 100644
index f2a8291a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/CompoundProjectExecutionListener.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-
-import org.apache.maven.execution.ProjectExecutionEvent;
-import org.apache.maven.execution.ProjectExecutionListener;
-import org.apache.maven.lifecycle.LifecycleExecutionException;
-
-class CompoundProjectExecutionListener
- implements ProjectExecutionListener
-{
- private final Collection<ProjectExecutionListener> listeners;
-
- public CompoundProjectExecutionListener( Collection<ProjectExecutionListener> listeners )
- {
- this.listeners = listeners; // NB this is live injected collection
- }
-
- public void beforeProjectExecution( ProjectExecutionEvent event )
- throws LifecycleExecutionException
- {
- for ( ProjectExecutionListener listener : listeners )
- {
- listener.beforeProjectExecution( event );
- }
- }
-
- public void beforeProjectLifecycleExecution( ProjectExecutionEvent event )
- throws LifecycleExecutionException
- {
- for ( ProjectExecutionListener listener : listeners )
- {
- listener.beforeProjectLifecycleExecution( event );
- }
- }
-
- public void afterProjectExecutionSuccess( ProjectExecutionEvent event )
- throws LifecycleExecutionException
- {
- for ( ProjectExecutionListener listener : listeners )
- {
- listener.afterProjectExecutionSuccess( event );
- }
- }
-
- public void afterProjectExecutionFailure( ProjectExecutionEvent event )
- {
- for ( ProjectExecutionListener listener : listeners )
- {
- listener.afterProjectExecutionFailure( event );
- }
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java
deleted file mode 100644
index 9434a659..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEvent.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Holds data relevant for an execution event.
- *
- * @author Benjamin Bentmann
- */
-class DefaultExecutionEvent
- implements ExecutionEvent
-{
-
- private final Type type;
-
- private final MavenSession session;
-
- private final MojoExecution mojoExecution;
-
- private final Exception exception;
-
- public DefaultExecutionEvent( Type type, MavenSession session, MojoExecution mojoExecution, Exception exception )
- {
- this.type = type;
- this.session = session;
- this.mojoExecution = mojoExecution;
- this.exception = exception;
- }
-
- public Type getType()
- {
- return type;
- }
-
- public MavenSession getSession()
- {
- return session;
- }
-
- public MavenProject getProject()
- {
- return session.getCurrentProject();
- }
-
- public MojoExecution getMojoExecution()
- {
- return mojoExecution;
- }
-
- public Exception getException()
- {
- return exception;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java
deleted file mode 100644
index bfb98d43..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.ExecutionListener;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.MojoExecution;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * Assists in firing execution events. <strong>Warning:</strong> This is an internal utility class that is only public
- * for technical reasons, it is not part of the public API. In particular, this class can be changed or deleted without
- * prior notice.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ExecutionEventCatapult.class )
-public class DefaultExecutionEventCatapult
- implements ExecutionEventCatapult
-{
-
- public void fire( ExecutionEvent.Type eventType, MavenSession session, MojoExecution mojoExecution )
- {
- fire( eventType, session, mojoExecution, null );
- }
-
- public void fire( ExecutionEvent.Type eventType, MavenSession session, MojoExecution mojoExecution,
- Exception exception )
- {
- ExecutionListener listener = session.getRequest().getExecutionListener();
-
- if ( listener != null )
- {
- ExecutionEvent event = new DefaultExecutionEvent( eventType, session, mojoExecution, exception );
-
- switch ( eventType )
- {
- case ProjectDiscoveryStarted:
- listener.projectDiscoveryStarted( event );
- break;
-
- case SessionStarted:
- listener.sessionStarted( event );
- break;
- case SessionEnded:
- listener.sessionEnded( event );
- break;
-
- case ProjectSkipped:
- listener.projectSkipped( event );
- break;
- case ProjectStarted:
- listener.projectStarted( event );
- break;
- case ProjectSucceeded:
- listener.projectSucceeded( event );
- break;
- case ProjectFailed:
- listener.projectFailed( event );
- break;
-
- case MojoSkipped:
- listener.mojoSkipped( event );
- break;
- case MojoStarted:
- listener.mojoStarted( event );
- break;
- case MojoSucceeded:
- listener.mojoSucceeded( event );
- break;
- case MojoFailed:
- listener.mojoFailed( event );
- break;
-
- case ForkStarted:
- listener.forkStarted( event );
- break;
- case ForkSucceeded:
- listener.forkSucceeded( event );
- break;
- case ForkFailed:
- listener.forkFailed( event );
- break;
-
- case ForkedProjectStarted:
- listener.forkedProjectStarted( event );
- break;
- case ForkedProjectSucceeded:
- listener.forkedProjectSucceeded( event );
- break;
- case ForkedProjectFailed:
- listener.forkedProjectFailed( event );
- break;
-
- default:
- throw new IllegalStateException( "Unknown execution event type " + eventType );
- }
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
deleted file mode 100644
index 8cc47cc5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java
+++ /dev/null
@@ -1,591 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.DefaultLifecycles;
-import org.apache.maven.lifecycle.Lifecycle;
-import org.apache.maven.lifecycle.LifecycleMappingDelegate;
-import org.apache.maven.lifecycle.LifecycleNotFoundException;
-import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.lifecycle.MavenExecutionPlan;
-import org.apache.maven.lifecycle.MojoExecutionConfigurator;
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.plugin.BuildPluginManager;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.Parameter;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.lifecycle.Execution;
-import org.apache.maven.plugin.lifecycle.Phase;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolver;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold (Extract class)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = LifecycleExecutionPlanCalculator.class )
-public class DefaultLifecycleExecutionPlanCalculator
- implements LifecycleExecutionPlanCalculator
-{
- @Requirement
- private PluginVersionResolver pluginVersionResolver;
-
- @Requirement
- private BuildPluginManager pluginManager;
-
- @Requirement
- private DefaultLifecycles defaultLifeCycles;
-
- @Requirement
- private MojoDescriptorCreator mojoDescriptorCreator;
-
- @Requirement
- private LifecyclePluginResolver lifecyclePluginResolver;
-
- @Requirement( hint = DefaultLifecycleMappingDelegate.HINT )
- private LifecycleMappingDelegate standardDelegate;
-
- @Requirement
- private Map<String, LifecycleMappingDelegate> delegates;
-
- @Requirement
- private Map<String, MojoExecutionConfigurator> mojoExecutionConfigurators;
-
- @SuppressWarnings( { "UnusedDeclaration" } )
- public DefaultLifecycleExecutionPlanCalculator()
- {
- }
-
- // Only used for testing
- public DefaultLifecycleExecutionPlanCalculator( BuildPluginManager pluginManager,
- DefaultLifecycles defaultLifeCycles,
- MojoDescriptorCreator mojoDescriptorCreator,
- LifecyclePluginResolver lifecyclePluginResolver )
- {
- this.pluginManager = pluginManager;
- this.defaultLifeCycles = defaultLifeCycles;
- this.mojoDescriptorCreator = mojoDescriptorCreator;
- this.lifecyclePluginResolver = lifecyclePluginResolver;
- this.mojoExecutionConfigurators =
- ImmutableMap.of( "default", (MojoExecutionConfigurator) new DefaultMojoExecutionConfigurator() );
- }
-
- @Override
- public MavenExecutionPlan calculateExecutionPlan( MavenSession session, MavenProject project, List<Object> tasks,
- boolean setup )
- throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
- PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
- NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- lifecyclePluginResolver.resolveMissingPluginVersions( project, session );
-
- final List<MojoExecution> executions = calculateMojoExecutions( session, project, tasks );
-
- if ( setup )
- {
- setupMojoExecutions( session, project, executions );
- }
-
- final List<ExecutionPlanItem> planItem = ExecutionPlanItem.createExecutionPlanItems( project, executions );
-
- return new MavenExecutionPlan( planItem, defaultLifeCycles );
- }
-
- @Override
- public MavenExecutionPlan calculateExecutionPlan( MavenSession session, MavenProject project, List<Object> tasks )
- throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
- PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
- NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- return calculateExecutionPlan( session, project, tasks, true );
- }
-
- private void setupMojoExecutions( MavenSession session, MavenProject project, List<MojoExecution> mojoExecutions )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException, NoPluginFoundForPrefixException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- for ( MojoExecution mojoExecution : mojoExecutions )
- {
- setupMojoExecution( session, project, mojoExecution );
- }
- }
-
- @Override
- public void setupMojoExecution( MavenSession session, MavenProject project, MojoExecution mojoExecution )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException, NoPluginFoundForPrefixException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- if ( mojoDescriptor == null )
- {
- mojoDescriptor =
- pluginManager.getMojoDescriptor( mojoExecution.getPlugin(), mojoExecution.getGoal(),
- project.getRemotePluginRepositories(),
- session.getRepositorySession() );
-
- mojoExecution.setMojoDescriptor( mojoDescriptor );
- }
-
- mojoExecutionConfigurator( mojoExecution ).configure( project,
- mojoExecution,
- MojoExecution.Source.CLI.equals( mojoExecution.getSource() ) );
-
- finalizeMojoConfiguration( mojoExecution );
-
- calculateForkedExecutions( mojoExecution, session, project, new HashSet<MojoDescriptor>() );
- }
-
- public List<MojoExecution> calculateMojoExecutions( MavenSession session, MavenProject project, List<Object> tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException, LifecyclePhaseNotFoundException
- {
- final List<MojoExecution> mojoExecutions = new ArrayList<MojoExecution>();
-
- for ( Object task : tasks )
- {
- if ( task instanceof GoalTask )
- {
- String pluginGoal = ( (GoalTask) task ).pluginGoal;
-
- String executionId = "default-cli";
- int executionIdx = pluginGoal.indexOf( '@' );
- if ( executionIdx > 0 )
- {
- executionId = pluginGoal.substring( executionIdx + 1 );
- }
-
- MojoDescriptor mojoDescriptor = mojoDescriptorCreator.getMojoDescriptor( pluginGoal, session, project );
-
- MojoExecution mojoExecution = new MojoExecution( mojoDescriptor, executionId,
- MojoExecution.Source.CLI );
-
- mojoExecutions.add( mojoExecution );
- }
- else if ( task instanceof LifecycleTask )
- {
- String lifecyclePhase = ( (LifecycleTask) task ).getLifecyclePhase();
-
- Map<String, List<MojoExecution>> phaseToMojoMapping =
- calculateLifecycleMappings( session, project, lifecyclePhase );
-
- for ( List<MojoExecution> mojoExecutionsFromLifecycle : phaseToMojoMapping.values() )
- {
- mojoExecutions.addAll( mojoExecutionsFromLifecycle );
- }
- }
- else
- {
- throw new IllegalStateException( "unexpected task " + task );
- }
- }
- return mojoExecutions;
- }
-
- private Map<String, List<MojoExecution>> calculateLifecycleMappings( MavenSession session, MavenProject project,
- String lifecyclePhase )
- throws LifecyclePhaseNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException
- {
- /*
- * Determine the lifecycle that corresponds to the given phase.
- */
-
- Lifecycle lifecycle = defaultLifeCycles.get( lifecyclePhase );
-
- if ( lifecycle == null )
- {
- throw new LifecyclePhaseNotFoundException( "Unknown lifecycle phase \"" + lifecyclePhase
- + "\". You must specify a valid lifecycle phase" + " or a goal in the format <plugin-prefix>:<goal> or"
- + " <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: "
- + defaultLifeCycles.getLifecyclePhaseList() + ".", lifecyclePhase );
- }
-
- LifecycleMappingDelegate delegate;
- if ( Arrays.binarySearch( DefaultLifecycles.STANDARD_LIFECYCLES, lifecycle.getId() ) >= 0 )
- {
- delegate = standardDelegate;
- }
- else
- {
- delegate = delegates.get( lifecycle.getId() );
- if ( delegate == null )
- {
- delegate = standardDelegate;
- }
- }
-
- return delegate.calculateLifecycleMappings( session, project, lifecycle, lifecyclePhase );
- }
-
- /**
- * Post-processes the effective configuration for the specified mojo execution. This step discards all parameters
- * from the configuration that are not applicable to the mojo and injects the default values for any missing
- * parameters.
- *
- * @param mojoExecution The mojo execution whose configuration should be finalized, must not be {@code null}.
- */
- private void finalizeMojoConfiguration( MojoExecution mojoExecution )
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- Xpp3Dom executionConfiguration = mojoExecution.getConfiguration();
- if ( executionConfiguration == null )
- {
- executionConfiguration = new Xpp3Dom( "configuration" );
- }
-
- Xpp3Dom defaultConfiguration = getMojoConfiguration( mojoDescriptor );
-
- Xpp3Dom finalConfiguration = new Xpp3Dom( "configuration" );
-
- if ( mojoDescriptor.getParameters() != null )
- {
- for ( Parameter parameter : mojoDescriptor.getParameters() )
- {
- Xpp3Dom parameterConfiguration = executionConfiguration.getChild( parameter.getName() );
-
- if ( parameterConfiguration == null )
- {
- parameterConfiguration = executionConfiguration.getChild( parameter.getAlias() );
- }
-
- Xpp3Dom parameterDefaults = defaultConfiguration.getChild( parameter.getName() );
-
- parameterConfiguration = Xpp3Dom.mergeXpp3Dom( parameterConfiguration, parameterDefaults,
- Boolean.TRUE );
-
- if ( parameterConfiguration != null )
- {
- parameterConfiguration = new Xpp3Dom( parameterConfiguration, parameter.getName() );
-
- if ( StringUtils.isEmpty( parameterConfiguration.getAttribute( "implementation" ) )
- && StringUtils.isNotEmpty( parameter.getImplementation() ) )
- {
- parameterConfiguration.setAttribute( "implementation", parameter.getImplementation() );
- }
-
- finalConfiguration.addChild( parameterConfiguration );
- }
- }
- }
-
- mojoExecution.setConfiguration( finalConfiguration );
- }
-
- private Xpp3Dom getMojoConfiguration( MojoDescriptor mojoDescriptor )
- {
- return MojoDescriptorCreator.convert( mojoDescriptor );
- }
-
- @Override
- public void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- calculateForkedExecutions( mojoExecution, session, session.getCurrentProject(), new HashSet<MojoDescriptor>() );
- }
-
- private void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session, MavenProject project,
- Collection<MojoDescriptor> alreadyForkedExecutions )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- if ( !mojoDescriptor.isForking() )
- {
- return;
- }
-
- if ( !alreadyForkedExecutions.add( mojoDescriptor ) )
- {
- return;
- }
-
- List<MavenProject> forkedProjects =
- LifecycleDependencyResolver.getProjects( project, session, mojoDescriptor.isAggregator() );
-
- for ( MavenProject forkedProject : forkedProjects )
- {
- if ( forkedProject != project )
- {
- lifecyclePluginResolver.resolveMissingPluginVersions( forkedProject, session );
- }
-
- List<MojoExecution> forkedExecutions;
-
- if ( StringUtils.isNotEmpty( mojoDescriptor.getExecutePhase() ) )
- {
- forkedExecutions =
- calculateForkedLifecycle( mojoExecution, session, forkedProject, alreadyForkedExecutions );
- }
- else
- {
- forkedExecutions = calculateForkedGoal( mojoExecution, session, forkedProject,
- alreadyForkedExecutions );
- }
-
- mojoExecution.setForkedExecutions( BuilderCommon.getKey( forkedProject ), forkedExecutions );
- }
-
- alreadyForkedExecutions.remove( mojoDescriptor );
- }
-
- private List<MojoExecution> calculateForkedLifecycle( MojoExecution mojoExecution, MavenSession session,
- MavenProject project,
- Collection<MojoDescriptor> alreadyForkedExecutions )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- String forkedPhase = mojoDescriptor.getExecutePhase();
-
- Map<String, List<MojoExecution>> lifecycleMappings = calculateLifecycleMappings( session, project,
- forkedPhase );
-
- for ( List<MojoExecution> forkedExecutions : lifecycleMappings.values() )
- {
- for ( MojoExecution forkedExecution : forkedExecutions )
- {
- if ( forkedExecution.getMojoDescriptor() == null )
- {
- MojoDescriptor forkedMojoDescriptor =
- pluginManager.getMojoDescriptor( forkedExecution.getPlugin(), forkedExecution.getGoal(),
- project.getRemotePluginRepositories(),
- session.getRepositorySession() );
-
- forkedExecution.setMojoDescriptor( forkedMojoDescriptor );
- }
-
- mojoExecutionConfigurator( forkedExecution ).configure( project, forkedExecution, false );
- }
- }
-
- injectLifecycleOverlay( lifecycleMappings, mojoExecution, session, project );
-
- List<MojoExecution> mojoExecutions = new ArrayList<MojoExecution>();
-
- for ( List<MojoExecution> forkedExecutions : lifecycleMappings.values() )
- {
- for ( MojoExecution forkedExecution : forkedExecutions )
- {
- if ( !alreadyForkedExecutions.contains( forkedExecution.getMojoDescriptor() ) )
- {
- finalizeMojoConfiguration( forkedExecution );
-
- calculateForkedExecutions( forkedExecution, session, project, alreadyForkedExecutions );
-
- mojoExecutions.add( forkedExecution );
- }
- }
- }
-
- return mojoExecutions;
- }
-
- private void injectLifecycleOverlay( Map<String, List<MojoExecution>> lifecycleMappings,
- MojoExecution mojoExecution, MavenSession session, MavenProject project )
- throws PluginDescriptorParsingException, LifecycleNotFoundException, MojoNotFoundException,
- PluginNotFoundException, PluginResolutionException, NoPluginFoundForPrefixException,
- InvalidPluginDescriptorException, PluginVersionResolutionException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
-
- String forkedLifecycle = mojoDescriptor.getExecuteLifecycle();
-
- if ( StringUtils.isEmpty( forkedLifecycle ) )
- {
- return;
- }
-
- org.apache.maven.plugin.lifecycle.Lifecycle lifecycleOverlay;
-
- try
- {
- lifecycleOverlay = pluginDescriptor.getLifecycleMapping( forkedLifecycle );
- }
- catch ( IOException e )
- {
- throw new PluginDescriptorParsingException( pluginDescriptor.getPlugin(), pluginDescriptor.getSource(), e );
- }
- catch ( XmlPullParserException e )
- {
- throw new PluginDescriptorParsingException( pluginDescriptor.getPlugin(), pluginDescriptor.getSource(), e );
- }
-
- if ( lifecycleOverlay == null )
- {
- throw new LifecycleNotFoundException( forkedLifecycle );
- }
-
- for ( Phase phase : lifecycleOverlay.getPhases() )
- {
- List<MojoExecution> forkedExecutions = lifecycleMappings.get( phase.getId() );
-
- if ( forkedExecutions != null )
- {
- for ( Execution execution : phase.getExecutions() )
- {
- for ( String goal : execution.getGoals() )
- {
- MojoDescriptor forkedMojoDescriptor;
-
- if ( goal.indexOf( ':' ) < 0 )
- {
- forkedMojoDescriptor = pluginDescriptor.getMojo( goal );
- if ( forkedMojoDescriptor == null )
- {
- throw new MojoNotFoundException( goal, pluginDescriptor );
- }
- }
- else
- {
- forkedMojoDescriptor = mojoDescriptorCreator.getMojoDescriptor( goal, session, project );
- }
-
- MojoExecution forkedExecution =
- new MojoExecution( forkedMojoDescriptor, mojoExecution.getExecutionId() );
-
- Xpp3Dom forkedConfiguration = (Xpp3Dom) execution.getConfiguration();
-
- forkedExecution.setConfiguration( forkedConfiguration );
-
- mojoExecutionConfigurator( forkedExecution ).configure( project, forkedExecution, true );
-
- forkedExecutions.add( forkedExecution );
- }
- }
-
- Xpp3Dom phaseConfiguration = (Xpp3Dom) phase.getConfiguration();
-
- if ( phaseConfiguration != null )
- {
- for ( MojoExecution forkedExecution : forkedExecutions )
- {
- Xpp3Dom forkedConfiguration = forkedExecution.getConfiguration();
-
- forkedConfiguration = Xpp3Dom.mergeXpp3Dom( phaseConfiguration, forkedConfiguration );
-
- forkedExecution.setConfiguration( forkedConfiguration );
- }
- }
- }
- }
- }
-
- // org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
- // TODO: take repo mans into account as one may be aggregating prefixes of many
- // TODO: collect at the root of the repository, read the one at the root, and fetch remote if something is missing
- // or the user forces the issue
-
- private List<MojoExecution> calculateForkedGoal( MojoExecution mojoExecution, MavenSession session,
- MavenProject project,
- Collection<MojoDescriptor> alreadyForkedExecutions )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
-
- String forkedGoal = mojoDescriptor.getExecuteGoal();
-
- MojoDescriptor forkedMojoDescriptor = pluginDescriptor.getMojo( forkedGoal );
- if ( forkedMojoDescriptor == null )
- {
- throw new MojoNotFoundException( forkedGoal, pluginDescriptor );
- }
-
- if ( alreadyForkedExecutions.contains( forkedMojoDescriptor ) )
- {
- return Collections.emptyList();
- }
-
- MojoExecution forkedExecution = new MojoExecution( forkedMojoDescriptor, forkedGoal );
-
- mojoExecutionConfigurator( forkedExecution ).configure( project, forkedExecution, true );
-
- finalizeMojoConfiguration( forkedExecution );
-
- calculateForkedExecutions( forkedExecution, session, project, alreadyForkedExecutions );
-
- return Collections.singletonList( forkedExecution );
- }
-
- private MojoExecutionConfigurator mojoExecutionConfigurator( MojoExecution mojoExecution )
- {
- String configuratorId = mojoExecution.getMojoDescriptor().getComponentConfigurator();
- if ( configuratorId == null )
- {
- configuratorId = "default";
- }
-
- MojoExecutionConfigurator mojoExecutionConfigurator = mojoExecutionConfigurators.get( configuratorId );
-
- if ( mojoExecutionConfigurator == null )
- {
- //
- // The plugin has a custom component configurator but does not have a custom mojo execution configurator
- // so fall back to the default mojo execution configurator.
- //
- mojoExecutionConfigurator = mojoExecutionConfigurators.get( "default" );
- }
- return mojoExecutionConfigurator;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java
deleted file mode 100644
index 3024fe45..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.Lifecycle;
-import org.apache.maven.lifecycle.LifecycleMappingDelegate;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.plugin.BuildPluginManager;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-@Component( role = LifecycleMappingDelegate.class, hint = DefaultLifecycleMappingDelegate.HINT )
-public class DefaultLifecycleMappingDelegate
- implements LifecycleMappingDelegate
-{
- public static final String HINT = "default";
-
- @Requirement
- private BuildPluginManager pluginManager;
-
- public Map<String, List<MojoExecution>> calculateLifecycleMappings( MavenSession session, MavenProject project,
- Lifecycle lifecycle, String lifecyclePhase )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException
- {
- /*
- * Initialize mapping from lifecycle phase to bound mojos. The key set of this map denotes the phases the caller
- * is interested in, i.e. all phases up to and including the specified phase.
- */
-
- Map<String, Map<Integer, List<MojoExecution>>> mappings =
- new LinkedHashMap<String, Map<Integer, List<MojoExecution>>>();
-
- for ( String phase : lifecycle.getPhases() )
- {
- Map<Integer, List<MojoExecution>> phaseBindings = new TreeMap<Integer, List<MojoExecution>>();
-
- mappings.put( phase, phaseBindings );
-
- if ( phase.equals( lifecyclePhase ) )
- {
- break;
- }
- }
-
- /*
- * Grab plugin executions that are bound to the selected lifecycle phases from project. The effective model of
- * the project already contains the plugin executions induced by the project's packaging type. Remember, all
- * phases of interest and only those are in the lifecyle mapping, if a phase has no value in the map, we are not
- * interested in any of the executions bound to it.
- */
-
- for ( Plugin plugin : project.getBuild().getPlugins() )
- {
- for ( PluginExecution execution : plugin.getExecutions() )
- {
- // if the phase is specified then I don't have to go fetch the plugin yet and pull it down
- // to examine the phase it is associated to.
- if ( execution.getPhase() != null )
- {
- Map<Integer, List<MojoExecution>> phaseBindings = mappings.get( execution.getPhase() );
- if ( phaseBindings != null )
- {
- for ( String goal : execution.getGoals() )
- {
- MojoExecution mojoExecution = new MojoExecution( plugin, goal, execution.getId() );
- mojoExecution.setLifecyclePhase( execution.getPhase() );
- addMojoExecution( phaseBindings, mojoExecution, execution.getPriority() );
- }
- }
- }
- // if not then i need to grab the mojo descriptor and look at the phase that is specified
- else
- {
- for ( String goal : execution.getGoals() )
- {
- MojoDescriptor mojoDescriptor =
- pluginManager.getMojoDescriptor( plugin, goal, project.getRemotePluginRepositories(),
- session.getRepositorySession() );
-
- Map<Integer, List<MojoExecution>> phaseBindings = mappings.get( mojoDescriptor.getPhase() );
- if ( phaseBindings != null )
- {
- MojoExecution mojoExecution = new MojoExecution( mojoDescriptor, execution.getId() );
- mojoExecution.setLifecyclePhase( mojoDescriptor.getPhase() );
- addMojoExecution( phaseBindings, mojoExecution, execution.getPriority() );
- }
- }
- }
- }
- }
-
- Map<String, List<MojoExecution>> lifecycleMappings = new LinkedHashMap<String, List<MojoExecution>>();
-
- for ( Map.Entry<String, Map<Integer, List<MojoExecution>>> entry : mappings.entrySet() )
- {
- List<MojoExecution> mojoExecutions = new ArrayList<MojoExecution>();
-
- for ( List<MojoExecution> executions : entry.getValue().values() )
- {
- mojoExecutions.addAll( executions );
- }
-
- lifecycleMappings.put( entry.getKey(), mojoExecutions );
- }
-
- return lifecycleMappings;
-
- }
-
- private void addMojoExecution( Map<Integer, List<MojoExecution>> phaseBindings, MojoExecution mojoExecution,
- int priority )
- {
- List<MojoExecution> mojoExecutions = phaseBindings.get( priority );
-
- if ( mojoExecutions == null )
- {
- mojoExecutions = new ArrayList<MojoExecution>();
- phaseBindings.put( priority, mojoExecutions );
- }
-
- mojoExecutions.add( mojoExecution );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
deleted file mode 100644
index a5e6a34c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.lifecycle.DefaultLifecycles;
-import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
-import org.apache.maven.lifecycle.Lifecycle;
-import org.apache.maven.lifecycle.mapping.LifecycleMapping;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author jdcasey
- * @author Kristian Rosenvold (extracted class only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = LifeCyclePluginAnalyzer.class )
-public class DefaultLifecyclePluginAnalyzer
- implements LifeCyclePluginAnalyzer
-{
-
- @Requirement( role = LifecycleMapping.class )
- private Map<String, LifecycleMapping> lifecycleMappings;
-
- @Requirement
- private DefaultLifecycles defaultLifeCycles;
-
- @Requirement
- private Logger logger;
-
- public DefaultLifecyclePluginAnalyzer()
- {
- }
-
- // These methods deal with construction intact Plugin object that look like they come from a standard
- // <plugin/> block in a Maven POM. We have to do some wiggling to pull the sources of information
- // together and this really shows the problem of constructing a sensible default configuration but
- // it's all encapsulated here so it appears normalized to the POM builder.
-
- // We are going to take the project packaging and find all plugin in the default lifecycle and create
- // fully populated Plugin objects, including executions with goals and default configuration taken
- // from the plugin.xml inside a plugin.
- //
-
- public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Looking up lifecyle mappings for packaging " + packaging + " from "
- + Thread.currentThread().getContextClassLoader() );
- }
-
- LifecycleMapping lifecycleMappingForPackaging = lifecycleMappings.get( packaging );
-
- if ( lifecycleMappingForPackaging == null )
- {
- return null;
- }
-
- Map<Plugin, Plugin> plugins = new LinkedHashMap<Plugin, Plugin>();
-
- for ( Lifecycle lifecycle : getOrderedLifecycles() )
- {
- org.apache.maven.lifecycle.mapping.Lifecycle lifecycleConfiguration =
- lifecycleMappingForPackaging.getLifecycles().get( lifecycle.getId() );
-
- Map<String, String> phaseToGoalMapping = null;
-
- if ( lifecycleConfiguration != null )
- {
- phaseToGoalMapping = lifecycleConfiguration.getPhases();
- }
- else if ( lifecycle.getDefaultPhases() != null )
- {
- phaseToGoalMapping = lifecycle.getDefaultPhases();
- }
-
- if ( phaseToGoalMapping != null )
- {
- // These are of the form:
- //
- // compile -> org.apache.maven.plugins:maven-compiler-plugin:compile[,gid:aid:goal,...]
- //
- for ( Map.Entry<String, String> goalsForLifecyclePhase : phaseToGoalMapping.entrySet() )
- {
- String phase = goalsForLifecyclePhase.getKey();
- String goals = goalsForLifecyclePhase.getValue();
- if ( goals != null )
- {
- parseLifecyclePhaseDefinitions( plugins, phase, goals );
- }
- }
- }
- }
-
- return plugins.keySet();
- }
-
- private List<Lifecycle> getOrderedLifecycles()
- {
- // NOTE: The lifecycle order can affect implied execution ids so we better be deterministic.
-
- List<Lifecycle> lifecycles = new ArrayList<Lifecycle>( defaultLifeCycles.getLifeCycles() );
-
- Collections.sort( lifecycles, new Comparator<Lifecycle>()
- {
-
- public int compare( Lifecycle l1, Lifecycle l2 )
- {
- return l1.getId().compareTo( l2.getId() );
- }
-
- } );
-
- return lifecycles;
- }
-
- private void parseLifecyclePhaseDefinitions( Map<Plugin, Plugin> plugins, String phase, String goals )
- {
- String[] mojos = StringUtils.split( goals, "," );
-
- for ( int i = 0; i < mojos.length; i++ )
- {
- GoalSpec gs = parseGoalSpec( mojos[i].trim() );
-
- if ( gs == null )
- {
- logger.warn( "Ignored invalid goal specification '" + mojos[i] + "' from lifecycle mapping for phase "
- + phase );
- continue;
- }
-
- Plugin plugin = new Plugin();
- plugin.setGroupId( gs.groupId );
- plugin.setArtifactId( gs.artifactId );
- plugin.setVersion( gs.version );
-
- Plugin existing = plugins.get( plugin );
- if ( existing != null )
- {
- if ( existing.getVersion() == null )
- {
- existing.setVersion( plugin.getVersion() );
- }
- plugin = existing;
- }
- else
- {
- plugins.put( plugin, plugin );
- }
-
- PluginExecution execution = new PluginExecution();
- execution.setId( getExecutionId( plugin, gs.goal ) );
- execution.setPhase( phase );
- execution.setPriority( i - mojos.length );
- execution.getGoals().add( gs.goal );
-
- plugin.getExecutions().add( execution );
- }
- }
-
- private GoalSpec parseGoalSpec( String goalSpec )
- {
- GoalSpec gs = new GoalSpec();
-
- String[] p = StringUtils.split( goalSpec.trim(), ":" );
-
- if ( p.length == 3 )
- {
- // <groupId>:<artifactId>:<goal>
- gs.groupId = p[0];
- gs.artifactId = p[1];
- gs.goal = p[2];
- }
- else if ( p.length == 4 )
- {
- // <groupId>:<artifactId>:<version>:<goal>
- gs.groupId = p[0];
- gs.artifactId = p[1];
- gs.version = p[2];
- gs.goal = p[3];
- }
- else
- {
- // invalid
- gs = null;
- }
-
- return gs;
- }
-
- private String getExecutionId( Plugin plugin, String goal )
- {
- Set<String> existingIds = new HashSet<String>();
- for ( PluginExecution execution : plugin.getExecutions() )
- {
- existingIds.add( execution.getId() );
- }
-
- String base = "default-" + goal;
- String id = base;
-
- for ( int index = 1; existingIds.contains( id ); index++ )
- {
- id = base + '-' + index;
- }
-
- return id;
- }
-
- static class GoalSpec
- {
-
- String groupId;
-
- String artifactId;
-
- String version;
-
- String goal;
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java
deleted file mode 100644
index 28377f1d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleNotFoundException;
-import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Calculates the task segments in the build
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author jdcasey
- * @author Kristian Rosenvold (extracted class)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-
-@Component( role = LifecycleTaskSegmentCalculator.class )
-public class DefaultLifecycleTaskSegmentCalculator
- implements LifecycleTaskSegmentCalculator
-{
- @Requirement
- private MojoDescriptorCreator mojoDescriptorCreator;
-
- @Requirement
- private LifecyclePluginResolver lifecyclePluginResolver;
-
- public DefaultLifecycleTaskSegmentCalculator()
- {
- }
-
- public List<TaskSegment> calculateTaskSegments( MavenSession session )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException, LifecyclePhaseNotFoundException, LifecycleNotFoundException
- {
-
- MavenProject rootProject = session.getTopLevelProject();
-
- List<String> tasks = session.getGoals();
-
- if ( ( tasks == null || tasks.isEmpty() ) && !StringUtils.isEmpty( rootProject.getDefaultGoal() ) )
- {
- tasks = Arrays.asList( StringUtils.split( rootProject.getDefaultGoal() ) );
- }
-
- return calculateTaskSegments( session, tasks );
- }
-
- public List<TaskSegment> calculateTaskSegments( MavenSession session, List<String> tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException
- {
- List<TaskSegment> taskSegments = new ArrayList<TaskSegment>( tasks.size() );
-
- TaskSegment currentSegment = null;
-
- for ( String task : tasks )
- {
- if ( isGoalSpecification( task ) )
- {
- // "pluginPrefix:goal" or "groupId:artifactId[:version]:goal"
-
- lifecyclePluginResolver.resolveMissingPluginVersions( session.getTopLevelProject(), session );
-
- MojoDescriptor mojoDescriptor =
- mojoDescriptorCreator.getMojoDescriptor( task, session, session.getTopLevelProject() );
-
- boolean aggregating = mojoDescriptor.isAggregator() || !mojoDescriptor.isProjectRequired();
-
- if ( currentSegment == null || currentSegment.isAggregating() != aggregating )
- {
- currentSegment = new TaskSegment( aggregating );
- taskSegments.add( currentSegment );
- }
-
- currentSegment.getTasks().add( new GoalTask( task ) );
- }
- else
- {
- // lifecycle phase
-
- if ( currentSegment == null || currentSegment.isAggregating() )
- {
- currentSegment = new TaskSegment( false );
- taskSegments.add( currentSegment );
- }
-
- currentSegment.getTasks().add( new LifecycleTask( task ) );
- }
- }
-
- return taskSegments;
- }
-
- public boolean requiresProject( MavenSession session )
- {
- List<String> goals = session.getGoals();
- if ( goals != null )
- {
- for ( String goal : goals )
- {
- if ( !isGoalSpecification( goal ) )
- {
- return true;
- }
- }
- }
- return false;
- }
-
-
- private boolean isGoalSpecification( String task )
- {
- return task.indexOf( ':' ) >= 0;
- }
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java
deleted file mode 100644
index 176ba320..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-
-import org.apache.maven.lifecycle.MojoExecutionConfigurator;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * @since 3.3.1, MNG-5753
- */
-@Component( role = MojoExecutionConfigurator.class )
-public class DefaultMojoExecutionConfigurator
- implements MojoExecutionConfigurator
-{
-
- @Override
- public void configure( MavenProject project, MojoExecution mojoExecution, boolean allowPluginLevelConfig )
- {
- String g = mojoExecution.getGroupId();
-
- String a = mojoExecution.getArtifactId();
-
- Plugin plugin = findPlugin( g, a, project.getBuildPlugins() );
-
- if ( plugin == null && project.getPluginManagement() != null )
- {
- plugin = findPlugin( g, a, project.getPluginManagement().getPlugins() );
- }
-
- if ( plugin != null )
- {
- PluginExecution pluginExecution =
- findPluginExecution( mojoExecution.getExecutionId(), plugin.getExecutions() );
-
- Xpp3Dom pomConfiguration = null;
-
- if ( pluginExecution != null )
- {
- pomConfiguration = (Xpp3Dom) pluginExecution.getConfiguration();
- }
- else if ( allowPluginLevelConfig )
- {
- pomConfiguration = (Xpp3Dom) plugin.getConfiguration();
- }
-
- Xpp3Dom mojoConfiguration = ( pomConfiguration != null ) ? new Xpp3Dom( pomConfiguration ) : null;
-
- mojoConfiguration = Xpp3Dom.mergeXpp3Dom( mojoExecution.getConfiguration(), mojoConfiguration );
-
- mojoExecution.setConfiguration( mojoConfiguration );
- }
- }
-
- private Plugin findPlugin( String groupId, String artifactId, Collection<Plugin> plugins )
- {
- for ( Plugin plugin : plugins )
- {
- if ( artifactId.equals( plugin.getArtifactId() ) && groupId.equals( plugin.getGroupId() ) )
- {
- return plugin;
- }
- }
-
- return null;
- }
-
- private PluginExecution findPluginExecution( String executionId, Collection<PluginExecution> executions )
- {
- if ( StringUtils.isNotEmpty( executionId ) )
- {
- for ( PluginExecution execution : executions )
- {
- if ( executionId.equals( execution.getId() ) )
- {
- return execution;
- }
- }
- }
-
- return null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultProjectArtifactFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultProjectArtifactFactory.java
deleted file mode 100644
index 762fc72b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultProjectArtifactFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.project.artifact.MavenMetadataSource;
-
-@SuppressWarnings( "deprecation" )
-@Named
-public class DefaultProjectArtifactFactory
- implements ProjectArtifactFactory
-{
- private final ArtifactFactory artifactFactory;
-
- @Inject
- public DefaultProjectArtifactFactory( ArtifactFactory artifactFactory )
- {
- this.artifactFactory = artifactFactory;
- }
-
- @Override
- public Set<Artifact> createArtifacts( MavenProject project )
- throws InvalidDependencyVersionException
- {
- return MavenMetadataSource.createArtifacts( artifactFactory, project.getDependencies(), null, null, project );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java
deleted file mode 100644
index 18fae7a9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DependencyContext.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.MavenProject;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.TreeSet;
-
-/**
- * Context of dependency artifacts for a particular project.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold (class extract only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-// TODO: From a concurrency perspective, this class is not good. The combination of mutable/immutable state is not nice
-public class DependencyContext
-{
-
- private static final Collection<?> UNRESOLVED = Arrays.asList();
-
- private final MavenProject project;
-
- private final Collection<String> scopesToCollectForCurrentProject;
-
- private final Collection<String> scopesToResolveForCurrentProject;
-
- private final Collection<String> scopesToCollectForAggregatedProjects;
-
- private final Collection<String> scopesToResolveForAggregatedProjects;
-
- private volatile Collection<?> lastDependencyArtifacts = UNRESOLVED;
-
- private volatile int lastDependencyArtifactCount = -1;
-
- public DependencyContext( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve )
- {
- this.project = project;
- scopesToCollectForCurrentProject = scopesToCollect;
- scopesToResolveForCurrentProject = scopesToResolve;
- scopesToCollectForAggregatedProjects = Collections.synchronizedSet( new TreeSet<String>() );
- scopesToResolveForAggregatedProjects = Collections.synchronizedSet( new TreeSet<String>() );
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public Collection<String> getScopesToCollectForCurrentProject()
- {
- return scopesToCollectForCurrentProject;
- }
-
- public Collection<String> getScopesToResolveForCurrentProject()
- {
- return scopesToResolveForCurrentProject;
- }
-
- public Collection<String> getScopesToCollectForAggregatedProjects()
- {
- return scopesToCollectForAggregatedProjects;
- }
-
- public Collection<String> getScopesToResolveForAggregatedProjects()
- {
- return scopesToResolveForAggregatedProjects;
- }
-
- public boolean isResolutionRequiredForCurrentProject()
- {
- return lastDependencyArtifacts != project.getDependencyArtifacts() || ( lastDependencyArtifacts != null
- && lastDependencyArtifactCount != lastDependencyArtifacts.size() );
- }
-
- public boolean isResolutionRequiredForAggregatedProjects( Collection<String> scopesToCollect,
- Collection<String> scopesToResolve )
- {
- boolean required =
- scopesToCollectForAggregatedProjects.addAll( scopesToCollect )
- || scopesToResolveForAggregatedProjects.addAll( scopesToResolve );
- return required;
- }
-
- public void synchronizeWithProjectState()
- {
- lastDependencyArtifacts = project.getDependencyArtifacts();
- lastDependencyArtifactCount = ( lastDependencyArtifacts != null ) ? lastDependencyArtifacts.size() : 0;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java
deleted file mode 100644
index acff5661..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionEventCatapult.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.MojoExecution;
-
-/**
- * Assists in firing execution events. <strong>Warning:</strong> This is an internal utility interface that is only
- * public for technical reasons, it is not part of the public API. In particular, this interface can be changed or
- * deleted without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public interface ExecutionEventCatapult
-{
-
- void fire( ExecutionEvent.Type eventType, MavenSession session, MojoExecution mojoExecution );
-
- void fire( ExecutionEvent.Type eventType, MavenSession session, MojoExecution mojoExecution, Exception exception );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionPlanItem.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionPlanItem.java
deleted file mode 100644
index cceffdf8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ExecutionPlanItem.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.project.MavenProject;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Wraps individual MojoExecutions, containing information about completion status and scheduling.
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- *
- * @since 3.0
- * @author Kristian Rosenvold
- */
-public class ExecutionPlanItem
-{
- private final MojoExecution mojoExecution;
-
- public ExecutionPlanItem( MojoExecution mojoExecution )
- {
- this.mojoExecution = mojoExecution;
- }
-
- public static List<ExecutionPlanItem> createExecutionPlanItems( MavenProject mavenProject,
- List<MojoExecution> executions )
- {
- BuilderCommon.attachToThread( mavenProject );
-
- List<ExecutionPlanItem> result = new ArrayList<ExecutionPlanItem>();
- for ( MojoExecution mojoExecution : executions )
- {
- result.add( new ExecutionPlanItem( mojoExecution ) );
- }
- return result;
- }
-
- public MojoExecution getMojoExecution()
- {
- return mojoExecution;
- }
-
- public String getLifecyclePhase()
- {
- return mojoExecution.getLifecyclePhase();
- }
-
- public Plugin getPlugin()
- {
- final MojoDescriptor mojoDescriptor = getMojoExecution().getMojoDescriptor();
- return mojoDescriptor.getPluginDescriptor().getPlugin();
- }
-
- @Override
- public String toString()
- {
- return "ExecutionPlanItem{" + ", mojoExecution=" + mojoExecution + '}'
- + super.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
deleted file mode 100644
index 5c43dbd4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/GoalTask.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A task that is a goal
- * <p/>
- * TODO: From a concurrecy perspective, this class is not good. The combination of mutable/immutable state is not nice
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public final class GoalTask
-{
-
- final String pluginGoal;
-
- public GoalTask( String pluginGoal )
- {
- this.pluginGoal = pluginGoal;
- }
-
- @Override
- public String toString()
- {
- return pluginGoal;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java
deleted file mode 100644
index 2edbe754..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.lifecycle.MavenExecutionPlan;
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-/**
- * Logs debug output from the various lifecycle phases.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author Kristian Rosenvold (extracted class only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = LifecycleDebugLogger.class )
-public class LifecycleDebugLogger
-{
- @Requirement
- private Logger logger;
-
-
- public LifecycleDebugLogger()
- {
- }
-
- public LifecycleDebugLogger( Logger logger )
- {
- this.logger = logger;
- }
-
-
- public void debug( String s )
- {
- logger.debug( s );
- }
-
- public void info( String s )
- {
- logger.info( s );
- }
-
- public void debugReactorPlan( ProjectBuildList projectBuilds )
- {
- if ( !logger.isDebugEnabled() )
- {
- return;
- }
-
- logger.debug( "=== REACTOR BUILD PLAN ================================================" );
-
- for ( Iterator<ProjectSegment> it = projectBuilds.iterator(); it.hasNext(); )
- {
- ProjectSegment projectBuild = it.next();
-
- logger.debug( "Project: " + projectBuild.getProject().getId() );
- logger.debug( "Tasks: " + projectBuild.getTaskSegment().getTasks() );
- logger.debug( "Style: " + ( projectBuild.getTaskSegment().isAggregating() ? "Aggregating" : "Regular" ) );
-
- if ( it.hasNext() )
- {
- logger.debug( "-----------------------------------------------------------------------" );
- }
- }
-
- logger.debug( "=======================================================================" );
- }
-
-
- public void debugProjectPlan( MavenProject currentProject, MavenExecutionPlan executionPlan )
- {
- if ( !logger.isDebugEnabled() )
- {
- return;
- }
-
- logger.debug( "=== PROJECT BUILD PLAN ================================================" );
- logger.debug( "Project: " + BuilderCommon.getKey( currentProject ) );
-
- debugDependencyRequirements( executionPlan.getMojoExecutions() );
-
- logger.debug( "Repositories (dependencies): " + currentProject.getRemoteProjectRepositories() );
- logger.debug( "Repositories (plugins) : " + currentProject.getRemotePluginRepositories() );
-
- for ( ExecutionPlanItem mojoExecution : executionPlan )
- {
- debugMojoExecution( mojoExecution.getMojoExecution() );
- }
-
- logger.debug( "=======================================================================" );
- }
-
- private void debugMojoExecution( MojoExecution mojoExecution )
- {
- String mojoExecId =
- mojoExecution.getGroupId() + ':' + mojoExecution.getArtifactId() + ':' + mojoExecution.getVersion() + ':'
- + mojoExecution.getGoal() + " (" + mojoExecution.getExecutionId() + ')';
-
- Map<String, List<MojoExecution>> forkedExecutions = mojoExecution.getForkedExecutions();
- if ( !forkedExecutions.isEmpty() )
- {
- for ( Map.Entry<String, List<MojoExecution>> fork : forkedExecutions.entrySet() )
- {
- logger.debug( "--- init fork of " + fork.getKey() + " for " + mojoExecId + " ---" );
-
- debugDependencyRequirements( fork.getValue() );
-
- for ( MojoExecution forkedExecution : fork.getValue() )
- {
- debugMojoExecution( forkedExecution );
- }
-
- logger.debug( "--- exit fork of " + fork.getKey() + " for " + mojoExecId + " ---" );
- }
- }
-
- logger.debug( "-----------------------------------------------------------------------" );
- logger.debug( "Goal: " + mojoExecId );
- logger.debug(
- "Style: " + ( mojoExecution.getMojoDescriptor().isAggregator() ? "Aggregating" : "Regular" ) );
- logger.debug( "Configuration: " + mojoExecution.getConfiguration() );
- }
-
- private void debugDependencyRequirements( List<MojoExecution> mojoExecutions )
- {
- Set<String> scopesToCollect = new TreeSet<String>();
- Set<String> scopesToResolve = new TreeSet<String>();
-
- for ( MojoExecution mojoExecution : mojoExecutions )
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- String scopeToCollect = mojoDescriptor.getDependencyCollectionRequired();
- if ( StringUtils.isNotEmpty( scopeToCollect ) )
- {
- scopesToCollect.add( scopeToCollect );
- }
-
- String scopeToResolve = mojoDescriptor.getDependencyResolutionRequired();
- if ( StringUtils.isNotEmpty( scopeToResolve ) )
- {
- scopesToResolve.add( scopeToResolve );
- }
- }
-
- logger.debug( "Dependencies (collect): " + scopesToCollect );
- logger.debug( "Dependencies (resolve): " + scopesToResolve );
- }
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java
deleted file mode 100644
index 4d73528c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolver.java
+++ /dev/null
@@ -1,334 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.eventspy.internal.EventSpyDispatcher;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleExecutionException;
-import org.apache.maven.project.DefaultDependencyResolutionRequest;
-import org.apache.maven.project.DependencyResolutionException;
-import org.apache.maven.project.DependencyResolutionResult;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectDependenciesResolver;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.util.filter.AndDependencyFilter;
-import org.eclipse.aether.util.filter.ScopeDependencyFilter;
-
-/**
- * Resolves dependencies for the artifacts in context of the lifecycle build
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author Kristian Rosenvold (extracted class)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Named
-public class LifecycleDependencyResolver
-{
-
- @Inject
- private ProjectDependenciesResolver dependenciesResolver;
-
- @Inject
- private Logger logger;
-
- @Inject
- private ProjectArtifactFactory artifactFactory;
-
- @Inject
- private EventSpyDispatcher eventSpyDispatcher;
-
- public LifecycleDependencyResolver()
- {
- }
-
- public LifecycleDependencyResolver( ProjectDependenciesResolver projectDependenciesResolver, Logger logger )
- {
- this.dependenciesResolver = projectDependenciesResolver;
- this.logger = logger;
- }
-
- public static List<MavenProject> getProjects( MavenProject project, MavenSession session, boolean aggregator )
- {
- if ( aggregator )
- {
- return session.getProjects();
- }
- else
- {
- return Collections.singletonList( project );
- }
- }
-
- public void resolveProjectDependencies( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session,
- boolean aggregating, Set<Artifact> projectArtifacts )
- throws LifecycleExecutionException
- {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try
- {
- ClassLoader projectRealm = project.getClassRealm();
- if ( projectRealm != null && projectRealm != tccl )
- {
- Thread.currentThread().setContextClassLoader( projectRealm );
- }
-
- if ( project.getDependencyArtifacts() == null )
- {
- try
- {
- project.setDependencyArtifacts( artifactFactory.createArtifacts( project ) );
- }
- catch ( InvalidDependencyVersionException e )
- {
- throw new LifecycleExecutionException( e );
- }
- }
-
- Set<Artifact> artifacts =
- getDependencies( project, scopesToCollect, scopesToResolve, session, aggregating, projectArtifacts );
-
- project.setResolvedArtifacts( artifacts );
-
- Map<String, Artifact> map = new HashMap<String, Artifact>();
- for ( Artifact artifact : artifacts )
- {
- map.put( artifact.getDependencyConflictId(), artifact );
- }
- for ( Artifact artifact : project.getDependencyArtifacts() )
- {
- if ( artifact.getFile() == null )
- {
- Artifact resolved = map.get( artifact.getDependencyConflictId() );
- if ( resolved != null )
- {
- artifact.setFile( resolved.getFile() );
- artifact.setDependencyTrail( resolved.getDependencyTrail() );
- artifact.setResolvedVersion( resolved.getVersion() );
- artifact.setResolved( true );
- }
- }
- }
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( tccl );
- }
- }
-
- private Set<Artifact> getDependencies( MavenProject project, Collection<String> scopesToCollect,
- Collection<String> scopesToResolve, MavenSession session,
- boolean aggregating, Set<Artifact> projectArtifacts )
- throws LifecycleExecutionException
- {
- if ( scopesToCollect == null )
- {
- scopesToCollect = Collections.emptySet();
- }
- if ( scopesToResolve == null )
- {
- scopesToResolve = Collections.emptySet();
- }
-
- if ( scopesToCollect.isEmpty() && scopesToResolve.isEmpty() )
- {
- return new LinkedHashSet<Artifact>();
- }
-
- scopesToCollect = new HashSet<String>( scopesToCollect );
- scopesToCollect.addAll( scopesToResolve );
-
- DependencyFilter collectionFilter = new ScopeDependencyFilter( null, negate( scopesToCollect ) );
- DependencyFilter resolutionFilter = new ScopeDependencyFilter( null, negate( scopesToResolve ) );
- resolutionFilter = AndDependencyFilter.newInstance( collectionFilter, resolutionFilter );
- resolutionFilter =
- AndDependencyFilter.newInstance( resolutionFilter, new ReactorDependencyFilter( projectArtifacts ) );
-
- DependencyResolutionResult result;
- try
- {
- DefaultDependencyResolutionRequest request =
- new DefaultDependencyResolutionRequest( project, session.getRepositorySession() );
- request.setResolutionFilter( resolutionFilter );
-
- eventSpyDispatcher.onEvent( request );
-
- result = dependenciesResolver.resolve( request );
- }
- catch ( DependencyResolutionException e )
- {
- result = e.getResult();
-
- /*
- * MNG-2277, the check below compensates for our bad plugin support where we ended up with aggregator
- * plugins that require dependency resolution although they usually run in phases of the build where project
- * artifacts haven't been assembled yet. The prime example of this is "mvn release:prepare".
- */
- if ( aggregating && areAllDependenciesInReactor( session.getProjects(),
- result.getUnresolvedDependencies() ) )
- {
- logger.warn( "The following dependencies could not be resolved at this point of the build"
- + " but seem to be part of the reactor:" );
-
- for ( Dependency dependency : result.getUnresolvedDependencies() )
- {
- logger.warn( "o " + dependency );
- }
-
- logger.warn( "Try running the build up to the lifecycle phase \"package\"" );
- }
- else
- {
- throw new LifecycleExecutionException( null, project, e );
- }
- }
-
- eventSpyDispatcher.onEvent( result );
-
- Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
- if ( result.getDependencyGraph() != null && !result.getDependencyGraph().getChildren().isEmpty() )
- {
- RepositoryUtils.toArtifacts( artifacts, result.getDependencyGraph().getChildren(),
- Collections.singletonList( project.getArtifact().getId() ), collectionFilter );
- }
- return artifacts;
- }
-
- private boolean areAllDependenciesInReactor( Collection<MavenProject> projects,
- Collection<Dependency> dependencies )
- {
- Set<String> projectKeys = getReactorProjectKeys( projects );
-
- for ( Dependency dependency : dependencies )
- {
- org.eclipse.aether.artifact.Artifact a = dependency.getArtifact();
- String key = ArtifactUtils.key( a.getGroupId(), a.getArtifactId(), a.getVersion() );
- if ( !projectKeys.contains( key ) )
- {
- return false;
- }
- }
-
- return true;
- }
-
- private Set<String> getReactorProjectKeys( Collection<MavenProject> projects )
- {
- Set<String> projectKeys = new HashSet<String>( projects.size() * 2 );
- for ( MavenProject project : projects )
- {
- String key = ArtifactUtils.key( project.getGroupId(), project.getArtifactId(), project.getVersion() );
- projectKeys.add( key );
- }
- return projectKeys;
- }
-
- private Collection<String> negate( Collection<String> scopes )
- {
- Collection<String> result = new HashSet<String>();
- Collections.addAll( result, "system", "compile", "provided", "runtime", "test" );
-
- for ( String scope : scopes )
- {
- if ( "compile".equals( scope ) )
- {
- result.remove( "compile" );
- result.remove( "system" );
- result.remove( "provided" );
- }
- else if ( "runtime".equals( scope ) )
- {
- result.remove( "compile" );
- result.remove( "runtime" );
- }
- else if ( "compile+runtime".equals( scope ) )
- {
- result.remove( "compile" );
- result.remove( "system" );
- result.remove( "provided" );
- result.remove( "runtime" );
- }
- else if ( "runtime+system".equals( scope ) )
- {
- result.remove( "compile" );
- result.remove( "system" );
- result.remove( "runtime" );
- }
- else if ( "test".equals( scope ) )
- {
- result.clear();
- }
- }
-
- return result;
- }
-
- private static class ReactorDependencyFilter
- implements DependencyFilter
- {
-
- private Set<String> keys = new HashSet<String>();
-
- public ReactorDependencyFilter( Collection<Artifact> artifacts )
- {
- for ( Artifact artifact : artifacts )
- {
- String key = ArtifactUtils.key( artifact );
- keys.add( key );
- }
- }
-
- public boolean accept( DependencyNode node, List<DependencyNode> parents )
- {
- Dependency dependency = node.getDependency();
- if ( dependency != null )
- {
- org.eclipse.aether.artifact.Artifact a = dependency.getArtifact();
- String key = ArtifactUtils.key( a.getGroupId(), a.getArtifactId(), a.getVersion() );
- return !keys.contains( key );
- }
- return false;
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculator.java
deleted file mode 100644
index 7d35b102..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleExecutionPlanCalculator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleNotFoundException;
-import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.lifecycle.MavenExecutionPlan;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.MavenProject;
-
-import java.util.List;
-
-/**
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold (extract interface only)
- * <p/>
- */
-public interface LifecycleExecutionPlanCalculator
-{
- MavenExecutionPlan calculateExecutionPlan( MavenSession session, MavenProject project, List<Object> tasks )
- throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
- PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
- NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException;
-
- MavenExecutionPlan calculateExecutionPlan( MavenSession session, MavenProject project, List<Object> tasks,
- boolean setup )
- throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
- PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
- NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException;
-
- void calculateForkedExecutions( MojoExecution mojoExecution, MavenSession session )
- throws MojoNotFoundException, PluginNotFoundException, PluginResolutionException,
- PluginDescriptorParsingException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException;
-
- void setupMojoExecution( MavenSession session, MavenProject project, MojoExecution mojoExecution )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException, NoPluginFoundForPrefixException,
- LifecyclePhaseNotFoundException, LifecycleNotFoundException, PluginVersionResolutionException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java
deleted file mode 100644
index 343fbf95..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.HashSet;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.execution.BuildSuccess;
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.ProjectExecutionEvent;
-import org.apache.maven.execution.ProjectExecutionListener;
-import org.apache.maven.lifecycle.MavenExecutionPlan;
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.session.scope.internal.SessionScope;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * Builds one or more lifecycles for a full module
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author Kristian Rosenvold (extracted class)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = LifecycleModuleBuilder.class )
-public class LifecycleModuleBuilder
-{
-
- @Requirement
- private MojoExecutor mojoExecutor;
-
- @Requirement
- private BuilderCommon builderCommon;
-
- @Requirement
- private ExecutionEventCatapult eventCatapult;
-
- private ProjectExecutionListener projectExecutionListener;
-
- // this tricks plexus-component-metadata generate required metadata
- @Requirement
- private List<ProjectExecutionListener> projectExecutionListeners;
-
- @Requirement
- private SessionScope sessionScope;
-
- public void setProjectExecutionListeners( final List<ProjectExecutionListener> listeners )
- {
- this.projectExecutionListeners = listeners;
- this.projectExecutionListener = new CompoundProjectExecutionListener( listeners );
- }
-
- public void buildProject( MavenSession session, ReactorContext reactorContext, MavenProject currentProject,
- TaskSegment taskSegment )
- {
- buildProject( session, session, reactorContext, currentProject, taskSegment );
- }
-
- public void buildProject( MavenSession session, MavenSession rootSession, ReactorContext reactorContext,
- MavenProject currentProject, TaskSegment taskSegment )
- {
- session.setCurrentProject( currentProject );
-
- long buildStartTime = System.currentTimeMillis();
-
- // session may be different from rootSession seeded in DefaultMaven
- // explicitly seed the right session here to make sure it is used by Guice
- sessionScope.enter( reactorContext.getSessionScopeMemento() );
- sessionScope.seed( MavenSession.class, session );
- try
- {
-
- if ( reactorContext.getReactorBuildStatus().isHaltedOrBlacklisted( currentProject ) )
- {
- eventCatapult.fire( ExecutionEvent.Type.ProjectSkipped, session, null );
- return;
- }
-
- BuilderCommon.attachToThread( currentProject );
-
- projectExecutionListener.beforeProjectExecution( new ProjectExecutionEvent( session, currentProject ) );
-
- eventCatapult.fire( ExecutionEvent.Type.ProjectStarted, session, null );
-
- MavenExecutionPlan executionPlan =
- builderCommon.resolveBuildPlan( session, currentProject, taskSegment, new HashSet<Artifact>() );
- List<MojoExecution> mojoExecutions = executionPlan.getMojoExecutions();
-
- projectExecutionListener.beforeProjectLifecycleExecution( new ProjectExecutionEvent( session,
- currentProject,
- mojoExecutions ) );
- mojoExecutor.execute( session, mojoExecutions, reactorContext.getProjectIndex() );
-
- long buildEndTime = System.currentTimeMillis();
-
- projectExecutionListener.afterProjectExecutionSuccess( new ProjectExecutionEvent( session, currentProject,
- mojoExecutions ) );
-
- reactorContext.getResult().addBuildSummary( new BuildSuccess( currentProject,
- buildEndTime - buildStartTime ) );
-
- eventCatapult.fire( ExecutionEvent.Type.ProjectSucceeded, session, null );
- }
- catch ( Throwable t )
- {
- builderCommon.handleBuildError( reactorContext, rootSession, session, currentProject, t, buildStartTime );
-
- projectExecutionListener.afterProjectExecutionFailure( new ProjectExecutionEvent( session, currentProject,
- t ) );
-
- // rethrow original errors and runtime exceptions
- if ( t instanceof RuntimeException )
- {
- throw (RuntimeException) t;
- }
- if ( t instanceof Error )
- {
- throw (Error) t;
- }
- }
- finally
- {
- sessionScope.exit();
-
- session.setCurrentProject( null );
-
- Thread.currentThread().setContextClassLoader( reactorContext.getOriginalContextClassLoader() );
- }
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java
deleted file mode 100644
index c615a6f6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.plugin.version.DefaultPluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolver;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold (Extract class)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = LifecyclePluginResolver.class )
-public class LifecyclePluginResolver
-{
- @Requirement
- private PluginVersionResolver pluginVersionResolver;
-
-
- public LifecyclePluginResolver( PluginVersionResolver pluginVersionResolver )
- {
- this.pluginVersionResolver = pluginVersionResolver;
- }
-
- public LifecyclePluginResolver()
- {
- }
-
- public void resolveMissingPluginVersions( MavenProject project, MavenSession session )
- throws PluginVersionResolutionException
- {
- Map<String, String> versions = new HashMap<String, String>( 64 );
-
- for ( Plugin plugin : project.getBuildPlugins() )
- {
- if ( plugin.getVersion() == null )
- {
- PluginVersionRequest request =
- new DefaultPluginVersionRequest( plugin, session.getRepositorySession(),
- project.getRemotePluginRepositories() );
- plugin.setVersion( pluginVersionResolver.resolve( request ).getVersion() );
- }
- versions.put( plugin.getKey(), plugin.getVersion() );
- }
-
- PluginManagement pluginManagement = project.getPluginManagement();
- if ( pluginManagement != null )
- {
- for ( Plugin plugin : pluginManagement.getPlugins() )
- {
- if ( plugin.getVersion() == null )
- {
- plugin.setVersion( versions.get( plugin.getKey() ) );
- if ( plugin.getVersion() == null )
- {
- PluginVersionRequest request =
- new DefaultPluginVersionRequest( plugin, session.getRepositorySession(),
- project.getRemotePluginRepositories() );
- plugin.setVersion( pluginVersionResolver.resolve( request ).getVersion() );
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java
deleted file mode 100644
index cee80739..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenExecutionResult;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.DefaultLifecycles;
-import org.apache.maven.lifecycle.MissingProjectException;
-import org.apache.maven.lifecycle.NoGoalSpecifiedException;
-import org.apache.maven.lifecycle.internal.builder.Builder;
-import org.apache.maven.lifecycle.internal.builder.BuilderNotFoundException;
-import org.apache.maven.session.scope.internal.SessionScope;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * Starts the build life cycle
- *
- * @author Jason van Zyl
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold
- */
-@Component( role = LifecycleStarter.class )
-public class LifecycleStarter
-{
- @Requirement
- private ExecutionEventCatapult eventCatapult;
-
- @Requirement
- private DefaultLifecycles defaultLifeCycles;
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private BuildListCalculator buildListCalculator;
-
- @Requirement
- private LifecycleDebugLogger lifecycleDebugLogger;
-
- @Requirement
- private LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator;
-
- @Requirement
- private Map<String, Builder> builders;
-
- @Requirement
- private SessionScope sessionScope;
-
- public void execute( MavenSession session )
- {
- eventCatapult.fire( ExecutionEvent.Type.SessionStarted, session, null );
-
- ReactorContext reactorContext = null;
- ProjectBuildList projectBuilds = null;
- MavenExecutionResult result = session.getResult();
-
- try
- {
- if ( buildExecutionRequiresProject( session ) && projectIsNotPresent( session ) )
- {
- throw new MissingProjectException( "The goal you specified requires a project to execute"
- + " but there is no POM in this directory (" + session.getExecutionRootDirectory() + ")."
- + " Please verify you invoked Maven from the correct directory." );
- }
-
- List<TaskSegment> taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
- projectBuilds = buildListCalculator.calculateProjectBuilds( session, taskSegments );
-
- if ( projectBuilds.isEmpty() )
- {
- throw new NoGoalSpecifiedException( "No goals have been specified for this build."
- + " You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or"
- + " <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>."
- + " Available lifecycle phases are: " + defaultLifeCycles.getLifecyclePhaseList() + "." );
- }
-
- ProjectIndex projectIndex = new ProjectIndex( session.getProjects() );
-
- if ( logger.isDebugEnabled() )
- {
- lifecycleDebugLogger.debugReactorPlan( projectBuilds );
- }
-
- ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader();
- ReactorBuildStatus reactorBuildStatus = new ReactorBuildStatus( session.getProjectDependencyGraph() );
- reactorContext =
- new ReactorContext( result, projectIndex, oldContextClassLoader, reactorBuildStatus,
- sessionScope.memento() );
-
- String builderId = session.getRequest().getBuilderId();
- Builder builder = builders.get( builderId );
- if ( builder == null )
- {
- throw new BuilderNotFoundException( String.format( "The builder requested using id = %s cannot be"
- + " found", builderId ) );
- }
-
- int degreeOfConcurrency = session.getRequest().getDegreeOfConcurrency();
- if ( degreeOfConcurrency >= 2 )
- {
- logger.info( "" );
- logger.info( String.format( "Using the %s implementation with a thread count of %d",
- builder.getClass().getSimpleName(), degreeOfConcurrency ) );
- }
- builder.build( session, reactorContext, projectBuilds, taskSegments, reactorBuildStatus );
-
- }
- catch ( Exception e )
- {
- result.addException( e );
- }
- finally
- {
- eventCatapult.fire( ExecutionEvent.Type.SessionEnded, session, null );
- }
- }
-
- private boolean buildExecutionRequiresProject( MavenSession session )
- {
- return lifecycleTaskSegmentCalculator.requiresProject( session );
- }
-
- private boolean projectIsNotPresent( MavenSession session )
- {
- return !session.getRequest().isProjectPresent();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTask.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTask.java
deleted file mode 100644
index 0b5fff34..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTask.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * A task that is a lifecycle
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public final class LifecycleTask
-{
-
- private final String lifecyclePhase;
-
- public LifecycleTask( String lifecyclePhase )
- {
- this.lifecyclePhase = lifecyclePhase;
- }
-
- @Override
- public String toString()
- {
- return getLifecyclePhase();
- }
-
- public String getLifecyclePhase()
- {
- return lifecyclePhase;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java
deleted file mode 100644
index a721355b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleNotFoundException;
-import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-
-import java.util.List;
-
-/**
- * Calculates the task segments in the build
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author jdcasey
- * @author Kristian Rosenvold (extracted interface)
- * <p/>
- * NOTE: This interface is not part of any public api and can be changed or deleted without prior notice.
- */
-
-public interface LifecycleTaskSegmentCalculator
-{
- List<TaskSegment> calculateTaskSegments( MavenSession session )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException, LifecyclePhaseNotFoundException, LifecycleNotFoundException;
-
- List<TaskSegment> calculateTaskSegments( MavenSession session, List<String> tasks )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException;
-
- boolean requiresProject( MavenSession session );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
deleted file mode 100644
index 36c85fdd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.BuildPluginManager;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.prefix.DefaultPluginPrefixRequest;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.prefix.PluginPrefixRequest;
-import org.apache.maven.plugin.prefix.PluginPrefixResolver;
-import org.apache.maven.plugin.prefix.PluginPrefixResult;
-import org.apache.maven.plugin.version.DefaultPluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolver;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.StringTokenizer;
-
-/**
- * Resolves dependencies for the artifacts in context of the lifecycle build
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Jason van Zyl
- * @author jdcasey
- * @author Kristian Rosenvold (extracted class only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = MojoDescriptorCreator.class )
-public class MojoDescriptorCreator
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private PluginVersionResolver pluginVersionResolver;
-
- @Requirement
- private BuildPluginManager pluginManager;
-
- @Requirement
- private PluginPrefixResolver pluginPrefixResolver;
-
- @Requirement
- private LifecyclePluginResolver lifecyclePluginResolver;
-
- public MojoDescriptorCreator()
- {
- }
-
- public MojoDescriptorCreator( PluginVersionResolver pluginVersionResolver, BuildPluginManager pluginManager,
- PluginPrefixResolver pluginPrefixResolver,
- LifecyclePluginResolver lifecyclePluginResolver )
- {
- this.pluginVersionResolver = pluginVersionResolver;
- this.pluginManager = pluginManager;
- this.pluginPrefixResolver = pluginPrefixResolver;
- this.lifecyclePluginResolver = lifecyclePluginResolver;
- }
-
- private Plugin findPlugin( String groupId, String artifactId, Collection<Plugin> plugins )
- {
- for ( Plugin plugin : plugins )
- {
- if ( artifactId.equals( plugin.getArtifactId() ) && groupId.equals( plugin.getGroupId() ) )
- {
- return plugin;
- }
- }
-
- return null;
- }
-
- public static Xpp3Dom convert( MojoDescriptor mojoDescriptor )
- {
- Xpp3Dom dom = new Xpp3Dom( "configuration" );
-
- PlexusConfiguration c = mojoDescriptor.getMojoConfiguration();
-
- PlexusConfiguration[] ces = c.getChildren();
-
- if ( ces != null )
- {
- for ( PlexusConfiguration ce : ces )
- {
- String value = ce.getValue( null );
- String defaultValue = ce.getAttribute( "default-value", null );
- if ( value != null || defaultValue != null )
- {
- Xpp3Dom e = new Xpp3Dom( ce.getName() );
- e.setValue( value );
- if ( defaultValue != null )
- {
- e.setAttribute( "default-value", defaultValue );
- }
- dom.addChild( e );
- }
- }
- }
-
- return dom;
- }
-
- // org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process@executionId
-
- public MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException, InvalidPluginDescriptorException,
- PluginVersionResolutionException
- {
- String goal = null;
-
- Plugin plugin = null;
-
- StringTokenizer tok = new StringTokenizer( task, ":" );
-
- int numTokens = tok.countTokens();
-
- if ( numTokens >= 4 )
- {
- // We have everything that we need
- //
- // org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process
- //
- // groupId
- // artifactId
- // version
- // goal
- //
- plugin = new Plugin();
- plugin.setGroupId( tok.nextToken() );
- plugin.setArtifactId( tok.nextToken() );
- plugin.setVersion( tok.nextToken() );
- goal = tok.nextToken();
-
- // This won't be valid, but it constructs something easy to read in the error message
- while ( tok.hasMoreTokens() )
- {
- goal += ":" + tok.nextToken();
- }
- }
- else if ( numTokens == 3 )
- {
- // We have everything that we need except the version
- //
- // org.apache.maven.plugins:maven-remote-resources-plugin:???:process
- //
- // groupId
- // artifactId
- // ???
- // goal
- //
- plugin = new Plugin();
- plugin.setGroupId( tok.nextToken() );
- plugin.setArtifactId( tok.nextToken() );
- goal = tok.nextToken();
- }
- else if ( numTokens <= 2 )
- {
- // We have a prefix and goal
- //
- // idea:idea
- //
- String prefix = tok.nextToken();
-
- if ( numTokens == 2 )
- {
- goal = tok.nextToken();
- }
- else
- {
- // goal was missing - pass through to MojoNotFoundException
- goal = "";
- }
-
- // This is the case where someone has executed a single goal from the command line
- // of the form:
- //
- // mvn remote-resources:process
- //
- // From the metadata stored on the server which has been created as part of a standard
- // Maven plugin deployment we will find the right PluginDescriptor from the remote
- // repository.
-
- plugin = findPluginForPrefix( prefix, session );
- }
-
- int executionIdx = goal.indexOf( '@' );
- if ( executionIdx > 0 )
- {
- goal = goal.substring( 0, executionIdx );
- }
-
- injectPluginDeclarationFromProject( plugin, project );
-
- // If there is no version to be found then we need to look in the repository metadata for
- // this plugin and see what's specified as the latest release.
- //
- if ( plugin.getVersion() == null )
- {
- resolvePluginVersion( plugin, session, project );
- }
-
- return pluginManager.getMojoDescriptor( plugin, goal, project.getRemotePluginRepositories(),
- session.getRepositorySession() );
- }
-
- // TODO: take repo mans into account as one may be aggregating prefixes of many
- // TODO: collect at the root of the repository, read the one at the root, and fetch remote if something is missing
- // or the user forces the issue
-
- public Plugin findPluginForPrefix( String prefix, MavenSession session )
- throws NoPluginFoundForPrefixException
- {
- // [prefix]:[goal]
-
- if ( session.getCurrentProject() != null )
- {
- try
- {
- lifecyclePluginResolver.resolveMissingPluginVersions( session.getCurrentProject(), session );
- }
- catch ( PluginVersionResolutionException e )
- {
- // not critical here
- logger.debug( e.getMessage(), e );
- }
- }
-
- PluginPrefixRequest prefixRequest = new DefaultPluginPrefixRequest( prefix, session );
- PluginPrefixResult prefixResult = pluginPrefixResolver.resolve( prefixRequest );
-
- Plugin plugin = new Plugin();
- plugin.setGroupId( prefixResult.getGroupId() );
- plugin.setArtifactId( prefixResult.getArtifactId() );
-
- return plugin;
- }
-
- private void resolvePluginVersion( Plugin plugin, MavenSession session, MavenProject project )
- throws PluginVersionResolutionException
- {
- PluginVersionRequest versionRequest =
- new DefaultPluginVersionRequest( plugin, session.getRepositorySession(),
- project.getRemotePluginRepositories() );
- plugin.setVersion( pluginVersionResolver.resolve( versionRequest ).getVersion() );
- }
-
- private void injectPluginDeclarationFromProject( Plugin plugin, MavenProject project )
- {
- Plugin pluginInPom = findPlugin( plugin, project.getBuildPlugins() );
-
- if ( pluginInPom == null && project.getPluginManagement() != null )
- {
- pluginInPom = findPlugin( plugin, project.getPluginManagement().getPlugins() );
- }
-
- if ( pluginInPom != null )
- {
- if ( plugin.getVersion() == null )
- {
- plugin.setVersion( pluginInPom.getVersion() );
- }
-
- plugin.setDependencies( new ArrayList<Dependency>( pluginInPom.getDependencies() ) );
- }
- }
-
- private Plugin findPlugin( Plugin plugin, Collection<Plugin> plugins )
- {
- return findPlugin( plugin.getGroupId(), plugin.getArtifactId(), plugins );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java
deleted file mode 100644
index a6ba752c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java
+++ /dev/null
@@ -1,394 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.CumulativeScopeArtifactFilter;
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleExecutionException;
-import org.apache.maven.lifecycle.MissingProjectException;
-import org.apache.maven.plugin.BuildPluginManager;
-import org.apache.maven.plugin.MavenPluginManager;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.PluginConfigurationException;
-import org.apache.maven.plugin.PluginIncompatibleException;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * Executes an individual mojo
- *
- * @since 3.0
- * @author Jason van Zyl
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = MojoExecutor.class )
-public class MojoExecutor
-{
-
- @Requirement
- private BuildPluginManager pluginManager;
-
- @Requirement
- private MavenPluginManager mavenPluginManager;
-
- @Requirement
- private LifecycleDependencyResolver lifeCycleDependencyResolver;
-
- @Requirement
- private ExecutionEventCatapult eventCatapult;
-
- public MojoExecutor()
- {
- }
-
- public DependencyContext newDependencyContext( MavenSession session, List<MojoExecution> mojoExecutions )
- {
- Set<String> scopesToCollect = new TreeSet<String>();
- Set<String> scopesToResolve = new TreeSet<String>();
-
- collectDependencyRequirements( scopesToResolve, scopesToCollect, mojoExecutions );
-
- return new DependencyContext( session.getCurrentProject(), scopesToCollect, scopesToResolve );
- }
-
- private void collectDependencyRequirements( Set<String> scopesToResolve, Set<String> scopesToCollect,
- Collection<MojoExecution> mojoExecutions )
- {
- for ( MojoExecution mojoExecution : mojoExecutions )
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- scopesToResolve.addAll( toScopes( mojoDescriptor.getDependencyResolutionRequired() ) );
-
- scopesToCollect.addAll( toScopes( mojoDescriptor.getDependencyCollectionRequired() ) );
- }
- }
-
- private Collection<String> toScopes( String classpath )
- {
- if ( StringUtils.isNotEmpty( classpath ) )
- {
- if ( Artifact.SCOPE_COMPILE.equals( classpath ) )
- {
- return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED );
- }
- else if ( Artifact.SCOPE_RUNTIME.equals( classpath ) )
- {
- return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_RUNTIME );
- }
- else if ( Artifact.SCOPE_COMPILE_PLUS_RUNTIME.equals( classpath ) )
- {
- return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED,
- Artifact.SCOPE_RUNTIME );
- }
- else if ( Artifact.SCOPE_RUNTIME_PLUS_SYSTEM.equals( classpath ) )
- {
- return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_RUNTIME );
- }
- else if ( Artifact.SCOPE_TEST.equals( classpath ) )
- {
- return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED,
- Artifact.SCOPE_RUNTIME, Artifact.SCOPE_TEST );
- }
- }
- return Collections.emptyList();
- }
-
- public void execute( MavenSession session, List<MojoExecution> mojoExecutions, ProjectIndex projectIndex )
- throws LifecycleExecutionException
-
- {
- DependencyContext dependencyContext = newDependencyContext( session, mojoExecutions );
-
- PhaseRecorder phaseRecorder = new PhaseRecorder( session.getCurrentProject() );
-
- for ( MojoExecution mojoExecution : mojoExecutions )
- {
- execute( session, mojoExecution, projectIndex, dependencyContext, phaseRecorder );
- }
- }
-
- public void execute( MavenSession session, MojoExecution mojoExecution, ProjectIndex projectIndex,
- DependencyContext dependencyContext, PhaseRecorder phaseRecorder )
- throws LifecycleExecutionException
- {
- execute( session, mojoExecution, projectIndex, dependencyContext );
- phaseRecorder.observeExecution( mojoExecution );
- }
-
- private void execute( MavenSession session, MojoExecution mojoExecution, ProjectIndex projectIndex,
- DependencyContext dependencyContext )
- throws LifecycleExecutionException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- try
- {
- mavenPluginManager.checkRequiredMavenVersion( mojoDescriptor.getPluginDescriptor() );
- }
- catch ( PluginIncompatibleException e )
- {
- throw new LifecycleExecutionException( mojoExecution, session.getCurrentProject(), e );
- }
-
- if ( mojoDescriptor.isProjectRequired() && !session.getRequest().isProjectPresent() )
- {
- Throwable cause =
- new MissingProjectException( "Goal requires a project to execute"
- + " but there is no POM in this directory (" + session.getExecutionRootDirectory() + ")."
- + " Please verify you invoked Maven from the correct directory." );
- throw new LifecycleExecutionException( mojoExecution, null, cause );
- }
-
- if ( mojoDescriptor.isOnlineRequired() && session.isOffline() )
- {
- if ( MojoExecution.Source.CLI.equals( mojoExecution.getSource() ) )
- {
- Throwable cause =
- new IllegalStateException( "Goal requires online mode for execution"
- + " but Maven is currently offline." );
- throw new LifecycleExecutionException( mojoExecution, session.getCurrentProject(), cause );
- }
- else
- {
- eventCatapult.fire( ExecutionEvent.Type.MojoSkipped, session, mojoExecution );
-
- return;
- }
- }
-
- List<MavenProject> forkedProjects = executeForkedExecutions( mojoExecution, session, projectIndex );
-
- ensureDependenciesAreResolved( mojoDescriptor, session, dependencyContext );
-
- eventCatapult.fire( ExecutionEvent.Type.MojoStarted, session, mojoExecution );
-
- try
- {
- try
- {
- pluginManager.executeMojo( session, mojoExecution );
- }
- catch ( MojoFailureException e )
- {
- throw new LifecycleExecutionException( mojoExecution, session.getCurrentProject(), e );
- }
- catch ( MojoExecutionException e )
- {
- throw new LifecycleExecutionException( mojoExecution, session.getCurrentProject(), e );
- }
- catch ( PluginConfigurationException e )
- {
- throw new LifecycleExecutionException( mojoExecution, session.getCurrentProject(), e );
- }
- catch ( PluginManagerException e )
- {
- throw new LifecycleExecutionException( mojoExecution, session.getCurrentProject(), e );
- }
-
- eventCatapult.fire( ExecutionEvent.Type.MojoSucceeded, session, mojoExecution );
- }
- catch ( LifecycleExecutionException e )
- {
- eventCatapult.fire( ExecutionEvent.Type.MojoFailed, session, mojoExecution, e );
-
- throw e;
- }
- finally
- {
- for ( MavenProject forkedProject : forkedProjects )
- {
- forkedProject.setExecutionProject( null );
- }
- }
- }
-
- public void ensureDependenciesAreResolved( MojoDescriptor mojoDescriptor, MavenSession session,
- DependencyContext dependencyContext )
- throws LifecycleExecutionException
-
- {
- MavenProject project = dependencyContext.getProject();
- boolean aggregating = mojoDescriptor.isAggregator();
-
- if ( dependencyContext.isResolutionRequiredForCurrentProject() )
- {
- Collection<String> scopesToCollect = dependencyContext.getScopesToCollectForCurrentProject();
- Collection<String> scopesToResolve = dependencyContext.getScopesToResolveForCurrentProject();
-
- lifeCycleDependencyResolver.resolveProjectDependencies( project, scopesToCollect, scopesToResolve, session,
- aggregating, Collections.<Artifact>emptySet() );
-
- dependencyContext.synchronizeWithProjectState();
- }
-
- if ( aggregating )
- {
- Collection<String> scopesToCollect = toScopes( mojoDescriptor.getDependencyCollectionRequired() );
- Collection<String> scopesToResolve = toScopes( mojoDescriptor.getDependencyResolutionRequired() );
-
- if ( dependencyContext.isResolutionRequiredForAggregatedProjects( scopesToCollect, scopesToResolve ) )
- {
- for ( MavenProject aggregatedProject : session.getProjects() )
- {
- if ( aggregatedProject != project )
- {
- lifeCycleDependencyResolver.resolveProjectDependencies( aggregatedProject, scopesToCollect,
- scopesToResolve, session, aggregating,
- Collections.<Artifact>emptySet() );
- }
- }
- }
- }
-
- ArtifactFilter artifactFilter = getArtifactFilter( mojoDescriptor );
- List<MavenProject> projectsToResolve =
- LifecycleDependencyResolver.getProjects( session.getCurrentProject(), session,
- mojoDescriptor.isAggregator() );
- for ( MavenProject projectToResolve : projectsToResolve )
- {
- projectToResolve.setArtifactFilter( artifactFilter );
- }
- }
-
- private ArtifactFilter getArtifactFilter( MojoDescriptor mojoDescriptor )
- {
- String scopeToResolve = mojoDescriptor.getDependencyResolutionRequired();
- String scopeToCollect = mojoDescriptor.getDependencyCollectionRequired();
-
- List<String> scopes = new ArrayList<String>( 2 );
- if ( StringUtils.isNotEmpty( scopeToCollect ) )
- {
- scopes.add( scopeToCollect );
- }
- if ( StringUtils.isNotEmpty( scopeToResolve ) )
- {
- scopes.add( scopeToResolve );
- }
-
- if ( scopes.isEmpty() )
- {
- return null;
- }
- else
- {
- return new CumulativeScopeArtifactFilter( scopes );
- }
- }
-
- public List<MavenProject> executeForkedExecutions( MojoExecution mojoExecution, MavenSession session,
- ProjectIndex projectIndex )
- throws LifecycleExecutionException
- {
- List<MavenProject> forkedProjects = Collections.emptyList();
-
- Map<String, List<MojoExecution>> forkedExecutions = mojoExecution.getForkedExecutions();
-
- if ( !forkedExecutions.isEmpty() )
- {
- eventCatapult.fire( ExecutionEvent.Type.ForkStarted, session, mojoExecution );
-
- MavenProject project = session.getCurrentProject();
-
- forkedProjects = new ArrayList<MavenProject>( forkedExecutions.size() );
-
- try
- {
- for ( Map.Entry<String, List<MojoExecution>> fork : forkedExecutions.entrySet() )
- {
- String projectId = fork.getKey();
-
- int index = projectIndex.getIndices().get( projectId );
-
- MavenProject forkedProject = projectIndex.getProjects().get( projectId );
-
- forkedProjects.add( forkedProject );
-
- MavenProject executedProject = forkedProject.clone();
-
- forkedProject.setExecutionProject( executedProject );
-
- List<MojoExecution> mojoExecutions = fork.getValue();
-
- if ( mojoExecutions.isEmpty() )
- {
- continue;
- }
-
- try
- {
- session.setCurrentProject( executedProject );
- session.getProjects().set( index, executedProject );
- projectIndex.getProjects().put( projectId, executedProject );
-
- eventCatapult.fire( ExecutionEvent.Type.ForkedProjectStarted, session, mojoExecution );
-
- execute( session, mojoExecutions, projectIndex );
-
- eventCatapult.fire( ExecutionEvent.Type.ForkedProjectSucceeded, session, mojoExecution );
- }
- catch ( LifecycleExecutionException e )
- {
- eventCatapult.fire( ExecutionEvent.Type.ForkedProjectFailed, session, mojoExecution, e );
-
- throw e;
- }
- finally
- {
- projectIndex.getProjects().put( projectId, forkedProject );
- session.getProjects().set( index, forkedProject );
- session.setCurrentProject( project );
- }
- }
-
- eventCatapult.fire( ExecutionEvent.Type.ForkSucceeded, session, mojoExecution );
- }
- catch ( LifecycleExecutionException e )
- {
- eventCatapult.fire( ExecutionEvent.Type.ForkFailed, session, mojoExecution, e );
-
- throw e;
- }
- }
-
- return forkedProjects;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java
deleted file mode 100644
index a09a3cb9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.project.MavenProject;
-
-/**
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-public class PhaseRecorder
-{
- private String lastLifecyclePhase;
-
- private final MavenProject project;
-
- public PhaseRecorder( MavenProject project )
- {
- this.project = project;
- }
-
- public void observeExecution( MojoExecution mojoExecution )
- {
- String lifecyclePhase = mojoExecution.getLifecyclePhase();
-
- if ( lifecyclePhase != null )
- {
- if ( lastLifecyclePhase == null )
- {
- lastLifecyclePhase = lifecyclePhase;
- }
- else if ( !lifecyclePhase.equals( lastLifecyclePhase ) )
- {
- project.addLifecyclePhase( lastLifecyclePhase );
- lastLifecyclePhase = lifecyclePhase;
- }
- }
-
- if ( lastLifecyclePhase != null )
- {
- project.addLifecyclePhase( lastLifecyclePhase );
- }
- }
-
- public boolean isDifferentPhase( MojoExecution nextMojoExecution )
- {
- String lifecyclePhase = nextMojoExecution.getLifecyclePhase();
- if ( lifecyclePhase == null )
- {
- return lastLifecyclePhase != null;
- }
- return !lifecyclePhase.equals( lastLifecyclePhase );
-
- }
-
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectArtifactFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectArtifactFactory.java
deleted file mode 100644
index b4a81075..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectArtifactFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-
-/**
- * Component interface responsible for creation of MavenProject#dependencyArtifacts instances.
- *
- * @since 3.2.4
- * @provisional This interface is part of work in progress and can be changed or removed without notice.
- */
-public interface ProjectArtifactFactory
-{
- Set<Artifact> createArtifacts( MavenProject project )
- throws InvalidDependencyVersionException;
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java
deleted file mode 100644
index 6c8fd50a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectBuildList.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-
-/**
- * A list of project segments, ordered so that all ProjectSegments from first TaskSegment come before any
- * subsequent TaskSegments.
- *
- * @since 3.0
- * @author Kristian Rosenvold
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-public class ProjectBuildList
- implements Iterable<ProjectSegment>
-{
- private final List<ProjectSegment> items;
-
- public ProjectBuildList( List<ProjectSegment> items )
- {
- this.items = Collections.unmodifiableList( items );
- }
-
- // TODO: Optimize; or maybe just rewrite the whole way aggregating mojos are being run.
- /**
- * Returns aProjectBuildList that contains only items for the specified taskSegment
- * @param taskSegment the requested tasksegment
- * @return a project build list for the supplied task segment
- */
- public ProjectBuildList getByTaskSegment( TaskSegment taskSegment )
- {
- List<ProjectSegment> currentSegment = new ArrayList<ProjectSegment>();
- for ( ProjectSegment projectBuild : items )
- {
- if ( taskSegment == projectBuild.getTaskSegment() )
- { // NOTE: There's no notion of taskSegment equality.
- currentSegment.add( projectBuild );
- }
- }
- return new ProjectBuildList( currentSegment );
- }
-
- public Map<MavenProject, ProjectSegment> selectSegment( TaskSegment taskSegment )
- {
- Map<MavenProject, ProjectSegment> result = new HashMap<MavenProject, ProjectSegment>();
- for ( ProjectSegment projectBuild : items )
- {
- if ( taskSegment == projectBuild.getTaskSegment() )
- { // NOTE: There's no notion of taskSegment equality.
- result.put( projectBuild.getProject(), projectBuild );
- }
- }
- return result;
- }
-
- /**
- * Finds the first ProjectSegment matching the supplied project
- * @param mavenProject the requested project
- * @return The projectSegment or null.
- */
- public ProjectSegment findByMavenProject( MavenProject mavenProject )
- {
- for ( ProjectSegment projectBuild : items )
- {
- if ( mavenProject.equals( projectBuild.getProject() ) )
- {
- return projectBuild;
- }
- }
- return null;
- }
-
- public Iterator<ProjectSegment> iterator()
- {
- return items.iterator();
- }
-
- public void closeAll()
- {
- for ( ProjectSegment item : items )
- {
- MavenSession sessionForThisModule = item.getSession();
- sessionForThisModule.setCurrentProject( null );
- }
- }
-
- public int size()
- {
- return items.size();
- }
-
- public ProjectSegment get( int index )
- {
- return items.get( index );
- }
-
- public Set<String> getReactorProjectKeys()
- {
- Set<String> projectKeys = new HashSet<String>( items.size() * 2 );
- for ( ProjectSegment projectBuild : items )
- {
- MavenProject project = projectBuild.getProject();
- String key = ArtifactUtils.key( project.getGroupId(), project.getArtifactId(), project.getVersion() );
- projectKeys.add( key );
- }
- return projectKeys;
- }
-
-
- public boolean isEmpty()
- {
- return items.isEmpty();
- }
-
- /**
- * @return a set of all the projects managed by the build
- */
- public Set<MavenProject> getProjects()
- {
- Set<MavenProject> projects = new HashSet<MavenProject>();
-
- for ( ProjectSegment s : items )
- {
- projects.add( s.getProject() );
- }
- return projects;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java
deleted file mode 100644
index b1b1d186..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectIndex.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.project.MavenProject;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Provides the positional index of the project
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold (extracted class only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-// Todo: Kristian wonders if this class really is necessary and if it overlaps other concepts.
-public final class ProjectIndex
-{
-
- private final Map<String, MavenProject> projects;
-
- private final Map<String, Integer> indices;
-
- public ProjectIndex( List<MavenProject> projects )
- {
- this.projects = new HashMap<String, MavenProject>( projects.size() * 2 );
- this.indices = new HashMap<String, Integer>( projects.size() * 2 );
-
- for ( int i = 0; i < projects.size(); i++ )
- {
- MavenProject project = projects.get( i );
- String key = BuilderCommon.getKey( project );
-
- this.getProjects().put( key, project );
- this.getIndices().put( key, i );
- }
- }
-
- public Map<String, MavenProject> getProjects()
- {
- return projects;
- }
-
- public Map<String, Integer> getIndices()
- {
- return indices;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectSegment.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectSegment.java
deleted file mode 100644
index 5ef77454..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ProjectSegment.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.project.MavenProject;
-
-import java.util.List;
-
-/**
- * A build context that matches a mavenproject to a given tasksegment, and the session to be used.
- * <p/>
- * A note to the reader;
- * <p/>
- * There are several issues/discussions regarding how "aggregator" plugins should be handled.
- * Read for instance http://docs.codehaus.org/display/MAVEN/Deterministic+Lifecycle+Planning
- * <p/>
- * In their current implementation they are "bolted" onto the lifecycle by separating them
- * into TaskSegments. This class represents the execution context of one such task segment.
- * <p/>
- * Wise voices have suggested that maybe aggregators shouldn't be bound to the ordinary
- * lifecycle at all, in which case we wouldn't be needing this class at all ( and
- * ProjectBuildList.getByTaskSegments). Or maybe they should be introduced in the calculation
- * of the execution plan instead, which seems much nicer.
- * <p/>
- * Additionally this class contains a clone of the MavenSession, which is *only* needed
- * because it has as notion of a "current" project.
- *
- * @since 3.0
- * @author Jason van Zyl
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-public final class ProjectSegment
-{
- private final MavenProject project;
-
- private final TaskSegment taskSegment;
-
- private final MavenSession session;
-
- private final List<MavenProject> nonTransitiveUpstreamProjects;
-
- private final List<MavenProject> transitiveUpstreamProjects;
-
- public ProjectSegment( MavenProject project, TaskSegment taskSegment, MavenSession copiedSession )
- {
- this.project = project;
- this.taskSegment = taskSegment;
- this.session = copiedSession;
- final ProjectDependencyGraph dependencyGraph = getSession().getProjectDependencyGraph();
- nonTransitiveUpstreamProjects = dependencyGraph.getUpstreamProjects( getProject(), false );
- transitiveUpstreamProjects = dependencyGraph.getUpstreamProjects( getProject(), true );
- }
-
- public MavenSession getSession()
- {
- return session;
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public TaskSegment getTaskSegment()
- {
- return taskSegment;
- }
-
- public List<MavenProject> getImmediateUpstreamProjects()
- {
- return nonTransitiveUpstreamProjects;
- }
-
- public List<MavenProject> getTransitiveUpstreamProjects()
- {
- return transitiveUpstreamProjects;
- }
-
- @Override
- public String toString()
- {
- return getProject().getId() + " -> " + getTaskSegment();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorBuildStatus.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorBuildStatus.java
deleted file mode 100644
index 2e2c3fd4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorBuildStatus.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.lifecycle.internal.builder.BuilderCommon;
-import org.apache.maven.project.MavenProject;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-
-/**
- * Contains status information that is global to an entire reactor build.
- *
- * @since 3.0
- * @author <a href="mailto:kristian.rosenvold@gmail.com">Kristian Rosenvold</a>
- */
-public class ReactorBuildStatus
-{
- private final ProjectDependencyGraph projectDependencyGraph;
-
- private final Collection<String> blackListedProjects = Collections.synchronizedSet( new HashSet<String>() );
-
- private volatile boolean halted = false;
-
- public ReactorBuildStatus( ProjectDependencyGraph projectDependencyGraph )
- {
- this.projectDependencyGraph = projectDependencyGraph;
- }
-
- public boolean isBlackListed( MavenProject project )
- {
- return blackListedProjects.contains( BuilderCommon.getKey( project ) );
- }
-
- public void blackList( MavenProject project )
- {
- if ( blackListedProjects.add( BuilderCommon.getKey( project ) ) && projectDependencyGraph != null )
- {
- for ( MavenProject downstreamProject : projectDependencyGraph.getDownstreamProjects( project, true ) )
- {
- blackListedProjects.add( BuilderCommon.getKey( downstreamProject ) );
- }
- }
- }
-
- public void halt()
- {
- halted = true;
- }
-
- public boolean isHalted()
- {
- return halted;
- }
-
- public boolean isHaltedOrBlacklisted( MavenProject mavenProject )
- {
- return isBlackListed( mavenProject ) || isHalted();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorContext.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorContext.java
deleted file mode 100644
index 7df53140..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/ReactorContext.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenExecutionResult;
-import org.apache.maven.session.scope.internal.SessionScope;
-
-/**
- * Context that is fixed for the entire reactor build.
- *
- * @since 3.0
- * @author Jason van Zyl
- * @author Kristian Rosenvold
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-public class ReactorContext
-{
- private final MavenExecutionResult result;
-
- private final ProjectIndex projectIndex;
-
- private final ClassLoader originalContextClassLoader;
-
- private final ReactorBuildStatus reactorBuildStatus;
-
- private final SessionScope.Memento sessionScope;
-
- public ReactorContext( MavenExecutionResult result, ProjectIndex projectIndex,
- ClassLoader originalContextClassLoader, ReactorBuildStatus reactorBuildStatus,
- SessionScope.Memento sessionScope )
- {
- this.result = result;
- this.projectIndex = projectIndex;
- this.originalContextClassLoader = originalContextClassLoader;
- this.reactorBuildStatus = reactorBuildStatus;
- this.sessionScope = sessionScope;
- }
-
- public ReactorBuildStatus getReactorBuildStatus()
- {
- return reactorBuildStatus;
- }
-
- public MavenExecutionResult getResult()
- {
- return result;
- }
-
- public ProjectIndex getProjectIndex()
- {
- return projectIndex;
- }
-
- public ClassLoader getOriginalContextClassLoader()
- {
- return originalContextClassLoader;
- }
-
- /**
- * @since 3.3.0
- */
- public SessionScope.Memento getSessionScopeMemento()
- {
- return sessionScope;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
deleted file mode 100644
index 9551887c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/TaskSegment.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.apache.maven.lifecycle.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Describes the required task segment as provided on the maven command line; i.e. "clean jetty:run install"
- *
- * @since 3.0
- * @author Benjamin Bentmann
- * @author Kristian Rosenvold (extracted class only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-public final class TaskSegment
-{
-
- // Can be both "LifeCycleTask" (clean/install) and "GoalTask" (org.mortbay.jetty:maven-jetty-plugin:6.1.19:run)
-
- private final List<Object> tasks;
-
- private final boolean aggregating;
-
- public TaskSegment( boolean aggregating )
- {
- this.aggregating = aggregating;
- tasks = new ArrayList<Object>();
- }
-
- public TaskSegment( boolean aggregating, Object... tasks )
- {
- this.aggregating = aggregating;
- this.tasks = new ArrayList<Object>( Arrays.asList( tasks ) );
- }
-
- @Override
- public String toString()
- {
- return getTasks().toString();
- }
-
- public List<Object> getTasks()
- {
- return tasks;
- }
-
- public boolean isAggregating()
- {
- return aggregating;
- }
-
- // TODO: Consider throwing UnsupprtedSomething on hashCode/equals
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/Builder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/Builder.java
deleted file mode 100644
index 155abf92..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/Builder.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.internal.ProjectBuildList;
-import org.apache.maven.lifecycle.internal.ReactorBuildStatus;
-import org.apache.maven.lifecycle.internal.ReactorContext;
-import org.apache.maven.lifecycle.internal.TaskSegment;
-
-/**
- * A {@link Builder} encapsulates a strategy for building a set of Maven projects. The default strategy in Maven builds
- * the the projects serially, but a {@link Builder} can employ any type of concurrency model to build the projects.
- *
- * @author jvanzyl
- * @provisional
- */
-public interface Builder
-{
- //
- // Be nice to whittle this down to Session, maybe add task segments to the session. The session really is the
- // the place to store reactor related information.
- //
- void build( MavenSession session, ReactorContext reactorContext, ProjectBuildList projectBuilds,
- List<TaskSegment> taskSegments, ReactorBuildStatus reactorBuildStatus )
- throws ExecutionException, InterruptedException;
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
deleted file mode 100644
index 34fb323e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.execution.BuildFailure;
-import org.apache.maven.execution.ExecutionEvent;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleExecutionException;
-import org.apache.maven.lifecycle.LifecycleNotFoundException;
-import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.lifecycle.MavenExecutionPlan;
-import org.apache.maven.lifecycle.internal.ExecutionEventCatapult;
-import org.apache.maven.lifecycle.internal.LifecycleDebugLogger;
-import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
-import org.apache.maven.lifecycle.internal.ReactorContext;
-import org.apache.maven.lifecycle.internal.TaskSegment;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-
-import java.util.Set;
-
-/**
- * Common code that is shared by the LifecycleModuleBuilder and the LifeCycleWeaveBuilder
- *
- * @since 3.0
- * @author Kristian Rosenvold
- * Builds one or more lifecycles for a full module
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = BuilderCommon.class )
-public class BuilderCommon
-{
- @Requirement
- private LifecycleDebugLogger lifecycleDebugLogger;
-
- @Requirement
- private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
-
- @Requirement
- private ExecutionEventCatapult eventCatapult;
-
- @Requirement
- private Logger logger;
-
-
- public BuilderCommon()
- {
- }
-
- public BuilderCommon( LifecycleDebugLogger lifecycleDebugLogger,
- LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator, Logger logger )
- {
- this.lifecycleDebugLogger = lifecycleDebugLogger;
- this.lifeCycleExecutionPlanCalculator = lifeCycleExecutionPlanCalculator;
- this.logger = logger;
- }
-
- public MavenExecutionPlan resolveBuildPlan( MavenSession session, MavenProject project, TaskSegment taskSegment,
- Set<Artifact> projectArtifacts )
- throws PluginNotFoundException, PluginResolutionException, LifecyclePhaseNotFoundException,
- PluginDescriptorParsingException, MojoNotFoundException, InvalidPluginDescriptorException,
- NoPluginFoundForPrefixException, LifecycleNotFoundException, PluginVersionResolutionException,
- LifecycleExecutionException
- {
- MavenExecutionPlan executionPlan =
- lifeCycleExecutionPlanCalculator.calculateExecutionPlan( session, project, taskSegment.getTasks() );
-
- lifecycleDebugLogger.debugProjectPlan( project, executionPlan );
-
- if ( session.getRequest().getDegreeOfConcurrency() > 1 )
- {
- final Set<Plugin> unsafePlugins = executionPlan.getNonThreadSafePlugins();
- if ( !unsafePlugins.isEmpty() && logger.isDebugEnabled() )
- {
- logger.warn( "*****************************************************************" );
- logger.warn( "* Your build is requesting parallel execution, but project *" );
- logger.warn( "* contains the following plugin(s) that have goals not marked *" );
- logger.warn( "* as @threadSafe to support parallel building. *" );
- logger.warn( "* While this /may/ work fine, please look for plugin updates *" );
- logger.warn( "* and/or request plugins be made thread-safe. *" );
- logger.warn( "* If reporting an issue, report it against the plugin in *" );
- logger.warn( "* question, not against maven-core *" );
- logger.warn( "*****************************************************************" );
- if ( logger.isDebugEnabled() )
- {
- final Set<MojoDescriptor> unsafeGoals = executionPlan.getNonThreadSafeMojos();
- logger.warn( "The following goals are not marked @threadSafe in " + project.getName() + ":" );
- for ( MojoDescriptor unsafeGoal : unsafeGoals )
- {
- logger.warn( unsafeGoal.getId() );
- }
- }
- else
- {
- logger.warn( "The following plugins are not marked @threadSafe in " + project.getName() + ":" );
- for ( Plugin unsafePlugin : unsafePlugins )
- {
- logger.warn( unsafePlugin.getId() );
- }
- logger.warn( "Enable debug to see more precisely which goals are not marked @threadSafe." );
- }
- logger.warn( "*****************************************************************" );
- }
- }
-
- return executionPlan;
- }
-
- public void handleBuildError( final ReactorContext buildContext, final MavenSession rootSession,
- final MavenSession currentSession, final MavenProject mavenProject, Throwable t,
- final long buildStartTime )
- {
- // record the error and mark the project as failed
- long buildEndTime = System.currentTimeMillis();
- buildContext.getResult().addException( t );
- buildContext.getResult().addBuildSummary( new BuildFailure( mavenProject, buildEndTime - buildStartTime, t ) );
-
- // notify listeners about "soft" project build failures only
- if ( t instanceof Exception && !( t instanceof RuntimeException ) )
- {
- eventCatapult.fire( ExecutionEvent.Type.ProjectFailed, currentSession, null, (Exception) t );
- }
-
- // reactor failure modes
- if ( t instanceof RuntimeException || !( t instanceof Exception ) )
- {
- // fail fast on RuntimeExceptions, Errors and "other" Throwables
- // assume these are system errors and further build is meaningless
- buildContext.getReactorBuildStatus().halt();
- }
- else if ( MavenExecutionRequest.REACTOR_FAIL_NEVER.equals( rootSession.getReactorFailureBehavior() ) )
- {
- // continue the build
- }
- else if ( MavenExecutionRequest.REACTOR_FAIL_AT_END.equals( rootSession.getReactorFailureBehavior() ) )
- {
- // continue the build but ban all projects that depend on the failed one
- buildContext.getReactorBuildStatus().blackList( mavenProject );
- }
- else if ( MavenExecutionRequest.REACTOR_FAIL_FAST.equals( rootSession.getReactorFailureBehavior() ) )
- {
- buildContext.getReactorBuildStatus().halt();
- }
- else
- {
- logger.error( "invalid reactor failure behavior " + rootSession.getReactorFailureBehavior() );
- buildContext.getReactorBuildStatus().halt();
- }
- }
-
- public static void attachToThread( MavenProject currentProject )
- {
- ClassRealm projectRealm = currentProject.getClassRealm();
- if ( projectRealm != null )
- {
- Thread.currentThread().setContextClassLoader( projectRealm );
- }
- }
-
- // Todo: I'm really wondering where this method belongs; smells like it should be on MavenProject, but for some
- // reason it isn't ? This localization is kind-of a code smell.
-
- public static String getKey( MavenProject project )
- {
- return project.getGroupId() + ':' + project.getArtifactId() + ':' + project.getVersion();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderNotFoundException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderNotFoundException.java
deleted file mode 100644
index 52c668f1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderNotFoundException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-public class BuilderNotFoundException
- extends Exception
-{
- public BuilderNotFoundException( String message )
- {
- super( message );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraph.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraph.java
deleted file mode 100644
index de6a5a31..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraph.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder.multithreaded;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.ProjectDependencyGraph;
-import org.apache.maven.lifecycle.internal.ProjectBuildList;
-import org.apache.maven.lifecycle.internal.ProjectSegment;
-import org.apache.maven.project.MavenProject;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Presents a view of the Dependency Graph that is suited for concurrent building.
- *
- * @since 3.0
- * @author Kristian Rosenvold
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-public class ConcurrencyDependencyGraph
-{
-
- private final ProjectBuildList projectBuilds;
-
- private final ProjectDependencyGraph projectDependencyGraph;
-
- private final HashSet<MavenProject> finishedProjects = new HashSet<MavenProject>();
-
- public ConcurrencyDependencyGraph( ProjectBuildList projectBuilds, ProjectDependencyGraph projectDependencyGraph )
- {
- this.projectDependencyGraph = projectDependencyGraph;
- this.projectBuilds = projectBuilds;
- }
-
- public int getNumberOfBuilds()
- {
- return projectBuilds.size();
- }
-
- /**
- * Gets all the builds that have no reactor-dependencies
- *
- * @return A list of all the initial builds
- */
-
- public List<MavenProject> getRootSchedulableBuilds()
- {
- List<MavenProject> result = new ArrayList<MavenProject>();
- for ( ProjectSegment projectBuild : projectBuilds )
- {
- if ( projectDependencyGraph.getUpstreamProjects( projectBuild.getProject(), false ).size() == 0 )
- {
- result.add( projectBuild.getProject() );
- }
- }
- return result;
- }
-
- /**
- * Marks the provided project as finished. Returns a list of
- *
- * @param mavenProject The project
- * @return The list of builds that are eligible for starting now that the provided project is done
- */
- public List<MavenProject> markAsFinished( MavenProject mavenProject )
- {
- finishedProjects.add( mavenProject );
- return getSchedulableNewProcesses( mavenProject );
- }
-
- private List<MavenProject> getSchedulableNewProcesses( MavenProject finishedProject )
- {
- List<MavenProject> result = new ArrayList<MavenProject>();
- // schedule dependent projects, if all of their requirements are met
- for ( MavenProject dependentProject : projectDependencyGraph.getDownstreamProjects( finishedProject, false ) )
- {
- final List<MavenProject> upstreamProjects =
- projectDependencyGraph.getUpstreamProjects( dependentProject, false );
- if ( finishedProjects.containsAll( upstreamProjects ) )
- {
- result.add( dependentProject );
- }
- }
- return result;
- }
-
- /**
- * @return set of projects that have yet to be processed successfully by the build.
- */
- public Set<MavenProject> getUnfinishedProjects()
- {
- Set<MavenProject> unfinished = new HashSet<MavenProject>( projectBuilds.getProjects() );
- unfinished.remove( finishedProjects );
- return unfinished;
- }
-
- /**
- * @return set of projects that have been successfully processed by the build.
- */
- protected Set<MavenProject> getFinishedProjects()
- {
- return finishedProjects;
- }
-
- protected ProjectBuildList getProjectBuilds()
- {
- return projectBuilds;
- }
-
- /**
- * For the given {@link MavenProject} {@code p}, return all of {@code p}'s dependencies.
- *
- * @param p
- * @return List of prerequisite projects
- */
- protected List<MavenProject> getDependencies( MavenProject p )
- {
- return projectDependencyGraph.getUpstreamProjects( p, false );
- }
-
- /**
- * For the given {@link MavenProject} {@code p} return {@code p}'s uncompleted dependencies.
- *
- * @param p
- * @return List of uncompleted prerequisite projects
- */
- public List<MavenProject> getActiveDependencies( MavenProject p )
- {
- List<MavenProject> activeDependencies = projectDependencyGraph.getUpstreamProjects( p, false );
- activeDependencies.removeAll( finishedProjects );
- return activeDependencies;
- }
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
deleted file mode 100644
index 906e5e75..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java
+++ /dev/null
@@ -1,197 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder.multithreaded;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CompletionService;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorCompletionService;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.internal.BuildThreadFactory;
-import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder;
-import org.apache.maven.lifecycle.internal.ProjectBuildList;
-import org.apache.maven.lifecycle.internal.ProjectSegment;
-import org.apache.maven.lifecycle.internal.ReactorBuildStatus;
-import org.apache.maven.lifecycle.internal.ReactorContext;
-import org.apache.maven.lifecycle.internal.TaskSegment;
-import org.apache.maven.lifecycle.internal.builder.Builder;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * Builds the full lifecycle in weave-mode (phase by phase as opposed to project-by-project)
- *
- * @since 3.0
- * @author Kristian Rosenvold
- * Builds one or more lifecycles for a full module
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- */
-@Component( role = Builder.class, hint = "multithreaded" )
-public class MultiThreadedBuilder
- implements Builder
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private LifecycleModuleBuilder lifecycleModuleBuilder;
-
-
- public MultiThreadedBuilder()
- {
- }
-
- @Override
- public void build( MavenSession session, ReactorContext reactorContext, ProjectBuildList projectBuilds,
- List<TaskSegment> taskSegments, ReactorBuildStatus reactorBuildStatus )
- throws ExecutionException, InterruptedException
- {
- ExecutorService executor =
- Executors.newFixedThreadPool( Math.min( session.getRequest().getDegreeOfConcurrency(),
- session.getProjects().size() ), new BuildThreadFactory() );
- CompletionService<ProjectSegment> service = new ExecutorCompletionService<ProjectSegment>( executor );
- ConcurrencyDependencyGraph analyzer =
- new ConcurrencyDependencyGraph( projectBuilds, session.getProjectDependencyGraph() );
-
- // Currently disabled
- ThreadOutputMuxer muxer = null; // new ThreadOutputMuxer( analyzer.getProjectBuilds(), System.out );
-
- for ( TaskSegment taskSegment : taskSegments )
- {
- Map<MavenProject, ProjectSegment> projectBuildMap = projectBuilds.selectSegment( taskSegment );
- try
- {
- multiThreadedProjectTaskSegmentBuild( analyzer, reactorContext, session, service, taskSegment,
- projectBuildMap, muxer );
- if ( reactorContext.getReactorBuildStatus().isHalted() )
- {
- break;
- }
- }
- catch ( Exception e )
- {
- session.getResult().addException( e );
- break;
- }
-
- }
- }
-
- private void multiThreadedProjectTaskSegmentBuild( ConcurrencyDependencyGraph analyzer,
- ReactorContext reactorContext, MavenSession rootSession,
- CompletionService<ProjectSegment> service,
- TaskSegment taskSegment,
- Map<MavenProject, ProjectSegment> projectBuildList,
- ThreadOutputMuxer muxer )
- {
-
- // schedule independent projects
- for ( MavenProject mavenProject : analyzer.getRootSchedulableBuilds() )
- {
- ProjectSegment projectSegment = projectBuildList.get( mavenProject );
- logger.debug( "Scheduling: " + projectSegment.getProject() );
- Callable<ProjectSegment> cb =
- createBuildCallable( rootSession, projectSegment, reactorContext, taskSegment, muxer );
- service.submit( cb );
- }
-
- // for each finished project
- for ( int i = 0; i < analyzer.getNumberOfBuilds(); i++ )
- {
- try
- {
- ProjectSegment projectBuild = service.take().get();
- if ( reactorContext.getReactorBuildStatus().isHalted() )
- {
- break;
- }
- final List<MavenProject> newItemsThatCanBeBuilt =
- analyzer.markAsFinished( projectBuild.getProject() );
- for ( MavenProject mavenProject : newItemsThatCanBeBuilt )
- {
- ProjectSegment scheduledDependent = projectBuildList.get( mavenProject );
- logger.debug( "Scheduling: " + scheduledDependent );
- Callable<ProjectSegment> cb =
- createBuildCallable( rootSession, scheduledDependent, reactorContext, taskSegment, muxer );
- service.submit( cb );
- }
- }
- catch ( InterruptedException e )
- {
- rootSession.getResult().addException( e );
- break;
- }
- catch ( ExecutionException e )
- {
- // TODO MNG-5766 changes likely made this redundant
- rootSession.getResult().addException( e );
- break;
- }
- }
-
- // cancel outstanding builds (if any) - this can happen if an exception is thrown in above block
-
- Future<ProjectSegment> unprocessed;
- while ( ( unprocessed = service.poll() ) != null )
- {
- try
- {
- unprocessed.get();
- }
- catch ( InterruptedException e )
- {
- throw new RuntimeException( e );
- }
- catch ( ExecutionException e )
- {
- throw new RuntimeException( e );
- }
- }
- }
-
- private Callable<ProjectSegment> createBuildCallable( final MavenSession rootSession,
- final ProjectSegment projectBuild,
- final ReactorContext reactorContext,
- final TaskSegment taskSegment, final ThreadOutputMuxer muxer )
- {
- return new Callable<ProjectSegment>()
- {
- public ProjectSegment call()
- {
- // muxer.associateThreadWithProjectSegment( projectBuild );
- lifecycleModuleBuilder.buildProject( projectBuild.getSession(), rootSession, reactorContext,
- projectBuild.getProject(), taskSegment );
- // muxer.setThisModuleComplete( projectBuild );
-
- return projectBuild;
- }
- };
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java
deleted file mode 100644
index 8f1f4932..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ThreadOutputMuxer.java
+++ /dev/null
@@ -1,477 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder.multithreaded;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.lifecycle.internal.ProjectBuildList;
-import org.apache.maven.lifecycle.internal.ProjectSegment;
-
-/**
- * @since 3.0
- * @author Kristian Rosenvold
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
- * This class in particular may spontaneusly self-combust and be replaced by a plexus-compliant thread aware
- * logger implementation at any time.
- */
-@SuppressWarnings( { "SynchronizationOnLocalVariableOrMethodParameter" } )
-public class ThreadOutputMuxer
-{
- private final Iterator<ProjectSegment> projects;
-
- private final ThreadLocal<ProjectSegment> projectBuildThreadLocal = new ThreadLocal<ProjectSegment>();
-
- private final Map<ProjectSegment, ByteArrayOutputStream> streams =
- new HashMap<ProjectSegment, ByteArrayOutputStream>();
-
- private final Map<ProjectSegment, PrintStream> printStreams = new HashMap<ProjectSegment, PrintStream>();
-
- private final ByteArrayOutputStream defaultOutputStreamForUnknownData = new ByteArrayOutputStream();
-
- private final PrintStream defaultPringStream = new PrintStream( defaultOutputStreamForUnknownData );
-
- private final Set<ProjectSegment> completedBuilds = Collections.synchronizedSet( new HashSet<ProjectSegment>() );
-
- private volatile ProjectSegment currentBuild;
-
- private final PrintStream originalSystemOUtStream;
-
- private final ConsolePrinter printer;
-
- /**
- * A simple but safe solution for printing to the console.
- */
-
- class ConsolePrinter
- implements Runnable
- {
- public volatile boolean running;
-
- private final ProjectBuildList projectBuildList;
-
- ConsolePrinter( ProjectBuildList projectBuildList )
- {
- this.projectBuildList = projectBuildList;
- }
-
- public void run()
- {
- running = true;
- for ( ProjectSegment projectBuild : projectBuildList )
- {
- final PrintStream projectStream = printStreams.get( projectBuild );
- ByteArrayOutputStream projectOs = streams.get( projectBuild );
-
- do
- {
- synchronized ( projectStream )
- {
- try
- {
- projectStream.wait( 100 );
- }
- catch ( InterruptedException e )
- {
- throw new RuntimeException( e );
- }
- try
- {
- projectOs.writeTo( originalSystemOUtStream );
- }
- catch ( IOException e )
- {
- throw new RuntimeException( e );
- }
-
- projectOs.reset();
- }
- }
- while ( !completedBuilds.contains( projectBuild ) );
- }
- running = false;
- }
-
- /*
- Wait until we are sure the print-stream thread is running.
- */
-
- public void waitUntilRunning( boolean expect )
- {
- while ( !running == expect )
- {
- try
- {
- Thread.sleep( 10 );
- }
- catch ( InterruptedException e )
- {
- throw new RuntimeException( e );
- }
- }
- }
- }
-
- public ThreadOutputMuxer( ProjectBuildList segmentChunks, PrintStream originalSystemOut )
- {
- projects = segmentChunks.iterator();
- for ( ProjectSegment segmentChunk : segmentChunks )
- {
- final ByteArrayOutputStream value = new ByteArrayOutputStream();
- streams.put( segmentChunk, value );
- printStreams.put( segmentChunk, new PrintStream( value ) );
- }
- setNext();
- this.originalSystemOUtStream = originalSystemOut;
- System.setOut( new ThreadBoundPrintStream( this.originalSystemOUtStream ) );
- printer = new ConsolePrinter( segmentChunks );
- new Thread( printer ).start();
- printer.waitUntilRunning( true );
- }
-
- public void close()
- {
- printer.waitUntilRunning( false );
- System.setOut( this.originalSystemOUtStream );
- }
-
- private void setNext()
- {
- currentBuild = projects.hasNext() ? projects.next() : null;
- }
-
- private boolean ownsRealOutputStream( ProjectSegment projectBuild )
- {
- return projectBuild.equals( currentBuild );
- }
-
- private PrintStream getThreadBoundPrintStream()
- {
- ProjectSegment threadProject = projectBuildThreadLocal.get();
- if ( threadProject == null )
- {
- return defaultPringStream;
- }
- if ( ownsRealOutputStream( threadProject ) )
- {
- return originalSystemOUtStream;
- }
- return printStreams.get( threadProject );
- }
-
- public void associateThreadWithProjectSegment( ProjectSegment projectBuild )
- {
- projectBuildThreadLocal.set( projectBuild );
- }
-
- public void setThisModuleComplete( ProjectSegment projectBuild )
- {
- completedBuilds.add( projectBuild );
- PrintStream stream = printStreams.get( projectBuild );
- synchronized ( stream )
- {
- stream.notifyAll();
- }
- disconnectThreadFromProject();
- }
-
- private void disconnectThreadFromProject()
- {
- projectBuildThreadLocal.remove();
- }
-
- private class ThreadBoundPrintStream
- extends PrintStream
- {
-
- public ThreadBoundPrintStream( PrintStream systemOutStream )
- {
- super( systemOutStream );
- }
-
- private PrintStream getOutputStreamForCurrentThread()
- {
- return getThreadBoundPrintStream();
- }
-
- @Override
- public void println()
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println();
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( char c )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( c );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( char x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( double d )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( d );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( double x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( float f )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( f );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( float x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( int i )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( i );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( int x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( long l )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( l );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( long x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( boolean b )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( b );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( boolean x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( char s[] )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( s );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( char x[] )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( Object obj )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( obj );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( Object x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void print( String s )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.print( s );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void println( String x )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.println( x );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void write( byte b[], int off, int len )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.write( b, off, len );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void close()
- {
- getOutputStreamForCurrentThread().close();
- }
-
- @Override
- public void flush()
- {
- getOutputStreamForCurrentThread().flush();
- }
-
- @Override
- public void write( int b )
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.write( b );
- currentStream.notifyAll();
- }
- }
-
- @Override
- public void write( byte b[] )
- throws IOException
- {
- final PrintStream currentStream = getOutputStreamForCurrentThread();
- synchronized ( currentStream )
- {
- currentStream.write( b );
- currentStream.notifyAll();
- }
- }
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java
deleted file mode 100644
index 464944f1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.lifecycle.internal.builder.singlethreaded;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder;
-import org.apache.maven.lifecycle.internal.ProjectBuildList;
-import org.apache.maven.lifecycle.internal.ProjectSegment;
-import org.apache.maven.lifecycle.internal.ReactorBuildStatus;
-import org.apache.maven.lifecycle.internal.ReactorContext;
-import org.apache.maven.lifecycle.internal.TaskSegment;
-import org.apache.maven.lifecycle.internal.builder.Builder;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-@Component( role = Builder.class, hint = "singlethreaded" )
-public class SingleThreadedBuilder
- implements Builder
-{
- @Requirement
- private LifecycleModuleBuilder lifecycleModuleBuilder;
-
- public void build( MavenSession session, ReactorContext reactorContext, ProjectBuildList projectBuilds,
- List<TaskSegment> taskSegments, ReactorBuildStatus reactorBuildStatus )
- {
- for ( TaskSegment taskSegment : taskSegments )
- {
- for ( ProjectSegment projectBuild : projectBuilds.getByTaskSegment( taskSegment ) )
- {
- try
- {
- lifecycleModuleBuilder.buildProject( session, reactorContext, projectBuild.getProject(),
- taskSegment );
- if ( reactorBuildStatus.isHalted() )
- {
- break;
- }
- }
- catch ( Exception e )
- {
- break; // Why are we just ignoring this exception? Are exceptions are being used for flow control
- }
- }
- }
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
deleted file mode 100644
index 9947e2fc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.maven.lifecycle.mapping;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class DefaultLifecycleMapping
- implements LifecycleMapping
-{
-
- private List<Lifecycle> lifecycles;
-
- private Map<String, Lifecycle> lifecycleMap;
-
- /** @deprecated use lifecycles instead */
- private Map<String, String> phases;
-
- /**
- * Populates the lifecycle map from the injected list of lifecycle mappings (if not already done).
- */
- private void initLifecycleMap()
- {
- if ( lifecycleMap == null )
- {
- lifecycleMap = new HashMap<String, Lifecycle>();
-
- if ( lifecycles != null )
- {
- for ( Lifecycle lifecycle : lifecycles )
- {
- lifecycleMap.put( lifecycle.getId(), lifecycle );
- }
- }
- else
- {
- /*
- * NOTE: This is to provide a migration path for implementors of the legacy API which did not know about
- * getLifecycles().
- */
-
- String[] lifecycleIds = { "default", "clean", "site" };
-
- for ( String lifecycleId : lifecycleIds )
- {
- Map<String, String> phases = getPhases( lifecycleId );
- if ( phases != null )
- {
- Lifecycle lifecycle = new Lifecycle();
-
- lifecycle.setId( lifecycleId );
- lifecycle.setPhases( phases );
-
- lifecycleMap.put( lifecycleId, lifecycle );
- }
- }
- }
- }
- }
-
- public Map<String, Lifecycle> getLifecycles()
- {
- initLifecycleMap();
-
- return lifecycleMap;
- }
-
- public List<String> getOptionalMojos( String lifecycle )
- {
- return null;
- }
-
- public Map<String, String> getPhases( String lifecycle )
- {
- initLifecycleMap();
-
- Lifecycle lifecycleMapping = lifecycleMap.get( lifecycle );
-
- if ( lifecycleMapping != null )
- {
- return lifecycleMapping.getPhases();
- }
- else if ( "default".equals( lifecycle ) )
- {
- return phases;
- }
- else
- {
- return null;
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
deleted file mode 100644
index 6adf4f34..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.lifecycle.mapping;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Class Lifecycle.
- */
-public class Lifecycle
-{
- /**
- * Field id
- */
- private String id;
-
- /**
- * Field phases
- */
- private Map<String, String> phases;
-
- /*
- * NOTE: This exists merely for backward-compat with legacy-style lifecycle definitions and allows configuration
- * injection to work instead of failing.
- */
- @SuppressWarnings( "unused" )
- private List<String> optionalMojos;
-
- /**
- * Method getId
- */
- public String getId()
- {
- return this.id;
- }
-
- /**
- * Method getPhases
- */
- public Map<String, String> getPhases()
- {
- return this.phases;
- }
-
- /**
- * Method setId
- *
- * @param id
- */
- public void setId( String id )
- {
- this.id = id;
- }
-
- /**
- * Method setPhases
- *
- * @param phases
- */
- public void setPhases( Map<String, String> phases )
- {
- this.phases = phases;
- } //-- void setPhases(java.util.List)
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java
deleted file mode 100644
index e656cc9f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven.lifecycle.mapping;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-public interface LifecycleMapping
-{
-
- @Deprecated
- String ROLE = LifecycleMapping.class.getName();
-
- Map<String, Lifecycle> getLifecycles();
-
- @Deprecated
- List<String> getOptionalMojos( String lifecycle );
-
- @Deprecated
- Map<String, String> getPhases( String lifecycle );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
deleted file mode 100644
index 1702aa1e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
+++ /dev/null
@@ -1,171 +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.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
-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.building.ModelProblem.Severity;
-import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.merge.MavenModelMerger;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-
-/**
- * Handles injection of plugin executions induced by the lifecycle bindings for a packaging.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = LifecycleBindingsInjector.class )
-public class DefaultLifecycleBindingsInjector
- implements LifecycleBindingsInjector
-{
-
- private LifecycleBindingsMerger merger = new LifecycleBindingsMerger();
-
- @Requirement
- private LifeCyclePluginAnalyzer lifecycle;
-
- public void injectLifecycleBindings( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
- {
- String packaging = model.getPackaging();
-
- Collection<Plugin> defaultPlugins = lifecycle.getPluginsBoundByDefaultToAllLifecycles( packaging );
-
- if ( defaultPlugins == null )
- {
- problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Unknown packaging: " + packaging )
- .setLocation( model.getLocation( "packaging" ) ) );
- }
- else if ( !defaultPlugins.isEmpty() )
- {
- Model lifecycleModel = new Model();
- lifecycleModel.setBuild( new Build() );
- lifecycleModel.getBuild().getPlugins().addAll( defaultPlugins );
-
- merger.merge( model, lifecycleModel );
- }
- }
-
- protected static class LifecycleBindingsMerger
- extends MavenModelMerger
- {
-
- private static final String PLUGIN_MANAGEMENT = "plugin-management";
-
- public void merge( Model target, Model source )
- {
- if ( target.getBuild() == null )
- {
- target.setBuild( new Build() );
- }
-
- Map<Object, Object> context =
- Collections.<Object, Object>singletonMap( PLUGIN_MANAGEMENT, target.getBuild().getPluginManagement() );
-
- mergePluginContainer_Plugins( target.getBuild(), source.getBuild(), false, context );
- }
-
- @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> merged = new LinkedHashMap<Object, Plugin>( ( src.size() + tgt.size() ) * 2 );
-
- for ( Plugin element : tgt )
- {
- Object key = getPluginKey( element );
- merged.put( key, element );
- }
-
- Map<Object, Plugin> unmanaged = new LinkedHashMap<Object, Plugin>();
-
- for ( Plugin element : src )
- {
- Object key = getPluginKey( element );
- Plugin existing = merged.get( key );
- if ( existing != null )
- {
- mergePlugin( existing, element, sourceDominant, context );
- }
- else
- {
- merged.put( key, element );
- unmanaged.put( key, element );
- }
- }
-
- if ( !unmanaged.isEmpty() )
- {
- PluginManagement pluginMgmt = (PluginManagement) context.get( PLUGIN_MANAGEMENT );
- if ( pluginMgmt != null )
- {
- for ( Plugin managedPlugin : pluginMgmt.getPlugins() )
- {
- Object key = getPluginKey( managedPlugin );
- Plugin unmanagedPlugin = unmanaged.get( key );
- if ( unmanagedPlugin != null )
- {
- Plugin plugin = managedPlugin.clone();
- mergePlugin( plugin, unmanagedPlugin, sourceDominant, Collections.emptyMap() );
- merged.put( key, plugin );
- }
- }
- }
- }
-
- List<Plugin> result = new ArrayList<Plugin>( merged.values() );
-
- target.setPlugins( result );
- }
- }
-
- @Override
- protected void mergePluginExecution( PluginExecution target, PluginExecution source, boolean sourceDominant,
- Map<Object, Object> context )
- {
- super.mergePluginExecution( target, source, sourceDominant, context );
-
- target.setPriority( Math.min( target.getPriority(), source.getPriority() ) );
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventDispatcher.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventDispatcher.java
deleted file mode 100644
index 492a2980..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventDispatcher.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.maven.monitor.event;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author jdcasey
- */
-@Deprecated
-public interface EventDispatcher
-{
-
- void addEventMonitor( EventMonitor monitor );
-
- void dispatchStart( String event, String target );
-
- void dispatchEnd( String event, String target );
-
- void dispatchError( String event, String target, Throwable cause );
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventMonitor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventMonitor.java
deleted file mode 100644
index 3e726746..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/monitor/event/EventMonitor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.maven.monitor.event;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author jdcasey
- */
-@Deprecated
-public interface EventMonitor
-{
-
- void startEvent( String eventName, String target, long timestamp );
-
- void endEvent( String eventName, String target, long timestamp );
-
- void errorEvent( String eventName, String target, long timestamp, Throwable cause );
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/BuildPluginManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/BuildPluginManager.java
deleted file mode 100644
index 6c1b9cbf..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/BuildPluginManager.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * @author Jason van Zyl
- */
-public interface BuildPluginManager
-{
- // igorf: Way too many declared exceptions!
- PluginDescriptor loadPlugin( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- InvalidPluginDescriptorException;
-
- // igorf: Way too many declared exceptions!
- MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException;
-
- ClassRealm getPluginRealm( MavenSession session, PluginDescriptor pluginDescriptor )
- throws PluginResolutionException, PluginManagerException;
-
- void executeMojo( MavenSession session, MojoExecution execution )
- throws MojoFailureException, MojoExecutionException, PluginConfigurationException, PluginManagerException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CacheUtils.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CacheUtils.java
deleted file mode 100644
index a73e1efe..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CacheUtils.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Plugin;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.repository.WorkspaceRepository;
-
-/**
- * @author Benjamin Bentmann
- */
-class CacheUtils
-{
-
- public static <T> boolean eq( T s1, T s2 )
- {
- return s1 != null ? s1.equals( s2 ) : s2 == null;
- }
-
- public static int hash( Object obj )
- {
- return obj != null ? obj.hashCode() : 0;
- }
-
- public static int repositoriesHashCode( List<RemoteRepository> repositories )
- {
- int result = 17;
- for ( RemoteRepository repository : repositories )
- {
- result = 31 * result + repositoryHashCode( repository );
- }
- return result;
- }
-
- private static int repositoryHashCode( RemoteRepository repository )
- {
- int result = 17;
- result = 31 * result + hash( repository.getUrl() );
- return result;
- }
-
- private static boolean repositoryEquals( RemoteRepository r1, RemoteRepository r2 )
- {
- if ( r1 == r2 )
- {
- return true;
- }
-
- return eq( r1.getId(), r2.getId() ) && eq( r1.getUrl(), r2.getUrl() )
- && policyEquals( r1.getPolicy( false ), r2.getPolicy( false ) )
- && policyEquals( r1.getPolicy( true ), r2.getPolicy( true ) );
- }
-
- private static boolean policyEquals( RepositoryPolicy p1, RepositoryPolicy p2 )
- {
- if ( p1 == p2 )
- {
- return true;
- }
- // update policy doesn't affect contents
- return p1.isEnabled() == p2.isEnabled() && eq( p1.getChecksumPolicy(), p2.getChecksumPolicy() );
- }
-
- public static boolean repositoriesEquals( List<RemoteRepository> r1, List<RemoteRepository> r2 )
- {
- if ( r1.size() != r2.size() )
- {
- return false;
- }
-
- for ( Iterator<RemoteRepository> it1 = r1.iterator(), it2 = r2.iterator(); it1.hasNext(); )
- {
- if ( !repositoryEquals( it1.next(), it2.next() ) )
- {
- return false;
- }
- }
-
- return true;
- }
-
- public static int pluginHashCode( Plugin plugin )
- {
- int hash = 17;
-
- hash = hash * 31 + hash( plugin.getGroupId() );
- hash = hash * 31 + hash( plugin.getArtifactId() );
- hash = hash * 31 + hash( plugin.getVersion() );
-
- hash = hash * 31 + ( plugin.isExtensions() ? 1 : 0 );
-
- for ( Dependency dependency : plugin.getDependencies() )
- {
- hash = hash * 31 + hash( dependency.getGroupId() );
- hash = hash * 31 + hash( dependency.getArtifactId() );
- hash = hash * 31 + hash( dependency.getVersion() );
- hash = hash * 31 + hash( dependency.getType() );
- hash = hash * 31 + hash( dependency.getClassifier() );
- hash = hash * 31 + hash( dependency.getScope() );
-
- for ( Exclusion exclusion : dependency.getExclusions() )
- {
- hash = hash * 31 + hash( exclusion.getGroupId() );
- hash = hash * 31 + hash( exclusion.getArtifactId() );
- }
- }
-
- return hash;
- }
-
- public static boolean pluginEquals( Plugin a, Plugin b )
- {
- return eq( a.getArtifactId(), b.getArtifactId() ) //
- && eq( a.getGroupId(), b.getGroupId() ) //
- && eq( a.getVersion(), b.getVersion() ) //
- && a.isExtensions() == b.isExtensions() //
- && dependenciesEquals( a.getDependencies(), b.getDependencies() );
- }
-
- private static boolean dependenciesEquals( List<Dependency> a, List<Dependency> b )
- {
- if ( a.size() != b.size() )
- {
- return false;
- }
-
- Iterator<Dependency> aI = a.iterator();
- Iterator<Dependency> bI = b.iterator();
-
- while ( aI.hasNext() )
- {
- Dependency aD = aI.next();
- Dependency bD = bI.next();
-
- boolean r = eq( aD.getGroupId(), bD.getGroupId() ) //
- && eq( aD.getArtifactId(), bD.getArtifactId() ) //
- && eq( aD.getVersion(), bD.getVersion() ) //
- && eq( aD.getType(), bD.getType() ) //
- && eq( aD.getClassifier(), bD.getClassifier() ) //
- && eq( aD.getScope(), bD.getScope() );
-
- r &= exclusionsEquals( aD.getExclusions(), bD.getExclusions() );
-
- if ( !r )
- {
- return false;
- }
- }
-
- return true;
- }
-
- private static boolean exclusionsEquals( List<Exclusion> a, List<Exclusion> b )
- {
- if ( a.size() != b.size() )
- {
- return false;
- }
-
- Iterator<Exclusion> aI = a.iterator();
- Iterator<Exclusion> bI = b.iterator();
-
- while ( aI.hasNext() )
- {
- Exclusion aD = aI.next();
- Exclusion bD = bI.next();
-
- boolean r = eq( aD.getGroupId(), bD.getGroupId() ) //
- && eq( aD.getArtifactId(), bD.getArtifactId() );
-
- if ( !r )
- {
- return false;
- }
- }
-
- return true;
- }
-
- public static WorkspaceRepository getWorkspace( RepositorySystemSession session )
- {
- WorkspaceReader reader = session.getWorkspaceReader();
- return ( reader != null ) ? reader.getRepository() : null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CompoundMojoExecutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CompoundMojoExecutionListener.java
deleted file mode 100644
index 9fe52833..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CompoundMojoExecutionListener.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-
-import org.apache.maven.execution.MojoExecutionEvent;
-import org.apache.maven.execution.MojoExecutionListener;
-
-class CompoundMojoExecutionListener
- implements MojoExecutionListener
-{
-
- private final Collection<MojoExecutionListener> listeners;
-
- public CompoundMojoExecutionListener( Collection<MojoExecutionListener> listeners )
- {
- this.listeners = listeners; // NB this is live injected collection
- }
-
- public void beforeMojoExecution( MojoExecutionEvent event )
- throws MojoExecutionException
- {
- for ( MojoExecutionListener listener : listeners )
- {
- listener.beforeMojoExecution( event );
- }
- }
-
- public void afterMojoExecutionSuccess( MojoExecutionEvent event )
- throws MojoExecutionException
- {
- for ( MojoExecutionListener listener : listeners )
- {
- listener.afterMojoExecutionSuccess( event );
- }
- }
-
- public void afterExecutionFailure( MojoExecutionEvent event )
- {
- for ( MojoExecutionListener listener : listeners )
- {
- listener.afterExecutionFailure( event );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CycleDetectedInPluginGraphException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CycleDetectedInPluginGraphException.java
deleted file mode 100644
index f77461fe..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/CycleDetectedInPluginGraphException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Plugin;
-import org.codehaus.plexus.component.composition.CycleDetectedInComponentGraphException;
-
-/**
- * Exception occurring trying to resolve a plugin.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class CycleDetectedInPluginGraphException
- extends Exception
-{
- private final Plugin plugin;
-
- public CycleDetectedInPluginGraphException( Plugin plugin, CycleDetectedInComponentGraphException e )
- {
- super( "A cycle was detected in the component graph of the plugin: " + plugin.getArtifactId() );
-
- this.plugin = plugin;
- }
-
- public Plugin getPlugin()
- {
- return plugin;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java
deleted file mode 100644
index 57084ceb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DebugConfigurationListener.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.lang.reflect.Array;
-
-import org.codehaus.plexus.component.configurator.ConfigurationListener;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * Log at debug level the mojo configuration.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-@Deprecated
-public class DebugConfigurationListener
- implements ConfigurationListener
-{
- private Logger logger;
-
- public DebugConfigurationListener( Logger logger )
- {
- this.logger = logger;
- }
-
- public void notifyFieldChangeUsingSetter( String fieldName, Object value, Object target )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( " (s) " + fieldName + " = " + toString( value ) );
- }
- }
-
- public void notifyFieldChangeUsingReflection( String fieldName, Object value, Object target )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( " (f) " + fieldName + " = " + toString( value ) );
- }
- }
-
- /**
- * Creates a human-friendly string represenation of the specified object.
- *
- * @param obj The object to create a string representation for, may be <code>null</code>.
- * @return The string representation, never <code>null</code>.
- */
- private String toString( Object obj )
- {
- String str;
- if ( obj != null && obj.getClass().isArray() )
- {
- int n = Array.getLength( obj );
- StringBuilder buf = new StringBuilder( 256 );
- buf.append( '[' );
- for ( int i = 0; i < n; i++ )
- {
- if ( i > 0 )
- {
- buf.append( ", " );
- }
- buf.append( String.valueOf( Array.get( obj, i ) ) );
- }
- buf.append( ']' );
- str = buf.toString();
- }
- else
- {
- str = String.valueOf( obj );
- }
- return str;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
deleted file mode 100644
index 8145bd58..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.MojoExecutionEvent;
-import org.apache.maven.execution.MojoExecutionListener;
-import org.apache.maven.execution.scope.internal.MojoExecutionScope;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-// TODO: the antrun plugin has its own configurator, the only plugin that does. might need to think about how that works
-// TODO: remove the coreArtifactFilterManager
-
-@Component( role = BuildPluginManager.class )
-public class DefaultBuildPluginManager
- implements BuildPluginManager
-{
-
- @Requirement
- private MavenPluginManager mavenPluginManager;
-
- @Requirement
- private LegacySupport legacySupport;
-
- @Requirement
- private MojoExecutionScope scope;
-
- private MojoExecutionListener mojoExecutionListener;
-
- // this tricks plexus-component-metadata generate required metadata
- @Requirement( role = MojoExecutionListener.class )
- private List<MojoExecutionListener> mojoExecutionListeners;
-
- public void setMojoExecutionListeners( final List<MojoExecutionListener> listeners )
- {
- this.mojoExecutionListeners = listeners;
- this.mojoExecutionListener = new CompoundMojoExecutionListener( listeners );
- }
-
- /**
- * @param plugin
- * @param repositories
- * @param session
- * @return PluginDescriptor The component descriptor for the Maven plugin.
- * @throws PluginNotFoundException The plugin could not be found in any repositories.
- * @throws PluginResolutionException The plugin could be found but could not be resolved.
- * @throws InvalidPluginDescriptorException
- */
- public PluginDescriptor loadPlugin( Plugin plugin, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- InvalidPluginDescriptorException
- {
- return mavenPluginManager.getPluginDescriptor( plugin, repositories, session );
- }
-
- // ----------------------------------------------------------------------
- // Mojo execution
- // ----------------------------------------------------------------------
-
- public void executeMojo( MavenSession session, MojoExecution mojoExecution )
- throws MojoFailureException, MojoExecutionException, PluginConfigurationException, PluginManagerException
- {
- MavenProject project = session.getCurrentProject();
-
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- Mojo mojo = null;
-
- ClassRealm pluginRealm;
- try
- {
- pluginRealm = getPluginRealm( session, mojoDescriptor.getPluginDescriptor() );
- }
- catch ( PluginResolutionException e )
- {
- throw new PluginExecutionException( mojoExecution, project, e );
- }
-
- ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader( pluginRealm );
-
- MavenSession oldSession = legacySupport.getSession();
-
- scope.enter();
-
- try
- {
- scope.seed( MavenProject.class, project );
- scope.seed( MojoExecution.class, mojoExecution );
-
- mojo = mavenPluginManager.getConfiguredMojo( Mojo.class, session, mojoExecution );
-
- legacySupport.setSession( session );
-
- // NOTE: DuplicateArtifactAttachmentException is currently unchecked, so be careful removing this try/catch!
- // This is necessary to avoid creating compatibility problems for existing plugins that use
- // MavenProjectHelper.attachArtifact(..).
- try
- {
- MojoExecutionEvent mojoExecutionEvent = new MojoExecutionEvent( session, project, mojoExecution, mojo );
-
- mojoExecutionListener.beforeMojoExecution( mojoExecutionEvent );
-
- mojo.execute();
-
- mojoExecutionListener.afterMojoExecutionSuccess( mojoExecutionEvent );
- }
- catch ( ClassCastException e )
- {
- // to be processed in the outer catch block
- throw e;
- }
- catch ( RuntimeException e )
- {
- throw new PluginExecutionException( mojoExecution, project, e );
- }
- }
- catch ( PluginContainerException e )
- {
- mojoExecutionListener.afterExecutionFailure( new MojoExecutionEvent( session, project, mojoExecution, mojo,
- e ) );
-
- throw new PluginExecutionException( mojoExecution, project, e );
- }
- catch ( NoClassDefFoundError e )
- {
- mojoExecutionListener.afterExecutionFailure( new MojoExecutionEvent( session, project, mojoExecution, mojo,
- e ) );
-
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "A required class was missing while executing " + mojoDescriptor.getId() + ": "
- + e.getMessage() );
- pluginRealm.display( ps );
-
- Exception wrapper = new PluginContainerException( mojoDescriptor, pluginRealm, os.toString(), e );
-
- throw new PluginExecutionException( mojoExecution, project, wrapper );
- }
- catch ( LinkageError e )
- {
- mojoExecutionListener.afterExecutionFailure( new MojoExecutionEvent( session, project, mojoExecution, mojo,
- e ) );
-
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "An API incompatibility was encountered while executing " + mojoDescriptor.getId() + ": "
- + e.getClass().getName() + ": " + e.getMessage() );
- pluginRealm.display( ps );
-
- Exception wrapper = new PluginContainerException( mojoDescriptor, pluginRealm, os.toString(), e );
-
- throw new PluginExecutionException( mojoExecution, project, wrapper );
- }
- catch ( ClassCastException e )
- {
- mojoExecutionListener.afterExecutionFailure( new MojoExecutionEvent( session, project, mojoExecution, mojo,
- e ) );
-
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "A type incompatibility occured while executing " + mojoDescriptor.getId() + ": "
- + e.getMessage() );
- pluginRealm.display( ps );
-
- throw new PluginExecutionException( mojoExecution, project, os.toString(), e );
- }
- catch ( RuntimeException e )
- {
- mojoExecutionListener.afterExecutionFailure( new MojoExecutionEvent( session, project, mojoExecution, mojo,
- e ) );
-
- throw e;
- }
- finally
- {
- mavenPluginManager.releaseMojo( mojo, mojoExecution );
-
- scope.exit();
-
- Thread.currentThread().setContextClassLoader( oldClassLoader );
-
- legacySupport.setSession( oldSession );
- }
- }
-
- /**
- * TODO pluginDescriptor classRealm and artifacts are set as a side effect of this
- * call, which is not nice.
- * @throws PluginResolutionException
- */
- public ClassRealm getPluginRealm( MavenSession session, PluginDescriptor pluginDescriptor )
- throws PluginResolutionException, PluginManagerException
- {
- ClassRealm pluginRealm = pluginDescriptor.getClassRealm();
- if ( pluginRealm != null )
- {
- return pluginRealm;
- }
-
- mavenPluginManager.setupPluginRealm( pluginDescriptor, session, null, null, null );
-
- return pluginDescriptor.getClassRealm();
- }
-
- public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- MojoNotFoundException, InvalidPluginDescriptorException
- {
- return mavenPluginManager.getMojoDescriptor( plugin, goal, repositories, session );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java
deleted file mode 100644
index c9df92c6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.project.ExtensionDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable;
-
-/**
- * Default extension realm cache implementation. Assumes cached data does not change.
- */
-@Component( role = ExtensionRealmCache.class )
-public class DefaultExtensionRealmCache
- implements ExtensionRealmCache, Disposable
-{
-
- protected static class CacheKey
- implements Key
- {
-
- private final List<File> files;
-
- private final List<Long> timestamps;
-
- private final List<Long> sizes;
-
- private final List<String> ids;
-
- private final int hashCode;
-
- public CacheKey( List<Artifact> extensionArtifacts )
- {
- this.files = new ArrayList<File>( extensionArtifacts.size() );
- this.timestamps = new ArrayList<Long>( extensionArtifacts.size() );
- this.sizes = new ArrayList<Long>( extensionArtifacts.size() );
- this.ids = new ArrayList<String>( extensionArtifacts.size() );
-
- for ( Artifact artifact : extensionArtifacts )
- {
- File file = artifact.getFile();
- files.add( file );
- timestamps.add( ( file != null ) ? Long.valueOf( file.lastModified() ) : Long.valueOf( 0 ) );
- sizes.add( ( file != null ) ? Long.valueOf( file.length() ) : Long.valueOf( 0 ) );
- ids.add( artifact.getVersion() );
- }
-
- this.hashCode =
- 31 * files.hashCode() + 31 * ids.hashCode() + 31 * timestamps.hashCode() + 31 * sizes.hashCode();
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- @Override
- public boolean equals( Object o )
- {
- if ( o == this )
- {
- return true;
- }
-
- if ( !( o instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey other = (CacheKey) o;
-
- return ids.equals( other.ids ) && files.equals( other.files ) && timestamps.equals( other.timestamps )
- && sizes.equals( other.sizes );
- }
-
- @Override
- public String toString()
- {
- return files.toString();
- }
- }
-
- protected final Map<Key, CacheRecord> cache = new ConcurrentHashMap<Key, CacheRecord>();
-
- @Override
- public Key createKey( List<Artifact> extensionArtifacts )
- {
- return new CacheKey( extensionArtifacts );
- }
-
- public CacheRecord get( Key key )
- {
- return cache.get( key );
- }
-
- public CacheRecord put( Key key, ClassRealm extensionRealm, ExtensionDescriptor extensionDescriptor,
- List<Artifact> artifacts )
- {
- if ( extensionRealm == null )
- {
- throw new NullPointerException();
- }
-
- if ( cache.containsKey( key ) )
- {
- throw new IllegalStateException( "Duplicate extension realm for extension " + key );
- }
-
- CacheRecord record = new CacheRecord( extensionRealm, extensionDescriptor, artifacts );
-
- cache.put( key, record );
-
- return record;
- }
-
- public void flush()
- {
- for ( CacheRecord record : cache.values() )
- {
- ClassRealm realm = record.realm;
- try
- {
- realm.getWorld().disposeRealm( realm.getId() );
- }
- catch ( NoSuchRealmException e )
- {
- // ignore
- }
- }
- cache.clear();
- }
-
- public void register( MavenProject project, Key key, CacheRecord record )
- {
- // default cache does not track extension usage
- }
-
- public void dispose()
- {
- flush();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java
deleted file mode 100644
index 23bda64d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java
+++ /dev/null
@@ -1,218 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.WorkspaceRepository;
-
-/**
- * @author Igor Fedorenko
- * @author Benjamin Bentmann
- */
-@Component( role = PluginArtifactsCache.class )
-public class DefaultPluginArtifactsCache
- implements PluginArtifactsCache
-{
-
- protected static class CacheKey
- implements Key
- {
-
- private final Plugin plugin;
-
- private final WorkspaceRepository workspace;
-
- private final LocalRepository localRepo;
-
- private final List<RemoteRepository> repositories;
-
- private final DependencyFilter filter;
-
- private final int hashCode;
-
- public CacheKey( Plugin plugin, DependencyFilter extensionFilter, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- {
- this.plugin = plugin.clone();
- workspace = CacheUtils.getWorkspace( session );
- this.localRepo = session.getLocalRepository();
- this.repositories = new ArrayList<RemoteRepository>( repositories.size() );
- for ( RemoteRepository repository : repositories )
- {
- if ( repository.isRepositoryManager() )
- {
- this.repositories.addAll( repository.getMirroredRepositories() );
- }
- else
- {
- this.repositories.add( repository );
- }
- }
- this.filter = extensionFilter;
-
- int hash = 17;
- hash = hash * 31 + CacheUtils.pluginHashCode( plugin );
- hash = hash * 31 + hash( workspace );
- hash = hash * 31 + hash( localRepo );
- hash = hash * 31 + CacheUtils.repositoriesHashCode( repositories );
- hash = hash * 31 + hash( extensionFilter );
- this.hashCode = hash;
- }
-
- @Override
- public String toString()
- {
- return plugin.getId();
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- private static int hash( Object obj )
- {
- return obj != null ? obj.hashCode() : 0;
- }
-
- @Override
- public boolean equals( Object o )
- {
- if ( o == this )
- {
- return true;
- }
-
- if ( !( o instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey that = (CacheKey) o;
-
- return CacheUtils.pluginEquals( plugin, that.plugin ) && eq( workspace, that.workspace )
- && eq( localRepo, that.localRepo ) && CacheUtils.repositoriesEquals( repositories, that.repositories )
- && eq( filter, that.filter );
- }
-
- private static <T> boolean eq( T s1, T s2 )
- {
- return s1 != null ? s1.equals( s2 ) : s2 == null;
- }
-
- }
-
- protected final Map<Key, CacheRecord> cache = new ConcurrentHashMap<Key, CacheRecord>();
-
- public Key createKey( Plugin plugin, DependencyFilter extensionFilter, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- {
- return new CacheKey( plugin, extensionFilter, repositories, session );
- }
-
- public CacheRecord get( Key key )
- throws PluginResolutionException
- {
- CacheRecord cacheRecord = cache.get( key );
-
- if ( cacheRecord != null && cacheRecord.exception != null )
- {
- throw cacheRecord.exception;
- }
-
- return cacheRecord;
- }
-
- public CacheRecord put( Key key, List<Artifact> pluginArtifacts )
- {
- if ( pluginArtifacts == null )
- {
- throw new NullPointerException();
- }
-
- assertUniqueKey( key );
-
- CacheRecord record =
- new CacheRecord( Collections.unmodifiableList( new ArrayList<Artifact>( pluginArtifacts ) ) );
-
- cache.put( key, record );
-
- return record;
- }
-
- protected void assertUniqueKey( Key key )
- {
- if ( cache.containsKey( key ) )
- {
- throw new IllegalStateException( "Duplicate artifact resolution result for plugin " + key );
- }
- }
-
- public CacheRecord put( Key key, PluginResolutionException exception )
- {
- if ( exception == null )
- {
- throw new NullPointerException();
- }
-
- assertUniqueKey( key );
-
- CacheRecord record = new CacheRecord( exception );
-
- cache.put( key, record );
-
- return record;
- }
-
- public void flush()
- {
- cache.clear();
- }
-
- protected static int pluginHashCode( Plugin plugin )
- {
- return CacheUtils.pluginHashCode( plugin );
- }
-
- protected static boolean pluginEquals( Plugin a, Plugin b )
- {
- return CacheUtils.pluginEquals( a, b );
- }
-
- public void register( MavenProject project, Key cacheKey, CacheRecord record )
- {
- // default cache does not track record usage
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java
deleted file mode 100644
index 4927726b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.repository.ComponentDescriptor;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.WorkspaceRepository;
-
-/**
- * Caches raw plugin descriptors. A raw plugin descriptor is a descriptor that has just been extracted from the plugin
- * artifact and does not contain any runtime specific data. The cache must not be used for descriptors that hold runtime
- * data like the plugin realm. <strong>Warning:</strong> This is an internal utility interface that is only public for
- * technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without
- * prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-@Component( role = PluginDescriptorCache.class )
-public class DefaultPluginDescriptorCache
- implements PluginDescriptorCache
-{
-
- private Map<Key, PluginDescriptor> descriptors = new HashMap<Key, PluginDescriptor>( 128 );
-
- public void flush()
- {
- descriptors.clear();
- }
-
- public Key createKey( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
- {
- return new CacheKey( plugin, repositories, session );
- }
-
- public PluginDescriptor get( Key cacheKey )
- {
- return clone( descriptors.get( cacheKey ) );
- }
-
- public void put( Key cacheKey, PluginDescriptor pluginDescriptor )
- {
- descriptors.put( cacheKey, clone( pluginDescriptor ) );
- }
-
- protected static PluginDescriptor clone( PluginDescriptor original )
- {
- PluginDescriptor clone = null;
-
- if ( original != null )
- {
- clone = new PluginDescriptor();
-
- clone.setGroupId( original.getGroupId() );
- clone.setArtifactId( original.getArtifactId() );
- clone.setVersion( original.getVersion() );
- clone.setGoalPrefix( original.getGoalPrefix() );
- clone.setInheritedByDefault( original.isInheritedByDefault() );
-
- clone.setName( original.getName() );
- clone.setDescription( original.getDescription() );
- clone.setRequiredMavenVersion( original.getRequiredMavenVersion() );
-
- clone.setPluginArtifact( ArtifactUtils.copyArtifactSafe( original.getPluginArtifact() ) );
-
- clone.setComponents( clone( original.getMojos(), clone ) );
- clone.setId( original.getId() );
- clone.setIsolatedRealm( original.isIsolatedRealm() );
- clone.setSource( original.getSource() );
-
- clone.setDependencies( original.getDependencies() );
- }
-
- return clone;
- }
-
- private static List<ComponentDescriptor<?>> clone( List<MojoDescriptor> mojos, PluginDescriptor pluginDescriptor )
- {
- List<ComponentDescriptor<?>> clones = null;
-
- if ( mojos != null )
- {
- clones = new ArrayList<ComponentDescriptor<?>>( mojos.size() );
-
- for ( MojoDescriptor mojo : mojos )
- {
- MojoDescriptor clone = mojo.clone();
- clone.setPluginDescriptor( pluginDescriptor );
- clones.add( clone );
- }
- }
-
- return clones;
- }
-
- private static final class CacheKey
- implements Key
- {
-
- private final String groupId;
-
- private final String artifactId;
-
- private final String version;
-
- private final WorkspaceRepository workspace;
-
- private final LocalRepository localRepo;
-
- private final List<RemoteRepository> repositories;
-
- private final int hashCode;
-
- public CacheKey( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
- {
- groupId = plugin.getGroupId();
- artifactId = plugin.getArtifactId();
- version = plugin.getVersion();
-
- workspace = CacheUtils.getWorkspace( session );
- localRepo = session.getLocalRepository();
- this.repositories = new ArrayList<RemoteRepository>( repositories.size() );
- for ( RemoteRepository repository : repositories )
- {
- if ( repository.isRepositoryManager() )
- {
- this.repositories.addAll( repository.getMirroredRepositories() );
- }
- else
- {
- this.repositories.add( repository );
- }
- }
-
- int hash = 17;
- hash = hash * 31 + groupId.hashCode();
- hash = hash * 31 + artifactId.hashCode();
- hash = hash * 31 + version.hashCode();
- hash = hash * 31 + hash( workspace );
- hash = hash * 31 + localRepo.hashCode();
- hash = hash * 31 + CacheUtils.repositoriesHashCode( repositories );
- this.hashCode = hash;
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey that = (CacheKey) obj;
-
- return eq( this.artifactId, that.artifactId ) && eq( this.groupId, that.groupId )
- && eq( this.version, that.version ) && eq( this.localRepo, that.localRepo )
- && eq( this.workspace, that.workspace )
- && CacheUtils.repositoriesEquals( this.repositories, that.repositories );
- }
-
- @Override
- public String toString()
- {
- return groupId + ':' + artifactId + ':' + version;
- }
-
- private static int hash( Object obj )
- {
- return obj != null ? obj.hashCode() : 0;
- }
-
- private static <T> boolean eq( T s1, T s2 )
- {
- return s1 != null ? s1.equals( s2 ) : s2 == null;
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
deleted file mode 100644
index 6c8288ee..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.WorkspaceRepository;
-
-/**
- * Default PluginCache implementation. Assumes cached data does not change.
- */
-@Component( role = PluginRealmCache.class )
-public class DefaultPluginRealmCache
- implements PluginRealmCache, Disposable
-{
-
- protected static class CacheKey
- implements Key
- {
-
- private final Plugin plugin;
-
- private final WorkspaceRepository workspace;
-
- private final LocalRepository localRepo;
-
- private final List<RemoteRepository> repositories;
-
- private final ClassLoader parentRealm;
-
- private final Map<String, ClassLoader> foreignImports;
-
- private final DependencyFilter filter;
-
- private final int hashCode;
-
- public CacheKey( Plugin plugin, ClassLoader parentRealm, Map<String, ClassLoader> foreignImports,
- DependencyFilter dependencyFilter, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- {
- this.plugin = plugin.clone();
- this.workspace = CacheUtils.getWorkspace( session );
- this.localRepo = session.getLocalRepository();
- this.repositories = new ArrayList<RemoteRepository>( repositories.size() );
- for ( RemoteRepository repository : repositories )
- {
- if ( repository.isRepositoryManager() )
- {
- this.repositories.addAll( repository.getMirroredRepositories() );
- }
- else
- {
- this.repositories.add( repository );
- }
- }
- this.parentRealm = parentRealm;
- this.foreignImports =
- ( foreignImports != null ) ? foreignImports : Collections.<String, ClassLoader>emptyMap();
- this.filter = dependencyFilter;
-
- int hash = 17;
- hash = hash * 31 + CacheUtils.pluginHashCode( plugin );
- hash = hash * 31 + hash( workspace );
- hash = hash * 31 + hash( localRepo );
- hash = hash * 31 + CacheUtils.repositoriesHashCode( repositories );
- hash = hash * 31 + hash( parentRealm );
- hash = hash * 31 + this.foreignImports.hashCode();
- hash = hash * 31 + hash( dependencyFilter );
- this.hashCode = hash;
- }
-
- @Override
- public String toString()
- {
- return plugin.getId();
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- private static int hash( Object obj )
- {
- return obj != null ? obj.hashCode() : 0;
- }
-
- @Override
- public boolean equals( Object o )
- {
- if ( o == this )
- {
- return true;
- }
-
- if ( !( o instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey that = (CacheKey) o;
-
- return parentRealm == that.parentRealm && CacheUtils.pluginEquals( plugin, that.plugin )
- && eq( workspace, that.workspace ) && eq( localRepo, that.localRepo )
- && CacheUtils.repositoriesEquals( this.repositories, that.repositories ) && eq( filter, that.filter )
- && eq( foreignImports, that.foreignImports );
- }
-
- private static <T> boolean eq( T s1, T s2 )
- {
- return s1 != null ? s1.equals( s2 ) : s2 == null;
- }
-
- }
-
- protected final Map<Key, CacheRecord> cache = new ConcurrentHashMap<Key, CacheRecord>();
-
- public Key createKey( Plugin plugin, ClassLoader parentRealm, Map<String, ClassLoader> foreignImports,
- DependencyFilter dependencyFilter, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- {
- return new CacheKey( plugin, parentRealm, foreignImports, dependencyFilter, repositories, session );
- }
-
- public CacheRecord get( Key key )
- {
- return cache.get( key );
- }
-
- public CacheRecord put( Key key, ClassRealm pluginRealm, List<Artifact> pluginArtifacts )
- {
- if ( pluginRealm == null || pluginArtifacts == null )
- {
- throw new IllegalArgumentException();
- }
-
- if ( cache.containsKey( key ) )
- {
- throw new IllegalStateException( "Duplicate plugin realm for plugin " + key );
- }
-
- CacheRecord record = new CacheRecord( pluginRealm, pluginArtifacts );
-
- cache.put( key, record );
-
- return record;
- }
-
- public void flush()
- {
- for ( CacheRecord record : cache.values() )
- {
- ClassRealm realm = record.realm;
- try
- {
- realm.getWorld().disposeRealm( realm.getId() );
- }
- catch ( NoSuchRealmException e )
- {
- // ignore
- }
- }
- cache.clear();
- }
-
- protected static int pluginHashCode( Plugin plugin )
- {
- return CacheUtils.pluginHashCode( plugin );
- }
-
- protected static boolean pluginEquals( Plugin a, Plugin b )
- {
- return CacheUtils.pluginEquals( a, b );
- }
-
- public void register( MavenProject project, Key key, CacheRecord record )
- {
- // default cache does not track plugin usage
- }
-
- public void dispose()
- {
- flush();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java
deleted file mode 100644
index d50df0e9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/ExtensionRealmCache.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.project.ExtensionDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-
-/**
- * Caches extension class realms. <strong>Warning:</strong> This is an internal utility interface that is only public
- * for technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted
- * without prior notice.
- *
- * @author Igor Fedorenko
- * @author Benjamin Bentmann
- */
-public interface ExtensionRealmCache
-{
- /**
- * A cache key.
- */
- interface Key
- {
- // marker interface for cache keys
- }
-
- static class CacheRecord
- {
-
- public final ClassRealm realm;
-
- public final ExtensionDescriptor desciptor;
-
- public final List<Artifact> artifacts;
-
- public CacheRecord( ClassRealm realm, ExtensionDescriptor descriptor, List<Artifact> artifacts )
- {
- this.realm = realm;
- this.desciptor = descriptor;
- this.artifacts = artifacts;
- }
-
- }
-
- Key createKey( List<Artifact> extensionArtifacts );
-
- CacheRecord get( Key key );
-
- CacheRecord put( Key key, ClassRealm extensionRealm, ExtensionDescriptor extensionDescriptor,
- List<Artifact> artifacts );
-
- void flush();
-
- /**
- * Registers the specified cache record for usage with the given project. Integrators can use the information
- * collected from this method in combination with a custom cache implementation to dispose unused records from the
- * cache.
- *
- * @param project The project that employs the plugin realm, must not be {@code null}.
- * @param record The cache record being used for the project, must not be {@code null}.
- */
- void register( MavenProject project, Key key, CacheRecord record );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginDescriptorException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginDescriptorException.java
deleted file mode 100644
index 223ccd81..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginDescriptorException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-public class InvalidPluginDescriptorException
- extends Exception
-{
-
- public InvalidPluginDescriptorException( String message, List<String> errors )
- {
- super( toMessage( message, errors ) );
- }
-
- private static String toMessage( String message, List<String> errors )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( message );
- for ( String error : errors )
- {
- buffer.append( ", " ).append( error );
- }
- return buffer.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginException.java
deleted file mode 100644
index b89fc869..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/InvalidPluginException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-
-/**
- * Thrown when a plugin is not internally consistent.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class InvalidPluginException
- extends Exception
-{
- public InvalidPluginException( String message, ProjectBuildingException e )
- {
- super( message, e );
- }
-
- public InvalidPluginException( String message, InvalidDependencyVersionException e )
- {
- super( message, e );
- }
-
- public InvalidPluginException( String message )
- {
- super( message );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/LegacySupport.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/LegacySupport.java
deleted file mode 100644
index b246ed18..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/LegacySupport.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * Helps to provide backward-compatibility with plugins that use legacy components. <strong>Warning:</strong> This is an
- * internal utility interface that is only public for technical reasons, it is not part of the public API. In
- * particular, this interface can be changed or deleted without prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface LegacySupport
-{
-
- /**
- * Sets the currently active session. Some legacy components are basically stateful and their API is missing
- * parameters that would be required to delegate to a stateless component. Saving the session (in a thread-local
- * variable) is our best effort to record any state that is required to enable proper delegation.
- *
- * @param session The currently active session, may be {@code null}.
- */
- void setSession( MavenSession session );
-
- /**
- * Gets the currently active session.
- *
- * @return The currently active session or {@code null} if none.
- */
- MavenSession getSession();
-
- /**
- * Gets the currently active repository session.
- *
- * @return The currently active repository session or {@code null} if none.
- */
- RepositorySystemSession getRepositorySession();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginManager.java
deleted file mode 100644
index b228a1b4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginManager.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Provides basic services to manage Maven plugins and their mojos. This component is kept general in its design such
- * that the plugins/mojos can be used in arbitrary contexts. In particular, the mojos can be used for ordinary build
- * plugins as well as special purpose plugins like reports.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface MavenPluginManager
-{
-
- /**
- * Retrieves the descriptor for the specified plugin from its main artifact.
- *
- * @param plugin The plugin whose descriptor should be retrieved, must not be {@code null}.
- * @param repositories The plugin repositories to use for resolving the plugin's main artifact, must not be {@code
- * null}.
- * @param session The repository session to use for resolving the plugin's main artifact, must not be {@code null}.
- * @return The plugin descriptor, never {@code null}.
- */
- PluginDescriptor getPluginDescriptor( Plugin plugin, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException;
-
- /**
- * Retrieves the descriptor for the specified plugin goal from the plugin's main artifact.
- *
- * @param plugin The plugin whose mojo descriptor should be retrieved, must not be {@code null}.
- * @param goal The simple name of the mojo whose descriptor should be retrieved, must not be {@code null}.
- * @param repositories The plugin repositories to use for resolving the plugin's main artifact, must not be {@code
- * null}.
- * @param session The repository session to use for resolving the plugin's main artifact, must not be {@code null}.
- * @return The mojo descriptor, never {@code null}.
- */
- MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws MojoNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- InvalidPluginDescriptorException;
-
- /**
- * Verifies the specified plugin is compatible with the current Maven runtime.
- *
- * @param pluginDescriptor The descriptor of the plugin to check, must not be {@code null}.
- */
- void checkRequiredMavenVersion( PluginDescriptor pluginDescriptor )
- throws PluginIncompatibleException;
-
- /**
- * Sets up the class realm for the specified plugin. Both the class realm and the plugin artifacts that constitute
- * it will be stored in the plugin descriptor.
- *
- * @param pluginDescriptor The plugin descriptor in which to save the class realm and the plugin artifacts, must not
- * be {@code null}.
- * @param session The build session from which to pick the current project and repository settings, must not be
- * {@code null}.
- * @param parent The parent class realm for the plugin, may be {@code null} to use the Maven core realm.
- * @param imports The packages/types to import from the parent realm, may be {@code null}.
- * @param filter The filter used to exclude certain plugin dependencies, may be {@code null}.
- */
- void setupPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent,
- List<String> imports, DependencyFilter filter )
- throws PluginResolutionException, PluginContainerException;
-
- /**
- * Sets up class realm for the specified build extensions plugin.
- *
- * @since 3.3.0
- */
- ExtensionRealmCache.CacheRecord setupExtensionsRealm( MavenProject project, Plugin plugin,
- RepositorySystemSession session )
- throws PluginManagerException;
-
- /**
- * Looks up the mojo for the specified mojo execution and populates its parameters from the configuration given by
- * the mojo execution. The mojo/plugin descriptor associated with the mojo execution provides the class realm to
- * lookup the mojo from. <strong>Warning:</strong> The returned mojo instance must be released via
- * {@link #releaseMojo(Object, MojoExecution)} when the mojo is no longer needed to free any resources allocated for
- * it.
- *
- * @param mojoInterface The component role of the mojo, must not be {@code null}.
- * @param session The build session in whose context the mojo will be used, must not be {@code null}.
- * @param mojoExecution The mojo execution to retrieve the mojo for, must not be {@code null}.
- * @return The ready-to-execute mojo, never {@code null}.
- */
- <T> T getConfiguredMojo( Class<T> mojoInterface, MavenSession session, MojoExecution mojoExecution )
- throws PluginConfigurationException, PluginContainerException;
-
- /**
- * Releases the specified mojo back to the container.
- *
- * @param mojo The mojo to release, may be {@code null}.
- * @param mojoExecution The mojo execution the mojo was originally retrieved for, must not be {@code null}.
- */
- void releaseMojo( Object mojo, MojoExecution mojoExecution );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
deleted file mode 100644
index 2eb2738b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-
-public class MavenPluginValidator
-{
- private final Artifact pluginArtifact;
-
- private List<String> errors = new ArrayList<String>();
-
- private boolean firstDescriptor = true;
-
- public MavenPluginValidator( Artifact pluginArtifact )
- {
- this.pluginArtifact = pluginArtifact;
- }
-
- public void validate( PluginDescriptor pluginDescriptor )
- {
- /*
- * NOTE: For plugins that depend on other plugin artifacts the plugin realm contains more than one plugin
- * descriptor. However, only the first descriptor is of interest.
- */
- if ( !firstDescriptor )
- {
- return;
- }
- firstDescriptor = false;
-
- if ( !pluginArtifact.getGroupId().equals( pluginDescriptor.getGroupId() ) )
- {
- errors.add( "Plugin's descriptor contains the wrong group ID: " + pluginDescriptor.getGroupId() );
- }
-
- if ( !pluginArtifact.getArtifactId().equals( pluginDescriptor.getArtifactId() ) )
- {
- errors.add( "Plugin's descriptor contains the wrong artifact ID: " + pluginDescriptor.getArtifactId() );
- }
-
- if ( !pluginArtifact.getBaseVersion().equals( pluginDescriptor.getVersion() ) )
- {
- errors.add( "Plugin's descriptor contains the wrong version: " + pluginDescriptor.getVersion() );
- }
- }
-
- public boolean hasErrors()
- {
- return !errors.isEmpty();
- }
-
- public List<String> getErrors()
- {
- return errors;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
deleted file mode 100644
index a417219e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java
+++ /dev/null
@@ -1,237 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-public class MojoExecution
-{
-
- private Plugin plugin;
-
- private String goal;
-
- private String executionId;
-
- private MojoDescriptor mojoDescriptor;
-
- private Xpp3Dom configuration;
-
- /**
- * Describes the source of an execution.
- */
- public enum Source
- {
-
- /**
- * An execution that originates from the direct invocation of a goal from the CLI.
- */
- CLI,
-
- /**
- * An execution that originates from a goal bound to a lifecycle phase.
- */
- LIFECYCLE,
- }
-
- private Source source = Source.LIFECYCLE;
-
- /**
- * The phase may or may not have been bound to a phase but once the plan has been calculated we know what phase
- * this mojo execution is going to run in.
- */
- private String lifecyclePhase;
-
- /**
- * The executions to fork before this execution, indexed by the groupId:artifactId:version of the project on which
- * the forked execution are to be run and in reactor build order.
- */
- private Map<String, List<MojoExecution>> forkedExecutions = new LinkedHashMap<String, List<MojoExecution>>();
-
- public MojoExecution( Plugin plugin, String goal, String executionId )
- {
- this.plugin = plugin;
- this.goal = goal;
- this.executionId = executionId;
- }
-
- public MojoExecution( MojoDescriptor mojoDescriptor )
- {
- this.mojoDescriptor = mojoDescriptor;
- this.executionId = null;
- this.configuration = null;
- }
-
- public MojoExecution( MojoDescriptor mojoDescriptor, String executionId, Source source )
- {
- this.mojoDescriptor = mojoDescriptor;
- this.executionId = executionId;
- this.configuration = null;
- this.source = source;
- }
-
- public MojoExecution( MojoDescriptor mojoDescriptor, String executionId )
- {
- this.mojoDescriptor = mojoDescriptor;
- this.executionId = executionId;
- this.configuration = null;
- }
-
- public MojoExecution( MojoDescriptor mojoDescriptor, Xpp3Dom configuration )
- {
- this.mojoDescriptor = mojoDescriptor;
- this.configuration = configuration;
- this.executionId = null;
- }
-
- /**
- * Gets the source of this execution.
- *
- * @return The source of this execution or {@code null} if unknown.
- */
- public Source getSource()
- {
- return source;
- }
-
- public String getExecutionId()
- {
- return executionId;
- }
-
- public Plugin getPlugin()
- {
- if ( mojoDescriptor != null )
- {
- return mojoDescriptor.getPluginDescriptor().getPlugin();
- }
-
- return plugin;
- }
-
- public MojoDescriptor getMojoDescriptor()
- {
- return mojoDescriptor;
- }
-
- public Xpp3Dom getConfiguration()
- {
- return configuration;
- }
-
- public void setConfiguration( Xpp3Dom configuration )
- {
- this.configuration = configuration;
- }
-
- public String identify()
- {
- StringBuilder sb = new StringBuilder( 256 );
-
- sb.append( executionId );
- sb.append( configuration.toString() );
-
- return sb.toString();
- }
-
- public String getLifecyclePhase()
- {
- return lifecyclePhase;
- }
-
- public void setLifecyclePhase( String lifecyclePhase )
- {
- this.lifecyclePhase = lifecyclePhase;
- }
-
- @Override
- public String toString()
- {
- StringBuilder buffer = new StringBuilder( 128 );
- if ( mojoDescriptor != null )
- {
- buffer.append( mojoDescriptor.getId() );
- }
- buffer.append( " {execution: " ).append( executionId ).append( "}" );
- return buffer.toString();
- }
-
- public String getGroupId()
- {
- if ( mojoDescriptor != null )
- {
- return mojoDescriptor.getPluginDescriptor().getGroupId();
- }
-
- return plugin.getGroupId();
- }
-
- public String getArtifactId()
- {
- if ( mojoDescriptor != null )
- {
- return mojoDescriptor.getPluginDescriptor().getArtifactId();
- }
-
- return plugin.getArtifactId();
- }
-
- public String getVersion()
- {
- if ( mojoDescriptor != null )
- {
- return mojoDescriptor.getPluginDescriptor().getVersion();
- }
-
- return plugin.getVersion();
- }
-
- public String getGoal()
- {
- if ( mojoDescriptor != null )
- {
- return mojoDescriptor.getGoal();
- }
-
- return goal;
- }
-
- public void setMojoDescriptor( MojoDescriptor mojoDescriptor )
- {
- this.mojoDescriptor = mojoDescriptor;
- }
-
- public Map<String, List<MojoExecution>> getForkedExecutions()
- {
- return forkedExecutions;
- }
-
- public void setForkedExecutions( String projectKey, List<MojoExecution> forkedExecutions )
- {
- this.forkedExecutions.put( projectKey, forkedExecutions );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginArtifactsCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginArtifactsCache.java
deleted file mode 100644
index 17537a29..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginArtifactsCache.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.project.MavenProject;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Caches plugin artifacts. <strong>Warning:</strong> This is an internal utility interface that is only public for
- * technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without
- * prior notice.
- *
- * @author Igor Fedorenko
- * @author Benjamin Bentmann
- */
-public interface PluginArtifactsCache
-{
-
- /**
- * A cache key.
- */
- interface Key
- {
- // marker interface for cache keys
- }
-
- static class CacheRecord
- {
-
- public final List<Artifact> artifacts;
-
- public final PluginResolutionException exception;
-
- public CacheRecord( List<Artifact> artifacts )
- {
- this.artifacts = artifacts;
- this.exception = null;
- }
-
- public CacheRecord( PluginResolutionException exception )
- {
- this.artifacts = null;
- this.exception = exception;
- }
- }
-
- Key createKey( Plugin plugin, DependencyFilter extensionFilter, List<RemoteRepository> repositories,
- RepositorySystemSession session );
-
- CacheRecord get( Key key ) throws PluginResolutionException;
-
- CacheRecord put( Key key, List<Artifact> pluginArtifacts );
-
- CacheRecord put( Key key, PluginResolutionException e );
-
- void flush();
-
- /**
- * Registers the specified cache record for usage with the given project. Integrators can use the information
- * collected from this method in combination with a custom cache implementation to dispose unused records from the
- * cache.
- *
- * @param project The project that employs the plugin realm, must not be {@code null}.
- * @param record The cache record being used for the project, must not be {@code null}.
- */
- void register( MavenProject project, Key cacheKey, CacheRecord record );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginConfigurationException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginConfigurationException.java
deleted file mode 100644
index f4dcffcd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginConfigurationException.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-/**
- * @author Jason van Zyl
- */
-public class PluginConfigurationException
- extends Exception
-{
- private PluginDescriptor pluginDescriptor;
-
- private String originalMessage;
-
- public PluginConfigurationException( PluginDescriptor pluginDescriptor, String originalMessage )
- {
- super( originalMessage );
- this.pluginDescriptor = pluginDescriptor;
- this.originalMessage = originalMessage;
- }
-
- public PluginConfigurationException( PluginDescriptor pluginDescriptor, String originalMessage, Throwable cause )
- {
- super( originalMessage, cause );
- this.pluginDescriptor = pluginDescriptor;
- this.originalMessage = originalMessage;
- }
-
- public PluginConfigurationException( PluginDescriptor pluginDescriptor, String originalMessage,
- ExpressionEvaluationException cause )
- {
- super( originalMessage, cause );
- this.pluginDescriptor = pluginDescriptor;
- this.originalMessage = originalMessage;
- }
-
- public PluginConfigurationException( PluginDescriptor pluginDescriptor, String originalMessage,
- ComponentConfigurationException cause )
- {
- super( originalMessage, cause );
- this.pluginDescriptor = pluginDescriptor;
- this.originalMessage = originalMessage;
- }
-
- public PluginConfigurationException( PluginDescriptor pluginDescriptor, String originalMessage,
- ComponentLookupException cause )
- {
- super( originalMessage, cause );
- this.pluginDescriptor = pluginDescriptor;
- this.originalMessage = originalMessage;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java
deleted file mode 100644
index d35ac6c3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
-import org.codehaus.plexus.configuration.PlexusConfigurationException;
-
-/**
- * Exception which occurs to indicate that the plugin cannot be initialized due
- * to some deeper problem with Plexus. Context information includes the groupId,
- * artifactId, and version for the plugin; at times, the goal name for which
- * execution failed; a message detailing the problem; the ClassRealm used to
- * lookup the plugin; and the Plexus exception that caused this error.
- *
- * @author jdcasey
- *
- */
-public class PluginContainerException
- extends PluginManagerException
-{
-
- private ClassRealm pluginRealm;
-
- public PluginContainerException( MojoDescriptor mojoDescriptor, ClassRealm pluginRealm, String message,
- Throwable e )
- {
- super( mojoDescriptor, message, e );
-
- this.pluginRealm = pluginRealm;
- }
-
- public PluginContainerException( MojoDescriptor mojoDescriptor, ClassRealm pluginRealm, String message,
- ComponentLookupException e )
- {
- super( mojoDescriptor, message, e );
-
- this.pluginRealm = pluginRealm;
- }
-
- public PluginContainerException( Plugin plugin, ClassRealm pluginRealm, String message, Throwable e )
- {
- super( plugin, message, e );
-
- this.pluginRealm = pluginRealm;
- }
-
- public PluginContainerException( Plugin plugin, ClassRealm pluginRealm, String message,
- PlexusConfigurationException e )
- {
- super( plugin, message, e );
-
- this.pluginRealm = pluginRealm;
- }
-
- public PluginContainerException( Plugin plugin, ClassRealm pluginRealm, String message,
- ComponentRepositoryException e )
- {
- super( plugin, message, e );
-
- this.pluginRealm = pluginRealm;
- }
-
- public ClassRealm getPluginRealm()
- {
- return pluginRealm;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorCache.java
deleted file mode 100644
index 08b4f1bc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorCache.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Caches raw plugin descriptors. A raw plugin descriptor is a descriptor that has just been extracted from the plugin
- * artifact and does not contain any runtime specific data. The cache must not be used for descriptors that hold runtime
- * data like the plugin realm. <strong>Warning:</strong> This is an internal utility interface that is only public for
- * technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without
- * prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginDescriptorCache
-{
-
- /**
- * A cache key.
- */
- interface Key
- {
- // marker interface for cache keys
- }
-
- Key createKey( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session );
-
- void put( Key key, PluginDescriptor pluginDescriptor );
-
- PluginDescriptor get( Key key );
-
- void flush();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorParsingException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorParsingException.java
deleted file mode 100644
index 7d57b363..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginDescriptorParsingException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Plugin;
-
-/**
- * @author Jason van Zyl
- */
-public class PluginDescriptorParsingException
- extends Exception
-{
-
- public PluginDescriptorParsingException( Plugin plugin, String descriptorLocation, Throwable e )
- {
- super( createMessage( plugin, descriptorLocation, e ), e );
- }
-
- private static String createMessage( Plugin plugin, String descriptorLocation, Throwable e )
- {
- String message = "Failed to parse plugin descriptor";
-
- if ( plugin != null )
- {
- message += " for " + plugin.getId();
- }
-
- if ( descriptorLocation != null )
- {
- message += " (" + descriptorLocation + ")";
- }
-
- if ( e != null )
- {
- message += ": " + e.getMessage();
- }
-
- return message;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
deleted file mode 100644
index 602d2cb4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.project.DuplicateArtifactAttachmentException;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.StringUtils;
-
-public class PluginExecutionException
- extends PluginManagerException
-{
-
- private final MojoExecution mojoExecution;
-
- public PluginExecutionException( MojoExecution mojoExecution, MavenProject project, String message )
- {
- super( mojoExecution.getMojoDescriptor(), project, message );
- this.mojoExecution = mojoExecution;
- }
-
- public PluginExecutionException( MojoExecution mojoExecution, MavenProject project, String message,
- Throwable cause )
- {
- super( mojoExecution.getMojoDescriptor(), project, message, cause );
- this.mojoExecution = mojoExecution;
- }
-
- public PluginExecutionException( MojoExecution mojoExecution, MavenProject project, Exception cause )
- {
- super( mojoExecution.getMojoDescriptor(), project, constructMessage( mojoExecution, cause ), cause );
- this.mojoExecution = mojoExecution;
- }
-
- public PluginExecutionException( MojoExecution mojoExecution, MavenProject project,
- DuplicateArtifactAttachmentException cause )
- {
- super( mojoExecution.getMojoDescriptor(), project, constructMessage( mojoExecution, cause ), cause );
- this.mojoExecution = mojoExecution;
- }
-
- public MojoExecution getMojoExecution()
- {
- return mojoExecution;
- }
-
- private static String constructMessage( MojoExecution mojoExecution, Throwable cause )
- {
- String message;
-
- if ( mojoExecution != null )
- {
- message =
- "Execution " + mojoExecution.getExecutionId() + " of goal " + mojoExecution.getMojoDescriptor().getId()
- + " failed";
- }
- else
- {
- message = "Mojo execution failed";
- }
-
- if ( cause != null && StringUtils.isNotEmpty( cause.getMessage() ) )
- {
- message += ": " + cause.getMessage();
- }
- else
- {
- message += ".";
- }
-
- return message;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginIncompatibleException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginIncompatibleException.java
deleted file mode 100644
index f7b53ebd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginIncompatibleException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Plugin;
-
-/**
- * Signals a plugin which is not compatible with the current Maven runtime.
- */
-public class PluginIncompatibleException
- extends PluginManagerException
-{
-
- public PluginIncompatibleException( Plugin plugin, String message )
- {
- super( plugin, message, (Throwable) null );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginLoaderException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginLoaderException.java
deleted file mode 100644
index 161e1c4e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginLoaderException.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.plugin.version.PluginVersionNotFoundException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-
-/**
- * Signifies a failure to load a plugin. This is used to abstract the specific errors which may be
- * encountered at lower levels, and provide a dependable interface to the plugin-loading framework.
- *
- * @author jdcasey
- *
- */
-public class PluginLoaderException
- extends Exception
-{
-
- private String pluginKey;
-
- public PluginLoaderException( Plugin plugin, String message, ArtifactResolutionException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, ArtifactNotFoundException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, PluginNotFoundException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, PluginVersionResolutionException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, InvalidVersionSpecificationException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, InvalidPluginException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, PluginManagerException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message, PluginVersionNotFoundException cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( Plugin plugin, String message )
- {
- super( message );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( String message )
- {
- super( message );
- }
-
- public PluginLoaderException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
- public PluginLoaderException( ReportPlugin plugin, String message, Throwable cause )
- {
- super( message, cause );
- pluginKey = plugin.getKey();
- }
-
- public PluginLoaderException( ReportPlugin plugin, String message )
- {
- super( message );
- pluginKey = plugin.getKey();
- }
-
- public String getPluginKey()
- {
- return pluginKey;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
deleted file mode 100644
index 1a3100e9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.version.PluginVersionNotFoundException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-import java.util.Map;
-
-/**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
- */
-@Deprecated
-public interface PluginManager
-{
- String ROLE = PluginManager.class.getName();
-
- void executeMojo( MavenProject project, MojoExecution execution, MavenSession session )
- throws MojoExecutionException, ArtifactResolutionException, MojoFailureException, ArtifactNotFoundException,
- InvalidDependencyVersionException, PluginManagerException, PluginConfigurationException;
-
- PluginDescriptor getPluginDescriptorForPrefix( String prefix );
-
- Plugin getPluginDefinitionForPrefix( String prefix, MavenSession session, MavenProject project );
-
- PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
- ArtifactRepository localRepository )
- throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
- InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException,
- PluginVersionNotFoundException;
-
- Object getPluginComponent( Plugin plugin, String role, String roleHint )
- throws PluginManagerException, ComponentLookupException;
-
- Map getPluginComponents( Plugin plugin, String role )
- throws ComponentLookupException, PluginManagerException;
-
- /**
- * @since 2.2.1
- */
- PluginDescriptor loadPluginDescriptor( Plugin plugin, MavenProject project, MavenSession session )
- throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
- InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException,
- PluginVersionNotFoundException;
-
- /**
- * @since 2.2.1
- */
- PluginDescriptor loadPluginFully( Plugin plugin, MavenProject project, MavenSession session )
- throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
- InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException,
- PluginVersionNotFoundException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
deleted file mode 100644
index dc8f9a20..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
+++ /dev/null
@@ -1,197 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
-import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
-import org.codehaus.plexus.configuration.PlexusConfigurationException;
-
-/**
- * Exception in the plugin manager.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class PluginManagerException
- extends Exception
-{
-
- private final String pluginGroupId;
-
- private final String pluginArtifactId;
-
- private final String pluginVersion;
-
- private String goal;
-
- private MavenProject project;
-
- protected PluginManagerException( Plugin plugin, String message, MavenProject project, Throwable cause )
- {
- super( message, cause );
-
- this.project = project;
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- }
-
- public PluginManagerException( Plugin plugin, String message, Throwable cause )
- {
- super( message, cause );
-
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- }
-
- protected PluginManagerException( MojoDescriptor mojoDescriptor, String message, Throwable cause )
- {
- super( message, cause );
- pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
- pluginArtifactId = mojoDescriptor.getPluginDescriptor().getArtifactId();
- pluginVersion = mojoDescriptor.getPluginDescriptor().getVersion();
- goal = mojoDescriptor.getGoal();
- }
-
- protected PluginManagerException( MojoDescriptor mojoDescriptor, MavenProject project, String message )
- {
- super( message );
- this.project = project;
- pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
- pluginArtifactId = mojoDescriptor.getPluginDescriptor().getArtifactId();
- pluginVersion = mojoDescriptor.getPluginDescriptor().getVersion();
- goal = mojoDescriptor.getGoal();
- }
-
- protected PluginManagerException( MojoDescriptor mojoDescriptor, MavenProject project, String message,
- Throwable cause )
- {
- super( message, cause );
- this.project = project;
- pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
- pluginArtifactId = mojoDescriptor.getPluginDescriptor().getArtifactId();
- pluginVersion = mojoDescriptor.getPluginDescriptor().getVersion();
- goal = mojoDescriptor.getGoal();
- }
-
- public PluginManagerException( Plugin plugin, InvalidVersionSpecificationException cause )
- {
- super( cause );
-
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- }
-
- public PluginManagerException( Plugin plugin, String message, PlexusConfigurationException cause )
- {
- super( message, cause );
-
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- }
-
- public PluginManagerException( Plugin plugin, String message, ComponentRepositoryException cause )
- {
- super( message, cause );
-
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- }
-
- public PluginManagerException( MojoDescriptor mojoDescriptor, MavenProject project, String message,
- NoSuchRealmException cause )
- {
- super( message, cause );
-
- this.project = project;
- pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
- pluginArtifactId = mojoDescriptor.getPluginDescriptor().getArtifactId();
- pluginVersion = mojoDescriptor.getPluginDescriptor().getVersion();
- goal = mojoDescriptor.getGoal();
- }
-
- public PluginManagerException( MojoDescriptor mojoDescriptor, String message, MavenProject project,
- PlexusContainerException cause )
- {
- super( message, cause );
-
- this.project = project;
-
- PluginDescriptor pd = mojoDescriptor.getPluginDescriptor();
- pluginGroupId = pd.getGroupId();
- pluginArtifactId = pd.getArtifactId();
- pluginVersion = pd.getVersion();
-
- goal = mojoDescriptor.getGoal();
- }
-
- public PluginManagerException( Plugin plugin, String message, PlexusContainerException cause )
- {
- super( message, cause );
-
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- }
-
- public PluginManagerException( Plugin plugin, String message, MavenProject project )
- {
- super( message );
-
- pluginGroupId = plugin.getGroupId();
- pluginArtifactId = plugin.getArtifactId();
- pluginVersion = plugin.getVersion();
- this.project = project;
- }
-
- public String getPluginGroupId()
- {
- return pluginGroupId;
- }
-
- public String getPluginArtifactId()
- {
- return pluginArtifactId;
- }
-
- public String getPluginVersion()
- {
- return pluginVersion;
- }
-
- public String getGoal()
- {
- return goal;
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java
deleted file mode 100644
index ef54e2d7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.model.Plugin;
-
-/**
- * Exception occurring trying to resolve a plugin.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class PluginNotFoundException
- extends AbstractArtifactResolutionException
-{
- private Plugin plugin;
-
- public PluginNotFoundException( Plugin plugin, ArtifactNotFoundException e )
- {
- super( "Plugin could not be found - check that the goal name is correct: " + e.getMessage(), e.getGroupId(),
- e.getArtifactId(), e.getVersion(), "maven-plugin", null, e.getRemoteRepositories(), null, e.getCause() );
- this.plugin = plugin;
- }
-
- public PluginNotFoundException( Plugin plugin, List<ArtifactRepository> remoteRepositories )
- {
- super( "Plugin could not be found, please check its coordinates for typos and ensure the required"
- + " plugin repositories are defined in the POM", plugin.getGroupId(), plugin.getArtifactId(),
- plugin.getVersion(), "maven-plugin", null, remoteRepositories, null );
- this.plugin = plugin;
- }
-
- public Plugin getPlugin()
- {
- return plugin;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java
deleted file mode 100644
index dcf459e7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterException.java
+++ /dev/null
@@ -1,192 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.Parameter;
-import org.codehaus.plexus.util.StringUtils;
-
-public class PluginParameterException
- extends PluginConfigurationException
-{
-
- private final List<Parameter> parameters;
-
- private final MojoDescriptor mojo;
-
- public PluginParameterException( MojoDescriptor mojo, List<Parameter> parameters )
- {
- super( mojo.getPluginDescriptor(), "The parameters " + format( parameters ) + " for goal "
- + mojo.getRoleHint() + " are missing or invalid" );
-
- this.mojo = mojo;
-
- this.parameters = parameters;
- }
-
- private static String format( List<Parameter> parameters )
- {
- StringBuilder buffer = new StringBuilder( 128 );
- if ( parameters != null )
- {
- for ( Parameter parameter : parameters )
- {
- if ( buffer.length() > 0 )
- {
- buffer.append( ", " );
- }
- buffer.append( '\'' ).append( parameter.getName() ).append( '\'' );
- }
- }
- return buffer.toString();
- }
-
- public MojoDescriptor getMojoDescriptor()
- {
- return mojo;
- }
-
- public List<Parameter> getParameters()
- {
- return parameters;
- }
-
- private static void decomposeParameterIntoUserInstructions( MojoDescriptor mojo, Parameter param,
- StringBuilder messageBuffer )
- {
- String expression = param.getExpression();
-
- if ( param.isEditable() )
- {
- boolean isArray = param.getType().endsWith( "[]" );
- boolean isCollection = false;
- boolean isMap = false;
- boolean isProperties = false;
- if ( !isArray )
- {
- try
- {
- //assuming Type is available in current ClassLoader
- isCollection = Collection.class.isAssignableFrom( Class.forName( param.getType() ) );
- isMap = Map.class.isAssignableFrom( Class.forName( param.getType() ) );
- isProperties = Properties.class.isAssignableFrom( Class.forName( param.getType() ) );
- }
- catch ( ClassNotFoundException e )
- {
- // assume it is not assignable from Collection or Map
- }
- }
-
- messageBuffer.append( "Inside the definition for plugin \'" );
- messageBuffer.append( mojo.getPluginDescriptor().getArtifactId() );
- messageBuffer.append( "\', specify the following:\n\n<configuration>\n ...\n" );
- messageBuffer.append( " <" ).append( param.getName() ).append( '>' );
- if ( isArray || isCollection )
- {
- messageBuffer.append( '\n' );
- messageBuffer.append( " <item>" );
- }
- else if ( isProperties )
- {
- messageBuffer.append( '\n' );
- messageBuffer.append( " <property>\n" );
- messageBuffer.append( " <name>KEY</name>\n" );
- messageBuffer.append( " <value>" );
- }
- else if ( isMap )
- {
- messageBuffer.append( '\n' );
- messageBuffer.append( " <KEY>" );
- }
- messageBuffer.append( "VALUE" );
- if ( isArray || isCollection )
- {
- messageBuffer.append( "</item>\n" );
- messageBuffer.append( " " );
- }
- else if ( isProperties )
- {
- messageBuffer.append( "</value>\n" );
- messageBuffer.append( " </property>\n" );
- messageBuffer.append( " " );
- }
- else if ( isMap )
- {
- messageBuffer.append( "</KEY>\n" );
- messageBuffer.append( " " );
- }
- messageBuffer.append( "</" ).append( param.getName() ).append( ">\n" );
- messageBuffer.append( "</configuration>" );
-
- String alias = param.getAlias();
- if ( StringUtils.isNotEmpty( alias ) && !alias.equals( param.getName() ) )
- {
- messageBuffer.append( "\n\n-OR-\n\n<configuration>\n ...\n <" ).append( alias ).append(
- ">VALUE</" ).append( alias ).append( ">\n</configuration>\n" );
- }
- }
-
- if ( StringUtils.isEmpty( expression ) )
- {
- messageBuffer.append( "." );
- }
- else
- {
- if ( param.isEditable() )
- {
- messageBuffer.append( "\n\n-OR-\n\n" );
- }
-
- //addParameterUsageInfo( expression, messageBuffer );
- }
- }
-
- public String buildDiagnosticMessage()
- {
- StringBuilder messageBuffer = new StringBuilder( 256 );
-
- List<Parameter> params = getParameters();
- MojoDescriptor mojo = getMojoDescriptor();
-
- messageBuffer.append( "One or more required plugin parameters are invalid/missing for \'" )
- .append( mojo.getPluginDescriptor().getGoalPrefix() ).append( ":" ).append( mojo.getGoal() )
- .append( "\'\n" );
-
- int idx = 0;
- for ( Iterator<Parameter> it = params.iterator(); it.hasNext(); idx++ )
- {
- Parameter param = it.next();
-
- messageBuffer.append( "\n[" ).append( idx ).append( "] " );
-
- decomposeParameterIntoUserInstructions( mojo, param, messageBuffer );
-
- messageBuffer.append( "\n" );
- }
-
- return messageBuffer.toString();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
deleted file mode 100644
index 9199ba5a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
+++ /dev/null
@@ -1,482 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.Properties;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.path.PathTranslator;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.codehaus.plexus.component.configurator.expression.TypeAwareExpressionEvaluator;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
-
-/**
- * Evaluator for plugin parameters expressions. Content surrounded by <code>${</code> and <code>}</code> is evaluated.
- * Recognized values are:<table border="1">
- * <tr><th>expression</th> <th></th> <th>evaluation result</th></tr>
- * <tr><td><code>session</code></td> <td></td> <td>the actual {@link MavenSession}</td></tr>
- * <tr><td><code>session.*</code></td> <td>(since Maven 3)</td><td></td></tr>
- * <tr><td><code>localRepository</code></td> <td></td>
- * <td>{@link MavenSession#getLocalRepository()}</td></tr>
- * <tr><td><code>reactorProjects</code></td> <td></td> <td>{@link MavenSession#getProjects()}</td></tr>
- * <tr><td><code>repositorySystemSession</code></td><td> (since Maven 3)</td>
- * <td>{@link MavenSession#getRepositorySession()}</td></tr>
- * <tr><td><code>project</code></td> <td></td>
- * <td>{@link MavenSession#getCurrentProject()}</td></tr>
- * <tr><td><code>project.*</code></td> <td></td> <td></td></tr>
- * <tr><td><code>pom.*</code></td> <td>(since Maven 3)</td><td>same as <code>project.*</code></td></tr>
- * <tr><td><code>executedProject</code></td> <td></td>
- * <td>{@link MavenProject#getExecutionProject()}</td></tr>
- * <tr><td><code>settings</code></td> <td></td> <td>{@link MavenSession#getSettings()}</td></tr>
- * <tr><td><code>settings.*</code></td> <td></td> <td></td></tr>
- * <tr><td><code>basedir</code></td> <td></td>
- * <td>{@link MavenSession#getExecutionRootDirectory()} or
- * <code>System.getProperty( "user.dir" )</code> if null</td></tr>
- * <tr><td><code>mojoExecution</code></td> <td></td> <td>the actual {@link MojoExecution}</td></tr>
- * <tr><td><code>mojo</code></td> <td>(since Maven 3)</td><td>same as <code>mojoExecution</code></td></tr>
- * <tr><td><code>mojo.*</code></td> <td>(since Maven 3)</td><td></td></tr>
- * <tr><td><code>plugin</code></td> <td>(since Maven 3)</td>
- * <td>{@link MojoExecution#getMojoDescriptor()}.{@link MojoDescriptor#getPluginDescriptor()
- * getPluginDescriptor()}</td></tr>
- * <tr><td><code>plugin.*</code></td> <td></td> <td></td></tr>
- * <tr><td><code>*</code></td> <td></td> <td>system properties</td></tr>
- * <tr><td><code>*</code></td> <td></td> <td>project properties</td></tr>
- * </table>
- * <i>Notice:</i> <code>reports</code> was supported in Maven 2.x but was removed in Maven 3
- *
- * @author Jason van Zyl
- * @see MavenSession
- * @see MojoExecution
- */
-public class PluginParameterExpressionEvaluator
- implements TypeAwareExpressionEvaluator
-{
- private MavenSession session;
-
- private MojoExecution mojoExecution;
-
- private MavenProject project;
-
- private String basedir;
-
- private Properties properties;
-
- @Deprecated //TODO: used by the Enforcer plugin
- public PluginParameterExpressionEvaluator( MavenSession session, MojoExecution mojoExecution,
- PathTranslator pathTranslator, Logger logger, MavenProject project,
- Properties properties )
- {
- this( session, mojoExecution );
- }
-
- public PluginParameterExpressionEvaluator( MavenSession session )
- {
- this( session, null );
- }
-
- public PluginParameterExpressionEvaluator( MavenSession session, MojoExecution mojoExecution )
- {
- this.session = session;
- this.mojoExecution = mojoExecution;
- this.properties = new Properties();
- this.project = session.getCurrentProject();
-
- //
- // Maven4: We may want to evaluate how this is used but we add these separate as the
- // getExecutionProperties is deprecated in MavenSession.
- //
- this.properties.putAll( session.getUserProperties() );
- this.properties.putAll( session.getSystemProperties() );
-
- String basedir = null;
-
- if ( project != null )
- {
- File projectFile = project.getBasedir();
-
- // this should always be the case for non-super POM instances...
- if ( projectFile != null )
- {
- basedir = projectFile.getAbsolutePath();
- }
- }
-
- if ( basedir == null )
- {
- basedir = session.getExecutionRootDirectory();
- }
-
- if ( basedir == null )
- {
- basedir = System.getProperty( "user.dir" );
- }
-
- this.basedir = basedir;
- }
-
- @Override
- public Object evaluate( String expr )
- throws ExpressionEvaluationException
- {
- return evaluate( expr, null );
- }
-
- @Override
- public Object evaluate( String expr, Class<?> type )
- throws ExpressionEvaluationException
- {
- Object value = null;
-
- if ( expr == null )
- {
- return null;
- }
-
- String expression = stripTokens( expr );
- if ( expression.equals( expr ) )
- {
- int index = expr.indexOf( "${" );
- if ( index >= 0 )
- {
- int lastIndex = expr.indexOf( "}", index );
- if ( lastIndex >= 0 )
- {
- String retVal = expr.substring( 0, index );
-
- if ( ( index > 0 ) && ( expr.charAt( index - 1 ) == '$' ) )
- {
- retVal += expr.substring( index + 1, lastIndex + 1 );
- }
- else
- {
- Object subResult = evaluate( expr.substring( index, lastIndex + 1 ) );
-
- if ( subResult != null )
- {
- retVal += subResult;
- }
- else
- {
- retVal += "$" + expr.substring( index + 1, lastIndex + 1 );
- }
- }
-
- retVal += evaluate( expr.substring( lastIndex + 1 ) );
- return retVal;
- }
- }
-
- // Was not an expression
- if ( expression.contains( "$$" ) )
- {
- return expression.replaceAll( "\\$\\$", "\\$" );
- }
- else
- {
- return expression;
- }
- }
-
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- if ( "localRepository".equals( expression ) )
- {
- value = session.getLocalRepository();
- }
- else if ( "session".equals( expression ) )
- {
- value = session;
- }
- else if ( expression.startsWith( "session" ) )
- {
- try
- {
- int pathSeparator = expression.indexOf( "/" );
-
- if ( pathSeparator > 0 )
- {
- String pathExpression = expression.substring( 1, pathSeparator );
- value = ReflectionValueExtractor.evaluate( pathExpression, session );
- value = value + expression.substring( pathSeparator );
- }
- else
- {
- value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), session );
- }
- }
- catch ( Exception e )
- {
- // TODO: don't catch exception
- throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
- e );
- }
- }
- else if ( "reactorProjects".equals( expression ) )
- {
- value = session.getProjects();
- }
- else if ( "mojoExecution".equals( expression ) )
- {
- value = mojoExecution;
- }
- else if ( "project".equals( expression ) )
- {
- value = project;
- }
- else if ( "executedProject".equals( expression ) )
- {
- value = project.getExecutionProject();
- }
- else if ( expression.startsWith( "project" ) || expression.startsWith( "pom" ) )
- {
- try
- {
- int pathSeparator = expression.indexOf( "/" );
-
- if ( pathSeparator > 0 )
- {
- String pathExpression = expression.substring( 0, pathSeparator );
- value = ReflectionValueExtractor.evaluate( pathExpression, project );
- value = value + expression.substring( pathSeparator );
- }
- else
- {
- value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), project );
- }
- }
- catch ( Exception e )
- {
- // TODO: don't catch exception
- throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
- e );
- }
- }
- else if ( expression.equals( "repositorySystemSession" ) )
- {
- value = session.getRepositorySession();
- }
- else if ( expression.equals( "mojo" ) )
- {
- value = mojoExecution;
- }
- else if ( expression.startsWith( "mojo" ) )
- {
- try
- {
- int pathSeparator = expression.indexOf( "/" );
-
- if ( pathSeparator > 0 )
- {
- String pathExpression = expression.substring( 1, pathSeparator );
- value = ReflectionValueExtractor.evaluate( pathExpression, mojoExecution );
- value = value + expression.substring( pathSeparator );
- }
- else
- {
- value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), mojoExecution );
- }
- }
- catch ( Exception e )
- {
- // TODO: don't catch exception
- throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
- e );
- }
- }
- else if ( expression.equals( "plugin" ) )
- {
- value = mojoDescriptor.getPluginDescriptor();
- }
- else if ( expression.startsWith( "plugin" ) )
- {
- try
- {
- int pathSeparator = expression.indexOf( "/" );
-
- PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
-
- if ( pathSeparator > 0 )
- {
- String pathExpression = expression.substring( 1, pathSeparator );
- value = ReflectionValueExtractor.evaluate( pathExpression, pluginDescriptor );
- value = value + expression.substring( pathSeparator );
- }
- else
- {
- value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), pluginDescriptor );
- }
- }
- catch ( Exception e )
- {
- throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
- e );
- }
- }
- else if ( "settings".equals( expression ) )
- {
- value = session.getSettings();
- }
- else if ( expression.startsWith( "settings" ) )
- {
- try
- {
- int pathSeparator = expression.indexOf( "/" );
-
- if ( pathSeparator > 0 )
- {
- String pathExpression = expression.substring( 1, pathSeparator );
- value = ReflectionValueExtractor.evaluate( pathExpression, session.getSettings() );
- value = value + expression.substring( pathSeparator );
- }
- else
- {
- value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), session.getSettings() );
- }
- }
- catch ( Exception e )
- {
- // TODO: don't catch exception
- throw new ExpressionEvaluationException( "Error evaluating plugin parameter expression: " + expression,
- e );
- }
- }
- else if ( "basedir".equals( expression ) )
- {
- value = basedir;
- }
- else if ( expression.startsWith( "basedir" ) )
- {
- int pathSeparator = expression.indexOf( "/" );
-
- if ( pathSeparator > 0 )
- {
- value = basedir + expression.substring( pathSeparator );
- }
- }
-
- /*
- * MNG-4312: We neither have reserved all of the above magic expressions nor is their set fixed/well-known (it
- * gets occasionally extended by newer Maven versions). This imposes the risk for existing plugins to
- * unintentionally use such a magic expression for an ordinary system property. So here we check whether we
- * ended up with a magic value that is not compatible with the type of the configured mojo parameter (a string
- * could still be converted by the configurator so we leave those alone). If so, back off to evaluating the
- * expression from properties only.
- */
- if ( value != null && type != null && !( value instanceof String ) && !isTypeCompatible( type, value ) )
- {
- value = null;
- }
-
- if ( value == null )
- {
- // The CLI should win for defining properties
-
- if ( properties != null )
- {
- // We will attempt to get nab a system property as a way to specify a
- // parameter to a plugins. My particular case here is allowing the surefire
- // plugin to run a single test so I want to specify that class on the cli
- // as a parameter.
-
- value = properties.getProperty( expression );
- }
-
- if ( ( value == null ) && ( ( project != null ) && ( project.getProperties() != null ) ) )
- {
- value = project.getProperties().getProperty( expression );
- }
-
- }
-
- if ( value instanceof String )
- {
- // TODO: without #, this could just be an evaluate call...
-
- String val = (String) value;
-
- int exprStartDelimiter = val.indexOf( "${" );
-
- if ( exprStartDelimiter >= 0 )
- {
- if ( exprStartDelimiter > 0 )
- {
- value = val.substring( 0, exprStartDelimiter ) + evaluate( val.substring( exprStartDelimiter ) );
- }
- else
- {
- value = evaluate( val.substring( exprStartDelimiter ) );
- }
- }
- }
-
- return value;
- }
-
- private static boolean isTypeCompatible( Class<?> type, Object value )
- {
- if ( type.isInstance( value ) )
- {
- return true;
- }
- // likely Boolean -> boolean, Short -> int etc. conversions, it's not the problem case we try to avoid
- return ( ( type.isPrimitive() || type.getName().startsWith( "java.lang." ) )
- && value.getClass().getName().startsWith( "java.lang." ) );
- }
-
- private String stripTokens( String expr )
- {
- if ( expr.startsWith( "${" ) && ( expr.indexOf( "}" ) == expr.length() - 1 ) )
- {
- expr = expr.substring( 2, expr.length() - 1 );
- }
- return expr;
- }
-
- @Override
- public File alignToBaseDirectory( File file )
- {
- // TODO: Copied from the DefaultInterpolator. We likely want to resurrect the PathTranslator or at least a
- // similar component for re-usage
- if ( file != null )
- {
- if ( file.isAbsolute() )
- {
- // path was already absolute, just normalize file separator and we're done
- }
- else if ( file.getPath().startsWith( File.separator ) )
- {
- // drive-relative Windows path, don't align with project directory but with drive root
- file = file.getAbsoluteFile();
- }
- else
- {
- // an ordinary relative path, align with project directory
- file = new File( new File( basedir, file.getPath() ).toURI().normalize() ).getAbsoluteFile();
- }
- }
- return file;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginRealmCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginRealmCache.java
deleted file mode 100644
index 1ffa1575..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginRealmCache.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Caches plugin class realms. <strong>Warning:</strong> This is an internal utility interface that is only public for
- * technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without
- * prior notice.
- *
- * @author Igor Fedorenko
- * @author Benjamin Bentmann
- */
-public interface PluginRealmCache
-{
-
- static class CacheRecord
- {
- public final ClassRealm realm;
-
- public final List<Artifact> artifacts;
-
- public CacheRecord( ClassRealm realm, List<Artifact> artifacts )
- {
- this.realm = realm;
- this.artifacts = artifacts;
- }
- }
-
- /**
- * A cache key.
- */
- interface Key
- {
- // marker interface for cache keys
- }
-
- Key createKey( Plugin plugin, ClassLoader parentRealm, Map<String, ClassLoader> foreignImports,
- DependencyFilter dependencyFilter, List<RemoteRepository> repositories,
- RepositorySystemSession session );
-
- CacheRecord get( Key key );
-
- CacheRecord put( Key key, ClassRealm pluginRealm, List<Artifact> pluginArtifacts );
-
- void flush();
-
- /**
- * Registers the specified cache record for usage with the given project. Integrators can use the information
- * collected from this method in combination with a custom cache implementation to dispose unused records from the
- * cache.
- *
- * @param project The project that employs the plugin realm, must not be {@code null}.
- * @param record The cache record being used for the project, must not be {@code null}.
- */
- void register( MavenProject project, Key key, CacheRecord record );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginResolutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginResolutionException.java
deleted file mode 100644
index ab280643..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/PluginResolutionException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.maven.plugin;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Plugin;
-
-/**
- * Exception occurring trying to resolve a plugin.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class PluginResolutionException
- extends Exception
-{
-
- private final Plugin plugin;
-
- public PluginResolutionException( Plugin plugin, Throwable cause )
- {
- super( "Plugin " + plugin.getId() + " or one of its dependencies could not be resolved: " + cause.getMessage(),
- cause );
- this.plugin = plugin;
- }
-
- public Plugin getPlugin()
- {
- return plugin;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java
deleted file mode 100644
index f397c1e8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.concurrent.atomic.AtomicReference;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.LegacySupport;
-import org.codehaus.plexus.component.annotations.Component;
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * Helps to provide backward-compatibility with plugins that use legacy components. <strong>Warning:</strong> This is an
- * internal utility component that is only public for technical reasons, it is not part of the public API. In
- * particular, this component can be changed or deleted without prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-@Component( role = LegacySupport.class )
-public class DefaultLegacySupport
- implements LegacySupport
-{
-
- private static final ThreadLocal<AtomicReference<MavenSession>> SESSION =
- new InheritableThreadLocal<AtomicReference<MavenSession>>();
-
- public void setSession( MavenSession session )
- {
- AtomicReference<MavenSession> reference = DefaultLegacySupport.SESSION.get();
- if ( reference != null )
- {
- reference.set( null );
- }
-
- if ( session == null && reference != null )
- {
- DefaultLegacySupport.SESSION.remove();
- }
- else
- {
- DefaultLegacySupport.SESSION.set( new AtomicReference<MavenSession>( session ) );
- }
- }
-
- public MavenSession getSession()
- {
- AtomicReference<MavenSession> currentSession = DefaultLegacySupport.SESSION.get();
- return currentSession != null ? currentSession.get() : null;
- }
-
- public RepositorySystemSession getRepositorySession()
- {
- MavenSession session = getSession();
- return ( session != null ) ? session.getRepositorySession() : null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
deleted file mode 100644
index d32e04c1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java
+++ /dev/null
@@ -1,946 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.classrealm.ClassRealmManager;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.scope.internal.MojoExecutionScopeModule;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.monitor.logging.DefaultLog;
-import org.apache.maven.plugin.ContextEnabled;
-import org.apache.maven.plugin.DebugConfigurationListener;
-import org.apache.maven.plugin.ExtensionRealmCache;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.MavenPluginManager;
-import org.apache.maven.plugin.MavenPluginValidator;
-import org.apache.maven.plugin.Mojo;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoNotFoundException;
-import org.apache.maven.plugin.PluginArtifactsCache;
-import org.apache.maven.plugin.PluginConfigurationException;
-import org.apache.maven.plugin.PluginContainerException;
-import org.apache.maven.plugin.PluginDescriptorCache;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginIncompatibleException;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginParameterException;
-import org.apache.maven.plugin.PluginParameterExpressionEvaluator;
-import org.apache.maven.plugin.PluginRealmCache;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.Parameter;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
-import org.apache.maven.plugin.version.DefaultPluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolver;
-import org.apache.maven.project.ExtensionDescriptor;
-import org.apache.maven.project.ExtensionDescriptorBuilder;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.rtinfo.RuntimeInformation;
-import org.apache.maven.session.scope.internal.SessionScopeModule;
-import org.codehaus.plexus.DefaultPlexusContainer;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.composition.CycleDetectedInComponentGraphException;
-import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
-import org.codehaus.plexus.component.configurator.ComponentConfigurator;
-import org.codehaus.plexus.component.configurator.ConfigurationListener;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
-import org.codehaus.plexus.component.repository.ComponentDescriptor;
-import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.configuration.PlexusConfigurationException;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.logging.LoggerManager;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.util.filter.AndDependencyFilter;
-import org.eclipse.aether.util.graph.visitor.PreorderNodeListGenerator;
-
-/**
- * Provides basic services to manage Maven plugins and their mojos. This component is kept general in its design such
- * that the plugins/mojos can be used in arbitrary contexts. In particular, the mojos can be used for ordinary build
- * plugins as well as special purpose plugins like reports.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-@Component( role = MavenPluginManager.class )
-public class DefaultMavenPluginManager
- implements MavenPluginManager
-{
-
- /**
- * PluginId=>ExtensionRealmCache.CacheRecord map MavenProject context value key. The map is used to ensure the same
- * class realm is used to load build extensions and load mojos for extensions=true plugins.
- *
- * @noreference this is part of internal implementation and may be changed or removed without notice
- * @since 3.3.0
- */
- public static final String KEY_EXTENSIONS_REALMS = DefaultMavenPluginManager.class.getName() + "/extensionsRealms";
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private LoggerManager loggerManager;
-
- @Requirement
- private PlexusContainer container;
-
- @Requirement
- private ClassRealmManager classRealmManager;
-
- @Requirement
- private PluginDescriptorCache pluginDescriptorCache;
-
- @Requirement
- private PluginRealmCache pluginRealmCache;
-
- @Requirement
- private PluginDependenciesResolver pluginDependenciesResolver;
-
- @Requirement
- private RuntimeInformation runtimeInformation;
-
- @Requirement
- private ExtensionRealmCache extensionRealmCache;
-
- @Requirement
- private PluginVersionResolver pluginVersionResolver;
-
- @Requirement
- private PluginArtifactsCache pluginArtifactsCache;
-
- private ExtensionDescriptorBuilder extensionDescriptorBuilder = new ExtensionDescriptorBuilder();
-
- private PluginDescriptorBuilder builder = new PluginDescriptorBuilder();
-
- public synchronized PluginDescriptor getPluginDescriptor( Plugin plugin, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws PluginResolutionException, PluginDescriptorParsingException, InvalidPluginDescriptorException
- {
- PluginDescriptorCache.Key cacheKey = pluginDescriptorCache.createKey( plugin, repositories, session );
-
- PluginDescriptor pluginDescriptor = pluginDescriptorCache.get( cacheKey );
-
- if ( pluginDescriptor == null )
- {
- org.eclipse.aether.artifact.Artifact artifact =
- pluginDependenciesResolver.resolve( plugin, repositories, session );
-
- Artifact pluginArtifact = RepositoryUtils.toArtifact( artifact );
-
- pluginDescriptor = extractPluginDescriptor( pluginArtifact, plugin );
-
- pluginDescriptor.setRequiredMavenVersion( artifact.getProperty( "requiredMavenVersion", null ) );
-
- pluginDescriptorCache.put( cacheKey, pluginDescriptor );
- }
-
- pluginDescriptor.setPlugin( plugin );
-
- return pluginDescriptor;
- }
-
- private PluginDescriptor extractPluginDescriptor( Artifact pluginArtifact, Plugin plugin )
- throws PluginDescriptorParsingException, InvalidPluginDescriptorException
- {
- PluginDescriptor pluginDescriptor = null;
-
- File pluginFile = pluginArtifact.getFile();
-
- try
- {
- if ( pluginFile.isFile() )
- {
- JarFile pluginJar = new JarFile( pluginFile, false );
- try
- {
- ZipEntry pluginDescriptorEntry = pluginJar.getEntry( getPluginDescriptorLocation() );
-
- if ( pluginDescriptorEntry != null )
- {
- InputStream is = pluginJar.getInputStream( pluginDescriptorEntry );
-
- pluginDescriptor = parsePluginDescriptor( is, plugin, pluginFile.getAbsolutePath() );
- }
- }
- finally
- {
- pluginJar.close();
- }
- }
- else
- {
- File pluginXml = new File( pluginFile, getPluginDescriptorLocation() );
-
- if ( pluginXml.isFile() )
- {
- InputStream is = new BufferedInputStream( new FileInputStream( pluginXml ) );
- try
- {
- pluginDescriptor = parsePluginDescriptor( is, plugin, pluginXml.getAbsolutePath() );
- }
- finally
- {
- IOUtil.close( is );
- }
- }
- }
-
- if ( pluginDescriptor == null )
- {
- throw new IOException( "No plugin descriptor found at " + getPluginDescriptorLocation() );
- }
- }
- catch ( IOException e )
- {
- throw new PluginDescriptorParsingException( plugin, pluginFile.getAbsolutePath(), e );
- }
-
- MavenPluginValidator validator = new MavenPluginValidator( pluginArtifact );
-
- validator.validate( pluginDescriptor );
-
- if ( validator.hasErrors() )
- {
- throw new InvalidPluginDescriptorException( "Invalid plugin descriptor for " + plugin.getId() + " ("
- + pluginFile + ")", validator.getErrors() );
- }
-
- pluginDescriptor.setPluginArtifact( pluginArtifact );
-
- return pluginDescriptor;
- }
-
- private String getPluginDescriptorLocation()
- {
- return "META-INF/maven/plugin.xml";
- }
-
- private PluginDescriptor parsePluginDescriptor( InputStream is, Plugin plugin, String descriptorLocation )
- throws PluginDescriptorParsingException
- {
- try
- {
- Reader reader = ReaderFactory.newXmlReader( is );
-
- PluginDescriptor pluginDescriptor = builder.build( reader, descriptorLocation );
-
- return pluginDescriptor;
- }
- catch ( IOException e )
- {
- throw new PluginDescriptorParsingException( plugin, descriptorLocation, e );
- }
- catch ( PlexusConfigurationException e )
- {
- throw new PluginDescriptorParsingException( plugin, descriptorLocation, e );
- }
- }
-
- public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws MojoNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
- InvalidPluginDescriptorException
- {
- PluginDescriptor pluginDescriptor = getPluginDescriptor( plugin, repositories, session );
-
- MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
-
- if ( mojoDescriptor == null )
- {
- throw new MojoNotFoundException( goal, pluginDescriptor );
- }
-
- return mojoDescriptor;
- }
-
- public void checkRequiredMavenVersion( PluginDescriptor pluginDescriptor )
- throws PluginIncompatibleException
- {
- String requiredMavenVersion = pluginDescriptor.getRequiredMavenVersion();
- if ( StringUtils.isNotBlank( requiredMavenVersion ) )
- {
- try
- {
- if ( !runtimeInformation.isMavenVersion( requiredMavenVersion ) )
- {
- throw new PluginIncompatibleException( pluginDescriptor.getPlugin(), "The plugin "
- + pluginDescriptor.getId() + " requires Maven version " + requiredMavenVersion );
- }
- }
- catch ( RuntimeException e )
- {
- logger.warn( "Could not verify plugin's Maven prerequisite: " + e.getMessage() );
- }
- }
- }
-
- public synchronized void setupPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session,
- ClassLoader parent, List<String> imports, DependencyFilter filter )
- throws PluginResolutionException, PluginContainerException
- {
- Plugin plugin = pluginDescriptor.getPlugin();
- MavenProject project = session.getCurrentProject();
-
- if ( plugin.isExtensions() )
- {
- ExtensionRealmCache.CacheRecord extensionRecord;
- try
- {
- RepositorySystemSession repositorySession = session.getRepositorySession();
- extensionRecord = setupExtensionsRealm( project, plugin, repositorySession );
- }
- catch ( PluginManagerException e )
- {
- // extensions realm is expected to be fully setup at this point
- // any exception means a problem in maven code, not a user error
- throw new IllegalStateException( e );
- }
-
- ClassRealm pluginRealm = extensionRecord.realm;
- List<Artifact> pluginArtifacts = extensionRecord.artifacts;
-
- for ( ComponentDescriptor<?> componentDescriptor : pluginDescriptor.getComponents() )
- {
- componentDescriptor.setRealm( pluginRealm );
- }
-
- pluginDescriptor.setClassRealm( pluginRealm );
- pluginDescriptor.setArtifacts( pluginArtifacts );
- }
- else
- {
- Map<String, ClassLoader> foreignImports = calcImports( project, parent, imports );
-
- PluginRealmCache.Key cacheKey =
- pluginRealmCache.createKey( plugin, parent, foreignImports, filter,
- project.getRemotePluginRepositories(), session.getRepositorySession() );
-
- PluginRealmCache.CacheRecord cacheRecord = pluginRealmCache.get( cacheKey );
-
- if ( cacheRecord != null )
- {
- pluginDescriptor.setClassRealm( cacheRecord.realm );
- pluginDescriptor.setArtifacts( new ArrayList<Artifact>( cacheRecord.artifacts ) );
- for ( ComponentDescriptor<?> componentDescriptor : pluginDescriptor.getComponents() )
- {
- componentDescriptor.setRealm( cacheRecord.realm );
- }
- }
- else
- {
- createPluginRealm( pluginDescriptor, session, parent, foreignImports, filter );
-
- cacheRecord =
- pluginRealmCache.put( cacheKey, pluginDescriptor.getClassRealm(), pluginDescriptor.getArtifacts() );
- }
-
- pluginRealmCache.register( project, cacheKey, cacheRecord );
- }
- }
-
- private void createPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent,
- Map<String, ClassLoader> foreignImports, DependencyFilter filter )
- throws PluginResolutionException, PluginContainerException
- {
- Plugin plugin = pluginDescriptor.getPlugin();
-
- if ( plugin == null )
- {
- throw new IllegalArgumentException( "incomplete plugin descriptor, plugin missing" );
- }
-
- Artifact pluginArtifact = pluginDescriptor.getPluginArtifact();
-
- if ( pluginArtifact == null )
- {
- throw new IllegalArgumentException( "incomplete plugin descriptor, plugin artifact missing" );
- }
-
- MavenProject project = session.getCurrentProject();
-
- final ClassRealm pluginRealm;
- final List<Artifact> pluginArtifacts;
-
- RepositorySystemSession repositorySession = session.getRepositorySession();
- DependencyFilter dependencyFilter = project.getExtensionDependencyFilter();
- dependencyFilter = AndDependencyFilter.newInstance( dependencyFilter, filter );
-
- DependencyNode root =
- pluginDependenciesResolver.resolve( plugin, RepositoryUtils.toArtifact( pluginArtifact ),
- dependencyFilter, project.getRemotePluginRepositories(),
- repositorySession );
-
- PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
- root.accept( nlg );
-
- pluginArtifacts = toMavenArtifacts( root, nlg );
-
- pluginRealm =
- classRealmManager.createPluginRealm( plugin, parent, null, foreignImports,
- toAetherArtifacts( pluginArtifacts ) );
-
- discoverPluginComponents( pluginRealm, plugin, pluginDescriptor );
-
- pluginDescriptor.setClassRealm( pluginRealm );
- pluginDescriptor.setArtifacts( pluginArtifacts );
- }
-
- private void discoverPluginComponents( final ClassRealm pluginRealm, Plugin plugin,
- PluginDescriptor pluginDescriptor )
- throws PluginContainerException
- {
- try
- {
- if ( pluginDescriptor != null )
- {
- for ( ComponentDescriptor<?> componentDescriptor : pluginDescriptor.getComponents() )
- {
- componentDescriptor.setRealm( pluginRealm );
- container.addComponentDescriptor( componentDescriptor );
- }
- }
-
- ( (DefaultPlexusContainer) container ).discoverComponents( pluginRealm,
- new SessionScopeModule( container ),
- new MojoExecutionScopeModule( container ) );
- }
- catch ( ComponentLookupException e )
- {
- throw new PluginContainerException( plugin, pluginRealm, "Error in component graph of plugin "
- + plugin.getId() + ": " + e.getMessage(), e );
- }
- catch ( CycleDetectedInComponentGraphException e )
- {
- throw new PluginContainerException( plugin, pluginRealm, "Error in component graph of plugin "
- + plugin.getId() + ": " + e.getMessage(), e );
- }
- }
-
- private List<org.eclipse.aether.artifact.Artifact> toAetherArtifacts( final List<Artifact> pluginArtifacts )
- {
- return new ArrayList<org.eclipse.aether.artifact.Artifact>( RepositoryUtils.toArtifacts( pluginArtifacts ) );
- }
-
- private List<Artifact> toMavenArtifacts( DependencyNode root, PreorderNodeListGenerator nlg )
- {
- List<Artifact> artifacts = new ArrayList<Artifact>( nlg.getNodes().size() );
- RepositoryUtils.toArtifacts( artifacts, Collections.singleton( root ), Collections.<String>emptyList(), null );
- for ( Iterator<Artifact> it = artifacts.iterator(); it.hasNext(); )
- {
- Artifact artifact = it.next();
- if ( artifact.getFile() == null )
- {
- it.remove();
- }
- }
- return artifacts;
- }
-
- private Map<String, ClassLoader> calcImports( MavenProject project, ClassLoader parent, List<String> imports )
- {
- Map<String, ClassLoader> foreignImports = new HashMap<String, ClassLoader>();
-
- ClassLoader projectRealm = project.getClassRealm();
- if ( projectRealm != null )
- {
- foreignImports.put( "", projectRealm );
- }
- else
- {
- foreignImports.put( "", classRealmManager.getMavenApiRealm() );
- }
-
- if ( parent != null && imports != null )
- {
- for ( String parentImport : imports )
- {
- foreignImports.put( parentImport, parent );
- }
- }
-
- return foreignImports;
- }
-
- public <T> T getConfiguredMojo( Class<T> mojoInterface, MavenSession session, MojoExecution mojoExecution )
- throws PluginConfigurationException, PluginContainerException
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
-
- ClassRealm pluginRealm = pluginDescriptor.getClassRealm();
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Configuring mojo " + mojoDescriptor.getId() + " from plugin realm " + pluginRealm );
- }
-
- // We are forcing the use of the plugin realm for all lookups that might occur during
- // the lifecycle that is part of the lookup. Here we are specifically trying to keep
- // lookups that occur in contextualize calls in line with the right realm.
- ClassRealm oldLookupRealm = container.setLookupRealm( pluginRealm );
-
- ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader( pluginRealm );
-
- try
- {
- T mojo;
-
- try
- {
- mojo = container.lookup( mojoInterface, mojoDescriptor.getRoleHint() );
- }
- catch ( ComponentLookupException e )
- {
- Throwable cause = e.getCause();
- while ( cause != null && !( cause instanceof LinkageError )
- && !( cause instanceof ClassNotFoundException ) )
- {
- cause = cause.getCause();
- }
-
- if ( ( cause instanceof NoClassDefFoundError ) || ( cause instanceof ClassNotFoundException ) )
- {
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "Unable to load the mojo '" + mojoDescriptor.getGoal() + "' in the plugin '"
- + pluginDescriptor.getId() + "'. A required class is missing: " + cause.getMessage() );
- pluginRealm.display( ps );
-
- throw new PluginContainerException( mojoDescriptor, pluginRealm, os.toString(), cause );
- }
- else if ( cause instanceof LinkageError )
- {
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "Unable to load the mojo '" + mojoDescriptor.getGoal() + "' in the plugin '"
- + pluginDescriptor.getId() + "' due to an API incompatibility: " + e.getClass().getName()
- + ": " + cause.getMessage() );
- pluginRealm.display( ps );
-
- throw new PluginContainerException( mojoDescriptor, pluginRealm, os.toString(), cause );
- }
-
- throw new PluginContainerException( mojoDescriptor, pluginRealm, "Unable to load the mojo '"
- + mojoDescriptor.getGoal() + "' (or one of its required components) from the plugin '"
- + pluginDescriptor.getId() + "'", e );
- }
-
- if ( mojo instanceof ContextEnabled )
- {
- MavenProject project = session.getCurrentProject();
-
- Map<String, Object> pluginContext = session.getPluginContext( pluginDescriptor, project );
-
- if ( pluginContext != null )
- {
- pluginContext.put( "project", project );
-
- pluginContext.put( "pluginDescriptor", pluginDescriptor );
-
- ( (ContextEnabled) mojo ).setPluginContext( pluginContext );
- }
- }
-
- if ( mojo instanceof Mojo )
- {
- Logger mojoLogger = loggerManager.getLoggerForComponent( mojoDescriptor.getImplementation() );
- ( (Mojo) mojo ).setLog( new DefaultLog( mojoLogger ) );
- }
-
- Xpp3Dom dom = mojoExecution.getConfiguration();
-
- PlexusConfiguration pomConfiguration;
-
- if ( dom == null )
- {
- pomConfiguration = new XmlPlexusConfiguration( "configuration" );
- }
- else
- {
- pomConfiguration = new XmlPlexusConfiguration( dom );
- }
-
- ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator( session, mojoExecution );
-
- populatePluginFields( mojo, mojoDescriptor, pluginRealm, pomConfiguration, expressionEvaluator );
-
- return mojo;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( oldClassLoader );
- container.setLookupRealm( oldLookupRealm );
- }
- }
-
- private void populatePluginFields( Object mojo, MojoDescriptor mojoDescriptor, ClassRealm pluginRealm,
- PlexusConfiguration configuration, ExpressionEvaluator expressionEvaluator )
- throws PluginConfigurationException
- {
- ComponentConfigurator configurator = null;
-
- String configuratorId = mojoDescriptor.getComponentConfigurator();
-
- if ( StringUtils.isEmpty( configuratorId ) )
- {
- configuratorId = "basic";
- }
-
- try
- {
- // TODO: could the configuration be passed to lookup and the configurator known to plexus via the descriptor
- // so that this method could entirely be handled by a plexus lookup?
- configurator = container.lookup( ComponentConfigurator.class, configuratorId );
-
- ConfigurationListener listener = new DebugConfigurationListener( logger );
-
- ValidatingConfigurationListener validator =
- new ValidatingConfigurationListener( mojo, mojoDescriptor, listener );
-
- logger.debug( "Configuring mojo '" + mojoDescriptor.getId() + "' with " + configuratorId
- + " configurator -->" );
-
- configurator.configureComponent( mojo, configuration, expressionEvaluator, pluginRealm, validator );
-
- logger.debug( "-- end configuration --" );
-
- Collection<Parameter> missingParameters = validator.getMissingParameters();
- if ( !missingParameters.isEmpty() )
- {
- if ( "basic".equals( configuratorId ) )
- {
- throw new PluginParameterException( mojoDescriptor, new ArrayList<Parameter>( missingParameters ) );
- }
- else
- {
- /*
- * NOTE: Other configurators like the map-oriented one don't call into the listener, so do it the
- * hard way.
- */
- validateParameters( mojoDescriptor, configuration, expressionEvaluator );
- }
- }
- }
- catch ( ComponentConfigurationException e )
- {
- String message = "Unable to parse configuration of mojo " + mojoDescriptor.getId();
- if ( e.getFailedConfiguration() != null )
- {
- message += " for parameter " + e.getFailedConfiguration().getName();
- }
- message += ": " + e.getMessage();
-
- throw new PluginConfigurationException( mojoDescriptor.getPluginDescriptor(), message, e );
- }
- catch ( ComponentLookupException e )
- {
- throw new PluginConfigurationException( mojoDescriptor.getPluginDescriptor(),
- "Unable to retrieve component configurator " + configuratorId
- + " for configuration of mojo " + mojoDescriptor.getId(), e );
- }
- catch ( NoClassDefFoundError e )
- {
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "A required class was missing during configuration of mojo " + mojoDescriptor.getId() + ": "
- + e.getMessage() );
- pluginRealm.display( ps );
-
- throw new PluginConfigurationException( mojoDescriptor.getPluginDescriptor(), os.toString(), e );
- }
- catch ( LinkageError e )
- {
- ByteArrayOutputStream os = new ByteArrayOutputStream( 1024 );
- PrintStream ps = new PrintStream( os );
- ps.println( "An API incompatibility was encountered during configuration of mojo " + mojoDescriptor.getId()
- + ": " + e.getClass().getName() + ": " + e.getMessage() );
- pluginRealm.display( ps );
-
- throw new PluginConfigurationException( mojoDescriptor.getPluginDescriptor(), os.toString(), e );
- }
- finally
- {
- if ( configurator != null )
- {
- try
- {
- container.release( configurator );
- }
- catch ( ComponentLifecycleException e )
- {
- logger.debug( "Failed to release mojo configurator - ignoring." );
- }
- }
- }
- }
-
- private void validateParameters( MojoDescriptor mojoDescriptor, PlexusConfiguration configuration,
- ExpressionEvaluator expressionEvaluator )
- throws ComponentConfigurationException, PluginParameterException
- {
- if ( mojoDescriptor.getParameters() == null )
- {
- return;
- }
-
- List<Parameter> invalidParameters = new ArrayList<Parameter>();
-
- for ( Parameter parameter : mojoDescriptor.getParameters() )
- {
- if ( !parameter.isRequired() )
- {
- continue;
- }
-
- Object value = null;
-
- PlexusConfiguration config = configuration.getChild( parameter.getName(), false );
- if ( config != null )
- {
- String expression = config.getValue( null );
-
- try
- {
- value = expressionEvaluator.evaluate( expression );
-
- if ( value == null )
- {
- value = config.getAttribute( "default-value", null );
- }
- }
- catch ( ExpressionEvaluationException e )
- {
- String msg =
- "Error evaluating the expression '" + expression + "' for configuration value '"
- + configuration.getName() + "'";
- throw new ComponentConfigurationException( configuration, msg, e );
- }
- }
-
- if ( value == null && ( config == null || config.getChildCount() <= 0 ) )
- {
- invalidParameters.add( parameter );
- }
- }
-
- if ( !invalidParameters.isEmpty() )
- {
- throw new PluginParameterException( mojoDescriptor, invalidParameters );
- }
- }
-
- public void releaseMojo( Object mojo, MojoExecution mojoExecution )
- {
- if ( mojo != null )
- {
- try
- {
- container.release( mojo );
- }
- catch ( ComponentLifecycleException e )
- {
- String goalExecId = mojoExecution.getGoal();
-
- if ( mojoExecution.getExecutionId() != null )
- {
- goalExecId += " {execution: " + mojoExecution.getExecutionId() + "}";
- }
-
- logger.debug( "Error releasing mojo for " + goalExecId, e );
- }
- }
- }
-
- public ExtensionRealmCache.CacheRecord setupExtensionsRealm( MavenProject project, Plugin plugin,
- RepositorySystemSession session )
- throws PluginManagerException
- {
- @SuppressWarnings( "unchecked" )
- Map<String, ExtensionRealmCache.CacheRecord> pluginRealms =
- (Map<String, ExtensionRealmCache.CacheRecord>) project.getContextValue( KEY_EXTENSIONS_REALMS );
- if ( pluginRealms == null )
- {
- pluginRealms = new HashMap<String, ExtensionRealmCache.CacheRecord>();
- project.setContextValue( KEY_EXTENSIONS_REALMS, pluginRealms );
- }
-
- final String pluginKey = plugin.getId();
-
- ExtensionRealmCache.CacheRecord extensionRecord = pluginRealms.get( pluginKey );
- if ( extensionRecord != null )
- {
- return extensionRecord;
- }
-
- final List<RemoteRepository> repositories = project.getRemotePluginRepositories();
-
- // resolve plugin version as necessary
- if ( plugin.getVersion() == null )
- {
- PluginVersionRequest versionRequest = new DefaultPluginVersionRequest( plugin, session, repositories );
- try
- {
- plugin.setVersion( pluginVersionResolver.resolve( versionRequest ).getVersion() );
- }
- catch ( PluginVersionResolutionException e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
- }
-
- // resolve plugin artifacts
- List<Artifact> artifacts;
- PluginArtifactsCache.Key cacheKey = pluginArtifactsCache.createKey( plugin, null, repositories, session );
- PluginArtifactsCache.CacheRecord recordArtifacts;
- try
- {
- recordArtifacts = pluginArtifactsCache.get( cacheKey );
- }
- catch ( PluginResolutionException e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
- if ( recordArtifacts != null )
- {
- artifacts = recordArtifacts.artifacts;
- }
- else
- {
- try
- {
- artifacts = resolveExtensionArtifacts( plugin, repositories, session );
- recordArtifacts = pluginArtifactsCache.put( cacheKey, artifacts );
- }
- catch ( PluginResolutionException e )
- {
- pluginArtifactsCache.put( cacheKey, e );
- pluginArtifactsCache.register( project, cacheKey, recordArtifacts );
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
- }
- pluginArtifactsCache.register( project, cacheKey, recordArtifacts );
-
- // create and cache extensions realms
- final ExtensionRealmCache.Key extensionKey = extensionRealmCache.createKey( artifacts );
- extensionRecord = extensionRealmCache.get( extensionKey );
- if ( extensionRecord == null )
- {
- ClassRealm extensionRealm = classRealmManager.createExtensionRealm( plugin,
- toAetherArtifacts( artifacts ) );
-
- // TODO figure out how to use the same PluginDescriptor when running mojos
-
- PluginDescriptor pluginDescriptor = null;
- if ( plugin.isExtensions() && !artifacts.isEmpty() )
- {
- // ignore plugin descriptor parsing errors at this point
- // these errors will reported during calculation of project build execution plan
- try
- {
- pluginDescriptor = extractPluginDescriptor( artifacts.get( 0 ), plugin );
- }
- catch ( PluginDescriptorParsingException e )
- {
- // ignore, see above
- }
- catch ( InvalidPluginDescriptorException e )
- {
- // ignore, see above
- }
- }
-
- discoverPluginComponents( extensionRealm, plugin, pluginDescriptor );
-
- ExtensionDescriptor extensionDescriptor = null;
- Artifact extensionArtifact = artifacts.get( 0 );
- try
- {
- extensionDescriptor = extensionDescriptorBuilder.build( extensionArtifact.getFile() );
- }
- catch ( IOException e )
- {
- String message = "Invalid extension descriptor for " + plugin.getId() + ": " + e.getMessage();
- if ( logger.isDebugEnabled() )
- {
- logger.error( message, e );
- }
- else
- {
- logger.error( message );
- }
- }
- extensionRecord = extensionRealmCache.put( extensionKey, extensionRealm, extensionDescriptor, artifacts );
- }
- extensionRealmCache.register( project, extensionKey, extensionRecord );
- pluginRealms.put( pluginKey, extensionRecord );
-
- return extensionRecord;
- }
-
- private List<Artifact> resolveExtensionArtifacts( Plugin extensionPlugin, List<RemoteRepository> repositories,
- RepositorySystemSession session )
- throws PluginResolutionException
- {
- DependencyNode root = pluginDependenciesResolver.resolve( extensionPlugin, null, null, repositories, session );
- PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
- root.accept( nlg );
- return toMavenArtifacts( root, nlg );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
deleted file mode 100644
index 5b0c2712..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.collection.DependencyCollectionException;
-import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.collection.DependencySelector;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.ArtifactDescriptorException;
-import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.eclipse.aether.resolution.ArtifactDescriptorResult;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResolutionException;
-import org.eclipse.aether.resolution.DependencyRequest;
-import org.eclipse.aether.resolution.DependencyResolutionException;
-import org.eclipse.aether.util.artifact.JavaScopes;
-import org.eclipse.aether.util.filter.AndDependencyFilter;
-import org.eclipse.aether.util.filter.ScopeDependencyFilter;
-import org.eclipse.aether.util.graph.selector.AndDependencySelector;
-import org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
-import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
-
-/**
- * Assists in resolving the dependencies of a plugin. <strong>Warning:</strong> This is an internal utility class that
- * is only public for technical reasons, it is not part of the public API. In particular, this class can be changed or
- * deleted without prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-@Component( role = PluginDependenciesResolver.class )
-public class DefaultPluginDependenciesResolver
- implements PluginDependenciesResolver
-{
-
- private static final String REPOSITORY_CONTEXT = "plugin";
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private RepositorySystem repoSystem;
-
- private Artifact toArtifact( Plugin plugin, RepositorySystemSession session )
- {
- return new DefaultArtifact( plugin.getGroupId(), plugin.getArtifactId(), null, "jar", plugin.getVersion(),
- session.getArtifactTypeRegistry().get( "maven-plugin" ) );
- }
-
- public Artifact resolve( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginResolutionException
- {
- RequestTrace trace = RequestTrace.newChild( null, plugin );
-
- Artifact pluginArtifact = toArtifact( plugin, session );
-
- try
- {
- DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session );
- pluginSession.setArtifactDescriptorPolicy( new SimpleArtifactDescriptorPolicy( true, false ) );
-
- ArtifactDescriptorRequest request =
- new ArtifactDescriptorRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT );
- request.setTrace( trace );
- ArtifactDescriptorResult result = repoSystem.readArtifactDescriptor( pluginSession, request );
-
- pluginArtifact = result.getArtifact();
-
- String requiredMavenVersion = (String) result.getProperties().get( "prerequisites.maven" );
- if ( requiredMavenVersion != null )
- {
- Map<String, String> props = new LinkedHashMap<String, String>( pluginArtifact.getProperties() );
- props.put( "requiredMavenVersion", requiredMavenVersion );
- pluginArtifact = pluginArtifact.setProperties( props );
- }
- }
- catch ( ArtifactDescriptorException e )
- {
- throw new PluginResolutionException( plugin, e );
- }
-
- try
- {
- ArtifactRequest request = new ArtifactRequest( pluginArtifact, repositories, REPOSITORY_CONTEXT );
- request.setTrace( trace );
- pluginArtifact = repoSystem.resolveArtifact( session, request ).getArtifact();
- }
- catch ( ArtifactResolutionException e )
- {
- throw new PluginResolutionException( plugin, e );
- }
-
- return pluginArtifact;
- }
-
- /**
- * @since 3.3.0
- */
- public DependencyNode resolveCoreExtension( Plugin plugin, DependencyFilter dependencyFilter,
- List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginResolutionException
- {
- return resolveInternal( plugin, null /* pluginArtifact */, dependencyFilter, null /* transformer */,
- repositories, session );
- }
-
- public DependencyNode resolve( Plugin plugin, Artifact pluginArtifact, DependencyFilter dependencyFilter,
- List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginResolutionException
- {
- return resolveInternal( plugin, pluginArtifact, dependencyFilter, new PlexusUtilsInjector(), repositories,
- session );
- }
-
- private DependencyNode resolveInternal( Plugin plugin, Artifact pluginArtifact, DependencyFilter dependencyFilter,
- DependencyGraphTransformer transformer,
- List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginResolutionException
- {
- RequestTrace trace = RequestTrace.newChild( null, plugin );
-
- if ( pluginArtifact == null )
- {
- pluginArtifact = toArtifact( plugin, session );
- }
-
- DependencyFilter collectionFilter = new ScopeDependencyFilter( "provided", "test" );
- DependencyFilter resolutionFilter = AndDependencyFilter.newInstance( collectionFilter, dependencyFilter );
-
- DependencyNode node;
-
- try
- {
- DependencySelector selector =
- AndDependencySelector.newInstance( session.getDependencySelector(), new WagonExcluder() );
-
- transformer =
- ChainedDependencyGraphTransformer.newInstance( session.getDependencyGraphTransformer(), transformer );
-
- DefaultRepositorySystemSession pluginSession = new DefaultRepositorySystemSession( session );
- pluginSession.setDependencySelector( selector );
- pluginSession.setDependencyGraphTransformer( transformer );
-
- CollectRequest request = new CollectRequest();
- request.setRequestContext( REPOSITORY_CONTEXT );
- request.setRepositories( repositories );
- request.setRoot( new org.eclipse.aether.graph.Dependency( pluginArtifact, null ) );
- for ( Dependency dependency : plugin.getDependencies() )
- {
- org.eclipse.aether.graph.Dependency pluginDep =
- RepositoryUtils.toDependency( dependency, session.getArtifactTypeRegistry() );
- if ( !JavaScopes.SYSTEM.equals( pluginDep.getScope() ) )
- {
- pluginDep = pluginDep.setScope( JavaScopes.RUNTIME );
- }
- request.addDependency( pluginDep );
- }
-
- DependencyRequest depRequest = new DependencyRequest( request, resolutionFilter );
- depRequest.setTrace( trace );
-
- request.setTrace( RequestTrace.newChild( trace, depRequest ) );
-
- node = repoSystem.collectDependencies( pluginSession, request ).getRoot();
-
- if ( logger.isDebugEnabled() )
- {
- node.accept( new GraphLogger() );
- }
-
- depRequest.setRoot( node );
- repoSystem.resolveDependencies( session, depRequest );
- }
- catch ( DependencyCollectionException e )
- {
- throw new PluginResolutionException( plugin, e );
- }
- catch ( DependencyResolutionException e )
- {
- throw new PluginResolutionException( plugin, e.getCause() );
- }
-
- return node;
- }
-
- class GraphLogger
- implements DependencyVisitor
- {
-
- private String indent = "";
-
- public boolean visitEnter( DependencyNode node )
- {
- StringBuilder buffer = new StringBuilder( 128 );
- buffer.append( indent );
- org.eclipse.aether.graph.Dependency dep = node.getDependency();
- if ( dep != null )
- {
- Artifact art = dep.getArtifact();
-
- buffer.append( art );
- buffer.append( ':' ).append( dep.getScope() );
- }
-
- logger.debug( buffer.toString() );
- indent += " ";
- return true;
- }
-
- public boolean visitLeave( DependencyNode node )
- {
- indent = indent.substring( 0, indent.length() - 3 );
- return true;
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java
deleted file mode 100644
index 015060f6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.InvalidPluginDescriptorException;
-import org.apache.maven.plugin.InvalidPluginException;
-import org.apache.maven.plugin.LegacySupport;
-import org.apache.maven.plugin.MavenPluginManager;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.PluginConfigurationException;
-import org.apache.maven.plugin.PluginDescriptorParsingException;
-import org.apache.maven.plugin.PluginManager;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.prefix.DefaultPluginPrefixRequest;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.prefix.PluginPrefixRequest;
-import org.apache.maven.plugin.prefix.PluginPrefixResolver;
-import org.apache.maven.plugin.prefix.PluginPrefixResult;
-import org.apache.maven.plugin.version.DefaultPluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionNotFoundException;
-import org.apache.maven.plugin.version.PluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolver;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-/**
- * @author Benjamin Bentmann
- */
-@Component( role = PluginManager.class )
-public class DefaultPluginManager
- implements PluginManager
-{
-
- @Requirement
- private PlexusContainer container;
-
- @Requirement
- private MavenPluginManager pluginManager;
-
- @Requirement
- private PluginVersionResolver pluginVersionResolver;
-
- @Requirement
- private PluginPrefixResolver pluginPrefixResolver;
-
- @Requirement
- private LegacySupport legacySupport;
-
- public void executeMojo( MavenProject project, MojoExecution execution, MavenSession session )
- throws MojoExecutionException, ArtifactResolutionException, MojoFailureException, ArtifactNotFoundException,
- InvalidDependencyVersionException, PluginManagerException, PluginConfigurationException
- {
- throw new UnsupportedOperationException();
- }
-
- public Object getPluginComponent( Plugin plugin, String role, String roleHint )
- throws PluginManagerException, ComponentLookupException
- {
- MavenSession session = legacySupport.getSession();
-
- PluginDescriptor pluginDescriptor;
- try
- {
- pluginDescriptor =
- pluginManager.getPluginDescriptor( plugin, session.getCurrentProject().getRemotePluginRepositories(),
- session.getRepositorySession() );
-
- pluginManager.setupPluginRealm( pluginDescriptor, session, null, null, null );
- }
- catch ( Exception e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
-
- ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader( pluginDescriptor.getClassRealm() );
-
- return container.lookup( role, roleHint );
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( oldClassLoader );
- }
- }
-
- public Map getPluginComponents( Plugin plugin, String role )
- throws ComponentLookupException, PluginManagerException
- {
- MavenSession session = legacySupport.getSession();
-
- PluginDescriptor pluginDescriptor;
- try
- {
- pluginDescriptor =
- pluginManager.getPluginDescriptor( plugin, session.getCurrentProject().getRemotePluginRepositories(),
- session.getRepositorySession() );
-
- pluginManager.setupPluginRealm( pluginDescriptor, session, null, null, null );
- }
- catch ( Exception e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
-
- ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader( pluginDescriptor.getClassRealm() );
-
- return container.lookupMap( role );
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( oldClassLoader );
- }
- }
-
- public Plugin getPluginDefinitionForPrefix( String prefix, MavenSession session, MavenProject project )
- {
- PluginPrefixRequest request = new DefaultPluginPrefixRequest( prefix, session );
- request.setPom( project.getModel() );
-
- try
- {
- PluginPrefixResult result = pluginPrefixResolver.resolve( request );
-
- Plugin plugin = new Plugin();
- plugin.setGroupId( result.getGroupId() );
- plugin.setArtifactId( result.getArtifactId() );
-
- return plugin;
- }
- catch ( NoPluginFoundForPrefixException e )
- {
- return null;
- }
- }
-
- public PluginDescriptor getPluginDescriptorForPrefix( String prefix )
- {
- MavenSession session = legacySupport.getSession();
-
- PluginPrefixRequest request = new DefaultPluginPrefixRequest( prefix, session );
-
- try
- {
- PluginPrefixResult result = pluginPrefixResolver.resolve( request );
-
- Plugin plugin = new Plugin();
- plugin.setGroupId( result.getGroupId() );
- plugin.setArtifactId( result.getArtifactId() );
-
- return loadPluginDescriptor( plugin, session.getCurrentProject(), session );
- }
- catch ( Exception e )
- {
- return null;
- }
- }
-
- public PluginDescriptor loadPluginDescriptor( Plugin plugin, MavenProject project, MavenSession session )
- throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
- InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException,
- PluginVersionNotFoundException
- {
- return verifyPlugin( plugin, project, session.getSettings(), session.getLocalRepository() );
- }
-
- public PluginDescriptor loadPluginFully( Plugin plugin, MavenProject project, MavenSession session )
- throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
- InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException,
- PluginVersionNotFoundException
- {
- PluginDescriptor pluginDescriptor = loadPluginDescriptor( plugin, project, session );
-
- try
- {
- pluginManager.setupPluginRealm( pluginDescriptor, session, null, null, null );
- }
- catch ( PluginResolutionException e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
-
- return pluginDescriptor;
- }
-
- public PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
- ArtifactRepository localRepository )
- throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
- InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException,
- PluginVersionNotFoundException
- {
- MavenSession session = legacySupport.getSession();
-
- if ( plugin.getVersion() == null )
- {
- PluginVersionRequest versionRequest =
- new DefaultPluginVersionRequest( plugin, session.getRepositorySession(),
- project.getRemotePluginRepositories() );
- plugin.setVersion( pluginVersionResolver.resolve( versionRequest ).getVersion() );
- }
-
- try
- {
- return pluginManager.getPluginDescriptor( plugin, project.getRemotePluginRepositories(),
- session.getRepositorySession() );
- }
- catch ( PluginResolutionException e )
- {
- throw new PluginNotFoundException( plugin, project.getPluginArtifactRepositories() );
- }
- catch ( PluginDescriptorParsingException e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
- catch ( InvalidPluginDescriptorException e )
- {
- throw new PluginManagerException( plugin, e.getMessage(), e );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PlexusUtilsInjector.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PlexusUtilsInjector.java
deleted file mode 100644
index 16a0b63c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PlexusUtilsInjector.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.DependencyGraphTransformationContext;
-import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.graph.DefaultDependencyNode;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.util.artifact.JavaScopes;
-
-/**
- * Injects plexus-utils:1.1 into a plugin's class path if it doesn't already declare a dependency on plexus-utils. This
- * is another legacy bit to provide backward-compat with Maven 2.x.
- *
- * @author Benjamin Bentmann
- */
-class PlexusUtilsInjector
- implements DependencyGraphTransformer
-{
-
- private static final String GID = "org.codehaus.plexus";
-
- private static final String AID = "plexus-utils";
-
- private static final String VER = "1.1";
-
- private static final String EXT = "jar";
-
- public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
- throws RepositoryException
- {
- if ( findPlexusUtils( node ) == null )
- {
- Artifact pu = new DefaultArtifact( GID, AID, null, EXT, VER );
- DefaultDependencyNode child = new DefaultDependencyNode( new Dependency( pu, JavaScopes.RUNTIME ) );
- child.setRepositories( node.getRepositories() );
- child.setRequestContext( node.getRequestContext() );
- node.getChildren().add( child );
- }
-
- return node;
- }
-
- private DependencyNode findPlexusUtils( DependencyNode node )
- {
- Artifact artifact = node.getDependency().getArtifact();
-
- if ( AID.equals( artifact.getArtifactId() ) && GID.equals( artifact.getGroupId() )
- && EXT.equals( artifact.getExtension() ) && "".equals( artifact.getClassifier() ) )
- {
- return node;
- }
-
- for ( DependencyNode child : node.getChildren() )
- {
- DependencyNode result = findPlexusUtils( child );
- if ( result != null )
- {
- return result;
- }
- }
-
- return null;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependenciesResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependenciesResolver.java
deleted file mode 100644
index 41942978..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependenciesResolver.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Assists in resolving the dependencies of a plugin. <strong>Warning:</strong> This is an internal utility interface
- * that is only public for technical reasons, it is not part of the public API. In particular, this interface can be
- * changed or deleted without prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginDependenciesResolver
-{
-
- /**
- * Resolves the main artifact of the specified plugin.
- *
- * @param plugin The plugin for which to resolve the main artifact, must not be {@code null}.
- * @param repositories The plugin repositories to use for resolving the plugin's main artifact, must not be {@code
- * null}.
- * @param session The repository session to use for resolving the plugin's main artifact, must not be {@code null}.
- * @return The resolved plugin artifact, never {@code null}.
- * @throws PluginResolutionException If the plugin artifact could not be resolved.
- */
- Artifact resolve( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginResolutionException;
-
- /**
- * Resolves the runtime dependencies of the specified plugin.
- *
- * @param plugin The plugin for which to resolve the dependencies, must not be {@code null}.
- * @param pluginArtifact The plugin's main artifact, may be {@code null}.
- * @param dependencyFilter A filter to exclude artifacts from resolution (but not collection), may be {@code null}.
- * @param repositories The plugin repositories to use for resolving the plugin artifacts, must not be {@code null}.
- * @param session The repository session to use for resolving the plugin artifacts, must not be {@code null}.
- * @return The dependency tree denoting the resolved plugin class path, never {@code null}.
- * @throws PluginResolutionException If any dependency could not be resolved.
- */
- DependencyNode resolve( Plugin plugin, Artifact pluginArtifact, DependencyFilter dependencyFilter,
- List<RemoteRepository> repositories, RepositorySystemSession session )
- throws PluginResolutionException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependencyResolutionListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependencyResolutionListener.java
deleted file mode 100644
index 533920a8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/PluginDependencyResolutionListener.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.IdentityHashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ResolutionListener;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-/**
- * Assists in detecting wagon providers brought into the plugin class path via legacy Maven core artifacts (e.g.
- * maven-core:2.0.6) and excluding them. A plugin should be able to explicitly declare dependencies on specific wagons
- * for its use. However, the (old) wagons pulled in transitively via legacy Maven core artifacts are usually not
- * intended as dependencies and more importantly screw up artifact resolution because they would get preferred over the
- * core wagon versions. This is a hack to provide backward-compat with Maven 2 (MNG-4528, MNG-4561).
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-class PluginDependencyResolutionListener
- implements ResolutionListener
-{
-
- private ArtifactFilter coreFilter;
-
- private LinkedList<Artifact> coreArtifacts = new LinkedList<Artifact>();
-
- private Artifact wagonProvider;
-
- private Map<Artifact, Object> bannedArtifacts = new IdentityHashMap<Artifact, Object>();
-
- public PluginDependencyResolutionListener( ArtifactFilter coreFilter )
- {
- this.coreFilter = coreFilter;
- }
-
- public void removeBannedDependencies( Collection<Artifact> artifacts )
- {
- if ( !bannedArtifacts.isEmpty() && artifacts != null )
- {
- for ( Iterator<Artifact> it = artifacts.iterator(); it.hasNext(); )
- {
- Artifact artifact = it.next();
- if ( bannedArtifacts.containsKey( artifact ) )
- {
- it.remove();
- }
- }
- }
- }
-
- public void startProcessChildren( Artifact artifact )
- {
- if ( wagonProvider == null )
- {
- if ( isLegacyCoreArtifact( artifact ) )
- {
- coreArtifacts.addFirst( artifact );
- }
- else if ( !coreArtifacts.isEmpty() && isWagonProvider( artifact ) )
- {
- wagonProvider = artifact;
- bannedArtifacts.put( artifact, null );
- }
- }
- }
-
- private boolean isLegacyCoreArtifact( Artifact artifact )
- {
- String version = artifact.getVersion();
- return version != null && version.startsWith( "2." ) && !coreFilter.include( artifact );
- }
-
- public void endProcessChildren( Artifact artifact )
- {
- if ( wagonProvider == artifact )
- {
- wagonProvider = null;
- }
- else if ( coreArtifacts.peek() == artifact )
- {
- coreArtifacts.removeFirst();
- }
- }
-
- public void includeArtifact( Artifact artifact )
- {
- if ( wagonProvider != null )
- {
- bannedArtifacts.put( artifact, null );
- }
- }
-
- private boolean isWagonProvider( Artifact artifact )
- {
- if ( "org.apache.maven.wagon".equals( artifact.getGroupId() ) )
- {
- return artifact.getArtifactId().startsWith( "wagon-" );
- }
- return false;
- }
-
- public void manageArtifact( Artifact artifact, Artifact replacement )
- {
- }
-
- public void omitForCycle( Artifact artifact )
- {
- }
-
- public void omitForNearer( Artifact omitted, Artifact kept )
- {
- }
-
- public void restrictRange( Artifact artifact, Artifact replacement, VersionRange newRange )
- {
- }
-
- public void selectVersionFromRange( Artifact artifact )
- {
- }
-
- public void testArtifact( Artifact node )
- {
- }
-
- public void updateScope( Artifact artifact, String scope )
- {
- }
-
- public void updateScopeCurrentPom( Artifact artifact, String ignoredScope )
- {
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/ValidatingConfigurationListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/ValidatingConfigurationListener.java
deleted file mode 100644
index 706694b8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/ValidatingConfigurationListener.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.Parameter;
-import org.codehaus.plexus.component.configurator.ConfigurationListener;
-
-/**
- * A configuration listener to help validate the plugin configuration. For instance, check for required but missing
- * parameters.
- *
- * @author Benjamin Bentmann
- */
-class ValidatingConfigurationListener
- implements ConfigurationListener
-{
-
- private final Object mojo;
-
- private final ConfigurationListener delegate;
-
- private final Map<String, Parameter> missingParameters;
-
- public ValidatingConfigurationListener( Object mojo, MojoDescriptor mojoDescriptor, ConfigurationListener delegate )
- {
- this.mojo = mojo;
- this.delegate = delegate;
- this.missingParameters = new HashMap<String, Parameter>();
-
- if ( mojoDescriptor.getParameters() != null )
- {
- for ( Parameter param : mojoDescriptor.getParameters() )
- {
- if ( param.isRequired() )
- {
- missingParameters.put( param.getName(), param );
- }
- }
- }
- }
-
- public Collection<Parameter> getMissingParameters()
- {
- return missingParameters.values();
- }
-
- public void notifyFieldChangeUsingSetter( String fieldName, Object value, Object target )
- {
- delegate.notifyFieldChangeUsingSetter( fieldName, value, target );
-
- if ( mojo == target )
- {
- notify( fieldName, value );
- }
- }
-
- public void notifyFieldChangeUsingReflection( String fieldName, Object value, Object target )
- {
- delegate.notifyFieldChangeUsingReflection( fieldName, value, target );
-
- if ( mojo == target )
- {
- notify( fieldName, value );
- }
- }
-
- private void notify( String fieldName, Object value )
- {
- if ( value != null )
- {
- missingParameters.remove( fieldName );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/WagonExcluder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/WagonExcluder.java
deleted file mode 100644
index 43e8cfc4..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/internal/WagonExcluder.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.apache.maven.plugin.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencySelector;
-import org.eclipse.aether.graph.Dependency;
-
-/**
- * Assists in detecting wagon providers brought into the plugin class path via legacy Maven core artifacts (e.g.
- * maven-core:2.0.6) and excluding them. A plugin should be able to explicitly declare dependencies on specific wagons
- * for its use. However, the (old) wagons pulled in transitively via legacy Maven core artifacts are usually not
- * intended as dependencies and more importantly screw up artifact resolution because they would get preferred over the
- * core wagon versions. This is a hack to provide backward-compat with Maven 2 (MNG-4528, MNG-4561).
- *
- * @author Benjamin Bentmann
- */
-class WagonExcluder
- implements DependencySelector
-{
-
- private final boolean coreArtifact;
-
- public WagonExcluder()
- {
- this( false );
- }
-
- private WagonExcluder( boolean coreArtifact )
- {
- this.coreArtifact = coreArtifact;
- }
-
- public boolean selectDependency( Dependency dependency )
- {
- return !coreArtifact || !isWagonProvider( dependency.getArtifact() );
- }
-
- public DependencySelector deriveChildSelector( DependencyCollectionContext context )
- {
- if ( coreArtifact || !isLegacyCoreArtifact( context.getDependency().getArtifact() ) )
- {
- return this;
- }
- else
- {
- return new WagonExcluder( true );
- }
- }
-
- private boolean isLegacyCoreArtifact( Artifact artifact )
- {
- String version = artifact.getVersion();
- return version != null && version.startsWith( "2." ) && artifact.getArtifactId().startsWith( "maven-" )
- && artifact.getGroupId().equals( "org.apache.maven" );
- }
-
- private boolean isWagonProvider( Artifact artifact )
- {
- if ( "org.apache.maven.wagon".equals( artifact.getGroupId() ) )
- {
- return artifact.getArtifactId().startsWith( "wagon-" );
- }
- return false;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( obj == this )
- {
- return true;
- }
- else if ( obj == null || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
-
- WagonExcluder that = (WagonExcluder) obj;
- return coreArtifact == that.coreArtifact;
- }
-
- @Override
- public int hashCode()
- {
- int hash = getClass().hashCode();
- hash = hash * 31 + ( coreArtifact ? 1 : 0 );
- return hash;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java
deleted file mode 100644
index 7ab86cfd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package org.apache.maven.plugin.prefix;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Model;
-import org.apache.maven.project.MavenProject;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Collects settings required to resolve a plugin prefix.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public class DefaultPluginPrefixRequest
- implements PluginPrefixRequest
-{
-
- private String prefix;
-
- private List<String> pluginGroups = Collections.emptyList();
-
- private Model pom;
-
- private List<RemoteRepository> repositories = Collections.emptyList();
-
- private RepositorySystemSession session;
-
- /**
- * Creates an empty request.
- */
- public DefaultPluginPrefixRequest()
- {
- }
-
- /**
- * Creates a request for the specified plugin prefix and build session. The provided build session will be used to
- * configure repository settings. If the session has a current project, its plugin repositories and model will be
- * used as well.
- *
- * @param prefix The plugin prefix to resolve, must not be {@code null}.
- * @param session The build session from which to derive further settings, must not be {@code null}.
- */
- public DefaultPluginPrefixRequest( String prefix, MavenSession session )
- {
- setPrefix( prefix );
-
- setRepositorySession( session.getRepositorySession() );
-
- MavenProject project = session.getCurrentProject();
- if ( project != null )
- {
- setRepositories( project.getRemotePluginRepositories() );
- setPom( project.getModel() );
- }
-
- setPluginGroups( session.getPluginGroups() );
- }
-
- public String getPrefix()
- {
- return prefix;
- }
-
- public DefaultPluginPrefixRequest setPrefix( String prefix )
- {
- this.prefix = prefix;
-
- return this;
- }
-
- public List<String> getPluginGroups()
- {
- return pluginGroups;
- }
-
- public DefaultPluginPrefixRequest setPluginGroups( List<String> pluginGroups )
- {
- if ( pluginGroups != null )
- {
- this.pluginGroups = pluginGroups;
- }
- else
- {
- this.pluginGroups = Collections.emptyList();
- }
-
- return this;
- }
-
- public Model getPom()
- {
- return pom;
- }
-
- public DefaultPluginPrefixRequest setPom( Model pom )
- {
- this.pom = pom;
-
- return this;
- }
-
- public List<RemoteRepository> getRepositories()
- {
- return repositories;
- }
-
- public DefaultPluginPrefixRequest setRepositories( List<RemoteRepository> repositories )
- {
- if ( repositories != null )
- {
- this.repositories = repositories;
- }
- else
- {
- this.repositories = Collections.emptyList();
- }
-
- return this;
- }
-
- public RepositorySystemSession getRepositorySession()
- {
- return session;
- }
-
- public DefaultPluginPrefixRequest setRepositorySession( RepositorySystemSession session )
- {
- this.session = session;
-
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java
deleted file mode 100644
index 32870217..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/NoPluginFoundForPrefixException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.plugin.prefix;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-
-public class NoPluginFoundForPrefixException
- extends Exception
-{
-
- public NoPluginFoundForPrefixException( String prefix, List<String> pluginGroups, LocalRepository localRepository,
- List<RemoteRepository> remoteRepositories )
- {
- super( "No plugin found for prefix '" + prefix + "' in the current project and in the plugin groups "
- + pluginGroups + " available from the repositories " + format( localRepository, remoteRepositories ) );
- }
-
- private static String format( LocalRepository localRepository, List<RemoteRepository> remoteRepositories )
- {
- String repos = "[";
-
- if ( localRepository != null )
- {
- repos += localRepository.getId() + " (" + localRepository.getBasedir() + ")";
- }
-
- if ( remoteRepositories != null && !remoteRepositories.isEmpty() )
- {
- for ( RemoteRepository repository : remoteRepositories )
- {
- repos += ", ";
-
- if ( repository != null )
- {
- repos += repository.getId() + " (" + repository.getUrl() + ")";
- }
- }
- }
-
- repos += "]";
-
- return repos;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixRequest.java
deleted file mode 100644
index 23df66ee..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixRequest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.apache.maven.plugin.prefix;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Collects settings required to resolve a plugin prefix.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginPrefixRequest
-{
-
- /**
- * Gets the prefix of the plugin.
- *
- * @return The prefix of the plugin.
- */
- String getPrefix();
-
- /**
- * Sets the prefix of the plugin.
- *
- * @param prefix The prefix of the plugin.
- * @return This request, never {@code null}.
- */
- PluginPrefixRequest setPrefix( String prefix );
-
- /**
- * Gets the list of group ids to scan for the plugin prefix.
- *
- * @return The list of group ids to scan for the plugin prefix, never {@code null}.
- */
- List<String> getPluginGroups();
-
- /**
- * Sets the list of group ids to scan for the plugin prefix.
- *
- * @param pluginGroups The list of group ids to scan for the plugin prefix, may be {@code null}.
- * @return This request, never {@code null}.
- */
- PluginPrefixRequest setPluginGroups( List<String> pluginGroups );
-
- /**
- * Gets the POM whose build plugins are to be scanned for the prefix.
- *
- * @return The POM whose build plugins are to be scanned for the prefix or {@code null} to only search the plugin
- * repositories.
- */
- Model getPom();
-
- /**
- * Sets the POM whose build plugins are to be scanned for the prefix.
- *
- * @param pom The POM whose build plugins are to be scanned for the prefix, may be {@code null} to only search the
- * plugin repositories.
- * @return This request, never {@code null}.
- */
- PluginPrefixRequest setPom( Model pom );
-
- /**
- * Gets the remote repositories to use.
- *
- * @return The remote repositories to use, never {@code null}.
- */
- List<RemoteRepository> getRepositories();
-
- /**
- * Sets the remote repositories to use. <em>Note:</em> When creating a request from a project, be sure to use the
- * plugin repositories and not the regular project repositories.
- *
- * @param repositories The remote repositories to use.
- * @return This request, never {@code null}.
- */
- PluginPrefixRequest setRepositories( List<RemoteRepository> repositories );
-
- /**
- * Gets the session to use for repository access.
- *
- * @return The repository session or {@code null} if not set.
- */
- RepositorySystemSession getRepositorySession();
-
- /**
- * Sets the session to use for repository access.
- *
- * @param repositorySession The repository session to use.
- * @return This request, never {@code null}.
- */
- PluginPrefixRequest setRepositorySession( RepositorySystemSession repositorySession );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResolver.java
deleted file mode 100644
index 943e6833..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResolver.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.plugin.prefix;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Resolves a plugin prefix.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginPrefixResolver
-{
-
- /**
- * Resolves the plugin prefix for the specified request.
- *
- * @param request The request that holds the details about the plugin and the repositories to consult, must not be
- * {@code null}.
- * @return The result of the prefix resolution, never {@code null}.
- * @throws NoPluginFoundForPrefixException If the plugin prefix could not be resolved.
- */
- PluginPrefixResult resolve( PluginPrefixRequest request )
- throws NoPluginFoundForPrefixException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResult.java
deleted file mode 100644
index 8fe1a71a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResult.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven.plugin.prefix;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.repository.ArtifactRepository;
-
-/**
- * Describes the result of a plugin prefix resolution request.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginPrefixResult
-{
-
- /**
- * The resolved group id for the plugin.
- *
- * @return The resolved group id for the plugin, never {@code null}.
- */
- String getGroupId();
-
- /**
- * The resolved artifact id for the plugin.
- *
- * @return The resolved artifact id for the plugin, never {@code null}.
- */
- String getArtifactId();
-
- /**
- * The repository from which the plugin prefix was resolved.
- *
- * @return The repository from which the plugin prefix was resolved or {@code null} if the prefix was resolved from
- * the supplied POM.
- */
- ArtifactRepository getRepository();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java
deleted file mode 100644
index 8d2ad0f7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java
+++ /dev/null
@@ -1,294 +0,0 @@
-package org.apache.maven.plugin.prefix.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.io.MetadataReader;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.BuildPluginManager;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.prefix.PluginPrefixRequest;
-import org.apache.maven.plugin.prefix.PluginPrefixResolver;
-import org.apache.maven.plugin.prefix.PluginPrefixResult;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryListener;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.repository.ArtifactRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.resolution.MetadataRequest;
-import org.eclipse.aether.resolution.MetadataResult;
-
-/**
- * Resolves a plugin prefix.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-@Component( role = PluginPrefixResolver.class )
-public class DefaultPluginPrefixResolver
- implements PluginPrefixResolver
-{
-
- private static final String REPOSITORY_CONTEXT = "plugin";
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private BuildPluginManager pluginManager;
-
- @Requirement
- private RepositorySystem repositorySystem;
-
- @Requirement
- private MetadataReader metadataReader;
-
- public PluginPrefixResult resolve( PluginPrefixRequest request )
- throws NoPluginFoundForPrefixException
- {
- logger.debug( "Resolving plugin prefix " + request.getPrefix() + " from " + request.getPluginGroups() );
-
- PluginPrefixResult result = resolveFromProject( request );
-
- if ( result == null )
- {
- result = resolveFromRepository( request );
-
- if ( result == null )
- {
- throw new NoPluginFoundForPrefixException( request.getPrefix(), request.getPluginGroups(),
- request.getRepositorySession().getLocalRepository(),
- request.getRepositories() );
- }
- else if ( logger.isDebugEnabled() )
- {
- logger.debug( "Resolved plugin prefix " + request.getPrefix() + " to " + result.getGroupId() + ":"
- + result.getArtifactId() + " from repository "
- + ( result.getRepository() != null ? result.getRepository().getId() : "null" ) );
- }
- }
- else if ( logger.isDebugEnabled() )
- {
- logger.debug( "Resolved plugin prefix " + request.getPrefix() + " to " + result.getGroupId() + ":"
- + result.getArtifactId() + " from POM " + request.getPom() );
- }
-
- return result;
- }
-
- private PluginPrefixResult resolveFromProject( PluginPrefixRequest request )
- {
- PluginPrefixResult result = null;
-
- if ( request.getPom() != null && request.getPom().getBuild() != null )
- {
- Build build = request.getPom().getBuild();
-
- result = resolveFromProject( request, build.getPlugins() );
-
- if ( result == null && build.getPluginManagement() != null )
- {
- result = resolveFromProject( request, build.getPluginManagement().getPlugins() );
- }
- }
-
- return result;
- }
-
- private PluginPrefixResult resolveFromProject( PluginPrefixRequest request, List<Plugin> plugins )
- {
- for ( Plugin plugin : plugins )
- {
- try
- {
- PluginDescriptor pluginDescriptor =
- pluginManager.loadPlugin( plugin, request.getRepositories(), request.getRepositorySession() );
-
- if ( request.getPrefix().equals( pluginDescriptor.getGoalPrefix() ) )
- {
- return new DefaultPluginPrefixResult( plugin );
- }
- }
- catch ( Exception e )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.warn( "Failed to retrieve plugin descriptor for " + plugin.getId() + ": " + e.getMessage(),
- e );
- }
- else
- {
- logger.warn( "Failed to retrieve plugin descriptor for " + plugin.getId() + ": " + e.getMessage() );
- }
- }
- }
-
- return null;
- }
-
- private PluginPrefixResult resolveFromRepository( PluginPrefixRequest request )
- {
- RequestTrace trace = RequestTrace.newChild( null, request );
-
- List<MetadataRequest> requests = new ArrayList<MetadataRequest>();
-
- for ( String pluginGroup : request.getPluginGroups() )
- {
- org.eclipse.aether.metadata.Metadata metadata =
- new DefaultMetadata( pluginGroup, "maven-metadata.xml", DefaultMetadata.Nature.RELEASE_OR_SNAPSHOT );
-
- requests.add( new MetadataRequest( metadata, null, REPOSITORY_CONTEXT ).setTrace( trace ) );
-
- for ( RemoteRepository repository : request.getRepositories() )
- {
- requests.add( new MetadataRequest( metadata, repository, REPOSITORY_CONTEXT ).setTrace( trace ) );
- }
- }
-
- // initial try, use locally cached metadata
-
- List<MetadataResult> results = repositorySystem.resolveMetadata( request.getRepositorySession(), requests );
- requests.clear();
-
- PluginPrefixResult result = processResults( request, trace, results, requests );
-
- if ( result != null )
- {
- return result;
- }
-
- // second try, refetch all (possibly outdated) metadata that wasn't updated in the first attempt
-
- if ( !request.getRepositorySession().isOffline() && !requests.isEmpty() )
- {
- DefaultRepositorySystemSession session =
- new DefaultRepositorySystemSession( request.getRepositorySession() );
- session.setUpdatePolicy( RepositoryPolicy.UPDATE_POLICY_ALWAYS );
-
- results = repositorySystem.resolveMetadata( session, requests );
-
- return processResults( request, trace, results, null );
- }
-
- return null;
- }
-
- private PluginPrefixResult processResults( PluginPrefixRequest request, RequestTrace trace,
- List<MetadataResult> results, List<MetadataRequest> requests )
- {
- for ( MetadataResult res : results )
- {
- org.eclipse.aether.metadata.Metadata metadata = res.getMetadata();
-
- if ( metadata != null )
- {
- ArtifactRepository repository = res.getRequest().getRepository();
- if ( repository == null )
- {
- repository = request.getRepositorySession().getLocalRepository();
- }
-
- PluginPrefixResult result =
- resolveFromRepository( request, trace, metadata.getGroupId(), metadata, repository );
-
- if ( result != null )
- {
- return result;
- }
- }
-
- if ( requests != null && !res.isUpdated() )
- {
- requests.add( res.getRequest() );
- }
- }
-
- return null;
- }
-
- private PluginPrefixResult resolveFromRepository( PluginPrefixRequest request, RequestTrace trace,
- String pluginGroup,
- org.eclipse.aether.metadata.Metadata metadata,
- ArtifactRepository repository )
- {
- if ( metadata != null && metadata.getFile() != null && metadata.getFile().isFile() )
- {
- try
- {
- Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE );
-
- Metadata pluginGroupMetadata = metadataReader.read( metadata.getFile(), options );
-
- List<org.apache.maven.artifact.repository.metadata.Plugin> plugins = pluginGroupMetadata.getPlugins();
-
- if ( plugins != null )
- {
- for ( org.apache.maven.artifact.repository.metadata.Plugin plugin : plugins )
- {
- if ( request.getPrefix().equals( plugin.getPrefix() ) )
- {
- return new DefaultPluginPrefixResult( pluginGroup, plugin.getArtifactId(), repository );
- }
- }
- }
- }
- catch ( IOException e )
- {
- invalidMetadata( request.getRepositorySession(), trace, metadata, repository, e );
- }
- }
-
- return null;
- }
-
- private void invalidMetadata( RepositorySystemSession session, RequestTrace trace,
- org.eclipse.aether.metadata.Metadata metadata, ArtifactRepository repository,
- Exception exception )
- {
- RepositoryListener listener = session.getRepositoryListener();
- if ( listener != null )
- {
- RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID );
- event.setTrace( trace );
- event.setMetadata( metadata );
- event.setException( exception );
- event.setRepository( repository );
- listener.metadataInvalid( event.build() );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResult.java
deleted file mode 100644
index 6a248bff..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResult.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.apache.maven.plugin.prefix.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.prefix.PluginPrefixResult;
-import org.eclipse.aether.repository.ArtifactRepository;
-
-/**
- * Describes the result of a plugin prefix resolution request.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-class DefaultPluginPrefixResult
- implements PluginPrefixResult
-{
-
- private String groupId;
-
- private String artifactId;
-
- private ArtifactRepository repository;
-
- public DefaultPluginPrefixResult()
- {
- // does nothing
- }
-
- public DefaultPluginPrefixResult( Plugin plugin )
- {
- groupId = plugin.getGroupId();
- artifactId = plugin.getArtifactId();
- }
-
- public DefaultPluginPrefixResult( String groupId, String artifactId, ArtifactRepository repository )
- {
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.repository = repository;
- }
-
- public String getGroupId()
- {
- return groupId;
- }
-
- public void setGroupId( String groupId )
- {
- this.groupId = groupId;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
- public void setArtifactId( String artifactId )
- {
- this.artifactId = artifactId;
- }
-
- public ArtifactRepository getRepository()
- {
- return repository;
- }
-
- public void setRepository( ArtifactRepository repository )
- {
- this.repository = repository;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java
deleted file mode 100644
index 9907066b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.apache.maven.plugin.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.project.MavenProject;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Collects settings required to resolve the version for a plugin.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public class DefaultPluginVersionRequest
- implements PluginVersionRequest
-{
-
- private String groupId;
-
- private String artifactId;
-
- private Model pom;
-
- private List<RemoteRepository> repositories = Collections.emptyList();
-
- private RepositorySystemSession session;
-
- /**
- * Creates an empty request.
- */
- public DefaultPluginVersionRequest()
- {
- }
-
- /**
- * Creates a request for the specified plugin by copying settings from the specified build session. If the session
- * has a current project, its plugin repositories will be used as well.
- *
- * @param plugin The plugin for which to resolve a version, must not be {@code null}.
- * @param session The Maven session to use, must not be {@code null}.
- */
- public DefaultPluginVersionRequest( Plugin plugin, MavenSession session )
- {
- setGroupId( plugin.getGroupId() );
- setArtifactId( plugin.getArtifactId() );
-
- setRepositorySession( session.getRepositorySession() );
-
- MavenProject project = session.getCurrentProject();
- if ( project != null )
- {
- setRepositories( project.getRemotePluginRepositories() );
- }
- }
-
- /**
- * Creates a request for the specified plugin using the given repository session and plugin repositories.
- *
- * @param plugin The plugin for which to resolve a version, must not be {@code null}.
- * @param session The repository session to use, must not be {@code null}.
- * @param repositories The plugin repositories to query, may be {@code null}.
- */
- public DefaultPluginVersionRequest( Plugin plugin, RepositorySystemSession session,
- List<RemoteRepository> repositories )
- {
- setGroupId( plugin.getGroupId() );
- setArtifactId( plugin.getArtifactId() );
-
- setRepositorySession( session );
-
- setRepositories( repositories );
- }
-
- public String getGroupId()
- {
- return groupId;
- }
-
- public DefaultPluginVersionRequest setGroupId( String groupId )
- {
- this.groupId = groupId;
-
- return this;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
- public DefaultPluginVersionRequest setArtifactId( String artifactId )
- {
- this.artifactId = artifactId;
-
- return this;
- }
-
- public Model getPom()
- {
- return pom;
- }
-
- public DefaultPluginVersionRequest setPom( Model pom )
- {
- this.pom = pom;
-
- return this;
- }
-
- public List<RemoteRepository> getRepositories()
- {
- return repositories;
- }
-
- public DefaultPluginVersionRequest setRepositories( List<RemoteRepository> repositories )
- {
- if ( repositories != null )
- {
- this.repositories = repositories;
- }
- else
- {
- this.repositories = Collections.emptyList();
- }
-
- return this;
- }
-
- public RepositorySystemSession getRepositorySession()
- {
- return session;
- }
-
- public DefaultPluginVersionRequest setRepositorySession( RepositorySystemSession session )
- {
- this.session = session;
-
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java
deleted file mode 100644
index b5539be0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionNotFoundException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.maven.plugin.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-public class PluginVersionNotFoundException
- extends Exception
-{
- private final String groupId;
-
- private final String artifactId;
-
- public PluginVersionNotFoundException( String groupId, String artifactId )
- {
- super( "The plugin \'" + groupId + ":" + artifactId + "\' does not exist or no valid version could be found" );
-
- this.groupId = groupId;
- this.artifactId = artifactId;
- }
-
- public String getGroupId()
- {
- return groupId;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java
deleted file mode 100644
index b22f9e1d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionRequest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.apache.maven.plugin.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * Collects settings required to resolve the version for a plugin.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginVersionRequest
-{
-
- /**
- * Gets the group id of the plugin.
- *
- * @return The group id of the plugin.
- */
- String getGroupId();
-
- /**
- * Sets the group id of the plugin.
- *
- * @param groupId The group id of the plugin.
- * @return This request, never {@code null}.
- */
- PluginVersionRequest setGroupId( String groupId );
-
- /**
- * Gets the artifact id of the plugin.
- *
- * @return The artifact id of the plugin.
- */
- String getArtifactId();
-
- /**
- * Sets the artifact id of the plugin.
- *
- * @param artifactId The artifact id of the plugin.
- * @return This request, never {@code null}.
- */
- PluginVersionRequest setArtifactId( String artifactId );
-
- /**
- * Gets the POM whose build plugins are to be scanned for the version.
- *
- * @return The POM whose build plugins are to be scanned for the verion or {@code null} to only search the plugin
- * repositories.
- */
- Model getPom();
-
- /**
- * Sets the POM whose build plugins are to be scanned for the version.
- *
- * @param pom The POM whose build plugins are to be scanned for the version, may be {@code null} to only search the
- * plugin repositories.
- * @return This request, never {@code null}.
- */
- PluginVersionRequest setPom( Model pom );
-
- /**
- * Gets the remote repositories to use.
- *
- * @return The remote repositories to use, never {@code null}.
- */
- List<RemoteRepository> getRepositories();
-
- /**
- * Sets the remote repositories to use. <em>Note:</em> When creating a request from a project, be sure to use the
- * plugin repositories and not the regular project repositories.
- *
- * @param repositories The remote repositories to use.
- * @return This request, never {@code null}.
- */
- PluginVersionRequest setRepositories( List<RemoteRepository> repositories );
-
- /**
- * Gets the session to use for repository access.
- *
- * @return The repository session or {@code null} if not set.
- */
- RepositorySystemSession getRepositorySession();
-
- /**
- * Sets the session to use for repository access.
- *
- * @param repositorySession The repository session to use.
- * @return This request, never {@code null}.
- */
- PluginVersionRequest setRepositorySession( RepositorySystemSession repositorySession );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java
deleted file mode 100644
index 84ec0967..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolutionException.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.apache.maven.plugin.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-
-public class PluginVersionResolutionException
- extends Exception
-{
- private final String groupId;
-
- private final String artifactId;
-
- private final String baseMessage;
-
- public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage, Throwable cause )
- {
- super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\': " + baseMessage, cause );
-
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.baseMessage = baseMessage;
- }
-
- public PluginVersionResolutionException( String groupId, String artifactId, String baseMessage )
- {
- super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\': " + baseMessage );
-
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.baseMessage = baseMessage;
- }
-
- public PluginVersionResolutionException( String groupId, String artifactId, LocalRepository localRepository,
- List<RemoteRepository> remoteRepositories, String baseMessage )
- {
- super( "Error resolving version for plugin \'" + groupId + ":" + artifactId + "\' from the repositories "
- + format( localRepository, remoteRepositories ) + ": " + baseMessage );
-
- this.groupId = groupId;
- this.artifactId = artifactId;
- this.baseMessage = baseMessage;
- }
-
- public String getGroupId()
- {
- return groupId;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
- public String getBaseMessage()
- {
- return baseMessage;
- }
-
- private static String format( LocalRepository localRepository, List<RemoteRepository> remoteRepositories )
- {
- String repos = "[";
-
- if ( localRepository != null )
- {
- repos += localRepository.getId() + " (" + localRepository.getBasedir() + ")";
- }
-
- if ( remoteRepositories != null && !remoteRepositories.isEmpty() )
- {
- for ( RemoteRepository repository : remoteRepositories )
- {
- repos += ", ";
-
- if ( repository != null )
- {
- repos += repository.getId() + " (" + repository.getUrl() + ")";
- }
- }
- }
-
- repos += "]";
-
- return repos;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java
deleted file mode 100644
index 935fdfc5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResolver.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.plugin.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Resolves a version for a plugin.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginVersionResolver
-{
-
- /**
- * Resolves the version for the specified request.
- *
- * @param request The request that holds the details about the plugin and the repositories to consult, must not be
- * {@code null}.
- * @return The result of the version resolution, never {@code null}.
- * @throws PluginVersionResolutionException If the plugin version could not be resolved.
- */
- PluginVersionResult resolve( PluginVersionRequest request )
- throws PluginVersionResolutionException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java
deleted file mode 100644
index 09a69e96..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/PluginVersionResult.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.apache.maven.plugin.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.repository.ArtifactRepository;
-
-/**
- * Describes the result of a plugin version resolution request.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public interface PluginVersionResult
-{
-
- /**
- * The resolved plugin version.
- *
- * @return The resolved plugin version, never {@code null}.
- */
- String getVersion();
-
- /**
- * The repository from which the plugin version was resolved.
- *
- * @return The repository from which the plugin version was resolved, never {@code null}.
- */
- ArtifactRepository getRepository();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
deleted file mode 100644
index 76b6bfd6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
+++ /dev/null
@@ -1,408 +0,0 @@
-package org.apache.maven.plugin.version.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeSet;
-
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.apache.maven.artifact.repository.metadata.io.MetadataReader;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.MavenPluginManager;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.version.PluginVersionRequest;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolver;
-import org.apache.maven.plugin.version.PluginVersionResult;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.RepositoryEvent.EventType;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryListener;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.metadata.DefaultMetadata;
-import org.eclipse.aether.repository.ArtifactRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.MetadataRequest;
-import org.eclipse.aether.resolution.MetadataResult;
-import org.eclipse.aether.util.version.GenericVersionScheme;
-import org.eclipse.aether.version.InvalidVersionSpecificationException;
-import org.eclipse.aether.version.Version;
-import org.eclipse.aether.version.VersionScheme;
-
-/**
- * Resolves a version for a plugin.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-@Component( role = PluginVersionResolver.class )
-public class DefaultPluginVersionResolver
- implements PluginVersionResolver
-{
-
- private static final String REPOSITORY_CONTEXT = "plugin";
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private RepositorySystem repositorySystem;
-
- @Requirement
- private MetadataReader metadataReader;
-
- @Requirement
- private MavenPluginManager pluginManager;
-
- public PluginVersionResult resolve( PluginVersionRequest request )
- throws PluginVersionResolutionException
- {
- logger.debug( "Resolving plugin version for " + request.getGroupId() + ":" + request.getArtifactId() );
-
- PluginVersionResult result = resolveFromProject( request );
-
- if ( result == null )
- {
- result = resolveFromRepository( request );
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Resolved plugin version for " + request.getGroupId() + ":" + request.getArtifactId()
- + " to " + result.getVersion() + " from repository " + result.getRepository() );
- }
- }
- else if ( logger.isDebugEnabled() )
- {
- logger.debug( "Resolved plugin version for " + request.getGroupId() + ":" + request.getArtifactId()
- + " to " + result.getVersion() + " from POM " + request.getPom() );
- }
-
- return result;
- }
-
- private PluginVersionResult resolveFromRepository( PluginVersionRequest request )
- throws PluginVersionResolutionException
- {
- RequestTrace trace = RequestTrace.newChild( null, request );
-
- DefaultPluginVersionResult result = new DefaultPluginVersionResult();
-
- org.eclipse.aether.metadata.Metadata metadata =
- new DefaultMetadata( request.getGroupId(), request.getArtifactId(), "maven-metadata.xml",
- DefaultMetadata.Nature.RELEASE_OR_SNAPSHOT );
-
- List<MetadataRequest> requests = new ArrayList<MetadataRequest>();
-
- requests.add( new MetadataRequest( metadata, null, REPOSITORY_CONTEXT ).setTrace( trace ) );
-
- for ( RemoteRepository repository : request.getRepositories() )
- {
- requests.add( new MetadataRequest( metadata, repository, REPOSITORY_CONTEXT ).setTrace( trace ) );
- }
-
- List<MetadataResult> results = repositorySystem.resolveMetadata( request.getRepositorySession(), requests );
-
- Versions versions = new Versions();
-
- for ( MetadataResult res : results )
- {
- ArtifactRepository repository = res.getRequest().getRepository();
- if ( repository == null )
- {
- repository = request.getRepositorySession().getLocalRepository();
- }
-
- mergeMetadata( request.getRepositorySession(), trace, versions, res.getMetadata(), repository );
- }
-
- selectVersion( result, request, versions );
-
- return result;
- }
-
- private void selectVersion( DefaultPluginVersionResult result, PluginVersionRequest request, Versions versions )
- throws PluginVersionResolutionException
- {
- String version = null;
- ArtifactRepository repo = null;
-
- if ( StringUtils.isNotEmpty( versions.releaseVersion ) )
- {
- version = versions.releaseVersion;
- repo = versions.releaseRepository;
- }
- else if ( StringUtils.isNotEmpty( versions.latestVersion ) )
- {
- version = versions.latestVersion;
- repo = versions.latestRepository;
- }
- if ( version != null && !isCompatible( request, version ) )
- {
- versions.versions.remove( version );
- version = null;
- }
-
- if ( version == null )
- {
- VersionScheme versionScheme = new GenericVersionScheme();
-
- TreeSet<Version> releases = new TreeSet<Version>( Collections.reverseOrder() );
- TreeSet<Version> snapshots = new TreeSet<Version>( Collections.reverseOrder() );
-
- for ( String ver : versions.versions.keySet() )
- {
- try
- {
- Version v = versionScheme.parseVersion( ver );
-
- if ( ver.endsWith( "-SNAPSHOT" ) )
- {
- snapshots.add( v );
- }
- else
- {
- releases.add( v );
- }
- }
- catch ( InvalidVersionSpecificationException e )
- {
- // ignore
- }
- }
-
- for ( Version v : releases )
- {
- String ver = v.toString();
- if ( isCompatible( request, ver ) )
- {
- version = ver;
- repo = versions.versions.get( version );
- break;
- }
- }
-
- if ( version == null )
- {
- for ( Version v : snapshots )
- {
- String ver = v.toString();
- if ( isCompatible( request, ver ) )
- {
- version = ver;
- repo = versions.versions.get( version );
- break;
- }
- }
- }
- }
-
- if ( version != null )
- {
- result.setVersion( version );
- result.setRepository( repo );
- }
- else
- {
- throw new PluginVersionResolutionException( request.getGroupId(), request.getArtifactId(),
- request.getRepositorySession().getLocalRepository(),
- request.getRepositories(),
- "Plugin not found in any plugin repository" );
- }
- }
-
- private boolean isCompatible( PluginVersionRequest request, String version )
- {
- Plugin plugin = new Plugin();
- plugin.setGroupId( request.getGroupId() );
- plugin.setArtifactId( request.getArtifactId() );
- plugin.setVersion( version );
-
- PluginDescriptor pluginDescriptor;
-
- try
- {
- pluginDescriptor =
- pluginManager.getPluginDescriptor( plugin, request.getRepositories(), request.getRepositorySession() );
- }
- catch ( PluginResolutionException e )
- {
- logger.debug( "Ignoring unresolvable plugin version " + version, e );
- return false;
- }
- catch ( Exception e )
- {
- // ignore for now and delay failure to higher level processing
- return true;
- }
-
- try
- {
- pluginManager.checkRequiredMavenVersion( pluginDescriptor );
- }
- catch ( Exception e )
- {
- logger.debug( "Ignoring incompatible plugin version " + version + ": " + e.getMessage() );
- return false;
- }
-
- return true;
- }
-
- private void mergeMetadata( RepositorySystemSession session, RequestTrace trace, Versions versions,
- org.eclipse.aether.metadata.Metadata metadata, ArtifactRepository repository )
- {
- if ( metadata != null && metadata.getFile() != null && metadata.getFile().isFile() )
- {
- try
- {
- Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE );
-
- Metadata repoMetadata = metadataReader.read( metadata.getFile(), options );
-
- mergeMetadata( versions, repoMetadata, repository );
- }
- catch ( IOException e )
- {
- invalidMetadata( session, trace, metadata, repository, e );
- }
- }
- }
-
- private void invalidMetadata( RepositorySystemSession session, RequestTrace trace,
- org.eclipse.aether.metadata.Metadata metadata, ArtifactRepository repository,
- Exception exception )
- {
- RepositoryListener listener = session.getRepositoryListener();
- if ( listener != null )
- {
- RepositoryEvent.Builder event = new RepositoryEvent.Builder( session, EventType.METADATA_INVALID );
- event.setTrace( trace );
- event.setMetadata( metadata );
- event.setException( exception );
- event.setRepository( repository );
- listener.metadataInvalid( event.build() );
- }
- }
-
- private void mergeMetadata( Versions versions, Metadata source, ArtifactRepository repository )
- {
- Versioning versioning = source.getVersioning();
- if ( versioning != null )
- {
- String timestamp = StringUtils.clean( versioning.getLastUpdated() );
-
- if ( StringUtils.isNotEmpty( versioning.getRelease() )
- && timestamp.compareTo( versions.releaseTimestamp ) > 0 )
- {
- versions.releaseVersion = versioning.getRelease();
- versions.releaseTimestamp = timestamp;
- versions.releaseRepository = repository;
- }
-
- if ( StringUtils.isNotEmpty( versioning.getLatest() )
- && timestamp.compareTo( versions.latestTimestamp ) > 0 )
- {
- versions.latestVersion = versioning.getLatest();
- versions.latestTimestamp = timestamp;
- versions.latestRepository = repository;
- }
-
- for ( String version : versioning.getVersions() )
- {
- if ( !versions.versions.containsKey( version ) )
- {
- versions.versions.put( version, repository );
- }
- }
- }
- }
-
- private PluginVersionResult resolveFromProject( PluginVersionRequest request )
- {
- PluginVersionResult result = null;
-
- if ( request.getPom() != null && request.getPom().getBuild() != null )
- {
- Build build = request.getPom().getBuild();
-
- result = resolveFromProject( request, build.getPlugins() );
-
- if ( result == null && build.getPluginManagement() != null )
- {
- result = resolveFromProject( request, build.getPluginManagement().getPlugins() );
- }
- }
-
- return result;
- }
-
- private PluginVersionResult resolveFromProject( PluginVersionRequest request, List<Plugin> plugins )
- {
- for ( Plugin plugin : plugins )
- {
- if ( request.getGroupId().equals( plugin.getGroupId() )
- && request.getArtifactId().equals( plugin.getArtifactId() ) )
- {
- if ( plugin.getVersion() != null )
- {
- return new DefaultPluginVersionResult( plugin.getVersion() );
- }
- else
- {
- return null;
- }
- }
- }
- return null;
- }
-
- static class Versions
- {
-
- String releaseVersion = "";
-
- String releaseTimestamp = "";
-
- ArtifactRepository releaseRepository;
-
- String latestVersion = "";
-
- String latestTimestamp = "";
-
- ArtifactRepository latestRepository;
-
- Map<String, ArtifactRepository> versions = new LinkedHashMap<String, ArtifactRepository>();
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java
deleted file mode 100644
index 9027a532..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResult.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.apache.maven.plugin.version.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.plugin.version.PluginVersionResult;
-import org.eclipse.aether.repository.ArtifactRepository;
-
-/**
- * Describes the result of a plugin version resolution request.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-class DefaultPluginVersionResult
- implements PluginVersionResult
-{
-
- private String version;
-
- private ArtifactRepository repository;
-
- public DefaultPluginVersionResult()
- {
- // does nothing
- }
-
- public DefaultPluginVersionResult( String version )
- {
- this.version = version;
- }
-
- public String getVersion()
- {
- return version;
- }
-
- public void setVersion( String version )
- {
- this.version = version;
- }
-
- public ArtifactRepository getRepository()
- {
- return repository;
- }
-
- public void setRepository( ArtifactRepository repository )
- {
- this.repository = repository;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionRequest.java
deleted file mode 100644
index cf5b0d70..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionRequest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-
-/**
- * @author Benjamin Bentmann
- */
-public class DefaultDependencyResolutionRequest
- implements DependencyResolutionRequest
-{
-
- private MavenProject project;
-
- private DependencyFilter filter;
-
- private RepositorySystemSession session;
-
- public DefaultDependencyResolutionRequest()
- {
- // enables default constructor
- }
-
- public DefaultDependencyResolutionRequest( MavenProject project, RepositorySystemSession session )
- {
- setMavenProject( project );
- setRepositorySession( session );
- }
-
- public DependencyFilter getResolutionFilter()
- {
- return filter;
- }
-
- public MavenProject getMavenProject()
- {
- return project;
- }
-
- public RepositorySystemSession getRepositorySession()
- {
- return session;
- }
-
- public DependencyResolutionRequest setResolutionFilter( DependencyFilter filter )
- {
- this.filter = filter;
- return this;
- }
-
- public DependencyResolutionRequest setMavenProject( MavenProject project )
- {
- this.project = project;
- return this;
- }
-
- public DependencyResolutionRequest setRepositorySession( RepositorySystemSession repositorySession )
- {
- this.session = repositorySession;
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java
deleted file mode 100644
index 07c6a2f9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.IdentityHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-
-/**
- * @author Benjamin Bentmann
- */
-class DefaultDependencyResolutionResult
- implements DependencyResolutionResult
-{
-
- private DependencyNode root;
-
- private List<Dependency> dependencies = new ArrayList<Dependency>();
-
- private List<Dependency> resolvedDependencies = new ArrayList<Dependency>();
-
- private List<Dependency> unresolvedDependencies = new ArrayList<Dependency>();
-
- private List<Exception> collectionErrors = new ArrayList<Exception>();
-
- private Map<Dependency, List<Exception>> resolutionErrors = new IdentityHashMap<Dependency, List<Exception>>();
-
- public DependencyNode getDependencyGraph()
- {
- return root;
- }
-
- public void setDependencyGraph( DependencyNode root )
- {
- this.root = root;
- }
-
- public List<Dependency> getDependencies()
- {
- return dependencies;
- }
-
- public List<Dependency> getResolvedDependencies()
- {
- return resolvedDependencies;
- }
-
- public void addResolvedDependency( Dependency dependency )
- {
- dependencies.add( dependency );
- resolvedDependencies.add( dependency );
- }
-
- public List<Dependency> getUnresolvedDependencies()
- {
- return unresolvedDependencies;
- }
-
- public List<Exception> getCollectionErrors()
- {
- return collectionErrors;
- }
-
- public void setCollectionErrors( List<Exception> exceptions )
- {
- if ( exceptions != null )
- {
- this.collectionErrors = exceptions;
- }
- else
- {
- this.collectionErrors = new ArrayList<Exception>();
- }
- }
-
- public List<Exception> getResolutionErrors( Dependency dependency )
- {
- List<Exception> errors = resolutionErrors.get( dependency );
- return ( errors != null ) ? errors : Collections.<Exception>emptyList();
- }
-
- public void setResolutionErrors( Dependency dependency, List<Exception> errors )
- {
- dependencies.add( dependency );
- unresolvedDependencies.add( dependency );
- resolutionErrors.put( dependency, errors );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
deleted file mode 100644
index 2cce9f6a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
-import org.apache.maven.model.Resource;
-import org.apache.maven.project.artifact.AttachedArtifact;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-
-@SuppressWarnings( "deprecation" )
-@Component( role = MavenProjectHelper.class )
-public class DefaultMavenProjectHelper
- extends AbstractLogEnabled
- implements MavenProjectHelper
-{
- @Requirement
- private ArtifactHandlerManager artifactHandlerManager;
-
- public void attachArtifact( MavenProject project, String artifactType, String artifactClassifier,
- File artifactFile )
- {
- String type = artifactType;
-
- ArtifactHandler handler = null;
-
- if ( type != null )
- {
- handler = artifactHandlerManager.getArtifactHandler( artifactType );
- }
-
- if ( handler == null )
- {
- handler = artifactHandlerManager.getArtifactHandler( "jar" );
- }
-
- Artifact artifact = new AttachedArtifact( project.getArtifact(), artifactType, artifactClassifier, handler );
-
- artifact.setFile( artifactFile );
- artifact.setResolved( true );
-
- attachArtifact( project, artifact );
- }
-
- public void attachArtifact( MavenProject project, String artifactType, File artifactFile )
- {
- ArtifactHandler handler = artifactHandlerManager.getArtifactHandler( artifactType );
-
- Artifact artifact = new AttachedArtifact( project.getArtifact(), artifactType, handler );
-
- artifact.setFile( artifactFile );
- artifact.setResolved( true );
-
- attachArtifact( project, artifact );
- }
-
- public void attachArtifact( MavenProject project, File artifactFile, String artifactClassifier )
- {
- Artifact projectArtifact = project.getArtifact();
-
- Artifact artifact =
- new AttachedArtifact( projectArtifact, projectArtifact.getType(), artifactClassifier,
- projectArtifact.getArtifactHandler() );
-
- artifact.setFile( artifactFile );
- artifact.setResolved( true );
-
- attachArtifact( project, artifact );
- }
-
- /**
- * Add an attached artifact or replace the file for an existing artifact.
- *
- * @see MavenProject#addAttachedArtifact(org.apache.maven.artifact.Artifact)
- * @param project project reference.
- * @param artifact artifact to add or replace.
- */
- public void attachArtifact( MavenProject project, Artifact artifact )
- {
- project.addAttachedArtifact( artifact );
- }
-
- public void addResource( MavenProject project, String resourceDirectory, List<String> includes,
- List<String> excludes )
- {
- Resource resource = new Resource();
- resource.setDirectory( resourceDirectory );
- resource.setIncludes( includes );
- resource.setExcludes( excludes );
-
- project.addResource( resource );
- }
-
- public void addTestResource( MavenProject project, String resourceDirectory, List<String> includes,
- List<String> excludes )
- {
- Resource resource = new Resource();
- resource.setDirectory( resourceDirectory );
- resource.setIncludes( includes );
- resource.setExcludes( excludes );
-
- project.addTestResource( resource );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
deleted file mode 100644
index a5365621..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.building.AbstractModelBuildingListener;
-import org.apache.maven.model.building.ModelBuildingEvent;
-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.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-
-/**
- * Processes events from the model builder while building the effective model for a {@link MavenProject} instance.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultModelBuildingListener
- extends AbstractModelBuildingListener
-{
-
- private MavenProject project;
-
- private ProjectBuildingHelper projectBuildingHelper;
-
- private ProjectBuildingRequest projectBuildingRequest;
-
- private List<ArtifactRepository> remoteRepositories;
-
- private List<ArtifactRepository> pluginRepositories;
-
- public DefaultModelBuildingListener( MavenProject project, ProjectBuildingHelper projectBuildingHelper,
- ProjectBuildingRequest projectBuildingRequest )
- {
- if ( project == null )
- {
- throw new IllegalArgumentException( "project missing" );
- }
- this.project = project;
-
- if ( projectBuildingHelper == null )
- {
- throw new IllegalArgumentException( "project building helper missing" );
- }
- this.projectBuildingHelper = projectBuildingHelper;
-
- if ( projectBuildingRequest == null )
- {
- throw new IllegalArgumentException( "project building request missing" );
- }
- this.projectBuildingRequest = projectBuildingRequest;
- this.remoteRepositories = projectBuildingRequest.getRemoteRepositories();
- this.pluginRepositories = projectBuildingRequest.getPluginArtifactRepositories();
- }
-
- /**
- * Gets the project whose model is being built.
- *
- * @return The project, never {@code null}.
- */
- public MavenProject getProject()
- {
- return project;
- }
-
- @Override
- public void buildExtensionsAssembled( ModelBuildingEvent event )
- {
- Model model = event.getModel();
-
- try
- {
- pluginRepositories =
- projectBuildingHelper.createArtifactRepositories( model.getPluginRepositories(), pluginRepositories,
- projectBuildingRequest );
- }
- catch ( Exception e )
- {
- event.getProblems().add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Invalid plugin repository: " + e.getMessage() )
- .setException( e ) );
- }
- project.setPluginArtifactRepositories( pluginRepositories );
-
- if ( event.getRequest().isProcessPlugins() )
- {
- try
- {
- ProjectRealmCache.CacheRecord record =
- projectBuildingHelper.createProjectRealm( project, model, projectBuildingRequest );
-
- project.setClassRealm( record.realm );
- project.setExtensionDependencyFilter( record.extensionArtifactFilter );
- }
- catch ( PluginResolutionException e )
- {
- event.getProblems().add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Unresolveable build extension: " + e.getMessage() )
- .setException( e ) );
- }
- catch ( PluginVersionResolutionException e )
- {
- event.getProblems().add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Unresolveable build extension: " + e.getMessage() )
- .setException( e ) );
- }
- catch ( PluginManagerException e )
- {
- event.getProblems().add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Unresolveable build extension: " + e.getMessage() )
- .setException( e ) );
- }
-
- projectBuildingHelper.selectProjectRealm( project );
- }
-
- // build the regular repos after extensions are loaded to allow for custom layouts
- try
- {
- remoteRepositories =
- projectBuildingHelper.createArtifactRepositories( model.getRepositories(), remoteRepositories,
- projectBuildingRequest );
- }
- catch ( Exception e )
- {
- event.getProblems().add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
- .setMessage( "Invalid artifact repository: " + e.getMessage() )
- .setException( e ) );
- }
- project.setRemoteArtifactRepositories( remoteRepositories );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
deleted file mode 100644
index 99edc802..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ /dev/null
@@ -1,929 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.LegacyLocalRepositoryManager;
-import org.apache.maven.bridge.MavenRepositorySystem;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.DeploymentRepository;
-import org.apache.maven.model.Extension;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
-import org.apache.maven.model.building.DefaultModelProblem;
-import org.apache.maven.model.building.FileModelSource;
-import org.apache.maven.model.building.ModelBuilder;
-import org.apache.maven.model.building.ModelBuildingException;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelBuildingResult;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.building.ModelProcessor;
-import org.apache.maven.model.building.ModelSource;
-import org.apache.maven.model.building.StringModelSource;
-import org.apache.maven.model.resolution.ModelResolver;
-import org.apache.maven.repository.internal.ArtifactDescriptorUtils;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.Os;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.impl.RemoteRepositoryManager;
-import org.eclipse.aether.repository.LocalRepositoryManager;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.repository.WorkspaceRepository;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResolutionException;
-import org.eclipse.aether.resolution.VersionRangeResult;
-
-/**
- */
-@Component( role = ProjectBuilder.class )
-public class DefaultProjectBuilder
- implements ProjectBuilder
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private ModelBuilder modelBuilder;
-
- @Requirement
- private ModelProcessor modelProcessor;
-
- @Requirement
- private ProjectBuildingHelper projectBuildingHelper;
-
- @Requirement
- private MavenRepositorySystem repositorySystem;
-
- @Requirement
- private org.eclipse.aether.RepositorySystem repoSystem;
-
- @Requirement
- private RemoteRepositoryManager repositoryManager;
-
- @Requirement
- private ProjectDependenciesResolver dependencyResolver;
-
- // ----------------------------------------------------------------------
- // MavenProjectBuilder Implementation
- // ----------------------------------------------------------------------
-
- @Override
- public ProjectBuildingResult build( File pomFile, ProjectBuildingRequest request )
- throws ProjectBuildingException
- {
- return build( pomFile, new FileModelSource( pomFile ), new InternalConfig( request, null ) );
- }
-
- @Override
- public ProjectBuildingResult build( ModelSource modelSource, ProjectBuildingRequest request )
- throws ProjectBuildingException
- {
- return build( null, modelSource, new InternalConfig( request, null ) );
- }
-
- private ProjectBuildingResult build( File pomFile, ModelSource modelSource, InternalConfig config )
- throws ProjectBuildingException
- {
- ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader();
-
- try
- {
- ProjectBuildingRequest projectBuildingRequest = config.request;
-
- MavenProject project = projectBuildingRequest.getProject();
-
- List<ModelProblem> modelProblems = null;
- Throwable error = null;
-
- if ( project == null )
- {
- ModelBuildingRequest request = getModelBuildingRequest( config );
-
- project = new MavenProject();
- project.setFile( pomFile );
-
- DefaultModelBuildingListener listener =
- new DefaultModelBuildingListener( project, projectBuildingHelper, projectBuildingRequest );
- request.setModelBuildingListener( listener );
-
- request.setPomFile( pomFile );
- request.setModelSource( modelSource );
- request.setLocationTracking( true );
-
- ModelBuildingResult result;
- try
- {
- result = modelBuilder.build( request );
- }
- catch ( ModelBuildingException e )
- {
- result = e.getResult();
- if ( result == null || result.getEffectiveModel() == null )
- {
- throw new ProjectBuildingException( e.getModelId(), e.getMessage(), pomFile, e );
- }
- // validation error, continue project building and delay failing to help IDEs
- error = e;
- }
-
- modelProblems = result.getProblems();
-
- initProject( project, Collections.<String, MavenProject>emptyMap(), result,
- new HashMap<File, Boolean>(), projectBuildingRequest );
- }
- else if ( projectBuildingRequest.isResolveDependencies() )
- {
- projectBuildingHelper.selectProjectRealm( project );
- }
-
- DependencyResolutionResult resolutionResult = null;
-
- if ( projectBuildingRequest.isResolveDependencies() )
- {
- resolutionResult = resolveDependencies( project, config.session );
- }
-
- ProjectBuildingResult result = new DefaultProjectBuildingResult( project, modelProblems, resolutionResult );
-
- if ( error != null )
- {
- ProjectBuildingException e = new ProjectBuildingException( Arrays.asList( result ) );
- e.initCause( error );
- throw e;
- }
-
- return result;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( oldContextClassLoader );
- }
- }
-
- private DependencyResolutionResult resolveDependencies( MavenProject project, RepositorySystemSession session )
- {
- DependencyResolutionResult resolutionResult;
-
- try
- {
- DefaultDependencyResolutionRequest resolution = new DefaultDependencyResolutionRequest( project, session );
- resolutionResult = dependencyResolver.resolve( resolution );
- }
- catch ( DependencyResolutionException e )
- {
- resolutionResult = e.getResult();
- }
-
- Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
- if ( resolutionResult.getDependencyGraph() != null )
- {
- RepositoryUtils.toArtifacts( artifacts, resolutionResult.getDependencyGraph().getChildren(),
- Collections.singletonList( project.getArtifact().getId() ), null );
-
- // Maven 2.x quirk: an artifact always points at the local repo, regardless whether resolved or not
- LocalRepositoryManager lrm = session.getLocalRepositoryManager();
- for ( Artifact artifact : artifacts )
- {
- if ( !artifact.isResolved() )
- {
- String path = lrm.getPathForLocalArtifact( RepositoryUtils.toArtifact( artifact ) );
- artifact.setFile( new File( lrm.getRepository().getBasedir(), path ) );
- }
- }
- }
- project.setResolvedArtifacts( artifacts );
- project.setArtifacts( artifacts );
-
- return resolutionResult;
- }
-
- private List<String> getProfileIds( List<Profile> profiles )
- {
- List<String> ids = new ArrayList<String>( profiles.size() );
-
- for ( Profile profile : profiles )
- {
- ids.add( profile.getId() );
- }
-
- return ids;
- }
-
- private ModelBuildingRequest getModelBuildingRequest( InternalConfig config )
- {
- ProjectBuildingRequest configuration = config.request;
-
- ModelBuildingRequest request = new DefaultModelBuildingRequest();
-
- RequestTrace trace = RequestTrace.newChild( null, configuration ).newChild( request );
-
- ModelResolver resolver =
- new ProjectModelResolver( config.session, trace, repoSystem, repositoryManager, config.repositories,
- configuration.getRepositoryMerging(), config.modelPool );
-
- request.setValidationLevel( configuration.getValidationLevel() );
- request.setProcessPlugins( configuration.isProcessPlugins() );
- request.setProfiles( configuration.getProfiles() );
- request.setActiveProfileIds( configuration.getActiveProfileIds() );
- request.setInactiveProfileIds( configuration.getInactiveProfileIds() );
- request.setSystemProperties( configuration.getSystemProperties() );
- request.setUserProperties( configuration.getUserProperties() );
- request.setBuildStartTime( configuration.getBuildStartTime() );
- request.setModelResolver( resolver );
- request.setModelCache( new ReactorModelCache() );
-
- return request;
- }
-
- @Override
- public ProjectBuildingResult build( Artifact artifact, ProjectBuildingRequest request )
- throws ProjectBuildingException
- {
- return build( artifact, false, request );
- }
-
- @Override
- public ProjectBuildingResult build( Artifact artifact, boolean allowStubModel, ProjectBuildingRequest request )
- throws ProjectBuildingException
- {
- org.eclipse.aether.artifact.Artifact pomArtifact = RepositoryUtils.toArtifact( artifact );
- pomArtifact = ArtifactDescriptorUtils.toPomArtifact( pomArtifact );
-
- InternalConfig config = new InternalConfig( request, null );
-
- boolean localProject;
-
- if ( request.isResolveVersionRanges() )
- {
- VersionRangeRequest versionRangeRequest = new VersionRangeRequest( pomArtifact, config.repositories, null );
-
- try
- {
- VersionRangeResult versionRangeResult =
- repoSystem.resolveVersionRange( config.session, versionRangeRequest );
-
- if ( versionRangeResult.getHighestVersion() == null )
- {
- throw new ProjectBuildingException(
- artifact.getId(), "Error resolving project artifact: No versions matched the requested range",
- (Throwable) null );
-
- }
-
- if ( versionRangeResult.getVersionConstraint() != null
- && versionRangeResult.getVersionConstraint().getRange() != null
- && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
- {
- throw new ProjectBuildingException(
- artifact.getId(),
- "Error resolving project artifact: The requested version range does not specify an upper bound",
- (Throwable) null );
-
- }
-
- pomArtifact = pomArtifact.setVersion( versionRangeResult.getHighestVersion().toString() );
- }
- catch ( VersionRangeResolutionException e )
- {
- throw new ProjectBuildingException(
- artifact.getId(), "Error resolving project artifact: " + e.getMessage(), e );
-
- }
- }
-
- try
- {
- ArtifactRequest pomRequest = new ArtifactRequest();
- pomRequest.setArtifact( pomArtifact );
- pomRequest.setRepositories( config.repositories );
- ArtifactResult pomResult = repoSystem.resolveArtifact( config.session, pomRequest );
-
- pomArtifact = pomResult.getArtifact();
- localProject = pomResult.getRepository() instanceof WorkspaceRepository;
- }
- catch ( org.eclipse.aether.resolution.ArtifactResolutionException e )
- {
- if ( e.getResults().get( 0 ).isMissing() && allowStubModel )
- {
- return build( null, createStubModelSource( artifact ), config );
- }
- throw new ProjectBuildingException( artifact.getId(),
- "Error resolving project artifact: " + e.getMessage(), e );
- }
-
- File pomFile = pomArtifact.getFile();
-
- if ( "pom".equals( artifact.getType() ) )
- {
- artifact.selectVersion( pomArtifact.getVersion() );
- artifact.setFile( pomFile );
- artifact.setResolved( true );
- }
-
- return build( localProject ? pomFile : null, new FileModelSource( pomFile ), config );
- }
-
- private ModelSource createStubModelSource( Artifact artifact )
- {
- StringBuilder buffer = new StringBuilder( 1024 );
-
- buffer.append( "<?xml version='1.0'?>" );
- buffer.append( "<project>" );
- buffer.append( "<modelVersion>4.0.0</modelVersion>" );
- buffer.append( "<groupId>" ).append( artifact.getGroupId() ).append( "</groupId>" );
- buffer.append( "<artifactId>" ).append( artifact.getArtifactId() ).append( "</artifactId>" );
- buffer.append( "<version>" ).append( artifact.getBaseVersion() ).append( "</version>" );
- buffer.append( "<packaging>" ).append( artifact.getType() ).append( "</packaging>" );
- buffer.append( "</project>" );
-
- return new StringModelSource( buffer, artifact.getId() );
- }
-
- @Override
- public List<ProjectBuildingResult> build( List<File> pomFiles, boolean recursive, ProjectBuildingRequest request )
- throws ProjectBuildingException
- {
- List<ProjectBuildingResult> results = new ArrayList<ProjectBuildingResult>();
-
- List<InterimResult> interimResults = new ArrayList<InterimResult>();
-
- ReactorModelPool modelPool = new ReactorModelPool();
-
- InternalConfig config = new InternalConfig( request, modelPool );
-
- Map<String, MavenProject> projectIndex = new HashMap<String, MavenProject>( 256 );
-
- boolean noErrors =
- build( results, interimResults, projectIndex, pomFiles, new LinkedHashSet<File>(), true, recursive,
- config );
-
- populateReactorModelPool( modelPool, interimResults );
-
- ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader();
-
- try
- {
- noErrors =
- build( results, new ArrayList<MavenProject>(), projectIndex, interimResults, request,
- new HashMap<File, Boolean>() ) && noErrors;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader( oldContextClassLoader );
- }
-
- if ( !noErrors )
- {
- throw new ProjectBuildingException( results );
- }
-
- return results;
- }
-
- private boolean build( List<ProjectBuildingResult> results, List<InterimResult> interimResults,
- Map<String, MavenProject> projectIndex, List<File> pomFiles, Set<File> aggregatorFiles,
- boolean isRoot, boolean recursive, InternalConfig config )
- {
- boolean noErrors = true;
-
- for ( File pomFile : pomFiles )
- {
- aggregatorFiles.add( pomFile );
-
- if ( !build( results, interimResults, projectIndex, pomFile, aggregatorFiles, isRoot, recursive, config ) )
- {
- noErrors = false;
- }
-
- aggregatorFiles.remove( pomFile );
- }
-
- return noErrors;
- }
-
- private boolean build( List<ProjectBuildingResult> results, List<InterimResult> interimResults,
- Map<String, MavenProject> projectIndex, File pomFile, Set<File> aggregatorFiles,
- boolean isRoot, boolean recursive, InternalConfig config )
- {
- boolean noErrors = true;
-
- ModelBuildingRequest request = getModelBuildingRequest( config );
-
- MavenProject project = new MavenProject();
-
- request.setPomFile( pomFile );
- request.setTwoPhaseBuilding( true );
- request.setLocationTracking( true );
-
- DefaultModelBuildingListener listener =
- new DefaultModelBuildingListener( project, projectBuildingHelper, config.request );
- request.setModelBuildingListener( listener );
-
- try
- {
- ModelBuildingResult result = modelBuilder.build( request );
-
- Model model = result.getEffectiveModel();
-
- projectIndex.put( result.getModelIds().get( 0 ), project );
-
- InterimResult interimResult = new InterimResult( pomFile, request, result, listener, isRoot );
- interimResults.add( interimResult );
-
- if ( recursive && !model.getModules().isEmpty() )
- {
- File basedir = pomFile.getParentFile();
-
- List<File> moduleFiles = new ArrayList<File>();
-
- for ( String module : model.getModules() )
- {
- if ( StringUtils.isEmpty( module ) )
- {
- continue;
- }
-
- module = module.replace( '\\', File.separatorChar ).replace( '/', File.separatorChar );
-
- File moduleFile = new File( basedir, module );
-
- if ( moduleFile.isDirectory() )
- {
- moduleFile = modelProcessor.locatePom( moduleFile );
- }
-
- if ( !moduleFile.isFile() )
- {
- ModelProblem problem =
- new DefaultModelProblem( "Child module " + moduleFile + " of " + pomFile
- + " does not exist", ModelProblem.Severity.ERROR, ModelProblem.Version.BASE, model, -1,
- -1, null );
- result.getProblems().add( problem );
-
- noErrors = false;
-
- continue;
- }
-
- if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
- {
- // we don't canonicalize on unix to avoid interfering with symlinks
- try
- {
- moduleFile = moduleFile.getCanonicalFile();
- }
- catch ( IOException e )
- {
- moduleFile = moduleFile.getAbsoluteFile();
- }
- }
- else
- {
- moduleFile = new File( moduleFile.toURI().normalize() );
- }
-
- if ( aggregatorFiles.contains( moduleFile ) )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- for ( File aggregatorFile : aggregatorFiles )
- {
- buffer.append( aggregatorFile ).append( " -> " );
- }
- buffer.append( moduleFile );
-
- ModelProblem problem =
- new DefaultModelProblem( "Child module " + moduleFile + " of " + pomFile
- + " forms aggregation cycle " + buffer, ModelProblem.Severity.ERROR,
- ModelProblem.Version.BASE, model, -1, -1, null );
- result.getProblems().add( problem );
-
- noErrors = false;
-
- continue;
- }
-
- moduleFiles.add( moduleFile );
- }
-
- interimResult.modules = new ArrayList<InterimResult>();
-
- if ( !build( results, interimResult.modules, projectIndex, moduleFiles, aggregatorFiles, false,
- recursive, config ) )
- {
- noErrors = false;
- }
- }
- }
- catch ( ModelBuildingException e )
- {
- results.add( new DefaultProjectBuildingResult( e.getModelId(), pomFile, e.getProblems() ) );
-
- noErrors = false;
- }
-
- return noErrors;
- }
-
- static class InterimResult
- {
-
- File pomFile;
-
- ModelBuildingRequest request;
-
- ModelBuildingResult result;
-
- DefaultModelBuildingListener listener;
-
- boolean root;
-
- List<InterimResult> modules = Collections.emptyList();
-
- InterimResult( File pomFile, ModelBuildingRequest request, ModelBuildingResult result,
- DefaultModelBuildingListener listener, boolean root )
- {
- this.pomFile = pomFile;
- this.request = request;
- this.result = result;
- this.listener = listener;
- this.root = root;
- }
-
- }
-
- private void populateReactorModelPool( ReactorModelPool reactorModelPool, List<InterimResult> interimResults )
- {
- for ( InterimResult interimResult : interimResults )
- {
- Model model = interimResult.result.getEffectiveModel();
- reactorModelPool.put( model.getGroupId(), model.getArtifactId(), model.getVersion(), model.getPomFile() );
-
- populateReactorModelPool( reactorModelPool, interimResult.modules );
- }
- }
-
- private boolean build( List<ProjectBuildingResult> results, List<MavenProject> projects,
- Map<String, MavenProject> projectIndex, List<InterimResult> interimResults,
- ProjectBuildingRequest request, Map<File, Boolean> profilesXmls )
- {
- boolean noErrors = true;
-
- for ( InterimResult interimResult : interimResults )
- {
- try
- {
- ModelBuildingResult result = modelBuilder.build( interimResult.request, interimResult.result );
-
- MavenProject project = interimResult.listener.getProject();
- initProject( project, projectIndex, result, profilesXmls, request );
-
- List<MavenProject> modules = new ArrayList<MavenProject>();
- noErrors =
- build( results, modules, projectIndex, interimResult.modules, request, profilesXmls ) && noErrors;
-
- projects.addAll( modules );
- projects.add( project );
-
- project.setExecutionRoot( interimResult.root );
- project.setCollectedProjects( modules );
-
- results.add( new DefaultProjectBuildingResult( project, result.getProblems(), null ) );
- }
- catch ( ModelBuildingException e )
- {
- results.add( new DefaultProjectBuildingResult( e.getModelId(), interimResult.pomFile,
- e.getProblems() ) );
-
- noErrors = false;
- }
- }
-
- return noErrors;
- }
-
- private void initProject( MavenProject project, Map<String, MavenProject> projects, ModelBuildingResult result,
- Map<File, Boolean> profilesXmls, ProjectBuildingRequest projectBuildingRequest )
- {
- Model model = result.getEffectiveModel();
-
- project.setModel( model );
- project.setOriginalModel( result.getRawModel() );
- project.setFile( model.getPomFile() );
- Parent p = model.getParent();
- if ( p != null )
- {
- project.setParentArtifact( repositorySystem.createProjectArtifact( p.getGroupId(), p.getArtifactId(),
- p.getVersion() ) );
- // org.apache.maven.its.mng4834:parent:0.1
- String parentModelId = result.getModelIds().get( 1 );
- File parentPomFile = result.getRawModel( parentModelId ).getPomFile();
- MavenProject parent = projects.get( parentModelId );
- if ( parent == null )
- {
- //
- // At this point the DefaultModelBuildingListener has fired and it populates the
- // remote repositories with those found in the pom.xml, along with the existing externally
- // defined repositories.
- //
- projectBuildingRequest.setRemoteRepositories( project.getRemoteArtifactRepositories() );
- if ( parentPomFile != null )
- {
- project.setParentFile( parentPomFile );
- try
- {
- parent = build( parentPomFile, projectBuildingRequest ).getProject();
- }
- catch ( ProjectBuildingException e )
- {
- // MNG-4488 where let invalid parents slide on by
- logger.warn( "Failed to build parent project for " + project.getId() );
- }
- }
- else
- {
- Artifact parentArtifact = project.getParentArtifact();
- try
- {
- parent = build( parentArtifact, projectBuildingRequest ).getProject();
- }
- catch ( ProjectBuildingException e )
- {
- // MNG-4488 where let invalid parents slide on by
- logger.warn( "Failed to build parent project for " + project.getId() );
- }
- }
- }
- project.setParent( parent );
- }
-
- Artifact projectArtifact =
- repositorySystem.createArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion(), null,
- project.getPackaging() );
- project.setArtifact( projectArtifact );
-
- if ( project.getFile() != null )
- {
- Build build = project.getBuild();
- project.addScriptSourceRoot( build.getScriptSourceDirectory() );
- project.addCompileSourceRoot( build.getSourceDirectory() );
- project.addTestCompileSourceRoot( build.getTestSourceDirectory() );
- }
-
- List<Profile> activeProfiles = new ArrayList<Profile>();
- activeProfiles.addAll( result.getActivePomProfiles( result.getModelIds().get( 0 ) ) );
- activeProfiles.addAll( result.getActiveExternalProfiles() );
- project.setActiveProfiles( activeProfiles );
-
- project.setInjectedProfileIds( "external", getProfileIds( result.getActiveExternalProfiles() ) );
- for ( String modelId : result.getModelIds() )
- {
- project.setInjectedProfileIds( modelId, getProfileIds( result.getActivePomProfiles( modelId ) ) );
- }
-
- String modelId = findProfilesXml( result, profilesXmls );
- if ( modelId != null )
- {
- ModelProblem problem =
- new DefaultModelProblem( "Detected profiles.xml alongside " + modelId
- + ", this file is no longer supported and was ignored" + ", please use the settings.xml instead",
- ModelProblem.Severity.WARNING, ModelProblem.Version.V30, model, -1, -1, null );
- result.getProblems().add( problem );
- }
-
- //
- // All the parts that were taken out of MavenProject for Maven 4.0.0
- //
-
- project.setProjectBuildingRequest( projectBuildingRequest );
-
- // pluginArtifacts
- Set<Artifact> pluginArtifacts = new HashSet<Artifact>();
- for ( Plugin plugin : project.getBuildPlugins() )
- {
- Artifact artifact = repositorySystem.createPluginArtifact( plugin );
-
- if ( artifact != null )
- {
- pluginArtifacts.add( artifact );
- }
- }
- project.setPluginArtifacts( pluginArtifacts );
-
- // reportArtifacts
- Set<Artifact> reportArtifacts = new HashSet<Artifact>();
- for ( ReportPlugin report : project.getReportPlugins() )
- {
- Plugin pp = new Plugin();
- pp.setGroupId( report.getGroupId() );
- pp.setArtifactId( report.getArtifactId() );
- pp.setVersion( report.getVersion() );
-
- Artifact artifact = repositorySystem.createPluginArtifact( pp );
-
- if ( artifact != null )
- {
- reportArtifacts.add( artifact );
- }
- }
- project.setReportArtifacts( reportArtifacts );
-
- // extensionArtifacts
- Set<Artifact> extensionArtifacts = new HashSet<Artifact>();
- List<Extension> extensions = project.getBuildExtensions();
- if ( extensions != null )
- {
- for ( Extension ext : extensions )
- {
- String version;
- if ( StringUtils.isEmpty( ext.getVersion() ) )
- {
- version = "RELEASE";
- }
- else
- {
- version = ext.getVersion();
- }
-
- Artifact artifact =
- repositorySystem.createArtifact( ext.getGroupId(), ext.getArtifactId(), version, null, "jar" );
-
- if ( artifact != null )
- {
- extensionArtifacts.add( artifact );
- }
- }
- }
- project.setExtensionArtifacts( extensionArtifacts );
-
- // managedVersionMap
- Map<String, Artifact> map = null;
- if ( repositorySystem != null )
- {
- List<Dependency> deps;
- DependencyManagement dependencyManagement = project.getDependencyManagement();
- if ( ( dependencyManagement != null ) && ( ( deps = dependencyManagement.getDependencies() ) != null )
- && ( deps.size() > 0 ) )
- {
- map = new HashMap<String, Artifact>();
- for ( Dependency d : dependencyManagement.getDependencies() )
- {
- Artifact artifact = repositorySystem.createDependencyArtifact( d );
-
- if ( artifact != null )
- {
- map.put( d.getManagementKey(), artifact );
- }
- }
- }
- else
- {
- map = Collections.emptyMap();
- }
- }
- project.setManagedVersionMap( map );
-
- // release artifact repository
- if ( project.getDistributionManagement() != null
- && project.getDistributionManagement().getRepository() != null )
- {
- try
- {
- DeploymentRepository r = project.getDistributionManagement().getRepository();
- if ( !StringUtils.isEmpty( r.getId() ) && !StringUtils.isEmpty( r.getUrl() ) )
- {
- ArtifactRepository repo = repositorySystem.buildArtifactRepository( r );
- repositorySystem.injectProxy( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
- repositorySystem.injectAuthentication( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
- project.setReleaseArtifactRepository( repo );
- }
- }
- catch ( InvalidRepositoryException e )
- {
- throw new IllegalStateException( "Failed to create release distribution repository for "
- + project.getId(), e );
- }
- }
-
- // snapshot artifact repository
- if ( project.getDistributionManagement() != null
- && project.getDistributionManagement().getSnapshotRepository() != null )
- {
- try
- {
- DeploymentRepository r = project.getDistributionManagement().getSnapshotRepository();
- if ( !StringUtils.isEmpty( r.getId() ) && !StringUtils.isEmpty( r.getUrl() ) )
- {
- ArtifactRepository repo = repositorySystem.buildArtifactRepository( r );
- repositorySystem.injectProxy( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
- repositorySystem.injectAuthentication( projectBuildingRequest.getRepositorySession(),
- Arrays.asList( repo ) );
- project.setSnapshotArtifactRepository( repo );
- }
- }
- catch ( InvalidRepositoryException e )
- {
- throw new IllegalStateException( "Failed to create snapshot distribution repository for "
- + project.getId(), e );
- }
- }
- }
-
- private String findProfilesXml( ModelBuildingResult result, Map<File, Boolean> profilesXmls )
- {
- for ( String modelId : result.getModelIds() )
- {
- Model model = result.getRawModel( modelId );
-
- File basedir = model.getProjectDirectory();
- if ( basedir == null )
- {
- break;
- }
-
- Boolean profilesXml = profilesXmls.get( basedir );
- if ( profilesXml == null )
- {
- profilesXml = new File( basedir, "profiles.xml" ).exists();
- profilesXmls.put( basedir, profilesXml );
- }
- if ( profilesXml )
- {
- return modelId;
- }
- }
-
- return null;
- }
-
- class InternalConfig
- {
-
- public final ProjectBuildingRequest request;
-
- public final RepositorySystemSession session;
-
- public final List<RemoteRepository> repositories;
-
- public final ReactorModelPool modelPool;
-
- InternalConfig( ProjectBuildingRequest request, ReactorModelPool modelPool )
- {
- this.request = request;
- this.modelPool = modelPool;
- session =
- LegacyLocalRepositoryManager.overlay( request.getLocalRepository(), request.getRepositorySession(),
- repoSystem );
- repositories = RepositoryUtils.toRepos( request.getRemoteRepositories() );
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
deleted file mode 100644
index aea8fdbe..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
+++ /dev/null
@@ -1,295 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.classrealm.ClassRealmManager;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Extension;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.Repository;
-import org.apache.maven.plugin.ExtensionRealmCache;
-import org.apache.maven.plugin.MavenPluginManager;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.repository.RepositorySystem;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.util.filter.ExclusionsDependencyFilter;
-
-/**
- * Assists the project builder. <strong>Warning:</strong> This is an internal utility class that is only public for
- * technical reasons, it is not part of the public API. In particular, this class can be changed or deleted without
- * prior notice.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ProjectBuildingHelper.class )
-public class DefaultProjectBuildingHelper
- implements ProjectBuildingHelper
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private PlexusContainer container;
-
- @Requirement
- private ClassRealmManager classRealmManager;
-
- @Requirement
- private ProjectRealmCache projectRealmCache;
-
- @Requirement
- private RepositorySystem repositorySystem;
-
- @Requirement
- private MavenPluginManager pluginManager;
-
- public List<ArtifactRepository> createArtifactRepositories( List<Repository> pomRepositories,
- List<ArtifactRepository> externalRepositories,
- ProjectBuildingRequest request )
- throws InvalidRepositoryException
- {
- List<ArtifactRepository> internalRepositories = new ArrayList<ArtifactRepository>();
-
- for ( Repository repository : pomRepositories )
- {
- internalRepositories.add( repositorySystem.buildArtifactRepository( repository ) );
- }
-
- repositorySystem.injectMirror( request.getRepositorySession(), internalRepositories );
-
- repositorySystem.injectProxy( request.getRepositorySession(), internalRepositories );
-
- repositorySystem.injectAuthentication( request.getRepositorySession(), internalRepositories );
-
- List<ArtifactRepository> dominantRepositories;
- List<ArtifactRepository> recessiveRepositories;
-
- if ( ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT.equals( request.getRepositoryMerging() ) )
- {
- dominantRepositories = externalRepositories;
- recessiveRepositories = internalRepositories;
- }
- else
- {
- dominantRepositories = internalRepositories;
- recessiveRepositories = externalRepositories;
- }
-
- List<ArtifactRepository> artifactRepositories = new ArrayList<ArtifactRepository>();
- Collection<String> repoIds = new HashSet<String>();
-
- if ( dominantRepositories != null )
- {
- for ( ArtifactRepository repository : dominantRepositories )
- {
- repoIds.add( repository.getId() );
- artifactRepositories.add( repository );
- }
- }
-
- if ( recessiveRepositories != null )
- {
- for ( ArtifactRepository repository : recessiveRepositories )
- {
- if ( repoIds.add( repository.getId() ) )
- {
- artifactRepositories.add( repository );
- }
- }
- }
-
- artifactRepositories = repositorySystem.getEffectiveRepositories( artifactRepositories );
-
- return artifactRepositories;
- }
-
- public synchronized ProjectRealmCache.CacheRecord createProjectRealm( MavenProject project, Model model,
- ProjectBuildingRequest request )
- throws PluginResolutionException, PluginVersionResolutionException, PluginManagerException
- {
- ClassRealm projectRealm;
-
- List<Plugin> extensionPlugins = new ArrayList<Plugin>();
-
- Build build = model.getBuild();
-
- if ( build != null )
- {
- for ( Extension extension : build.getExtensions() )
- {
- Plugin plugin = new Plugin();
- plugin.setGroupId( extension.getGroupId() );
- plugin.setArtifactId( extension.getArtifactId() );
- plugin.setVersion( extension.getVersion() );
- extensionPlugins.add( plugin );
- }
-
- for ( Plugin plugin : build.getPlugins() )
- {
- if ( plugin.isExtensions() )
- {
- extensionPlugins.add( plugin );
- }
- }
- }
-
- if ( extensionPlugins.isEmpty() )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Extension realms for project " + model.getId() + ": (none)" );
- }
-
- return new ProjectRealmCache.CacheRecord( null, null );
- }
-
- List<ClassRealm> extensionRealms = new ArrayList<ClassRealm>();
-
- Map<ClassRealm, List<String>> exportedPackages = new HashMap<ClassRealm, List<String>>();
-
- Map<ClassRealm, List<String>> exportedArtifacts = new HashMap<ClassRealm, List<String>>();
-
- List<Artifact> publicArtifacts = new ArrayList<Artifact>();
-
- for ( Plugin plugin : extensionPlugins )
- {
- ExtensionRealmCache.CacheRecord recordRealm =
- pluginManager.setupExtensionsRealm( project, plugin, request.getRepositorySession() );
-
- final ClassRealm extensionRealm = recordRealm.realm;
- final ExtensionDescriptor extensionDescriptor = recordRealm.desciptor;
- final List<Artifact> artifacts = recordRealm.artifacts;
-
- extensionRealms.add( extensionRealm );
- if ( extensionDescriptor != null )
- {
- exportedPackages.put( extensionRealm, extensionDescriptor.getExportedPackages() );
- exportedArtifacts.put( extensionRealm, extensionDescriptor.getExportedArtifacts() );
- }
-
- if ( !plugin.isExtensions() && artifacts.size() == 2 && artifacts.get( 0 ).getFile() != null
- && "plexus-utils".equals( artifacts.get( 1 ).getArtifactId() ) )
- {
- /*
- * This is purely for backward-compat with 2.x where <extensions> consisting of a single artifact where
- * loaded into the core and hence available to plugins, in contrast to bigger extensions that were
- * loaded into a dedicated realm which is invisible to plugins (MNG-2749).
- */
- publicArtifacts.add( artifacts.get( 0 ) );
- }
- }
-
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Extension realms for project " + model.getId() + ": " + extensionRealms );
- }
-
- ProjectRealmCache.Key projectRealmKey = projectRealmCache.createKey( extensionRealms );
-
- ProjectRealmCache.CacheRecord record = projectRealmCache.get( projectRealmKey );
-
- if ( record == null )
- {
- projectRealm = classRealmManager.createProjectRealm( model, toAetherArtifacts( publicArtifacts ) );
-
- Set<String> exclusions = new LinkedHashSet<String>();
-
- for ( ClassRealm extensionRealm : extensionRealms )
- {
- List<String> excludes = exportedArtifacts.get( extensionRealm );
-
- if ( excludes != null )
- {
- exclusions.addAll( excludes );
- }
-
- List<String> exports = exportedPackages.get( extensionRealm );
-
- if ( exports == null || exports.isEmpty() )
- {
- /*
- * Most existing extensions don't define exported packages, i.e. no classes are to be exposed to
- * plugins, yet the components provided by the extension (e.g. artifact handlers) must be
- * accessible, i.e. we still must import the extension realm into the project realm.
- */
- exports = Arrays.asList( extensionRealm.getId() );
- }
-
- for ( String export : exports )
- {
- projectRealm.importFrom( extensionRealm, export );
- }
- }
-
- DependencyFilter extensionArtifactFilter = null;
- if ( !exclusions.isEmpty() )
- {
- extensionArtifactFilter = new ExclusionsDependencyFilter( exclusions );
- }
-
- record = projectRealmCache.put( projectRealmKey, projectRealm, extensionArtifactFilter );
- }
-
- projectRealmCache.register( project, projectRealmKey, record );
-
- return record;
- }
-
- public void selectProjectRealm( MavenProject project )
- {
- ClassLoader projectRealm = project.getClassRealm();
-
- if ( projectRealm == null )
- {
- projectRealm = classRealmManager.getCoreRealm();
- }
-
- Thread.currentThread().setContextClassLoader( projectRealm );
- }
-
- private List<org.eclipse.aether.artifact.Artifact> toAetherArtifacts( final List<Artifact> pluginArtifacts )
- {
- return new ArrayList<org.eclipse.aether.artifact.Artifact>( RepositoryUtils.toArtifacts( pluginArtifacts ) );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
deleted file mode 100644
index 185e4ca7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
+++ /dev/null
@@ -1,339 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.eclipse.aether.RepositorySystemSession;
-
-public class DefaultProjectBuildingRequest
- implements ProjectBuildingRequest
-{
-
- private RepositorySystemSession repositorySession;
-
- private ArtifactRepository localRepository;
-
- private List<ArtifactRepository> remoteRepositories;
-
- private List<ArtifactRepository> pluginArtifactRepositories;
-
- private MavenProject project;
-
- private int validationLevel = ModelBuildingRequest.VALIDATION_LEVEL_STRICT;
-
- private boolean processPlugins;
-
- private List<Profile> profiles;
-
- private List<String> activeProfileIds;
-
- private List<String> inactiveProfileIds;
-
- private Properties systemProperties;
-
- private Properties userProperties;
-
- private Date buildStartTime;
-
- private boolean resolveDependencies;
-
- private boolean resolveVersionRanges;
-
- private RepositoryMerging repositoryMerging = RepositoryMerging.POM_DOMINANT;
-
- public DefaultProjectBuildingRequest()
- {
- processPlugins = true;
- profiles = new ArrayList<Profile>();
- activeProfileIds = new ArrayList<String>();
- inactiveProfileIds = new ArrayList<String>();
- systemProperties = new Properties();
- userProperties = new Properties();
- remoteRepositories = new ArrayList<ArtifactRepository>();
- pluginArtifactRepositories = new ArrayList<ArtifactRepository>();
- }
-
- public DefaultProjectBuildingRequest( ProjectBuildingRequest request )
- {
- this();
- setProcessPlugins( request.isProcessPlugins() );
- setProfiles( request.getProfiles() );
- setActiveProfileIds( request.getActiveProfileIds() );
- setInactiveProfileIds( request.getInactiveProfileIds() );
- setSystemProperties( request.getSystemProperties() );
- setUserProperties( request.getUserProperties() );
- setRemoteRepositories( request.getRemoteRepositories() );
- setPluginArtifactRepositories( request.getPluginArtifactRepositories() );
- setRepositorySession( request.getRepositorySession() );
- setLocalRepository( request.getLocalRepository() );
- setBuildStartTime( request.getBuildStartTime() );
- setProject( request.getProject() );
- setResolveDependencies( request.isResolveDependencies() );
- setValidationLevel( request.getValidationLevel() );
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public void setProject( MavenProject mavenProject )
- {
- this.project = mavenProject;
- }
-
- public ProjectBuildingRequest setLocalRepository( ArtifactRepository localRepository )
- {
- this.localRepository = localRepository;
- return this;
- }
-
- public ArtifactRepository getLocalRepository()
- {
- return localRepository;
- }
-
- public List<ArtifactRepository> getRemoteRepositories()
- {
- return remoteRepositories;
- }
-
- public ProjectBuildingRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
- {
- if ( remoteRepositories != null )
- {
- this.remoteRepositories = new ArrayList<ArtifactRepository>( remoteRepositories );
- }
- else
- {
- this.remoteRepositories.clear();
- }
-
- return this;
- }
-
- public List<ArtifactRepository> getPluginArtifactRepositories()
- {
- return pluginArtifactRepositories;
- }
-
- public ProjectBuildingRequest setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifactRepositories )
- {
- if ( pluginArtifactRepositories != null )
- {
- this.pluginArtifactRepositories = new ArrayList<ArtifactRepository>( pluginArtifactRepositories );
- }
- else
- {
- this.pluginArtifactRepositories.clear();
- }
-
- return this;
- }
-
- public Properties getSystemProperties()
- {
- return systemProperties;
- }
-
- public ProjectBuildingRequest setSystemProperties( Properties systemProperties )
- {
- if ( systemProperties != null )
- {
- this.systemProperties = new Properties();
- synchronized ( systemProperties )
- { // avoid concurrentmodification if someone else sets/removes an unrelated system property
- this.systemProperties.putAll( systemProperties );
- }
- }
- else
- {
- this.systemProperties.clear();
- }
-
- return this;
- }
-
- public Properties getUserProperties()
- {
- return userProperties;
- }
-
- public ProjectBuildingRequest setUserProperties( Properties userProperties )
- {
- if ( userProperties != null )
- {
- this.userProperties = new Properties();
- this.userProperties.putAll( userProperties );
- }
- else
- {
- this.userProperties.clear();
- }
-
- return this;
- }
-
- public boolean isProcessPlugins()
- {
- return processPlugins;
- }
-
- public ProjectBuildingRequest setProcessPlugins( boolean processPlugins )
- {
- this.processPlugins = processPlugins;
- return this;
- }
-
- public ProjectBuildingRequest setResolveDependencies( boolean resolveDependencies )
- {
- this.resolveDependencies = resolveDependencies;
- return this;
- }
-
- public boolean isResolveDependencies()
- {
- return resolveDependencies;
- }
-
- /** @since 3.2.2 */
- public ProjectBuildingRequest setResolveVersionRanges( boolean value )
- {
- this.resolveVersionRanges = value;
- return this;
- }
-
- /** @since 3.2.2 */
- public boolean isResolveVersionRanges()
- {
- return this.resolveVersionRanges;
- }
-
- public ProjectBuildingRequest setValidationLevel( int validationLevel )
- {
- this.validationLevel = validationLevel;
- return this;
- }
-
- public int getValidationLevel()
- {
- return validationLevel;
- }
-
- public List<String> getActiveProfileIds()
- {
- return activeProfileIds;
- }
-
- public void setActiveProfileIds( List<String> activeProfileIds )
- {
- if ( activeProfileIds != null )
- {
- this.activeProfileIds = new ArrayList<String>( activeProfileIds );
- }
- else
- {
- this.activeProfileIds.clear();
- }
- }
-
- public List<String> getInactiveProfileIds()
- {
- return inactiveProfileIds;
- }
-
- public void setInactiveProfileIds( List<String> inactiveProfileIds )
- {
- if ( inactiveProfileIds != null )
- {
- this.inactiveProfileIds = new ArrayList<String>( inactiveProfileIds );
- }
- else
- {
- this.inactiveProfileIds.clear();
- }
- }
-
- public void setProfiles( List<Profile> profiles )
- {
- if ( profiles != null )
- {
- this.profiles = new ArrayList<Profile>( profiles );
- }
- else
- {
- this.profiles.clear();
- }
- }
-
- public void addProfile( Profile profile )
- {
- profiles.add( profile );
- }
-
- public List<Profile> getProfiles()
- {
- return profiles;
- }
-
- public Date getBuildStartTime()
- {
- return buildStartTime;
- }
-
- public void setBuildStartTime( Date buildStartTime )
- {
- this.buildStartTime = buildStartTime;
- }
-
- public RepositorySystemSession getRepositorySession()
- {
- return repositorySession;
- }
-
- public DefaultProjectBuildingRequest setRepositorySession( RepositorySystemSession repositorySession )
- {
- this.repositorySession = repositorySession;
- return this;
- }
-
- public DefaultProjectBuildingRequest setRepositoryMerging( RepositoryMerging repositoryMerging )
- {
- if ( repositoryMerging == null )
- {
- throw new IllegalArgumentException( "repository merge mode not specified" );
- }
- this.repositoryMerging = repositoryMerging;
- return this;
- }
-
- public RepositoryMerging getRepositoryMerging()
- {
- return repositoryMerging;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java
deleted file mode 100644
index b64a395d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingResult.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.model.building.ModelProblem;
-
-/**
- * Collects the output of the project builder.
- *
- * @author Benjamin Bentmann
- */
-class DefaultProjectBuildingResult
- implements ProjectBuildingResult
-{
-
- private String projectId;
-
- private File pomFile;
-
- private MavenProject project;
-
- private List<ModelProblem> problems;
-
- private DependencyResolutionResult dependencyResolutionResult;
-
- /**
- * Creates a new result with the specified contents.
- *
- * @param project The project that was built, may be {@code null}.
- * @param problems The problems that were encouterned, may be {@code null}.
- * @param dependencyResolutionResult The result of the resolution for the project dependencies, may be {@code null}.
- */
- public DefaultProjectBuildingResult( MavenProject project, List<ModelProblem> problems,
- DependencyResolutionResult dependencyResolutionResult )
- {
- this.projectId =
- ( project != null ) ? project.getGroupId() + ':' + project.getArtifactId() + ':' + project.getVersion()
- : "";
- this.pomFile = ( project != null ) ? project.getFile() : null;
- this.project = project;
- this.problems = problems;
- this.dependencyResolutionResult = dependencyResolutionResult;
- }
-
- /**
- * Creates a new result with the specified contents.
- *
- * @param projectId The identifier of the project, may be {@code null}.
- * @param pomFile The POM file from which the project was built, may be {@code null}.
- * @param problems The problems that were encouterned, may be {@code null}.
- */
- public DefaultProjectBuildingResult( String projectId, File pomFile, List<ModelProblem> problems )
- {
- this.projectId = ( projectId != null ) ? projectId : "";
- this.pomFile = pomFile;
- this.problems = problems;
- }
-
- public String getProjectId()
- {
- return projectId;
- }
-
- public File getPomFile()
- {
- return pomFile;
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public List<ModelProblem> getProblems()
- {
- if ( problems == null )
- {
- problems = new ArrayList<ModelProblem>();
- }
-
- return problems;
- }
-
- public DependencyResolutionResult getDependencyResolutionResult()
- {
- return dependencyResolutionResult;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
deleted file mode 100644
index 1287eb14..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
+++ /dev/null
@@ -1,333 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.InputLocation;
-import org.apache.maven.model.InputSource;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.ArtifactProperties;
-import org.eclipse.aether.artifact.ArtifactType;
-import org.eclipse.aether.artifact.ArtifactTypeRegistry;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.collection.DependencyCollectionException;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.resolution.DependencyRequest;
-import org.eclipse.aether.util.artifact.ArtifactIdUtils;
-import org.eclipse.aether.util.artifact.JavaScopes;
-import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
-
-/**
- * @author Benjamin Bentmann
- */
-@Component( role = ProjectDependenciesResolver.class )
-public class DefaultProjectDependenciesResolver
- implements ProjectDependenciesResolver
-{
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private RepositorySystem repoSystem;
-
- @Requirement
- private List<RepositorySessionDecorator> decorators;
-
- public DependencyResolutionResult resolve( DependencyResolutionRequest request )
- throws DependencyResolutionException
- {
- final RequestTrace trace = RequestTrace.newChild( null, request );
-
- final DefaultDependencyResolutionResult result = new DefaultDependencyResolutionResult();
-
- final MavenProject project = request.getMavenProject();
- final DependencyFilter filter = request.getResolutionFilter();
- RepositorySystemSession session = request.getRepositorySession();
- ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry();
-
- if ( logger.isDebugEnabled()
- && session.getConfigProperties().get( DependencyManagerUtils.CONFIG_PROP_VERBOSE ) == null )
- {
- DefaultRepositorySystemSession verbose = new DefaultRepositorySystemSession( session );
- verbose.setConfigProperty( DependencyManagerUtils.CONFIG_PROP_VERBOSE, Boolean.TRUE );
- session = verbose;
- }
-
- for ( RepositorySessionDecorator decorator : decorators )
- {
- RepositorySystemSession decorated = decorator.decorate( project, session );
- if ( decorated != null )
- {
- session = decorated;
- }
- }
-
- CollectRequest collect = new CollectRequest();
- collect.setRootArtifact( RepositoryUtils.toArtifact( project.getArtifact() ) );
- collect.setRequestContext( "project" );
- collect.setRepositories( project.getRemoteProjectRepositories() );
-
- if ( project.getDependencyArtifacts() == null )
- {
- for ( Dependency dependency : project.getDependencies() )
- {
- if ( StringUtils.isEmpty( dependency.getGroupId() ) || StringUtils.isEmpty( dependency.getArtifactId() )
- || StringUtils.isEmpty( dependency.getVersion() ) )
- {
- // guard against case where best-effort resolution for invalid models is requested
- continue;
- }
- collect.addDependency( RepositoryUtils.toDependency( dependency, stereotypes ) );
- }
- }
- else
- {
- Map<String, Dependency> dependencies = new HashMap<String, Dependency>();
- for ( Dependency dependency : project.getDependencies() )
- {
- String classifier = dependency.getClassifier();
- if ( classifier == null )
- {
- ArtifactType type = stereotypes.get( dependency.getType() );
- if ( type != null )
- {
- classifier = type.getClassifier();
- }
- }
- String key =
- ArtifactIdUtils.toVersionlessId( dependency.getGroupId(), dependency.getArtifactId(),
- dependency.getType(), classifier );
- dependencies.put( key, dependency );
- }
- for ( Artifact artifact : project.getDependencyArtifacts() )
- {
- String key = artifact.getDependencyConflictId();
- Dependency dependency = dependencies.get( key );
- Collection<Exclusion> exclusions = dependency != null ? dependency.getExclusions() : null;
- org.eclipse.aether.graph.Dependency dep = RepositoryUtils.toDependency( artifact, exclusions );
- if ( !JavaScopes.SYSTEM.equals( dep.getScope() ) && dep.getArtifact().getFile() != null )
- {
- // enable re-resolution
- org.eclipse.aether.artifact.Artifact art = dep.getArtifact();
- art = art.setFile( null ).setVersion( art.getBaseVersion() );
- dep = dep.setArtifact( art );
- }
- collect.addDependency( dep );
- }
- }
-
- DependencyManagement depMngt = project.getDependencyManagement();
- if ( depMngt != null )
- {
- for ( Dependency dependency : depMngt.getDependencies() )
- {
- collect.addManagedDependency( RepositoryUtils.toDependency( dependency, stereotypes ) );
- }
- }
-
- DependencyRequest depRequest = new DependencyRequest( collect, filter );
- depRequest.setTrace( trace );
-
- DependencyNode node;
- try
- {
- collect.setTrace( RequestTrace.newChild( trace, depRequest ) );
- node = repoSystem.collectDependencies( session, collect ).getRoot();
- result.setDependencyGraph( node );
- }
- catch ( DependencyCollectionException e )
- {
- result.setDependencyGraph( e.getResult().getRoot() );
- result.setCollectionErrors( e.getResult().getExceptions() );
-
- throw new DependencyResolutionException( result, "Could not resolve dependencies for project "
- + project.getId() + ": " + e.getMessage(), e );
- }
-
- depRequest.setRoot( node );
-
- if ( logger.isWarnEnabled() )
- {
- for ( DependencyNode child : node.getChildren() )
- {
- if ( !child.getRelocations().isEmpty() )
- {
- logger.warn( "The artifact " + child.getRelocations().get( 0 ) + " has been relocated to "
- + child.getDependency().getArtifact() );
- }
- }
- }
-
- if ( logger.isDebugEnabled() )
- {
- node.accept( new GraphLogger( project ) );
- }
-
- try
- {
- process( result, repoSystem.resolveDependencies( session, depRequest ).getArtifactResults() );
- }
- catch ( org.eclipse.aether.resolution.DependencyResolutionException e )
- {
- process( result, e.getResult().getArtifactResults() );
-
- throw new DependencyResolutionException( result, "Could not resolve dependencies for project "
- + project.getId() + ": " + e.getMessage(), e );
- }
-
- return result;
- }
-
- private void process( DefaultDependencyResolutionResult result, Collection<ArtifactResult> results )
- {
- for ( ArtifactResult ar : results )
- {
- DependencyNode node = ar.getRequest().getDependencyNode();
- if ( ar.isResolved() )
- {
- result.addResolvedDependency( node.getDependency() );
- }
- else
- {
- result.setResolutionErrors( node.getDependency(), ar.getExceptions() );
- }
- }
- }
-
- class GraphLogger
- implements DependencyVisitor
- {
-
- private final MavenProject project;
-
- private String indent = "";
-
- private Map<String, Dependency> managed;
-
- public GraphLogger( MavenProject project )
- {
- this.project = project;
- }
-
- public boolean visitEnter( DependencyNode node )
- {
- StringBuilder buffer = new StringBuilder( 128 );
- buffer.append( indent );
- org.eclipse.aether.graph.Dependency dep = node.getDependency();
- if ( dep != null )
- {
- org.eclipse.aether.artifact.Artifact art = dep.getArtifact();
-
- buffer.append( art );
- buffer.append( ':' ).append( dep.getScope() );
-
- String premanagedScope = DependencyManagerUtils.getPremanagedScope( node );
- if ( premanagedScope != null && !premanagedScope.equals( dep.getScope() ) )
- {
- buffer.append( " (scope managed from " ).append( premanagedScope );
- appendManagementSource( buffer, art, "scope" );
- buffer.append( ")" );
- }
-
- String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node );
- if ( premanagedVersion != null && !premanagedVersion.equals( art.getVersion() ) )
- {
- buffer.append( " (version managed from " ).append( premanagedVersion );
- appendManagementSource( buffer, art, "version" );
- buffer.append( ")" );
- }
- }
- else
- {
- buffer.append( project.getGroupId() );
- buffer.append( ':' ).append( project.getArtifactId() );
- buffer.append( ':' ).append( project.getPackaging() );
- buffer.append( ':' ).append( project.getVersion() );
- }
-
- logger.debug( buffer.toString() );
- indent += " ";
- return true;
- }
-
- public boolean visitLeave( DependencyNode node )
- {
- indent = indent.substring( 0, indent.length() - 3 );
- return true;
- }
-
- private void appendManagementSource( StringBuilder buffer, org.eclipse.aether.artifact.Artifact artifact,
- String field )
- {
- if ( managed == null )
- {
- managed = new HashMap<String, Dependency>();
- if ( project.getDependencyManagement() != null )
- {
- for ( Dependency dep : project.getDependencyManagement().getDependencies() )
- {
- managed.put( dep.getManagementKey(), dep );
- }
- }
- }
-
- String key =
- ArtifactIdUtils.toVersionlessId( artifact.getGroupId(), artifact.getArtifactId(),
- artifact.getProperty( ArtifactProperties.TYPE, "jar" ),
- artifact.getClassifier() );
-
- Dependency dependency = managed.get( key );
- if ( dependency != null )
- {
- InputLocation location = dependency.getLocation( field );
- if ( location != null )
- {
- InputSource source = location.getSource();
- if ( source != null )
- {
- buffer.append( " by " ).append( source.getModelId() );
- }
- }
- }
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java
deleted file mode 100644
index 53b82bcf..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable;
-import org.eclipse.aether.graph.DependencyFilter;
-
-/**
- * Default project realm cache implementation. Assumes cached data does not change.
- */
-@Component( role = ProjectRealmCache.class )
-public class DefaultProjectRealmCache
- implements ProjectRealmCache, Disposable
-{
-
- protected static class CacheKey
- implements Key
- {
-
- private final List<? extends ClassRealm> extensionRealms;
-
- private final int hashCode;
-
- public CacheKey( List<? extends ClassRealm> extensionRealms )
- {
- this.extensionRealms = ( extensionRealms != null ) ? extensionRealms : Collections.<ClassRealm>emptyList();
-
- this.hashCode = this.extensionRealms.hashCode();
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- @Override
- public boolean equals( Object o )
- {
- if ( o == this )
- {
- return true;
- }
-
- if ( !( o instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey other = (CacheKey) o;
-
- return extensionRealms.equals( other.extensionRealms );
- }
-
- @Override
- public String toString()
- {
- return extensionRealms.toString();
- }
- }
-
- protected final Map<Key, CacheRecord> cache = new ConcurrentHashMap<Key, CacheRecord>();
-
- @Override
- public Key createKey( List<? extends ClassRealm> extensionRealms )
- {
- return new CacheKey( extensionRealms );
- }
-
- public CacheRecord get( Key key )
- {
- return cache.get( key );
- }
-
- public CacheRecord put( Key key, ClassRealm projectRealm, DependencyFilter extensionArtifactFilter )
- {
- if ( projectRealm == null )
- {
- throw new NullPointerException();
- }
-
- if ( cache.containsKey( key ) )
- {
- throw new IllegalStateException( "Duplicate project realm for extensions " + key );
- }
-
- CacheRecord record = new CacheRecord( projectRealm, extensionArtifactFilter );
-
- cache.put( key, record );
-
- return record;
- }
-
- public void flush()
- {
- for ( CacheRecord record : cache.values() )
- {
- ClassRealm realm = record.realm;
- try
- {
- realm.getWorld().disposeRealm( realm.getId() );
- }
- catch ( NoSuchRealmException e )
- {
- // ignore
- }
- }
- cache.clear();
- }
-
- public void register( MavenProject project, Key key, CacheRecord record )
- {
- // default cache does not track record usage
- }
-
- @Override
- public void dispose()
- {
- flush();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionException.java
deleted file mode 100644
index 50e601e7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author Benjamin Bentmann
- */
-public class DependencyResolutionException
- extends Exception
-{
-
- private DependencyResolutionResult result;
-
- public DependencyResolutionException( DependencyResolutionResult result, String message, Throwable cause )
- {
- super( message, cause );
- this.result = result;
- }
-
- public DependencyResolutionResult getResult()
- {
- return result;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionRequest.java
deleted file mode 100644
index c120a137..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionRequest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.graph.DependencyFilter;
-
-/**
- * A request to resolve the dependencies of a project.
- *
- * @author Benjamin Bentmann
- */
-public interface DependencyResolutionRequest
-{
-
- /**
- * Gets the project to resolve dependencies for.
- *
- * @return The project to resolve dependencies for or {@code null} if not set.
- */
- MavenProject getMavenProject();
-
- /**
- * Sets the project to resolve dependencies for.
- *
- * @param project The project to resolve dependencies for, may be {@code null}.
- * @return This request for chaining, never {@code null}.
- */
- DependencyResolutionRequest setMavenProject( MavenProject project );
-
- /**
- * Gets the filter used to exclude some dependencies from resolution.
- *
- * @return The filter to exclude dependencies from resolution or {@code null} to resolve all dependencies.
- */
- DependencyFilter getResolutionFilter();
-
- /**
- * Sets the filter used to exclude some dependencies from resolution. Note that this filter only controls the
- * resolution/download of dependency artifacts, not the inclusion of dependency nodes in the resolved dependency
- * graph.
- *
- * @param filter The filter to exclude dependencies from resolution, may be {@code null} to resolve all
- * dependencies.
- * @return This request for chaining, never {@code null}.
- */
- DependencyResolutionRequest setResolutionFilter( DependencyFilter filter );
-
- /**
- * Gets the session to use for repository access.
- *
- * @return The repository session or {@code null} if not set.
- */
- RepositorySystemSession getRepositorySession();
-
- /**
- * Sets the session to use for repository access.
- *
- * @param repositorySession The repository session to use.
- * @return This request for chaining, never {@code null}.
- */
- DependencyResolutionRequest setRepositorySession( RepositorySystemSession repositorySession );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionResult.java
deleted file mode 100644
index 6ad55fae..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DependencyResolutionResult.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-
-/**
- * The result of a project dependency resolution.
- *
- * @author Benjamin Bentmann
- */
-public interface DependencyResolutionResult
-{
-
- /**
- * Gets the dependency graph of the project.
- *
- * @return The dependency graph or {@code null} if not available.
- */
- DependencyNode getDependencyGraph();
-
- /**
- * Gets the transitive dependencies of the project that were not excluded by
- * {@link DependencyResolutionRequest#getResolutionFilter()}. This list is a union of the results from
- * {@link #getResolvedDependencies()} and {@link #getUnresolvedDependencies()}.
- *
- * @return The transitive dependencies, never {@code null}.
- */
- List<Dependency> getDependencies();
-
- /**
- * Gets the dependencies that were successfully resolved.
- *
- * @return The resolved dependencies, never {@code null}.
- */
- List<Dependency> getResolvedDependencies();
-
- /**
- * Gets the dependencies that could not be resolved.
- *
- * @return The unresolved dependencies, never {@code null}.
- */
- List<Dependency> getUnresolvedDependencies();
-
- /**
- * Gets the errors that occurred while building the dependency graph.
- *
- * @return The errors that occurred while building the dependency graph, never {@code null}.
- */
- List<Exception> getCollectionErrors();
-
- /**
- * Gets the errors that occurred while resolving the specified dependency.
- *
- * @param dependency The dependency for which to retrieve the errors, must not be {@code null}.
- * @return The resolution errors for the specified dependency, never {@code null}.
- */
- List<Exception> getResolutionErrors( Dependency dependency );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java
deleted file mode 100644
index 6121473d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateArtifactAttachmentException.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * This exception is thrown if an application attempts to attach
- * two of the same artifacts to a single project.
- *
- * @author pgier
- * @author jdcasey
- * @todo Make this a checked exception, and modify the API of MavenProjectHelper.
- * Currently, this modification would create compatibility problems for existing plugins.
- */
-public class DuplicateArtifactAttachmentException
- extends RuntimeException
-{
-
- private static final String DEFAULT_MESSAGE = "Duplicate artifact attachment detected.";
-
- private Artifact artifact;
-
- private final MavenProject project;
-
- public DuplicateArtifactAttachmentException( MavenProject project, Artifact artifact )
- {
- super( constructMessage( project, artifact ) );
- this.project = project;
- this.artifact = artifact;
- }
-
- private static String constructMessage( MavenProject project, Artifact artifact )
- {
- return DEFAULT_MESSAGE + " (project: " + project.getId() + "; illegal attachment: " + artifact.getId() + ")";
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public Artifact getArtifact()
- {
- return artifact;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateProjectException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateProjectException.java
deleted file mode 100644
index f73c46b2..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/DuplicateProjectException.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-/**
- * Exception that occurs when the project list contains duplicate projects instead of ignoring one.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class DuplicateProjectException
- extends Exception
-{
- private final String projectId;
-
- private final File existingProjectFile;
-
- private final File conflictingProjectFile;
-
- /**
- * @deprecated use {@link #DuplicateProjectException(String, File, File, String)}
- */
- public DuplicateProjectException( String message )
- {
- this( null, null, null, message );
- }
-
- /**
- * @deprecated use {@link #DuplicateProjectException(String, File, File, String)}
- */
- public DuplicateProjectException( String message, Exception e )
- {
- super( message, e );
- this.projectId = null;
- this.existingProjectFile = null;
- this.conflictingProjectFile = null;
- }
-
- public DuplicateProjectException( String projectId, File existingProjectFile, File conflictingProjectFile,
- String message )
- {
- super( message );
- this.projectId = projectId;
- this.existingProjectFile = existingProjectFile;
- this.conflictingProjectFile = conflictingProjectFile;
- }
-
- public String getProjectId()
- {
- return projectId;
- }
-
- public File getExistingProjectFile()
- {
- return existingProjectFile;
- }
-
- public File getConflictingProjectFile()
- {
- return conflictingProjectFile;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptor.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptor.java
deleted file mode 100644
index 062b8b77..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Provides metadata about a build extension. <strong>Warning:</strong> This is an internal utility class that is only
- * public for technical reasons, it is not part of the public API. In particular, this class can be changed or deleted
- * without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public class ExtensionDescriptor
-{
-
- private List<String> exportedPackages;
-
- private List<String> exportedArtifacts;
-
- ExtensionDescriptor()
- {
- // hide constructor
- }
-
- public List<String> getExportedPackages()
- {
- if ( exportedPackages == null )
- {
- exportedPackages = new ArrayList<String>();
- }
-
- return exportedPackages;
- }
-
- public void setExportedPackages( List<String> exportedPackages )
- {
- if ( exportedPackages == null )
- {
- this.exportedPackages = null;
- }
- else
- {
- this.exportedPackages = new ArrayList<String>( exportedPackages );
- }
- }
-
- public List<String> getExportedArtifacts()
- {
- if ( exportedArtifacts == null )
- {
- exportedArtifacts = new ArrayList<String>();
- }
-
- return exportedArtifacts;
- }
-
- public void setExportedArtifacts( List<String> exportedArtifacts )
- {
- if ( exportedArtifacts == null )
- {
- this.exportedArtifacts = null;
- }
- else
- {
- this.exportedArtifacts = new ArrayList<String>( exportedArtifacts );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptorBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptorBuilder.java
deleted file mode 100644
index c835eff5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ExtensionDescriptorBuilder.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Creates an extension descriptor from some XML stream.
- *
- * @author Benjamin Bentmann
- */
-public class ExtensionDescriptorBuilder
-{
-
- /**
- * @since 3.3.0
- */
- public String getExtensionDescriptorLocation()
- {
- return "META-INF/maven/extension.xml";
- }
-
- /**
- * Extracts the extension descriptor (if any) from the specified JAR file.
- *
- * @param extensionJar The JAR file or directory to extract the descriptor from, must not be {@code null}.
- * @return The extracted descriptor or {@code null} if no descriptor was found.
- * @throws IOException If the descriptor is present but could not be parsed.
- */
- public ExtensionDescriptor build( File extensionJar )
- throws IOException
- {
- ExtensionDescriptor extensionDescriptor = null;
-
- if ( extensionJar.isFile() )
- {
- JarFile pluginJar = new JarFile( extensionJar, false );
- try
- {
- ZipEntry pluginDescriptorEntry = pluginJar.getEntry( getExtensionDescriptorLocation() );
-
- if ( pluginDescriptorEntry != null )
- {
- InputStream is = pluginJar.getInputStream( pluginDescriptorEntry );
-
- try
- {
- extensionDescriptor = build( is );
- }
- finally
- {
- IOUtil.close( is );
- }
- }
- }
- finally
- {
- pluginJar.close();
- }
- }
- else
- {
- File pluginXml = new File( extensionJar, getExtensionDescriptorLocation() );
-
- if ( pluginXml.canRead() )
- {
- InputStream is = new BufferedInputStream( new FileInputStream( pluginXml ) );
- try
- {
- extensionDescriptor = build( is );
- }
- finally
- {
- IOUtil.close( is );
- }
- }
- }
-
- return extensionDescriptor;
- }
-
- /**
- * @since 3.3.0
- */
- public ExtensionDescriptor build( InputStream is )
- throws IOException
- {
- ExtensionDescriptor extensionDescriptor = new ExtensionDescriptor();
-
- Xpp3Dom dom;
- try
- {
- dom = Xpp3DomBuilder.build( ReaderFactory.newXmlReader( is ) );
- }
- catch ( XmlPullParserException e )
- {
- throw (IOException) new IOException( e.getMessage() ).initCause( e );
- }
-
- if ( !"extension".equals( dom.getName() ) )
- {
- throw new IOException( "Unexpected root element \"" + dom.getName() + "\", expected \"extension\"" );
- }
-
- extensionDescriptor.setExportedPackages( parseStrings( dom.getChild( "exportedPackages" ) ) );
-
- extensionDescriptor.setExportedArtifacts( parseStrings( dom.getChild( "exportedArtifacts" ) ) );
-
- return extensionDescriptor;
- }
-
- private List<String> parseStrings( Xpp3Dom dom )
- {
- List<String> strings = null;
-
- if ( dom != null )
- {
- strings = new ArrayList<String>();
-
- for ( Xpp3Dom child : dom.getChildren() )
- {
- String string = child.getValue();
- if ( string != null )
- {
- string = string.trim();
- if ( string.length() > 0 )
- {
- strings.add( string );
- }
- }
- }
- }
-
- return strings;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/InvalidProjectVersionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/InvalidProjectVersionException.java
deleted file mode 100644
index 5e42ee46..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/InvalidProjectVersionException.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-
-public class InvalidProjectVersionException
- extends ProjectBuildingException
-{
-
- private final String locationInPom;
-
- private final String offendingVersion;
-
- public InvalidProjectVersionException( String projectId, String locationInPom, String offendingVersion,
- File pomFile, InvalidVersionSpecificationException cause )
- {
- super( projectId, formatMessage( projectId, locationInPom, offendingVersion, cause ), pomFile, cause );
- this.locationInPom = locationInPom;
- this.offendingVersion = offendingVersion;
- }
-
- private static String formatMessage( String projectId, String locationInPom, String offendingVersion,
- InvalidVersionSpecificationException cause )
- {
- return "Invalid version: " + offendingVersion + " found for: " + locationInPom + " in project: " + projectId
- + ". Reason: " + cause.getMessage();
- }
-
- public String getOffendingVersion()
- {
- return offendingVersion;
- }
-
- public String getLocationInPom()
- {
- return locationInPom;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
deleted file mode 100644
index 8587a5c3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ /dev/null
@@ -1,1976 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import org.apache.maven.RepositoryUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.artifact.DependencyResolutionRequiredException;
-// remove once createArtifacts() is removed
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.CiManagement;
-import org.apache.maven.model.Contributor;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Developer;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Extension;
-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.Organization;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.PluginManagement;
-import org.apache.maven.model.Prerequisites;
-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.Repository;
-import org.apache.maven.model.Resource;
-import org.apache.maven.model.Scm;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.project.artifact.MavenMetadataSource;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * The concern of the project is provide runtime values based on the model.
- * <p/>
- * The values in the model remain untouched but during the process of building a project notions like inheritance and
- * interpolation can be added. This allows to have an entity which is useful in a runtime while preserving the model so
- * that it can be marshalled and unmarshalled without being tainted by runtime requirements.
- * <p/>
- * <p>
- * With changes during 3.2.2 release MavenProject is closer to being immutable after construction with the removal of
- * all components from this class, and the upfront construction taken care of entirely by the @{ProjectBuilder}. There
- * is still the issue of having to run the lifecycle in order to find all the compile source roots and resource
- * directories but I hope to take care of this during the Maven 4.0 release (jvz).
- * </p>
- */
-public class MavenProject
- implements Cloneable
-{
- public static final String EMPTY_PROJECT_GROUP_ID = "unknown";
-
- public static final String EMPTY_PROJECT_ARTIFACT_ID = "empty-project";
-
- public static final String EMPTY_PROJECT_VERSION = "0";
-
- private Model model;
-
- private MavenProject parent;
-
- private File file;
-
- private File basedir;
-
- private Set<Artifact> resolvedArtifacts;
-
- private ArtifactFilter artifactFilter;
-
- private Set<Artifact> artifacts;
-
- private Artifact parentArtifact;
-
- private Set<Artifact> pluginArtifacts;
-
- private List<ArtifactRepository> remoteArtifactRepositories;
-
- private List<ArtifactRepository> pluginArtifactRepositories;
-
- private List<RemoteRepository> remoteProjectRepositories;
-
- private List<RemoteRepository> remotePluginRepositories;
-
- private List<Artifact> attachedArtifacts;
-
- private MavenProject executionProject;
-
- private List<MavenProject> collectedProjects;
-
- private List<String> compileSourceRoots = new ArrayList<String>();
-
- private List<String> testCompileSourceRoots = new ArrayList<String>();
-
- private List<String> scriptSourceRoots = new ArrayList<String>();
-
- private ArtifactRepository releaseArtifactRepository;
-
- private ArtifactRepository snapshotArtifactRepository;
-
- private List<Profile> activeProfiles = new ArrayList<Profile>();
-
- private Map<String, List<String>> injectedProfileIds = new LinkedHashMap<String, List<String>>();
-
- private Set<Artifact> dependencyArtifacts;
-
- private Artifact artifact;
-
- // calculated.
- private Map<String, Artifact> artifactMap;
-
- private Model originalModel;
-
- private Map<String, Artifact> pluginArtifactMap;
-
- private Set<Artifact> reportArtifacts;
-
- private Map<String, Artifact> reportArtifactMap;
-
- private Set<Artifact> extensionArtifacts;
-
- private Map<String, Artifact> extensionArtifactMap;
-
- private Map<String, Artifact> managedVersionMap;
-
- private Map<String, MavenProject> projectReferences = new HashMap<String, MavenProject>();
-
- private boolean executionRoot;
-
- private File parentFile;
-
- private Map<String, Object> context;
-
- private ClassRealm classRealm;
-
- private DependencyFilter extensionDependencyFilter;
-
- private final Set<String> lifecyclePhases = Collections.synchronizedSet( new LinkedHashSet<String>() );
-
- public MavenProject()
- {
- Model model = new Model();
-
- model.setGroupId( EMPTY_PROJECT_GROUP_ID );
- model.setArtifactId( EMPTY_PROJECT_ARTIFACT_ID );
- model.setVersion( EMPTY_PROJECT_VERSION );
-
- setModel( model );
- }
-
- public MavenProject( Model model )
- {
- setModel( model );
- }
-
- public MavenProject( MavenProject project )
- {
- deepCopy( project );
- }
-
- public File getParentFile()
- {
- return parentFile;
- }
-
- public void setParentFile( File parentFile )
- {
- this.parentFile = parentFile;
- }
-
- // ----------------------------------------------------------------------
- // Accessors
- // ----------------------------------------------------------------------
-
- public Artifact getArtifact()
- {
- return artifact;
- }
-
- public void setArtifact( Artifact artifact )
- {
- this.artifact = artifact;
- }
-
- // @todo I would like to get rid of this. jvz.
- public Model getModel()
- {
- return model;
- }
-
- /**
- * Returns the project corresponding to a declared parent.
- *
- * @return the parent, or null if no parent is declared or there was an error building it
- */
- public MavenProject getParent()
- {
- return parent;
- }
-
- public void setParent( MavenProject parent )
- {
- this.parent = parent;
- }
-
- public boolean hasParent()
- {
- return getParent() != null;
- }
-
- public File getFile()
- {
- return file;
- }
-
- public void setFile( File file )
- {
- this.file = file;
- this.basedir = file != null ? file.getParentFile() : null;
- }
-
- /**
- * Sets project {@code file} without changing project {@code basedir}.
- *
- * @since 3.2.4
- */
- public void setPomFile( File file )
- {
- this.file = file;
- }
-
- public File getBasedir()
- {
- return basedir;
- }
-
- public void setDependencies( List<Dependency> dependencies )
- {
- getModel().setDependencies( dependencies );
- }
-
- public List<Dependency> getDependencies()
- {
- return getModel().getDependencies();
- }
-
- public DependencyManagement getDependencyManagement()
- {
- return getModel().getDependencyManagement();
- }
-
- // ----------------------------------------------------------------------
- // Test and compile sourceroots.
- // ----------------------------------------------------------------------
-
- private void addPath( List<String> paths, String path )
- {
- if ( path != null )
- {
- path = path.trim();
- if ( path.length() > 0 )
- {
- File file = new File( path );
- if ( file.isAbsolute() )
- {
- path = file.getAbsolutePath();
- }
- else
- {
- path = new File( getBasedir(), path ).getAbsolutePath();
- }
-
- if ( !paths.contains( path ) )
- {
- paths.add( path );
- }
- }
- }
- }
-
- public void addCompileSourceRoot( String path )
- {
- addPath( getCompileSourceRoots(), path );
- }
-
- public void addTestCompileSourceRoot( String path )
- {
- addPath( getTestCompileSourceRoots(), path );
- }
-
- public List<String> getCompileSourceRoots()
- {
- return compileSourceRoots;
- }
-
- public List<String> getTestCompileSourceRoots()
- {
- return testCompileSourceRoots;
- }
-
- public List<String> getCompileClasspathElements()
- throws DependencyResolutionRequiredException
- {
- List<String> list = new ArrayList<String>( getArtifacts().size() + 1 );
-
- String d = getBuild().getOutputDirectory();
- if ( d != null )
- {
- list.add( d );
- }
-
- for ( Artifact a : getArtifacts() )
- {
- if ( a.getArtifactHandler().isAddedToClasspath() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() )
- || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
- {
- addArtifactPath( a, list );
- }
- }
- }
-
- return list;
- }
-
- // TODO: this checking for file == null happens because the resolver has been confused about the root
- // artifact or not. things like the stupid dummy artifact coming from surefire.
- public List<String> getTestClasspathElements()
- throws DependencyResolutionRequiredException
- {
- List<String> list = new ArrayList<String>( getArtifacts().size() + 2 );
-
- String d = getBuild().getTestOutputDirectory();
- if ( d != null )
- {
- list.add( d );
- }
-
- d = getBuild().getOutputDirectory();
- if ( d != null )
- {
- list.add( d );
- }
-
- for ( Artifact a : getArtifacts() )
- {
- if ( a.getArtifactHandler().isAddedToClasspath() )
- {
- addArtifactPath( a, list );
- }
- }
-
- return list;
- }
-
- public List<String> getRuntimeClasspathElements()
- throws DependencyResolutionRequiredException
- {
- List<String> list = new ArrayList<String>( getArtifacts().size() + 1 );
-
- String d = getBuild().getOutputDirectory();
- if ( d != null )
- {
- list.add( d );
- }
-
- for ( Artifact a : getArtifacts() )
- {
- if ( a.getArtifactHandler().isAddedToClasspath()
- // TODO: let the scope handler deal with this
- && ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) ) )
- {
- addArtifactPath( a, list );
- }
- }
- return list;
- }
-
- // ----------------------------------------------------------------------
- // Delegate to the model
- // ----------------------------------------------------------------------
-
- public void setModelVersion( String pomVersion )
- {
- getModel().setModelVersion( pomVersion );
- }
-
- public String getModelVersion()
- {
- return getModel().getModelVersion();
- }
-
- public String getId()
- {
- return getModel().getId();
- }
-
- public void setGroupId( String groupId )
- {
- getModel().setGroupId( groupId );
- }
-
- public String getGroupId()
- {
- String groupId = getModel().getGroupId();
-
- if ( ( groupId == null ) && ( getModel().getParent() != null ) )
- {
- groupId = getModel().getParent().getGroupId();
- }
-
- return groupId;
- }
-
- public void setArtifactId( String artifactId )
- {
- getModel().setArtifactId( artifactId );
- }
-
- public String getArtifactId()
- {
- return getModel().getArtifactId();
- }
-
- public void setName( String name )
- {
- getModel().setName( name );
- }
-
- public String getName()
- {
- // TODO: this should not be allowed to be null.
- if ( getModel().getName() != null )
- {
- return getModel().getName();
- }
- else
- {
- return getArtifactId();
- }
- }
-
- public void setVersion( String version )
- {
- getModel().setVersion( version );
- }
-
- public String getVersion()
- {
- String version = getModel().getVersion();
-
- if ( ( version == null ) && ( getModel().getParent() != null ) )
- {
- version = getModel().getParent().getVersion();
- }
-
- return version;
- }
-
- public String getPackaging()
- {
- return getModel().getPackaging();
- }
-
- public void setPackaging( String packaging )
- {
- getModel().setPackaging( packaging );
- }
-
- public void setInceptionYear( String inceptionYear )
- {
- getModel().setInceptionYear( inceptionYear );
- }
-
- public String getInceptionYear()
- {
- return getModel().getInceptionYear();
- }
-
- public void setUrl( String url )
- {
- getModel().setUrl( url );
- }
-
- public String getUrl()
- {
- return getModel().getUrl();
- }
-
- public Prerequisites getPrerequisites()
- {
- return getModel().getPrerequisites();
- }
-
- public void setIssueManagement( IssueManagement issueManagement )
- {
- getModel().setIssueManagement( issueManagement );
- }
-
- public CiManagement getCiManagement()
- {
- return getModel().getCiManagement();
- }
-
- public void setCiManagement( CiManagement ciManagement )
- {
- getModel().setCiManagement( ciManagement );
- }
-
- public IssueManagement getIssueManagement()
- {
- return getModel().getIssueManagement();
- }
-
- public void setDistributionManagement( DistributionManagement distributionManagement )
- {
- getModel().setDistributionManagement( distributionManagement );
- }
-
- public DistributionManagement getDistributionManagement()
- {
- return getModel().getDistributionManagement();
- }
-
- public void setDescription( String description )
- {
- getModel().setDescription( description );
- }
-
- public String getDescription()
- {
- return getModel().getDescription();
- }
-
- public void setOrganization( Organization organization )
- {
- getModel().setOrganization( organization );
- }
-
- public Organization getOrganization()
- {
- return getModel().getOrganization();
- }
-
- public void setScm( Scm scm )
- {
- getModel().setScm( scm );
- }
-
- public Scm getScm()
- {
- return getModel().getScm();
- }
-
- public void setMailingLists( List<MailingList> mailingLists )
- {
- getModel().setMailingLists( mailingLists );
- }
-
- public List<MailingList> getMailingLists()
- {
- return getModel().getMailingLists();
- }
-
- public void addMailingList( MailingList mailingList )
- {
- getModel().addMailingList( mailingList );
- }
-
- public void setDevelopers( List<Developer> developers )
- {
- getModel().setDevelopers( developers );
- }
-
- public List<Developer> getDevelopers()
- {
- return getModel().getDevelopers();
- }
-
- public void addDeveloper( Developer developer )
- {
- getModel().addDeveloper( developer );
- }
-
- public void setContributors( List<Contributor> contributors )
- {
- getModel().setContributors( contributors );
- }
-
- public List<Contributor> getContributors()
- {
- return getModel().getContributors();
- }
-
- public void addContributor( Contributor contributor )
- {
- getModel().addContributor( contributor );
- }
-
- public void setBuild( Build build )
- {
- getModel().setBuild( build );
- }
-
- public Build getBuild()
- {
- return getModelBuild();
- }
-
- public List<Resource> getResources()
- {
- return getBuild().getResources();
- }
-
- public List<Resource> getTestResources()
- {
- return getBuild().getTestResources();
- }
-
- public void addResource( Resource resource )
- {
- getBuild().addResource( resource );
- }
-
- public void addTestResource( Resource testResource )
- {
- getBuild().addTestResource( testResource );
- }
-
- public void setLicenses( List<License> licenses )
- {
- getModel().setLicenses( licenses );
- }
-
- public List<License> getLicenses()
- {
- return getModel().getLicenses();
- }
-
- public void addLicense( License license )
- {
- getModel().addLicense( license );
- }
-
- public void setArtifacts( Set<Artifact> artifacts )
- {
- this.artifacts = artifacts;
-
- // flush the calculated artifactMap
- artifactMap = null;
- }
-
- /**
- * All dependencies that this project has, including transitive ones. Contents are lazily populated, so depending on
- * what phases have run dependencies in some scopes won't be included. eg. if only compile phase has run,
- * dependencies with scope test won't be included.
- *
- * @return {@link Set} &lt; {@link Artifact} >
- * @see #getDependencyArtifacts() to get only direct dependencies
- */
- public Set<Artifact> getArtifacts()
- {
- if ( artifacts == null )
- {
- if ( artifactFilter == null || resolvedArtifacts == null )
- {
- artifacts = new LinkedHashSet<Artifact>();
- }
- else
- {
- artifacts = new LinkedHashSet<Artifact>( resolvedArtifacts.size() * 2 );
- for ( Artifact artifact : resolvedArtifacts )
- {
- if ( artifactFilter.include( artifact ) )
- {
- artifacts.add( artifact );
- }
- }
- }
- }
- return artifacts;
- }
-
- public Map<String, Artifact> getArtifactMap()
- {
- if ( artifactMap == null )
- {
- artifactMap = ArtifactUtils.artifactMapByVersionlessId( getArtifacts() );
- }
- return artifactMap;
- }
-
- public void setPluginArtifacts( Set<Artifact> pluginArtifacts )
- {
- this.pluginArtifacts = pluginArtifacts;
-
- this.pluginArtifactMap = null;
- }
-
- public Set<Artifact> getPluginArtifacts()
- {
- return pluginArtifacts;
- }
-
- public Map<String, Artifact> getPluginArtifactMap()
- {
- if ( pluginArtifactMap == null )
- {
- pluginArtifactMap = ArtifactUtils.artifactMapByVersionlessId( getPluginArtifacts() );
- }
-
- return pluginArtifactMap;
- }
-
- public void setParentArtifact( Artifact parentArtifact )
- {
- this.parentArtifact = parentArtifact;
- }
-
- public Artifact getParentArtifact()
- {
- return parentArtifact;
- }
-
- public List<Repository> getRepositories()
- {
- return getModel().getRepositories();
- }
-
- // ----------------------------------------------------------------------
- // Plugins
- // ----------------------------------------------------------------------
-
- public List<Plugin> getBuildPlugins()
- {
- if ( getModel().getBuild() == null )
- {
- return Collections.emptyList();
- }
- return getModel().getBuild().getPlugins();
- }
-
- public List<String> getModules()
- {
- return getModel().getModules();
- }
-
- public PluginManagement getPluginManagement()
- {
- PluginManagement pluginMgmt = null;
-
- Build build = getModel().getBuild();
- if ( build != null )
- {
- pluginMgmt = build.getPluginManagement();
- }
-
- return pluginMgmt;
- }
-
- private Build getModelBuild()
- {
- Build build = getModel().getBuild();
-
- if ( build == null )
- {
- build = new Build();
-
- getModel().setBuild( build );
- }
-
- return build;
- }
-
- public void setRemoteArtifactRepositories( List<ArtifactRepository> remoteArtifactRepositories )
- {
- this.remoteArtifactRepositories = remoteArtifactRepositories;
- this.remoteProjectRepositories = RepositoryUtils.toRepos( getRemoteArtifactRepositories() );
- }
-
- public List<ArtifactRepository> getRemoteArtifactRepositories()
- {
- if ( remoteArtifactRepositories == null )
- {
- remoteArtifactRepositories = new ArrayList<ArtifactRepository>();
- }
-
- return remoteArtifactRepositories;
- }
-
- public void setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifactRepositories )
- {
- this.pluginArtifactRepositories = pluginArtifactRepositories;
- this.remotePluginRepositories = RepositoryUtils.toRepos( getPluginArtifactRepositories() );
- }
-
- /**
- * @return a list of ArtifactRepository objects constructed from the Repository objects returned by
- * getPluginRepositories.
- */
- public List<ArtifactRepository> getPluginArtifactRepositories()
- {
- if ( pluginArtifactRepositories == null )
- {
- pluginArtifactRepositories = new ArrayList<ArtifactRepository>();
- }
-
- return pluginArtifactRepositories;
- }
-
- public ArtifactRepository getDistributionManagementArtifactRepository()
- {
- return getArtifact().isSnapshot() && ( getSnapshotArtifactRepository() != null )
- ? getSnapshotArtifactRepository()
- : getReleaseArtifactRepository();
- }
-
- public List<Repository> getPluginRepositories()
- {
- return getModel().getPluginRepositories();
- }
-
- public List<RemoteRepository> getRemoteProjectRepositories()
- {
- return remoteProjectRepositories;
- }
-
- public List<RemoteRepository> getRemotePluginRepositories()
- {
- return remotePluginRepositories;
- }
-
- public void setActiveProfiles( List<Profile> activeProfiles )
- {
- this.activeProfiles = activeProfiles;
- }
-
- public List<Profile> getActiveProfiles()
- {
- return activeProfiles;
- }
-
- public void setInjectedProfileIds( String source, List<String> injectedProfileIds )
- {
- if ( injectedProfileIds != null )
- {
- this.injectedProfileIds.put( source, new ArrayList<String>( injectedProfileIds ) );
- }
- else
- {
- this.injectedProfileIds.remove( source );
- }
- }
-
- /**
- * Gets the identifiers of all profiles that contributed to this project's effective model. This includes active
- * profiles from the project's POM and all its parent POMs as well as from external sources like the
- * {@code settings.xml}. The profile identifiers are grouped by the identifier of their source, e.g.
- * {@code <groupId>:<artifactId>:<version>} for a POM profile or {@code external} for profiles from the
- * {@code settings.xml}.
- *
- * @return The identifiers of all injected profiles, indexed by the source from which the profiles originated, never
- * {@code null}.
- */
- public Map<String, List<String>> getInjectedProfileIds()
- {
- return this.injectedProfileIds;
- }
-
- /**
- * Add or replace an artifact. This method is now deprecated. Use the @{MavenProjectHelper} to attach artifacts to a
- * project. In spite of the 'throws' declaration on this API, this method has never thrown an exception since Maven
- * 3.0.x. Historically, it logged and ignored a second addition of the same g/a/v/c/t. Now it replaces the file for
- * the artifact, so that plugins (e.g. shade) can change the pathname of the file for a particular set of
- * coordinates.
- *
- * @param artifact the artifact to add or replace.
- * @throws DuplicateArtifactAttachmentException
- */
- public void addAttachedArtifact( Artifact artifact )
- throws DuplicateArtifactAttachmentException
- {
- getAttachedArtifacts().add( artifact );
- }
-
- public List<Artifact> getAttachedArtifacts()
- {
- if ( attachedArtifacts == null )
- {
- attachedArtifacts = new ArrayList<Artifact>();
- }
- return attachedArtifacts;
- }
-
- public Xpp3Dom getGoalConfiguration( String pluginGroupId, String pluginArtifactId, String executionId,
- String goalId )
- {
- Xpp3Dom dom = null;
-
- if ( getBuildPlugins() != null )
- {
- for ( Plugin plugin : getBuildPlugins() )
- {
- if ( pluginGroupId.equals( plugin.getGroupId() ) && pluginArtifactId.equals( plugin.getArtifactId() ) )
- {
- dom = (Xpp3Dom) plugin.getConfiguration();
-
- if ( executionId != null )
- {
- PluginExecution execution = plugin.getExecutionsAsMap().get( executionId );
- if ( execution != null )
- {
- // NOTE: The PluginConfigurationExpander already merged the plugin-level config in
- dom = (Xpp3Dom) execution.getConfiguration();
- }
- }
- break;
- }
- }
- }
-
- if ( dom != null )
- {
- // make a copy so the original in the POM doesn't get messed with
- dom = new Xpp3Dom( dom );
- }
-
- return dom;
- }
-
- public MavenProject getExecutionProject()
- {
- return ( executionProject == null ? this : executionProject );
- }
-
- public void setExecutionProject( MavenProject executionProject )
- {
- this.executionProject = executionProject;
- }
-
- public List<MavenProject> getCollectedProjects()
- {
- return collectedProjects;
- }
-
- public void setCollectedProjects( List<MavenProject> collectedProjects )
- {
- this.collectedProjects = collectedProjects;
- }
-
- /**
- * Direct dependencies that this project has.
- *
- * @return {@link Set} &lt; {@link Artifact} >
- * @see #getArtifacts() to get all transitive dependencies
- */
- public Set<Artifact> getDependencyArtifacts()
- {
- return dependencyArtifacts;
- }
-
- public void setDependencyArtifacts( Set<Artifact> dependencyArtifacts )
- {
- this.dependencyArtifacts = dependencyArtifacts;
- }
-
- public void setReleaseArtifactRepository( ArtifactRepository releaseArtifactRepository )
- {
- this.releaseArtifactRepository = releaseArtifactRepository;
- }
-
- public void setSnapshotArtifactRepository( ArtifactRepository snapshotArtifactRepository )
- {
- this.snapshotArtifactRepository = snapshotArtifactRepository;
- }
-
- public void setOriginalModel( Model originalModel )
- {
- this.originalModel = originalModel;
- }
-
- public Model getOriginalModel()
- {
- return originalModel;
- }
-
- public void setManagedVersionMap( Map<String, Artifact> map )
- {
- managedVersionMap = map;
- }
-
- public Map<String, Artifact> getManagedVersionMap()
- {
- return managedVersionMap;
- }
-
- @Override
- public boolean equals( Object other )
- {
- if ( other == this )
- {
- return true;
- }
- else if ( !( other instanceof MavenProject ) )
- {
- return false;
- }
-
- MavenProject that = (MavenProject) other;
-
- return eq( getArtifactId(), that.getArtifactId() ) && eq( getGroupId(), that.getGroupId() )
- && eq( getVersion(), that.getVersion() );
- }
-
- private static <T> boolean eq( T s1, T s2 )
- {
- return ( s1 != null ) ? s1.equals( s2 ) : s2 == null;
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
- hash = 31 * hash + getGroupId().hashCode();
- hash = 31 * hash + getArtifactId().hashCode();
- hash = 31 * hash + getVersion().hashCode();
- return hash;
- }
-
- public List<Extension> getBuildExtensions()
- {
- Build build = getBuild();
- if ( ( build == null ) || ( build.getExtensions() == null ) )
- {
- return Collections.emptyList();
- }
- else
- {
- return build.getExtensions();
- }
- }
-
- public void addProjectReference( MavenProject project )
- {
- projectReferences.put( getProjectReferenceId( project.getGroupId(), project.getArtifactId(),
- project.getVersion() ), project );
- }
-
- public Properties getProperties()
- {
- return getModel().getProperties();
- }
-
- public List<String> getFilters()
- {
- return getBuild().getFilters();
- }
-
- public Map<String, MavenProject> getProjectReferences()
- {
- return projectReferences;
- }
-
- public boolean isExecutionRoot()
- {
- return executionRoot;
- }
-
- public void setExecutionRoot( boolean executionRoot )
- {
- this.executionRoot = executionRoot;
- }
-
- public String getDefaultGoal()
- {
- return getBuild() != null ? getBuild().getDefaultGoal() : null;
- }
-
- public Plugin getPlugin( String pluginKey )
- {
- return getBuild().getPluginsAsMap().get( pluginKey );
- }
-
- /**
- * Default toString
- */
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder( 128 );
- sb.append( "MavenProject: " );
- sb.append( getGroupId() );
- sb.append( ":" );
- sb.append( getArtifactId() );
- sb.append( ":" );
- sb.append( getVersion() );
- sb.append( " @ " );
-
- try
- {
- sb.append( getFile().getPath() );
- }
- catch ( NullPointerException e )
- {
- // don't log it.
- }
-
- return sb.toString();
- }
-
- /**
- * @throws CloneNotSupportedException
- * @since 2.0.9
- */
- @Override
- public MavenProject clone()
- {
- MavenProject clone;
- try
- {
- clone = (MavenProject) super.clone();
- }
- catch ( CloneNotSupportedException e )
- {
- throw new UnsupportedOperationException( e );
- }
-
- clone.deepCopy( this );
-
- return clone;
- }
-
- public void setModel( Model model )
- {
- this.model = model;
- }
-
- protected void setAttachedArtifacts( List<Artifact> attachedArtifacts )
- {
- this.attachedArtifacts = attachedArtifacts;
- }
-
- protected void setCompileSourceRoots( List<String> compileSourceRoots )
- {
- this.compileSourceRoots = compileSourceRoots;
- }
-
- protected void setTestCompileSourceRoots( List<String> testCompileSourceRoots )
- {
- this.testCompileSourceRoots = testCompileSourceRoots;
- }
-
- protected ArtifactRepository getReleaseArtifactRepository()
- {
- return releaseArtifactRepository;
- }
-
- protected ArtifactRepository getSnapshotArtifactRepository()
- {
- return snapshotArtifactRepository;
- }
-
- private void deepCopy( MavenProject project )
- {
- // disown the parent
-
- // copy fields
- setFile( project.getFile() );
-
- // don't need a deep copy, they don't get modified or added/removed to/from - but make them unmodifiable to be
- // sure!
- if ( project.getDependencyArtifacts() != null )
- {
- setDependencyArtifacts( Collections.unmodifiableSet( project.getDependencyArtifacts() ) );
- }
-
- if ( project.getArtifacts() != null )
- {
- setArtifacts( Collections.unmodifiableSet( project.getArtifacts() ) );
- }
-
- if ( project.getParentFile() != null )
- {
- parentFile = new File( project.getParentFile().getAbsolutePath() );
- }
-
- if ( project.getPluginArtifacts() != null )
- {
- setPluginArtifacts( Collections.unmodifiableSet( project.getPluginArtifacts() ) );
- }
-
- if ( project.getReportArtifacts() != null )
- {
- setReportArtifacts( Collections.unmodifiableSet( project.getReportArtifacts() ) );
- }
-
- if ( project.getExtensionArtifacts() != null )
- {
- setExtensionArtifacts( Collections.unmodifiableSet( project.getExtensionArtifacts() ) );
- }
-
- setParentArtifact( ( project.getParentArtifact() ) );
-
- if ( project.getRemoteArtifactRepositories() != null )
- {
- setRemoteArtifactRepositories( Collections.unmodifiableList( project.getRemoteArtifactRepositories() ) );
- }
-
- if ( project.getPluginArtifactRepositories() != null )
- {
- setPluginArtifactRepositories( Collections.unmodifiableList( project.getPluginArtifactRepositories() ) );
- }
-
- if ( project.getActiveProfiles() != null )
- {
- setActiveProfiles( ( Collections.unmodifiableList( project.getActiveProfiles() ) ) );
- }
-
- if ( project.getAttachedArtifacts() != null )
- {
- // clone properties modifyable by plugins in a forked lifecycle
- setAttachedArtifacts( new ArrayList<Artifact>( project.getAttachedArtifacts() ) );
- }
-
- if ( project.getCompileSourceRoots() != null )
- {
- // clone source roots
- setCompileSourceRoots( ( new ArrayList<String>( project.getCompileSourceRoots() ) ) );
- }
-
- if ( project.getTestCompileSourceRoots() != null )
- {
- setTestCompileSourceRoots( ( new ArrayList<String>( project.getTestCompileSourceRoots() ) ) );
- }
-
- if ( project.getScriptSourceRoots() != null )
- {
- setScriptSourceRoots( ( new ArrayList<String>( project.getScriptSourceRoots() ) ) );
- }
-
- if ( project.getModel() != null )
- {
- setModel( project.getModel().clone() );
- }
-
- if ( project.getOriginalModel() != null )
- {
- setOriginalModel( project.getOriginalModel() );
- }
-
- setExecutionRoot( project.isExecutionRoot() );
-
- if ( project.getArtifact() != null )
- {
- setArtifact( ArtifactUtils.copyArtifact( project.getArtifact() ) );
- }
-
- if ( project.getManagedVersionMap() != null )
- {
- setManagedVersionMap( new HashMap<String, Artifact>( project.getManagedVersionMap() ) );
- }
-
- lifecyclePhases.addAll( project.lifecyclePhases );
- }
-
- private void addArtifactPath( Artifact artifact, List<String> classpath )
- {
- File file = artifact.getFile();
- if ( file != null )
- {
- classpath.add( file.getPath() );
- }
- }
-
- private static String getProjectReferenceId( String groupId, String artifactId, String version )
- {
- StringBuilder buffer = new StringBuilder( 128 );
- buffer.append( groupId ).append( ':' ).append( artifactId ).append( ':' ).append( version );
- return buffer.toString();
- }
-
- /**
- * Sets the value of the context value of this project identified by the given key. If the supplied value is
- * <code>null</code>, the context value is removed from this project. Context values are intended to allow core
- * extensions to associate derived state with project instances.
- */
- public void setContextValue( String key, Object value )
- {
- if ( context == null )
- {
- context = new HashMap<String, Object>();
- }
- if ( value != null )
- {
- context.put( key, value );
- }
- else
- {
- context.remove( key );
- }
- }
-
- /**
- * Returns context value of this project associated with the given key or null if this project has no such value.
- */
- public Object getContextValue( String key )
- {
- if ( context == null )
- {
- return null;
- }
- return context.get( key );
- }
-
- /**
- * Sets the project's class realm. <strong>Warning:</strong> This is an internal utility method that is only public
- * for technical reasons, it is not part of the public API. In particular, this method can be changed or deleted
- * without prior notice and must not be used by plugins.
- *
- * @param classRealm The class realm hosting the build extensions of this project, may be {@code null}.
- */
- public void setClassRealm( ClassRealm classRealm )
- {
- this.classRealm = classRealm;
- }
-
- /**
- * Gets the project's class realm. This class realm hosts the build extensions of the project.
- * <strong>Warning:</strong> This is an internal utility method that is only public for technical reasons, it is not
- * part of the public API. In particular, this method can be changed or deleted without prior notice and must not be
- * used by plugins.
- *
- * @return The project's class realm or {@code null}.
- */
- public ClassRealm getClassRealm()
- {
- return classRealm;
- }
-
- /**
- * Sets the artifact filter used to exclude shared extension artifacts from plugin realms. <strong>Warning:</strong>
- * This is an internal utility method that is only public for technical reasons, it is not part of the public API.
- * In particular, this method can be changed or deleted without prior notice and must not be used by plugins.
- *
- * @param extensionDependencyFilter The dependency filter to apply to plugins, may be {@code null}.
- */
- public void setExtensionDependencyFilter( DependencyFilter extensionDependencyFilter )
- {
- this.extensionDependencyFilter = extensionDependencyFilter;
- }
-
- /**
- * Gets the dependency filter used to exclude shared extension artifacts from plugin realms.
- * <strong>Warning:</strong> This is an internal utility method that is only public for technical reasons, it is not
- * part of the public API. In particular, this method can be changed or deleted without prior notice and must not be
- * used by plugins.
- *
- * @return The dependency filter or {@code null}.
- */
- public DependencyFilter getExtensionDependencyFilter()
- {
- return extensionDependencyFilter;
- }
-
- /**
- * Sets the transitive dependency artifacts that have been resolved/collected for this project.
- * <strong>Warning:</strong> This is an internal utility method that is only public for technical reasons, it is not
- * part of the public API. In particular, this method can be changed or deleted without prior notice and must not be
- * used by plugins.
- *
- * @param artifacts The set of artifacts, may be {@code null}.
- */
- public void setResolvedArtifacts( Set<Artifact> artifacts )
- {
- this.resolvedArtifacts = ( artifacts != null ) ? artifacts : Collections.<Artifact>emptySet();
- this.artifacts = null;
- this.artifactMap = null;
- }
-
- /**
- * Sets the scope filter to select the artifacts being exposed to the currently executed mojo.
- * <strong>Warning:</strong> This is an internal utility method that is only public for technical reasons, it is not
- * part of the public API. In particular, this method can be changed or deleted without prior notice and must not be
- * used by plugins.
- *
- * @param artifactFilter The artifact filter, may be {@code null} to exclude all artifacts.
- */
- public void setArtifactFilter( ArtifactFilter artifactFilter )
- {
- this.artifactFilter = artifactFilter;
- this.artifacts = null;
- this.artifactMap = null;
- }
-
- /**
- * <strong>Warning:</strong> This is an internal utility method that is only public for technical reasons, it is not
- * part of the public API. In particular, this method can be changed or deleted without prior notice and must not be
- * used by plugins.
- *
- * @param phase The phase to check for, must not be {@code null}.
- * @return {@code true} if the phase has been seen.
- */
- public boolean hasLifecyclePhase( String phase )
- {
- return lifecyclePhases.contains( phase );
- }
-
- /**
- * <strong>Warning:</strong> This is an internal utility method that is only public for technical reasons, it is not
- * part of the public API. In particular, this method can be changed or deleted without prior notice and must not be
- * used by plugins.
- *
- * @param lifecyclePhase The lifecycle phase to add, must not be {@code null}.
- */
- public void addLifecyclePhase( String lifecyclePhase )
- {
- lifecyclePhases.add( lifecyclePhase );
- }
-
- // ----------------------------------------------------------------------------------------------------------------
- //
- //
- // D E P R E C A T E D
- //
- //
- // ----------------------------------------------------------------------------------------------------------------
- //
- // Everything below will be removed for Maven 4.0.0
- //
- // ----------------------------------------------------------------------------------------------------------------
-
- private ProjectBuildingRequest projectBuilderConfiguration;
-
- private Map<String, String> moduleAdjustments;
-
- @Deprecated // This appears only to be used in test code
- public String getModulePathAdjustment( MavenProject moduleProject )
- throws IOException
- {
- // FIXME: This is hacky. What if module directory doesn't match artifactid, and parent
- // is coming from the repository??
- String module = moduleProject.getArtifactId();
-
- File moduleFile = moduleProject.getFile();
-
- if ( moduleFile != null )
- {
- File moduleDir = moduleFile.getCanonicalFile().getParentFile();
-
- module = moduleDir.getName();
- }
-
- if ( moduleAdjustments == null )
- {
- moduleAdjustments = new HashMap<String, String>();
-
- List<String> modules = getModules();
- if ( modules != null )
- {
- for ( String modulePath : modules )
- {
- String moduleName = modulePath;
-
- if ( moduleName.endsWith( "/" ) || moduleName.endsWith( "\\" ) )
- {
- moduleName = moduleName.substring( 0, moduleName.length() - 1 );
- }
-
- int lastSlash = moduleName.lastIndexOf( '/' );
-
- if ( lastSlash < 0 )
- {
- lastSlash = moduleName.lastIndexOf( '\\' );
- }
-
- String adjustment = null;
-
- if ( lastSlash > -1 )
- {
- moduleName = moduleName.substring( lastSlash + 1 );
- adjustment = modulePath.substring( 0, lastSlash );
- }
-
- moduleAdjustments.put( moduleName, adjustment );
- }
- }
- }
-
- return moduleAdjustments.get( module );
- }
-
- @Deprecated
- public Set<Artifact> createArtifacts( ArtifactFactory artifactFactory, String inheritedScope,
- ArtifactFilter filter )
- throws InvalidDependencyVersionException
- {
- return MavenMetadataSource.createArtifacts( artifactFactory, getDependencies(), inheritedScope, filter, this );
- }
-
- @Deprecated
- protected void setScriptSourceRoots( List<String> scriptSourceRoots )
- {
- this.scriptSourceRoots = scriptSourceRoots;
- }
-
- @Deprecated
- public void addScriptSourceRoot( String path )
- {
- if ( path != null )
- {
- path = path.trim();
- if ( path.length() != 0 )
- {
- if ( !getScriptSourceRoots().contains( path ) )
- {
- getScriptSourceRoots().add( path );
- }
- }
- }
- }
-
- @Deprecated
- public List<String> getScriptSourceRoots()
- {
- return scriptSourceRoots;
- }
-
- @Deprecated
- public List<Artifact> getCompileArtifacts()
- {
- List<Artifact> list = new ArrayList<Artifact>( getArtifacts().size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: classpath check doesn't belong here - that's the other method
- if ( a.getArtifactHandler().isAddedToClasspath() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() )
- || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
- {
- list.add( a );
- }
- }
- }
- return list;
- }
-
- @Deprecated
- public List<Dependency> getCompileDependencies()
- {
- Set<Artifact> artifacts = getArtifacts();
-
- if ( ( artifacts == null ) || artifacts.isEmpty() )
- {
- return Collections.emptyList();
- }
-
- List<Dependency> list = new ArrayList<Dependency>( artifacts.size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() )
- || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
- {
- Dependency dependency = new Dependency();
-
- dependency.setArtifactId( a.getArtifactId() );
- dependency.setGroupId( a.getGroupId() );
- dependency.setVersion( a.getVersion() );
- dependency.setScope( a.getScope() );
- dependency.setType( a.getType() );
- dependency.setClassifier( a.getClassifier() );
-
- list.add( dependency );
- }
- }
- return list;
- }
-
- @Deprecated
- public List<Artifact> getTestArtifacts()
- {
- List<Artifact> list = new ArrayList<Artifact>( getArtifacts().size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: classpath check doesn't belong here - that's the other method
- if ( a.getArtifactHandler().isAddedToClasspath() )
- {
- list.add( a );
- }
- }
- return list;
- }
-
- @Deprecated
- public List<Dependency> getTestDependencies()
- {
- Set<Artifact> artifacts = getArtifacts();
-
- if ( ( artifacts == null ) || artifacts.isEmpty() )
- {
- return Collections.emptyList();
- }
-
- List<Dependency> list = new ArrayList<Dependency>( artifacts.size() );
-
- for ( Artifact a : getArtifacts() )
- {
- Dependency dependency = new Dependency();
-
- dependency.setArtifactId( a.getArtifactId() );
- dependency.setGroupId( a.getGroupId() );
- dependency.setVersion( a.getVersion() );
- dependency.setScope( a.getScope() );
- dependency.setType( a.getType() );
- dependency.setClassifier( a.getClassifier() );
-
- list.add( dependency );
- }
- return list;
- }
-
- @Deprecated // used by the Maven ITs
- public List<Dependency> getRuntimeDependencies()
- {
- Set<Artifact> artifacts = getArtifacts();
-
- if ( ( artifacts == null ) || artifacts.isEmpty() )
- {
- return Collections.emptyList();
- }
-
- List<Dependency> list = new ArrayList<Dependency>( artifacts.size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) )
- {
- Dependency dependency = new Dependency();
-
- dependency.setArtifactId( a.getArtifactId() );
- dependency.setGroupId( a.getGroupId() );
- dependency.setVersion( a.getVersion() );
- dependency.setScope( a.getScope() );
- dependency.setType( a.getType() );
- dependency.setClassifier( a.getClassifier() );
-
- list.add( dependency );
- }
- }
- return list;
- }
-
- @Deprecated
- public List<Artifact> getRuntimeArtifacts()
- {
- List<Artifact> list = new ArrayList<Artifact>( getArtifacts().size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: classpath check doesn't belong here - that's the other method
- if ( a.getArtifactHandler().isAddedToClasspath()
- // TODO: let the scope handler deal with this
- && ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) ) )
- {
- list.add( a );
- }
- }
- return list;
- }
-
- @Deprecated
- public List<String> getSystemClasspathElements()
- throws DependencyResolutionRequiredException
- {
- List<String> list = new ArrayList<String>( getArtifacts().size() );
-
- String d = getBuild().getOutputDirectory();
- if ( d != null )
- {
- list.add( d );
- }
-
- for ( Artifact a : getArtifacts() )
- {
- if ( a.getArtifactHandler().isAddedToClasspath() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
- {
- addArtifactPath( a, list );
- }
- }
- }
- return list;
- }
-
- @Deprecated
- public List<Artifact> getSystemArtifacts()
- {
- List<Artifact> list = new ArrayList<Artifact>( getArtifacts().size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: classpath check doesn't belong here - that's the other method
- if ( a.getArtifactHandler().isAddedToClasspath() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
- {
- list.add( a );
- }
- }
- }
- return list;
- }
-
- @Deprecated
- public List<Dependency> getSystemDependencies()
- {
- Set<Artifact> artifacts = getArtifacts();
-
- if ( ( artifacts == null ) || artifacts.isEmpty() )
- {
- return Collections.emptyList();
- }
-
- List<Dependency> list = new ArrayList<Dependency>( artifacts.size() );
-
- for ( Artifact a : getArtifacts() )
- {
- // TODO: let the scope handler deal with this
- if ( Artifact.SCOPE_SYSTEM.equals( a.getScope() ) )
- {
- Dependency dependency = new Dependency();
-
- dependency.setArtifactId( a.getArtifactId() );
- dependency.setGroupId( a.getGroupId() );
- dependency.setVersion( a.getVersion() );
- dependency.setScope( a.getScope() );
- dependency.setType( a.getType() );
- dependency.setClassifier( a.getClassifier() );
-
- list.add( dependency );
- }
- }
- return list;
- }
-
- @Deprecated
- public void setReporting( Reporting reporting )
- {
- getModel().setReporting( reporting );
- }
-
- @Deprecated
- public Reporting getReporting()
- {
- return getModel().getReporting();
- }
-
- @Deprecated
- public void setReportArtifacts( Set<Artifact> reportArtifacts )
- {
- this.reportArtifacts = reportArtifacts;
-
- reportArtifactMap = null;
- }
-
- @Deprecated
- public Set<Artifact> getReportArtifacts()
- {
- return reportArtifacts;
- }
-
- @Deprecated
- public Map<String, Artifact> getReportArtifactMap()
- {
- if ( reportArtifactMap == null )
- {
- reportArtifactMap = ArtifactUtils.artifactMapByVersionlessId( getReportArtifacts() );
- }
-
- return reportArtifactMap;
- }
-
- @Deprecated
- public void setExtensionArtifacts( Set<Artifact> extensionArtifacts )
- {
- this.extensionArtifacts = extensionArtifacts;
-
- extensionArtifactMap = null;
- }
-
- @Deprecated
- public Set<Artifact> getExtensionArtifacts()
- {
- return extensionArtifacts;
- }
-
- @Deprecated
- public Map<String, Artifact> getExtensionArtifactMap()
- {
- if ( extensionArtifactMap == null )
- {
- extensionArtifactMap = ArtifactUtils.artifactMapByVersionlessId( getExtensionArtifacts() );
- }
-
- return extensionArtifactMap;
- }
-
- @Deprecated
- public List<ReportPlugin> getReportPlugins()
- {
- if ( getModel().getReporting() == null )
- {
- return Collections.emptyList();
- }
- return getModel().getReporting().getPlugins();
-
- }
-
- @Deprecated
- public Xpp3Dom getReportConfiguration( String pluginGroupId, String pluginArtifactId, String reportSetId )
- {
- Xpp3Dom dom = null;
-
- // ----------------------------------------------------------------------
- // I would like to be able to lookup the Mojo object using a key but
- // we have a limitation in modello that will be remedied shortly. So
- // for now I have to iterate through and see what we have.
- // ----------------------------------------------------------------------
-
- if ( getReportPlugins() != null )
- {
- for ( ReportPlugin plugin : getReportPlugins() )
- {
- if ( pluginGroupId.equals( plugin.getGroupId() ) && pluginArtifactId.equals( plugin.getArtifactId() ) )
- {
- dom = (Xpp3Dom) plugin.getConfiguration();
-
- if ( reportSetId != null )
- {
- ReportSet reportSet = plugin.getReportSetsAsMap().get( reportSetId );
- if ( reportSet != null )
- {
- Xpp3Dom executionConfiguration = (Xpp3Dom) reportSet.getConfiguration();
- if ( executionConfiguration != null )
- {
- Xpp3Dom newDom = new Xpp3Dom( executionConfiguration );
- dom = Xpp3Dom.mergeXpp3Dom( newDom, dom );
- }
- }
- }
- break;
- }
- }
- }
-
- if ( dom != null )
- {
- // make a copy so the original in the POM doesn't get messed with
- dom = new Xpp3Dom( dom );
- }
-
- return dom;
- }
-
- /**
- * @deprecated Use MavenProjectHelper.attachArtifact(..) instead.
- */
- @Deprecated
- public void attachArtifact( String type, String classifier, File file )
- {
- }
-
- /**
- * @deprecated Use {@link org.apache.maven.model.io.ModelWriter}.
- */
- @Deprecated
- public void writeModel( Writer writer )
- throws IOException
- {
- MavenXpp3Writer pomWriter = new MavenXpp3Writer();
- pomWriter.write( writer, getModel() );
- }
-
- /**
- * @deprecated Use {@link org.apache.maven.model.io.ModelWriter}.
- */
- @Deprecated
- public void writeOriginalModel( Writer writer )
- throws IOException
- {
- MavenXpp3Writer pomWriter = new MavenXpp3Writer();
- pomWriter.write( writer, getOriginalModel() );
- }
-
- @Deprecated
- public Artifact replaceWithActiveArtifact( Artifact pluginArtifact )
- {
- return pluginArtifact;
- }
-
- /**
- * Gets the project building request from which this project instance was created. <strong>Warning:</strong> This is
- * an utility method that is meant to assist integrators of Maven, it must not be used by Maven plugins.
- *
- * @return The project building request or {@code null}.
- * @since 2.1
- */
- @Deprecated
- public ProjectBuildingRequest getProjectBuildingRequest()
- {
- return projectBuilderConfiguration;
- }
-
- /**
- * Sets the project building request from which this project instance was created. <strong>Warning:</strong> This is
- * an utility method that is meant to assist integrators of Maven, it must not be used by Maven plugins.
- *
- * @param projectBuildingRequest The project building request, may be {@code null}.
- * @since 2.1
- */
- // used by maven-dependency-tree
- @Deprecated
- public void setProjectBuildingRequest( ProjectBuildingRequest projectBuildingRequest )
- {
- this.projectBuilderConfiguration = projectBuildingRequest;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
deleted file mode 100644
index 0b54c004..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/MavenProjectHelper.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.List;
-
-/**
- * Convenience interface for plugins to add or replace artifacts and resources on projects.
- */
-public interface MavenProjectHelper
-{
- String ROLE = MavenProjectHelper.class.getName();
-
- /**
- * See {@link #attachArtifact(MavenProject, String, String, java.io.File)}, but with type set to null.
- * @param project project reference.
- * @param artifactFile artifact file.
- * @param artifactClassifier artifact classifier.
- */
- void attachArtifact( MavenProject project, File artifactFile, String artifactClassifier );
-
- /**
- * * See {@link #attachArtifact(MavenProject, String, String, java.io.File)}, but with classifier set to null.
- * @param project project reference.
- * @param artifactType artifact type.
- * @param artifactFile arrifact file.
- */
- void attachArtifact( MavenProject project, String artifactType, File artifactFile );
-
- /**
- * Add or replace an artifact to the current project.
- * @param project the project reference.
- * @param artifactType the type (e.g. jar) or null.
- * @param artifactClassifier the classifier or null.
- * @param artifactFile the file for the artifact.
- */
- void attachArtifact( MavenProject project, String artifactType, String artifactClassifier, File artifactFile );
-
- /**
- * Add a resource directory to the project.
- * @param project project reference.
- * @param resourceDirectory directory.
- * @param includes include patterns.
- * @param excludes exclude patterns.
- */
- void addResource( MavenProject project, String resourceDirectory, List<String> includes, List<String> excludes );
-
- /**
- * Add a test resource directory to the project.
- * @param project project reference.
- * @param resourceDirectory directory.
- * @param includes include patterns.
- * @param excludes exclude patterns.
- */
- void addTestResource( MavenProject project, String resourceDirectory, List<String> includes,
- List<String> excludes );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuilder.java
deleted file mode 100644
index 4ac83972..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuilder.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.building.ModelSource;
-
-/**
- * Builds in-memory descriptions of projects.
- */
-public interface ProjectBuilder
-{
-
- /**
- * Builds a project descriptor from the specified POM file.
- *
- * @param projectFile The POM file to build the project from, must not be {@code null}.
- * @param request The project building request that holds further parameters, must not be {@code null}.
- * @return The result of the project building, never {@code null}.
- * @throws ProjectBuildingException If the project descriptor could not be successfully built.
- */
- ProjectBuildingResult build( File projectFile, ProjectBuildingRequest request )
- throws ProjectBuildingException;
-
- /**
- * Builds a project descriptor for the specified artifact.
- *
- * @param projectArtifact The POM artifact to build the project from, must not be {@code null}.
- * @param request The project building request that holds further parameters, must not be {@code null}.
- * @return The result of the project building, never {@code null}.
- * @throws ProjectBuildingException If the project descriptor could not be successfully built.
- */
- ProjectBuildingResult build( Artifact projectArtifact, ProjectBuildingRequest request )
- throws ProjectBuildingException;
-
- /**
- * Builds a project descriptor for the specified artifact.
- *
- * @param projectArtifact The POM artifact to build the project from, must not be {@code null}.
- * @param allowStubModel A flag controlling the case of a missing POM artifact. If {@code true} and the specified
- * POM artifact does not exist, a simple stub model will be returned. If {@code false}, an exception will
- * be thrown.
- * @param request The project building request that holds further parameters, must not be {@code null}.
- * @return The result of the project building, never {@code null}.
- * @throws ProjectBuildingException If the project descriptor could not be successfully built.
- */
- ProjectBuildingResult build( Artifact projectArtifact, boolean allowStubModel, ProjectBuildingRequest request )
- throws ProjectBuildingException;
-
- /**
- * Builds a project descriptor for the specified model source.
- *
- * @param modelSource The source of the model to built the project descriptor from, must not be {@code null}.
- * @param request The project building request that holds further parameters, must not be {@code null}.
- * @return The result of the project building, never {@code null}.
- * @throws ProjectBuildingException If the project descriptor could not be successfully built.
- *
- * @see org.apache.maven.model.building.ModelSource2
- */
- ProjectBuildingResult build( ModelSource modelSource, ProjectBuildingRequest request )
- throws ProjectBuildingException;
-
- /**
- * Builds the projects for the specified POM files and optionally their children.
- *
- * @param pomFiles The POM files to build, must not be {@code null}.
- * @param recursive {@code true} to recursively build sub modules referenced by the POM files, {@code false} to
- * build only the specified POM files.
- * @param request The project builder configuration that provides further parameters, must not be {@code null}.
- * @return The results of the project builder where each result corresponds to one project that was built, never
- * {@code null}.
- * @throws ProjectBuildingException If an error was encountered during building of any project.
- * {@link ProjectBuildingException#getResults()} provides access to the details of the problems.
- */
- List<ProjectBuildingResult> build( List<File> pomFiles, boolean recursive, ProjectBuildingRequest request )
- throws ProjectBuildingException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingException.java
deleted file mode 100644
index 47c12315..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingException.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.List;
-
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.building.ModelProblemUtils;
-
-/**
- * @author Jason van Zyl
- */
-public class ProjectBuildingException
- extends Exception
-{
- private final String projectId;
-
- private File pomFile;
-
- private List<ProjectBuildingResult> results;
-
- public ProjectBuildingException( String projectId, String message, Throwable cause )
- {
- super( createMessage( message, projectId, null ), cause );
- this.projectId = projectId;
- }
-
- /**
- * @param projectId
- * @param message
- * @param pomFile pom file location
- */
- public ProjectBuildingException( String projectId, String message, File pomFile )
- {
- super( createMessage( message, projectId, pomFile ) );
- this.projectId = projectId;
- this.pomFile = pomFile;
- }
-
- /**
- * @param projectId
- * @param message
- * @param pomFile pom file location
- * @param cause
- */
- protected ProjectBuildingException( String projectId, String message, File pomFile, Throwable cause )
- {
- super( createMessage( message, projectId, pomFile ), cause );
- this.projectId = projectId;
- this.pomFile = pomFile;
- }
-
- public ProjectBuildingException( List<ProjectBuildingResult> results )
- {
- super( createMessage( results ) );
- this.projectId = "";
- this.results = results;
- }
-
- public File getPomFile()
- {
- return pomFile;
- }
-
- /**
- * @deprecated use {@link #getPomFile()}
- */
- public String getPomLocation()
- {
- if ( getPomFile() != null )
- {
- return getPomFile().getAbsolutePath();
- }
- else
- {
- return "null";
- }
- }
-
- public String getProjectId()
- {
- return projectId;
- }
-
- public List<ProjectBuildingResult> getResults()
- {
- return results;
- }
-
- private static String createMessage( String message, String projectId, File pomFile )
- {
- StringBuilder buffer = new StringBuilder( 256 );
- buffer.append( message );
- buffer.append( " for project " ).append( projectId );
- if ( pomFile != null )
- {
- buffer.append( " at " ).append( pomFile.getAbsolutePath() );
- }
- return buffer.toString();
- }
-
- private static String createMessage( List<ProjectBuildingResult> results )
- {
- StringWriter buffer = new StringWriter( 1024 );
-
- PrintWriter writer = new PrintWriter( buffer );
- writer.println( "Some problems were encountered while processing the POMs:" );
- for ( ProjectBuildingResult result : results )
- {
- for ( ModelProblem problem : result.getProblems() )
- {
- writer.print( "[" );
- writer.print( problem.getSeverity() );
- writer.print( "] " );
- writer.print( problem.getMessage() );
- writer.print( " @ " );
- writer.println( ModelProblemUtils.formatLocation( problem, result.getProjectId() ) );
- }
- }
- writer.close();
-
- return buffer.toString();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
deleted file mode 100644
index 45fff6e6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Repository;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
-
-/**
- * Assists the project builder. <strong>Warning:</strong> This is an internal utility interface that is only public for
- * technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without
- * prior notice.
- *
- * @author Benjamin Bentmann
- */
-public interface ProjectBuildingHelper
-{
-
- /**
- * Creates the effective artifact repositories from the specified POM repositories.
- *
- * @param pomRepositories The POM repositories to create the artifact repositories from, must not be {@code null}.
- * @param externalRepositories The external (and already mirrored) repositories to merge into the result list, may
- * be {@code null}.
- * @param request The project building request holding further settings like repository settings, must not be
- * {@code null}.
- * @return The effective artifact repositories, never {@code null}.
- * @throws InvalidRepositoryException
- */
- List<ArtifactRepository> createArtifactRepositories( List<Repository> pomRepositories,
- List<ArtifactRepository> externalRepositories,
- ProjectBuildingRequest request )
- throws InvalidRepositoryException;
-
- /**
- * Creates the project realm that hosts the build extensions of the specified model.
- *
- * @param project The project to create the project realm for, must not be {@code null}
- * @param model The model to create the project realm for, must not be {@code null}
- * @param request The project building request holding further settings like repository settings, must not be
- * {@code null}.
- * @return The record with the project realm and extension artifact filter, never {@code null}.
- * @throws PluginResolutionException If any build extension could not be resolved.
- */
- ProjectRealmCache.CacheRecord createProjectRealm( MavenProject project, Model model,
- ProjectBuildingRequest request )
- throws PluginResolutionException, PluginVersionResolutionException, PluginManagerException;
-
- /**
- * Updates the context class loader such that the container will search the project realm when the model builder
- * injects the lifecycle bindings from the packaging in the next step. The context class loader is to be reset by
- * the project builder when the project is fully assembled.
- *
- * @param project The project whose class realm should be selected, must not be {@code null}.
- */
- void selectProjectRealm( MavenProject project );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
deleted file mode 100644
index 0380278b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.model.Profile;
-import org.eclipse.aether.RepositorySystemSession;
-
-public interface ProjectBuildingRequest
-{
-
- ProjectBuildingRequest setLocalRepository( ArtifactRepository localRepository );
-
- ArtifactRepository getLocalRepository();
-
- ProjectBuildingRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories );
-
- List<ArtifactRepository> getRemoteRepositories();
-
- ProjectBuildingRequest setPluginArtifactRepositories( List<ArtifactRepository> pluginArtifacgRepositories );
-
- List<ArtifactRepository> getPluginArtifactRepositories();
-
- /**
- * 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}.
- */
- ProjectBuildingRequest setSystemProperties( Properties systemProperties );
-
- /**
- * 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 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}.
- */
- ProjectBuildingRequest setUserProperties( Properties userProperties );
-
- /**
- * 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();
-
- void setProject( MavenProject mavenProject );
-
- MavenProject getProject();
-
- ProjectBuildingRequest setProcessPlugins( boolean processPlugins );
-
- boolean isProcessPlugins();
-
- ProjectBuildingRequest setResolveDependencies( boolean resolveDependencies );
-
- boolean isResolveDependencies();
-
- /**
- * Controls the level of validation to perform on processed models. By default, models are validated in strict mode.
- *
- * @param validationLevel The level of validation to perform on processed models, e.g.
- * {@link org.apache.maven.model.building.ModelBuildingRequest#VALIDATION_LEVEL_STRICT}.
- * @return This configuration, never {@code null}.
- */
- ProjectBuildingRequest setValidationLevel( int validationLevel );
-
- /**
- * Gets the level of validation to perform on processed models.
- *
- * @return The level of validation to perform on processed models.
- */
- int getValidationLevel();
-
- // Profiles
-
- /**
- * Set any active profiles that the {@link ProjectBuilder} should consider while constructing
- * a {@link MavenProject}.
- */
- void setActiveProfileIds( List<String> activeProfileIds );
-
- List<String> getActiveProfileIds();
-
- void setInactiveProfileIds( List<String> inactiveProfileIds );
-
- List<String> getInactiveProfileIds();
-
- /**
- * Add a {@link org.apache.maven.model.Profile} that has come from an external source. This may be from a custom
- * configuration like the MavenCLI settings.xml file, or from a custom dialog in an IDE integration like M2Eclipse.
- *
- * @param profile
- */
- void addProfile( Profile profile );
-
- void setProfiles( List<Profile> profiles );
-
- List<Profile> getProfiles();
-
- /**
- * 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}.
- */
- void setBuildStartTime( Date buildStartTime );
-
- RepositorySystemSession getRepositorySession();
-
- ProjectBuildingRequest setRepositorySession( RepositorySystemSession repositorySession );
-
- /**
- * Sets the merge mode used to combine repositories declared in the POM with the repositories specified in this
- * request.
- *
- * @param mode The repository merge mode, must not be {@code null}.
- * @return This request for chaining, never {@code null}.
- * @see #setRemoteRepositories(List)
- */
- ProjectBuildingRequest setRepositoryMerging( RepositoryMerging mode );
-
- /**
- * Gets the merge mode used to combine repositories declared in the POM with the repositories specified in this
- * request
- *
- * @return The merge mode, never {@code null}.
- */
- RepositoryMerging getRepositoryMerging();
-
- /** @since 3.2.2 */
- boolean isResolveVersionRanges();
-
- /** @since 3.2.2 */
- ProjectBuildingRequest setResolveVersionRanges( boolean value );
-
- /**
- * The possible merge modes for combining remote repositories.
- */
- enum RepositoryMerging
- {
-
- /**
- * The repositories declared in the POM have precedence over the repositories specified in the request.
- */
- POM_DOMINANT,
-
- /**
- * The repositories specified in the request have precedence over the repositories declared in the POM.
- */
- REQUEST_DOMINANT,
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingResult.java
deleted file mode 100644
index 9a43154c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingResult.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.List;
-
-import org.apache.maven.model.building.ModelProblem;
-
-/**
- * Collects the output of the project builder.
- *
- * @author Benjamin Bentmann
- */
-public interface ProjectBuildingResult
-{
-
- /**
- * Gets the identifier of the project that 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 project or an empty string if not known, never {@code null}.
- */
- String getProjectId();
-
- /**
- * Gets the POM file from which the project was built.
- *
- * @return The POM file or {@code null} if unknown.
- */
- File getPomFile();
-
- /**
- * Gets the project that was built.
- *
- * @return The project that was built or {@code null} if an error occurred and this result accompanies a
- * {@link ProjectBuildingException}.
- */
- MavenProject getProject();
-
- /**
- * Gets the problems that were encountered during the project building.
- *
- * @return The problems that were encountered during the project building, can be empty but never {@code null}.
- */
- List<ModelProblem> getProblems();
-
- /**
- * Gets the result of the dependency resolution for the project.
- *
- * @return The result of the dependency resolution for the project or {@code null} if the project dependencies were
- * not requested.
- */
- DependencyResolutionResult getDependencyResolutionResult();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectDependenciesResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectDependenciesResolver.java
deleted file mode 100644
index 539055ca..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectDependenciesResolver.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Resolves the transitive dependencies of a project.
- *
- * @author Benjamin Bentmann
- */
-public interface ProjectDependenciesResolver
-{
-
- /**
- * Resolves the transitive dependencies of a project.
- *
- * @param request The resolution request holding the parameters, must not be {@code null}.
- * @return The resolution result, never {@code null}.
- * @throws DependencyResolutionException If any project dependency could not be resolved.
- */
- DependencyResolutionResult resolve( DependencyResolutionRequest request )
- throws DependencyResolutionException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
deleted file mode 100644
index 3e33eb57..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.Repository;
-import org.apache.maven.model.building.FileModelSource;
-import org.apache.maven.model.building.ModelSource;
-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.repository.internal.ArtifactDescriptorUtils;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.impl.RemoteRepositoryManager;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResolutionException;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResolutionException;
-import org.eclipse.aether.resolution.VersionRangeResult;
-
-/**
- * A model resolver to assist building of projects. This resolver gives priority to those repositories that have been
- * declared in the POM.
- *
- * @author Benjamin Bentmann
- */
-public class ProjectModelResolver
- implements ModelResolver
-{
-
- private final RepositorySystemSession session;
-
- private final RequestTrace trace;
-
- private final String context = "project";
-
- private List<RemoteRepository> repositories;
-
- private List<RemoteRepository> pomRepositories;
-
- private final List<RemoteRepository> externalRepositories;
-
- private final RepositorySystem resolver;
-
- private final RemoteRepositoryManager remoteRepositoryManager;
-
- private final Set<String> repositoryIds;
-
- private final ReactorModelPool modelPool;
-
- private final ProjectBuildingRequest.RepositoryMerging repositoryMerging;
-
- public ProjectModelResolver( RepositorySystemSession session, RequestTrace trace, RepositorySystem resolver,
- RemoteRepositoryManager remoteRepositoryManager, List<RemoteRepository> repositories,
- ProjectBuildingRequest.RepositoryMerging repositoryMerging,
- ReactorModelPool modelPool )
- {
- this.session = session;
- this.trace = trace;
- this.resolver = resolver;
- this.remoteRepositoryManager = remoteRepositoryManager;
- this.pomRepositories = new ArrayList<RemoteRepository>();
- List<RemoteRepository> externalRepositories = new ArrayList<RemoteRepository>();
- externalRepositories.addAll( repositories );
- this.externalRepositories = Collections.unmodifiableList( externalRepositories );
- this.repositories = new ArrayList<RemoteRepository>();
- this.repositories.addAll( externalRepositories );
- this.repositoryMerging = repositoryMerging;
- this.repositoryIds = new HashSet<String>();
- this.modelPool = modelPool;
- }
-
- private ProjectModelResolver( ProjectModelResolver original )
- {
- this.session = original.session;
- this.trace = original.trace;
- this.resolver = original.resolver;
- this.remoteRepositoryManager = original.remoteRepositoryManager;
- this.pomRepositories = new ArrayList<RemoteRepository>( original.pomRepositories );
- this.externalRepositories = original.externalRepositories;
- this.repositories = new ArrayList<RemoteRepository>( original.repositories );
- this.repositoryMerging = original.repositoryMerging;
- this.repositoryIds = new HashSet<String>( original.repositoryIds );
- this.modelPool = original.modelPool;
- }
-
- public void addRepository( Repository repository )
- throws InvalidRepositoryException
- {
- addRepository( repository, false );
- }
-
- @Override
- public void addRepository( final Repository repository, boolean replace )
- throws InvalidRepositoryException
- {
- if ( !repositoryIds.add( repository.getId() ) )
- {
- if ( !replace )
- {
- return;
- }
-
- // Remove any previous repository with this Id
- removeMatchingRepository( repositories, repository.getId() );
- removeMatchingRepository( pomRepositories, repository.getId() );
- }
-
- List<RemoteRepository> newRepositories =
- Collections.singletonList( ArtifactDescriptorUtils.toRemoteRepository( repository ) );
-
- if ( ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT.equals( repositoryMerging ) )
- {
- repositories = remoteRepositoryManager.aggregateRepositories( session, repositories, newRepositories,
- true );
- }
- else
- {
- pomRepositories =
- remoteRepositoryManager.aggregateRepositories( session, pomRepositories, newRepositories, true );
- repositories =
- remoteRepositoryManager.aggregateRepositories( session, pomRepositories, externalRepositories, false );
- }
- }
-
- private static void removeMatchingRepository( Iterable<RemoteRepository> repositories, final String id )
- {
- Iterables.removeIf( repositories, new Predicate<RemoteRepository>()
- {
- @Override
- public boolean apply( RemoteRepository remoteRepository )
- {
- return remoteRepository.getId().equals( id );
- }
- } );
- }
-
- public ModelResolver newCopy()
- {
- return new ProjectModelResolver( this );
- }
-
- public ModelSource resolveModel( String groupId, String artifactId, String version )
- throws UnresolvableModelException
- {
- File pomFile = null;
-
- if ( modelPool != null )
- {
- pomFile = modelPool.get( groupId, artifactId, version );
- }
-
- if ( pomFile == null )
- {
- Artifact pomArtifact = new DefaultArtifact( groupId, artifactId, "", "pom", version );
-
- try
- {
- ArtifactRequest request = new ArtifactRequest( pomArtifact, repositories, context );
- request.setTrace( trace );
- pomArtifact = resolver.resolveArtifact( session, request ).getArtifact();
- }
- catch ( ArtifactResolutionException e )
- {
- throw new UnresolvableModelException( e.getMessage(), groupId, artifactId, version, e );
- }
-
- pomFile = pomArtifact.getFile();
- }
-
- return new FileModelSource( pomFile );
- }
-
- public ModelSource resolveModel( Parent parent )
- throws UnresolvableModelException
- {
- Artifact artifact = new DefaultArtifact( parent.getGroupId(), parent.getArtifactId(), "", "pom",
- parent.getVersion() );
-
- VersionRangeRequest versionRangeRequest = new VersionRangeRequest( artifact, repositories, context );
- versionRangeRequest.setTrace( trace );
-
- try
- {
- VersionRangeResult versionRangeResult = resolver.resolveVersionRange( session, versionRangeRequest );
-
- if ( versionRangeResult.getHighestVersion() == null )
- {
- throw new UnresolvableModelException( "No versions matched the requested range '" + parent.getVersion()
- + "'", parent.getGroupId(), parent.getArtifactId(),
- parent.getVersion() );
-
- }
-
- if ( versionRangeResult.getVersionConstraint() != null
- && versionRangeResult.getVersionConstraint().getRange() != null
- && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null )
- {
- throw new UnresolvableModelException( "The requested version range '" + parent.getVersion()
- + "' does not specify an upper bound", parent.getGroupId(),
- parent.getArtifactId(), parent.getVersion() );
-
- }
-
- parent.setVersion( versionRangeResult.getHighestVersion().toString() );
- }
- catch ( VersionRangeResolutionException e )
- {
- throw new UnresolvableModelException( e.getMessage(), parent.getGroupId(), parent.getArtifactId(),
- parent.getVersion(), e );
-
- }
-
- return resolveModel( parent.getGroupId(), parent.getArtifactId(), parent.getVersion() );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectRealmCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectRealmCache.java
deleted file mode 100644
index 9265b894..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectRealmCache.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.eclipse.aether.graph.DependencyFilter;
-
-/**
- * Caches project class realms. <strong>Warning:</strong> This is an internal utility interface that is only public for
- * technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without
- * prior notice.
- *
- * @author Igor Fedorenko
- * @author Benjamin Bentmann
- */
-public interface ProjectRealmCache
-{
-
- /**
- * A cache key.
- */
- interface Key
- {
- // marker interface for cache keys
- }
-
- static class CacheRecord
- {
-
- public final ClassRealm realm;
-
- public final DependencyFilter extensionArtifactFilter;
-
- public CacheRecord( ClassRealm realm, DependencyFilter extensionArtifactFilter )
- {
- this.realm = realm;
- this.extensionArtifactFilter = extensionArtifactFilter;
- }
-
- }
-
- Key createKey( List<? extends ClassRealm> extensionRealms );
-
- CacheRecord get( Key key );
-
- CacheRecord put( Key key, ClassRealm projectRealm, DependencyFilter extensionArtifactFilter );
-
- void flush();
-
- /**
- * Registers the specified cache record for usage with the given project. Integrators can use the information
- * collected from this method in combination with a custom cache implementation to dispose unused records from the
- * cache.
- *
- * @param project The project that employs the plugin realm, must not be {@code null}.
- * @param record The cache record being used for the project, must not be {@code null}.
- */
- void register( MavenProject project, Key key, CacheRecord record );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java
deleted file mode 100644
index 16985e2a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ProjectSorter.java
+++ /dev/null
@@ -1,289 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Extension;
-import org.apache.maven.model.Parent;
-import org.apache.maven.model.Plugin;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.dag.CycleDetectedException;
-import org.codehaus.plexus.util.dag.DAG;
-import org.codehaus.plexus.util.dag.TopologicalSorter;
-import org.codehaus.plexus.util.dag.Vertex;
-
-public class ProjectSorter
-{
- private DAG dag;
-
- private List<MavenProject> sortedProjects;
-
- private Map<String, MavenProject> projectMap;
-
- private MavenProject topLevelProject;
-
- /**
- * Sort a list of projects.
- * <ul>
- * <li>collect all the vertices for the projects that we want to build.</li>
- * <li>iterate through the deps of each project and if that dep is within
- * the set of projects we want to build then add an edge, otherwise throw
- * the edge away because that dependency is not within the set of projects
- * we are trying to build. we assume a closed set.</li>
- * <li>do a topo sort on the graph that remains.</li>
- * </ul>
- * @throws DuplicateProjectException if any projects are duplicated by id
- */
- // MAVENAPI FIXME: the DAG used is NOT only used to represent the dependency relation,
- // but also for <parent>, <build><plugin>, <reports>. We need multiple DAG's
- // since a DAG can only handle 1 type of relationship properly.
- // Usecase: This is detected as a cycle:
- // org.apache.maven:maven-plugin-api -(PARENT)->
- // org.apache.maven:maven -(inherited REPORTING)->
- // org.apache.maven.plugins:maven-checkstyle-plugin -(DEPENDENCY)->
- // org.apache.maven:maven-plugin-api
- // In this case, both the verify and the report goals are called
- // in a different lifecycle. Though the compiler-plugin has a valid usecase, although
- // that seems to work fine. We need to take versions and lifecycle into account.
- public ProjectSorter( Collection<MavenProject> projects )
- throws CycleDetectedException, DuplicateProjectException
- {
- dag = new DAG();
-
- // groupId:artifactId:version -> project
- projectMap = new HashMap<String, MavenProject>( projects.size() * 2 );
-
- // groupId:artifactId -> (version -> vertex)
- Map<String, Map<String, Vertex>> vertexMap = new HashMap<String, Map<String, Vertex>>( projects.size() * 2 );
-
- for ( MavenProject project : projects )
- {
- String projectId = getId( project );
-
- MavenProject conflictingProject = projectMap.put( projectId, project );
-
- if ( conflictingProject != null )
- {
- throw new DuplicateProjectException( projectId, conflictingProject.getFile(), project.getFile(),
- "Project '" + projectId + "' is duplicated in the reactor" );
- }
-
- String projectKey = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
-
- Map<String, Vertex> vertices = vertexMap.get( projectKey );
- if ( vertices == null )
- {
- vertices = new HashMap<String, Vertex>( 2, 1 );
- vertexMap.put( projectKey, vertices );
- }
- vertices.put( project.getVersion(), dag.addVertex( projectId ) );
- }
-
- for ( Vertex projectVertex : dag.getVerticies() )
- {
- String projectId = projectVertex.getLabel();
-
- MavenProject project = projectMap.get( projectId );
-
- for ( Dependency dependency : project.getDependencies() )
- {
- addEdge( projectMap, vertexMap, project, projectVertex, dependency.getGroupId(),
- dependency.getArtifactId(), dependency.getVersion(), false, false );
- }
-
- Parent parent = project.getModel().getParent();
-
- if ( parent != null )
- {
- // Parent is added as an edge, but must not cause a cycle - so we remove any other edges it has
- // in conflict
- addEdge( projectMap, vertexMap, null, projectVertex, parent.getGroupId(), parent.getArtifactId(),
- parent.getVersion(), true, false );
- }
-
- List<Plugin> buildPlugins = project.getBuildPlugins();
- if ( buildPlugins != null )
- {
- for ( Plugin plugin : buildPlugins )
- {
- addEdge( projectMap, vertexMap, project, projectVertex, plugin.getGroupId(),
- plugin.getArtifactId(), plugin.getVersion(), false, true );
-
- for ( Dependency dependency : plugin.getDependencies() )
- {
- addEdge( projectMap, vertexMap, project, projectVertex, dependency.getGroupId(),
- dependency.getArtifactId(), dependency.getVersion(), false, true );
- }
- }
- }
-
- List<Extension> buildExtensions = project.getBuildExtensions();
- if ( buildExtensions != null )
- {
- for ( Extension extension : buildExtensions )
- {
- addEdge( projectMap, vertexMap, project, projectVertex, extension.getGroupId(),
- extension.getArtifactId(), extension.getVersion(), false, true );
- }
- }
- }
-
- List<MavenProject> sortedProjects = new ArrayList<MavenProject>( projects.size() );
-
- List<String> sortedProjectLabels = TopologicalSorter.sort( dag );
-
- for ( String id : sortedProjectLabels )
- {
- sortedProjects.add( projectMap.get( id ) );
- }
-
- this.sortedProjects = Collections.unmodifiableList( sortedProjects );
- }
-
- private void addEdge( Map<String, MavenProject> projectMap, Map<String, Map<String, Vertex>> vertexMap,
- MavenProject project, Vertex projectVertex, String groupId, String artifactId,
- String version, boolean force, boolean safe )
- throws CycleDetectedException
- {
- String projectKey = ArtifactUtils.versionlessKey( groupId, artifactId );
-
- Map<String, Vertex> vertices = vertexMap.get( projectKey );
-
- if ( vertices != null )
- {
- if ( isSpecificVersion( version ) )
- {
- Vertex vertex = vertices.get( version );
- if ( vertex != null )
- {
- addEdge( projectVertex, vertex, project, projectMap, force, safe );
- }
- }
- else
- {
- for ( Vertex vertex : vertices.values() )
- {
- addEdge( projectVertex, vertex, project, projectMap, force, safe );
- }
- }
- }
- }
-
- private void addEdge( Vertex fromVertex, Vertex toVertex, MavenProject fromProject,
- Map<String, MavenProject> projectMap, boolean force, boolean safe )
- throws CycleDetectedException
- {
- if ( fromVertex.equals( toVertex ) )
- {
- return;
- }
-
- if ( fromProject != null )
- {
- MavenProject toProject = projectMap.get( toVertex.getLabel() );
- fromProject.addProjectReference( toProject );
- }
-
- if ( force && toVertex.getChildren().contains( fromVertex ) )
- {
- dag.removeEdge( toVertex, fromVertex );
- }
-
- try
- {
- dag.addEdge( fromVertex, toVertex );
- }
- catch ( CycleDetectedException e )
- {
- if ( !safe )
- {
- throw e;
- }
- }
- }
-
- private boolean isSpecificVersion( String version )
- {
- return !( StringUtils.isEmpty( version ) || version.startsWith( "[" ) || version.startsWith( "(" ) );
- }
-
- // TODO: !![jc; 28-jul-2005] check this; if we're using '-r' and there are aggregator tasks, this will result in weirdness.
- public MavenProject getTopLevelProject()
- {
- if ( topLevelProject == null )
- {
- for ( Iterator<MavenProject> i = sortedProjects.iterator(); i.hasNext() && ( topLevelProject == null ); )
- {
- MavenProject project = i.next();
- if ( project.isExecutionRoot() )
- {
- topLevelProject = project;
- }
- }
- }
-
- return topLevelProject;
- }
-
- public List<MavenProject> getSortedProjects()
- {
- return sortedProjects;
- }
-
- public boolean hasMultipleProjects()
- {
- return sortedProjects.size() > 1;
- }
-
- public List<String> getDependents( String id )
- {
- return dag.getParentLabels( id );
- }
-
- public List<String> getDependencies( String id )
- {
- return dag.getChildLabels( id );
- }
-
- public static String getId( MavenProject project )
- {
- return ArtifactUtils.key( project.getGroupId(), project.getArtifactId(), project.getVersion() );
- }
-
- public DAG getDAG()
- {
- return dag;
- }
-
- public Map<String, MavenProject> getProjectMap()
- {
- return projectMap;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelCache.java
deleted file mode 100644
index 24425da1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelCache.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.maven.model.building.ModelCache;
-
-/**
- * A simple model cache used to accelerate model building during a reactor build.
- *
- * @author Benjamin Bentmann
- */
-class ReactorModelCache
- implements ModelCache
-{
-
- private final Map<CacheKey, Object> models = new HashMap<CacheKey, Object>( 256 );
-
- public Object get( String groupId, String artifactId, String version, String tag )
- {
- return models.get( new CacheKey( groupId, artifactId, version, tag ) );
- }
-
- public void put( String groupId, String artifactId, String version, String tag, Object data )
- {
- models.put( new CacheKey( groupId, artifactId, version, tag ), data );
- }
-
- private static final class CacheKey
- {
-
- private final String groupId;
-
- private final String artifactId;
-
- private final String version;
-
- private final String tag;
-
- private final int hashCode;
-
- public CacheKey( String groupId, String artifactId, String version, String tag )
- {
- this.groupId = ( groupId != null ) ? groupId : "";
- this.artifactId = ( artifactId != null ) ? artifactId : "";
- this.version = ( version != null ) ? version : "";
- this.tag = ( tag != null ) ? tag : "";
-
- int hash = 17;
- hash = hash * 31 + this.groupId.hashCode();
- hash = hash * 31 + this.artifactId.hashCode();
- hash = hash * 31 + this.version.hashCode();
- hash = hash * 31 + this.tag.hashCode();
- hashCode = hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey that = (CacheKey) obj;
-
- return artifactId.equals( that.artifactId ) && groupId.equals( that.groupId )
- && version.equals( that.version ) && tag.equals( that.tag );
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelPool.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelPool.java
deleted file mode 100644
index 294fccdb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/ReactorModelPool.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Holds all POM files that are known to the reactor. This allows the project builder to resolve imported POMs from the
- * reactor when building another project's effective model.
- *
- * @author Benjamin Bentmann
- */
-class ReactorModelPool
-{
-
- private final Map<CacheKey, File> pomFiles = new HashMap<CacheKey, File>();
-
- public File get( String groupId, String artifactId, String version )
- {
- return pomFiles.get( new CacheKey( groupId, artifactId, version ) );
- }
-
- public void put( String groupId, String artifactId, String version, File pomFile )
- {
- pomFiles.put( new CacheKey( groupId, artifactId, version ), pomFile );
- }
-
- private static final class CacheKey
- {
-
- private final String groupId;
-
- private final String artifactId;
-
- private final String version;
-
- private final int hashCode;
-
- public CacheKey( String groupId, String artifactId, String version )
- {
- this.groupId = ( groupId != null ) ? groupId : "";
- this.artifactId = ( artifactId != null ) ? artifactId : "";
- this.version = ( version != null ) ? version : "";
-
- int hash = 17;
- hash = hash * 31 + this.groupId.hashCode();
- hash = hash * 31 + this.artifactId.hashCode();
- hash = hash * 31 + this.version.hashCode();
- hashCode = hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey that = (CacheKey) obj;
-
- return artifactId.equals( that.artifactId ) && groupId.equals( that.groupId )
- && version.equals( that.version );
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- @Override
- public String toString()
- {
- StringBuilder buffer = new StringBuilder( 96 );
- buffer.append( groupId ).append( ':' ).append( artifactId ).append( ':' ).append( version );
- return buffer.toString();
- }
-
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/RepositorySessionDecorator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/RepositorySessionDecorator.java
deleted file mode 100644
index 679ee008..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/RepositorySessionDecorator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.maven.project;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * Component interface that allows per-project customization of Aether repository system sessions.
- *
- * @since 3.2.4
- * @provisional This interface is part of work in progress and can be changed or removed without notice.
- */
-public interface RepositorySessionDecorator
-{
- /**
- * Returns possibly {@code null} Aether repository system session to be used to resolve project dependencies.
- */
- RepositorySystemSession decorate( MavenProject project, RepositorySystemSession session );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
deleted file mode 100644
index 6e13d332..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
+++ /dev/null
@@ -1,403 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.project.MavenProject;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Wraps an active project instance to be able to receive updates from its artifact without affecting the original
- * attributes of this artifact.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @todo I think this exposes a design flaw in that the immutable and mutable parts of an artifact are in one class and
- * should be split. ie scope, file, etc depend on the context of use, whereas everything else is immutable.
- */
-@Deprecated
-public class ActiveProjectArtifact
- implements Artifact
-{
- private final Artifact artifact;
-
- private final MavenProject project;
-
- public ActiveProjectArtifact( MavenProject project, Artifact artifact )
- {
- this.artifact = artifact;
- this.project = project;
-
- artifact.setFile( project.getArtifact().getFile() );
- artifact.setResolved( true );
- }
-
- /** {@inheritDoc} */
- public File getFile()
- {
- // we need to get the latest file for the project, not the artifact that was created at one point in time
- return project.getArtifact().getFile();
- }
-
- /** {@inheritDoc} */
- public String getGroupId()
- {
- return artifact.getGroupId();
- }
-
- /** {@inheritDoc} */
- public String getArtifactId()
- {
- return artifact.getArtifactId();
- }
-
- /** {@inheritDoc} */
- public String getVersion()
- {
- return artifact.getVersion();
- }
-
- /** {@inheritDoc} */
- public void setVersion( String version )
- {
- artifact.setVersion( version );
- }
-
- /** {@inheritDoc} */
- public String getScope()
- {
- return artifact.getScope();
- }
-
- /** {@inheritDoc} */
- public String getType()
- {
- return artifact.getType();
- }
-
- /** {@inheritDoc} */
- public String getClassifier()
- {
- return artifact.getClassifier();
- }
-
- /** {@inheritDoc} */
- public boolean hasClassifier()
- {
- return artifact.hasClassifier();
- }
-
- /** {@inheritDoc} */
- public void setFile( File destination )
- {
- artifact.setFile( destination );
- project.getArtifact().setFile( destination );
- }
-
- /** {@inheritDoc} */
- public String getBaseVersion()
- {
- return artifact.getBaseVersion();
- }
-
- /** {@inheritDoc} */
- public void setBaseVersion( String baseVersion )
- {
- artifact.setBaseVersion( baseVersion );
- }
-
- /** {@inheritDoc} */
- public String getId()
- {
- return artifact.getId();
- }
-
- /** {@inheritDoc} */
- public String getDependencyConflictId()
- {
- return artifact.getDependencyConflictId();
- }
-
- /** {@inheritDoc} */
- public void addMetadata( ArtifactMetadata metadata )
- {
- artifact.addMetadata( metadata );
- }
-
- /** {@inheritDoc} */
- public Collection<ArtifactMetadata> getMetadataList()
- {
- return artifact.getMetadataList();
- }
-
- /** {@inheritDoc} */
- public void setRepository( ArtifactRepository remoteRepository )
- {
- artifact.setRepository( remoteRepository );
- }
-
- /** {@inheritDoc} */
- public ArtifactRepository getRepository()
- {
- return artifact.getRepository();
- }
-
- /** {@inheritDoc} */
- public void updateVersion( String version, ArtifactRepository localRepository )
- {
- artifact.updateVersion( version, localRepository );
- }
-
- /** {@inheritDoc} */
- public String getDownloadUrl()
- {
- return artifact.getDownloadUrl();
- }
-
- /** {@inheritDoc} */
- public void setDownloadUrl( String downloadUrl )
- {
- artifact.setDownloadUrl( downloadUrl );
- }
-
- /** {@inheritDoc} */
- public ArtifactFilter getDependencyFilter()
- {
- return artifact.getDependencyFilter();
- }
-
- /** {@inheritDoc} */
- public void setDependencyFilter( ArtifactFilter artifactFilter )
- {
- artifact.setDependencyFilter( artifactFilter );
- }
-
- /** {@inheritDoc} */
- public ArtifactHandler getArtifactHandler()
- {
- return artifact.getArtifactHandler();
- }
-
- /** {@inheritDoc} */
- public List<String> getDependencyTrail()
- {
- return artifact.getDependencyTrail();
- }
-
- /** {@inheritDoc} */
- public void setDependencyTrail( List<String> dependencyTrail )
- {
- artifact.setDependencyTrail( dependencyTrail );
- }
-
- /** {@inheritDoc} */
- public void setScope( String scope )
- {
- artifact.setScope( scope );
- }
-
- /** {@inheritDoc} */
- public VersionRange getVersionRange()
- {
- return artifact.getVersionRange();
- }
-
- /** {@inheritDoc} */
- public void setVersionRange( VersionRange newRange )
- {
- artifact.setVersionRange( newRange );
- }
-
- /** {@inheritDoc} */
- public void selectVersion( String version )
- {
- artifact.selectVersion( version );
- }
-
- /** {@inheritDoc} */
- public void setGroupId( String groupId )
- {
- artifact.setGroupId( groupId );
- }
-
- /** {@inheritDoc} */
- public void setArtifactId( String artifactId )
- {
- artifact.setArtifactId( artifactId );
- }
-
- /** {@inheritDoc} */
- public boolean isSnapshot()
- {
- return artifact.isSnapshot();
- }
-
- /** {@inheritDoc} */
- public int compareTo( Artifact a )
- {
- return artifact.compareTo( a );
- }
-
- /** {@inheritDoc} */
- public void setResolved( boolean resolved )
- {
- artifact.setResolved( resolved );
- }
-
- /** {@inheritDoc} */
- public boolean isResolved()
- {
- return artifact.isResolved();
- }
-
- /** {@inheritDoc} */
- public void setResolvedVersion( String version )
- {
- artifact.setResolvedVersion( version );
- }
-
- /** {@inheritDoc} */
- public void setArtifactHandler( ArtifactHandler handler )
- {
- artifact.setArtifactHandler( handler );
- }
-
- /** {@inheritDoc} */
- public String toString()
- {
- return "active project artifact:\n\tartifact = " + artifact + ";\n\tproject: " + project;
- }
-
- /** {@inheritDoc} */
- public boolean isRelease()
- {
- return artifact.isRelease();
- }
-
- /** {@inheritDoc} */
- public void setRelease( boolean release )
- {
- artifact.setRelease( release );
- }
-
- /** {@inheritDoc} */
- public List<ArtifactVersion> getAvailableVersions()
- {
- return artifact.getAvailableVersions();
- }
-
- /** {@inheritDoc} */
- public void setAvailableVersions( List<ArtifactVersion> versions )
- {
- artifact.setAvailableVersions( versions );
- }
-
- /** {@inheritDoc} */
- public boolean isOptional()
- {
- return artifact.isOptional();
- }
-
- /** {@inheritDoc} */
- public ArtifactVersion getSelectedVersion()
- throws OverConstrainedVersionException
- {
- return artifact.getSelectedVersion();
- }
-
- /** {@inheritDoc} */
- public boolean isSelectedVersionKnown()
- throws OverConstrainedVersionException
- {
- return artifact.isSelectedVersionKnown();
- }
-
- /** {@inheritDoc} */
- public void setOptional( boolean optional )
- {
- artifact.setOptional( optional );
- }
-
- /** {@inheritDoc} */
- public int hashCode()
- {
- int result = 17;
-
- result = 37 * result + getGroupId().hashCode();
- result = 37 * result + getArtifactId().hashCode();
- result = 37 * result + getType().hashCode();
- if ( getVersion() != null )
- {
- result = 37 * result + getVersion().hashCode();
- }
- result = 37 * result + ( getClassifier() != null ? getClassifier().hashCode() : 0 );
-
- return result;
- }
-
- /** {@inheritDoc} */
- public boolean equals( Object o )
- {
- if ( o == this )
- {
- return true;
- }
-
- if ( !( o instanceof Artifact ) )
- {
- return false;
- }
-
- Artifact a = (Artifact) o;
-
- if ( !a.getGroupId().equals( getGroupId() ) )
- {
- return false;
- }
- else if ( !a.getArtifactId().equals( getArtifactId() ) )
- {
- return false;
- }
- else if ( !a.getVersion().equals( getVersion() ) )
- {
- return false;
- }
- else if ( !a.getType().equals( getType() ) )
- {
- return false;
- }
- else if ( a.getClassifier() == null ? getClassifier() != null : !a.getClassifier().equals( getClassifier() ) )
- {
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java
deleted file mode 100644
index cb06b70f..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.model.Dependency;
-
-public interface ArtifactWithDependencies
-{
-
- List<Dependency> getDependencies();
-
- List<Dependency> getManagedDependencies();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/AttachedArtifact.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/AttachedArtifact.java
deleted file mode 100644
index fd2b956c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/AttachedArtifact.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.InvalidArtifactRTException;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-/**
- *<strong>Warning:</strong> This is an internal utility class that is only public for technical reasons, it is not part
- * of the public API. In particular, this class can be changed or deleted without prior notice. Use
- * {@link org.apache.maven.project.MavenProjectHelper#attachArtifact} instead.
- */
-@Deprecated
-public class AttachedArtifact
- extends DefaultArtifact
-{
-
- private final Artifact parent;
-
- public AttachedArtifact( Artifact parent, String type, String classifier, ArtifactHandler artifactHandler )
- {
- super( parent.getGroupId(), parent.getArtifactId(), parent.getVersionRange(), parent.getScope(), type,
- classifier, artifactHandler, parent.isOptional() );
-
- setDependencyTrail( Collections.singletonList( parent.getId() ) );
-
- this.parent = parent;
-
- if ( getId().equals( parent.getId() ) )
- {
- throw new InvalidArtifactRTException( parent.getGroupId(), parent.getArtifactId(), parent.getVersion(),
- parent.getType(), "An attached artifact must have a different ID"
- + " than its corresponding main artifact." );
- }
- }
-
- public AttachedArtifact( Artifact parent, String type, ArtifactHandler artifactHandler )
- {
- this( parent, type, null, artifactHandler );
- }
-
- public void setArtifactId( String artifactId )
- {
- throw new UnsupportedOperationException( "Cannot change the artifactId for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public List<ArtifactVersion> getAvailableVersions()
- {
- return parent.getAvailableVersions();
- }
-
- public void setAvailableVersions( List<ArtifactVersion> availableVersions )
- {
- throw new UnsupportedOperationException( "Cannot change the version information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public String getBaseVersion()
- {
- return parent.getBaseVersion();
- }
-
- public void setBaseVersion( String baseVersion )
- {
- throw new UnsupportedOperationException( "Cannot change the version information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public String getDownloadUrl()
- {
- return parent.getDownloadUrl();
- }
-
- public void setDownloadUrl( String downloadUrl )
- {
- throw new UnsupportedOperationException( "Cannot change the download information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public void setGroupId( String groupId )
- {
- throw new UnsupportedOperationException( "Cannot change the groupId for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public ArtifactRepository getRepository()
- {
- return parent.getRepository();
- }
-
- public void setRepository( ArtifactRepository repository )
- {
- throw new UnsupportedOperationException( "Cannot change the repository information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public String getScope()
- {
- return parent.getScope();
- }
-
- public void setScope( String scope )
- {
- throw new UnsupportedOperationException( "Cannot change the scoping information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public String getVersion()
- {
- return parent.getVersion();
- }
-
- public void setVersion( String version )
- {
- throw new UnsupportedOperationException( "Cannot change the version information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public VersionRange getVersionRange()
- {
- return parent.getVersionRange();
- }
-
- public void setVersionRange( VersionRange range )
- {
- throw new UnsupportedOperationException( "Cannot change the version information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public boolean isRelease()
- {
- return parent.isRelease();
- }
-
- public void setRelease( boolean release )
- {
- throw new UnsupportedOperationException( "Cannot change the version information for an attached artifact."
- + " It is derived from the main artifact." );
- }
-
- public boolean isSnapshot()
- {
- return parent.isSnapshot();
- }
-
- public void addMetadata( ArtifactMetadata metadata )
- {
- // ignore. The parent artifact will handle metadata.
- // we must fail silently here to avoid problems with the artifact transformers.
- }
-
- public Collection<ArtifactMetadata> getMetadataList()
- {
- return Collections.emptyList();
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java
deleted file mode 100644
index 07fd11da..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.codehaus.plexus.component.annotations.Component;
-
-@Component( role = MavenMetadataCache.class )
-public class DefaultMavenMetadataCache
- implements MavenMetadataCache
-{
-
- protected final Map<CacheKey, CacheRecord> cache = new ConcurrentHashMap<CacheKey, CacheRecord>();
-
- public static class CacheKey
- {
- private final Artifact artifact;
- private final long pomHash;
- private final boolean resolveManagedVersions;
- private final List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>();
- private final int hashCode;
-
- public CacheKey( Artifact artifact, boolean resolveManagedVersions, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- {
- File file = artifact.getFile();
- this.artifact = ArtifactUtils.copyArtifact( artifact );
- if ( "pom".equals( artifact.getType() ) && file != null )
- {
- pomHash = file.getPath().hashCode() + file.lastModified();
- }
- else
- {
- pomHash = 0;
- }
- this.resolveManagedVersions = resolveManagedVersions;
- this.repositories.add( localRepository );
- this.repositories.addAll( remoteRepositories );
-
- int hash = 17;
- hash = hash * 31 + artifactHashCode( artifact );
- hash = hash * 31 + ( resolveManagedVersions ? 1 : 2 );
- hash = hash * 31 + repositoriesHashCode( repositories );
- this.hashCode = hash;
- }
-
- @Override
- public int hashCode()
- {
- return hashCode;
- }
-
- @Override
- public boolean equals( Object o )
- {
- if ( o == this )
- {
- return true;
- }
-
- if ( !( o instanceof CacheKey ) )
- {
- return false;
- }
-
- CacheKey other = (CacheKey) o;
-
- return pomHash == other.pomHash && artifactEquals( artifact, other.artifact )
- && resolveManagedVersions == other.resolveManagedVersions
- && repositoriesEquals( repositories, other.repositories );
- }
- }
-
- private static int artifactHashCode( Artifact a )
- {
- int result = 17;
- result = 31 * result + a.getGroupId().hashCode();
- result = 31 * result + a.getArtifactId().hashCode();
- result = 31 * result + a.getType().hashCode();
- if ( a.getVersion() != null )
- {
- result = 31 * result + a.getVersion().hashCode();
- }
- result = 31 * result + ( a.getClassifier() != null ? a.getClassifier().hashCode() : 0 );
- result = 31 * result + ( a.getScope() != null ? a.getScope().hashCode() : 0 );
- result = 31 * result + ( a.getDependencyFilter() != null ? a.getDependencyFilter().hashCode() : 0 );
- result = 31 * result + ( a.isOptional() ? 1 : 0 );
- return result;
- }
-
- private static boolean artifactEquals( Artifact a1, Artifact a2 )
- {
- if ( a1 == a2 )
- {
- return true;
- }
-
- return eq( a1.getGroupId(), a2.getGroupId() )
- && eq( a1.getArtifactId(), a2.getArtifactId() )
- && eq( a1.getType(), a2.getType() )
- && eq( a1.getVersion(), a2.getVersion() )
- && eq( a1.getClassifier(), a2.getClassifier() )
- && eq( a1.getScope(), a2.getScope() )
- && eq( a1.getDependencyFilter(), a2.getDependencyFilter() )
- && a1.isOptional() == a2.isOptional();
- }
-
- private static int repositoryHashCode( ArtifactRepository repository )
- {
- int result = 17;
- result = 31 * result + ( repository.getId() != null ? repository.getId().hashCode() : 0 );
- return result;
- }
-
- private static int repositoriesHashCode( List<ArtifactRepository> repositories )
- {
- int result = 17;
- for ( ArtifactRepository repository : repositories )
- {
- result = 31 * result + repositoryHashCode( repository );
- }
- return result;
- }
-
- private static boolean repositoryEquals( ArtifactRepository r1, ArtifactRepository r2 )
- {
- if ( r1 == r2 )
- {
- return true;
- }
-
- return eq( r1.getId(), r2.getId() ) && eq( r1.getUrl(), r2.getUrl() )
- && repositoryPolicyEquals( r1.getReleases(), r2.getReleases() )
- && repositoryPolicyEquals( r1.getSnapshots(), r2.getSnapshots() );
- }
-
- private static boolean repositoryPolicyEquals( ArtifactRepositoryPolicy p1, ArtifactRepositoryPolicy p2 )
- {
- if ( p1 == p2 )
- {
- return true;
- }
-
- return p1.isEnabled() == p2.isEnabled() && eq( p1.getUpdatePolicy(), p2.getUpdatePolicy() );
- }
-
- private static boolean repositoriesEquals( List<ArtifactRepository> r1, List<ArtifactRepository> r2 )
- {
- if ( r1.size() != r2.size() )
- {
- return false;
- }
-
- for ( Iterator<ArtifactRepository> it1 = r1.iterator(), it2 = r2.iterator(); it1.hasNext(); )
- {
- if ( !repositoryEquals( it1.next(), it2.next() ) )
- {
- return false;
- }
- }
-
- return true;
- }
-
- private static <T> boolean eq( T s1, T s2 )
- {
- return s1 != null ? s1.equals( s2 ) : s2 == null;
- }
-
- public class CacheRecord
- {
- private Artifact pomArtifact;
- private Artifact relocatedArtifact;
- private List<Artifact> artifacts;
- private Map<String, Artifact> managedVersions;
- private List<ArtifactRepository> remoteRepositories;
-
- private long length;
- private long timestamp;
-
- CacheRecord( Artifact pomArtifact, Artifact relocatedArtifact, Set<Artifact> artifacts,
- Map<String, Artifact> managedVersions, List<ArtifactRepository> remoteRepositories )
- {
- this.pomArtifact = ArtifactUtils.copyArtifact( pomArtifact );
- this.relocatedArtifact = ArtifactUtils.copyArtifactSafe( relocatedArtifact );
- this.artifacts = ArtifactUtils.copyArtifacts( artifacts, new ArrayList<Artifact>() );
- this.remoteRepositories = new ArrayList<ArtifactRepository>( remoteRepositories );
-
- this.managedVersions = managedVersions;
- if ( managedVersions != null )
- {
- this.managedVersions =
- ArtifactUtils.copyArtifacts( managedVersions, new LinkedHashMap<String, Artifact>() );
- }
-
- File pomFile = pomArtifact.getFile();
- if ( pomFile != null && pomFile.canRead() )
- {
- this.length = pomFile.length();
- this.timestamp = pomFile.lastModified();
- }
- else
- {
- this.length = -1;
- this.timestamp = -1;
- }
- }
-
- public Artifact getArtifact()
- {
- return pomArtifact;
- }
-
- public Artifact getRelocatedArtifact()
- {
- return relocatedArtifact;
- }
-
- public List<Artifact> getArtifacts()
- {
- return artifacts;
- }
-
- public Map<String, Artifact> getManagedVersions()
- {
- return managedVersions;
- }
-
- public List<ArtifactRepository> getRemoteRepositories()
- {
- return remoteRepositories;
- }
-
- public boolean isStale()
- {
- File pomFile = pomArtifact.getFile();
- if ( pomFile != null )
- {
- if ( pomFile.canRead() )
- {
- return length != pomFile.length() || timestamp != pomFile.lastModified();
- }
- else
- {
- // if the POM didn't exist, retry if any repo is configured to always update
- boolean snapshot = pomArtifact.isSnapshot();
- for ( ArtifactRepository repository : remoteRepositories )
- {
- ArtifactRepositoryPolicy policy =
- snapshot ? repository.getSnapshots() : repository.getReleases();
- if ( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS.equals( policy.getUpdatePolicy() ) )
- {
- return true;
- }
- }
- }
- }
-
- return length != -1 || timestamp != -1;
- }
- }
-
-
- public ResolutionGroup get( Artifact artifact, boolean resolveManagedVersions, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- {
- CacheKey cacheKey = newCacheKey( artifact, resolveManagedVersions, localRepository, remoteRepositories );
-
- CacheRecord cacheRecord = cache.get( cacheKey );
-
- if ( cacheRecord != null && !cacheRecord.isStale() )
- {
- Artifact pomArtifact = ArtifactUtils.copyArtifact( cacheRecord.getArtifact() );
- Artifact relocatedArtifact = ArtifactUtils.copyArtifactSafe( cacheRecord.getRelocatedArtifact() );
- Set<Artifact> artifacts =
- ArtifactUtils.copyArtifacts( cacheRecord.getArtifacts(), new LinkedHashSet<Artifact>() );
- Map<String, Artifact> managedVersions = cacheRecord.getManagedVersions();
- if ( managedVersions != null )
- {
- managedVersions = ArtifactUtils.copyArtifacts( managedVersions, new LinkedHashMap<String, Artifact>() );
- }
- return new ResolutionGroup( pomArtifact, relocatedArtifact, artifacts, managedVersions,
- cacheRecord.getRemoteRepositories() );
- }
-
- cache.remove( cacheKey );
-
- return null;
- }
-
- public void put( Artifact artifact, boolean resolveManagedVersions, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories, ResolutionGroup result )
- {
- put( newCacheKey( artifact, resolveManagedVersions, localRepository, remoteRepositories ), result );
- }
-
- protected CacheKey newCacheKey( Artifact artifact, boolean resolveManagedVersions,
- ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
- {
- return new CacheKey( artifact, resolveManagedVersions, localRepository, remoteRepositories );
- }
-
- protected void put( CacheKey cacheKey, ResolutionGroup result )
- {
- CacheRecord cacheRecord =
- new CacheRecord( result.getPomArtifact(), result.getRelocatedArtifact(), result.getArtifacts(),
- result.getManagedVersions(), result.getResolutionRepositories() );
-
- cache.put( cacheKey, cacheRecord );
- }
-
- public void flush()
- {
- cache.clear();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java
deleted file mode 100644
index 91f665b5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * This realizes the metadata source via the default hint to provide backward-compat with Maven 2.x whose Plexus version
- * registered component descriptors twice: once keyed by role+roleHint and once keyed by role only. This effectively
- * made the metadata source available with its original role hint ("maven") as well as the default hint.
- *
- * @author Benjamin Bentmann
- */
-@Component( role = ArtifactMetadataSource.class )
-public class DefaultMetadataSource
- extends MavenMetadataSource
-{
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/InvalidDependencyVersionException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/InvalidDependencyVersionException.java
deleted file mode 100644
index 8a1de685..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/InvalidDependencyVersionException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.project.InvalidProjectVersionException;
-
-/**
- * Thrown if a dependency has an invalid version.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class InvalidDependencyVersionException
- extends InvalidProjectVersionException
-{
- private Dependency dependency;
-
- public InvalidDependencyVersionException( String projectId, Dependency dependency, File pomFile,
- InvalidVersionSpecificationException cause )
- {
- super( projectId, formatLocationInPom( dependency ), dependency.getVersion(), pomFile, cause );
- this.dependency = dependency;
- }
-
- private static String formatLocationInPom( Dependency dependency )
- {
- return "Dependency: " + ArtifactUtils.versionlessKey( dependency.getGroupId(), dependency.getArtifactId() );
- }
-
- public Dependency getDependency()
- {
- return dependency;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataCache.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataCache.java
deleted file mode 100644
index 036ee86c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataCache.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-
-public interface MavenMetadataCache
-{
-
- ResolutionGroup get( Artifact artifact, boolean resolveManagedVersions, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories );
-
- void put( Artifact artifact, boolean resolveManagedVersions, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories, ResolutionGroup result );
-
- void flush();
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
deleted file mode 100644
index 1fb5c545..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
+++ /dev/null
@@ -1,770 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
-import org.apache.maven.artifact.repository.metadata.Metadata;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException;
-import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Relocation;
-import org.apache.maven.model.building.ModelBuildingException;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.building.ModelProblem;
-import org.apache.maven.model.resolution.UnresolvableModelException;
-import org.apache.maven.plugin.LegacySupport;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.ProjectBuildingRequest;
-import org.apache.maven.properties.internal.EnvironmentUtils;
-import org.apache.maven.properties.internal.SystemProperties;
-import org.apache.maven.repository.legacy.metadata.DefaultMetadataResolutionRequest;
-import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.logging.Logger;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.transfer.ArtifactNotFoundException;
-
-/**
- * @author Jason van Zyl
- */
-@Component( role = ArtifactMetadataSource.class, hint = "maven" )
-public class MavenMetadataSource
- implements ArtifactMetadataSource
-{
- @Requirement
- private RepositoryMetadataManager repositoryMetadataManager;
-
- @Requirement
- private ArtifactFactory repositorySystem;
-
- //TODO: This prevents a cycle in the composition which shows us another problem we need to deal with.
- //@Requirement
- private ProjectBuilder projectBuilder;
-
- @Requirement
- private PlexusContainer container;
-
- @Requirement
- private Logger logger;
-
- @Requirement
- private MavenMetadataCache cache;
-
- @Requirement
- private LegacySupport legacySupport;
-
- private void injectSession( MetadataResolutionRequest request )
- {
- RepositorySystemSession session = legacySupport.getRepositorySession();
-
- if ( session != null )
- {
- request.setOffline( session.isOffline() );
- request.setForceUpdate( RepositoryPolicy.UPDATE_POLICY_ALWAYS.equals( session.getUpdatePolicy() ) );
- }
- }
-
- public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- throws ArtifactMetadataRetrievalException
- {
- return retrieve( artifact, localRepository, remoteRepositories, false );
- }
-
- public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories, boolean resolveManagedVersions )
- throws ArtifactMetadataRetrievalException
- {
- MetadataResolutionRequest request = new DefaultMetadataResolutionRequest();
- injectSession( request );
- request.setArtifact( artifact );
- request.setLocalRepository( localRepository );
- request.setRemoteRepositories( remoteRepositories );
- request.setResolveManagedVersions( resolveManagedVersions );
- return retrieve( request );
- }
-
- public ResolutionGroup retrieve( MetadataResolutionRequest request )
- throws ArtifactMetadataRetrievalException
- {
- Artifact artifact = request.getArtifact();
-
- //
- // If we have a system scoped artifact then we do not want any searching in local or remote repositories
- // and we want artifact resolution to only return the system scoped artifact itself.
- //
- if ( artifact.getScope() != null && artifact.getScope().equals( Artifact.SCOPE_SYSTEM ) )
- {
- return new ResolutionGroup( null, null, null );
- }
-
- ResolutionGroup cached =
- cache.get( artifact, request.isResolveManagedVersions(), request.getLocalRepository(),
- request.getRemoteRepositories() );
-
- if ( cached != null
- // if the POM has no file, we cached a missing artifact, only return the cached data if no update forced
- && ( !request.isForceUpdate() || hasFile( cached.getPomArtifact() ) ) )
- {
- return cached;
- }
-
- List<Dependency> dependencies;
-
- List<Dependency> managedDependencies = null;
-
- List<ArtifactRepository> pomRepositories = null;
-
- Artifact pomArtifact;
-
- Artifact relocatedArtifact = null;
-
- //TODO: Not even sure this is really required as the project will be cached in the builder, we'll see this
- // is currently the biggest hotspot
- if ( artifact instanceof ArtifactWithDependencies )
- {
- pomArtifact = artifact;
-
- dependencies = ( (ArtifactWithDependencies) artifact ).getDependencies();
-
- managedDependencies = ( (ArtifactWithDependencies) artifact ).getManagedDependencies();
- }
- else
- {
- ProjectRelocation rel = retrieveRelocatedProject( artifact, request );
-
- if ( rel == null )
- {
- return null;
- }
-
- pomArtifact = rel.pomArtifact;
-
- relocatedArtifact = rel.relocatedArtifact;
-
- if ( rel.project == null )
- {
- // When this happens we have a Maven 1.x POM, or some invalid POM.
- // It should have never found its way into Maven 2.x repository but it did.
- dependencies = Collections.emptyList();
- }
- else
- {
- dependencies = rel.project.getDependencies();
-
- DependencyManagement depMngt = rel.project.getDependencyManagement();
- managedDependencies = ( depMngt != null ) ? depMngt.getDependencies() : null;
-
- pomRepositories = rel.project.getRemoteArtifactRepositories();
- }
- }
-
- Set<Artifact> artifacts = Collections.<Artifact>emptySet();
-
- if ( !artifact.getArtifactHandler().isIncludesDependencies() )
- {
- artifacts = new LinkedHashSet<Artifact>();
-
- for ( Dependency dependency : dependencies )
- {
- Artifact dependencyArtifact = createDependencyArtifact( dependency, artifact, pomArtifact );
-
- if ( dependencyArtifact != null )
- {
- artifacts.add( dependencyArtifact );
- }
- }
- }
-
- Map<String, Artifact> managedVersions = null;
-
- if ( managedDependencies != null && request.isResolveManagedVersions() )
- {
- managedVersions = new HashMap<String, Artifact>();
-
- for ( Dependency managedDependency : managedDependencies )
- {
- Artifact managedArtifact = createDependencyArtifact( managedDependency, null, pomArtifact );
-
- managedVersions.put( managedDependency.getManagementKey(), managedArtifact );
- }
- }
-
- List<ArtifactRepository> aggregatedRepositories =
- aggregateRepositories( request.getRemoteRepositories(), pomRepositories );
-
- ResolutionGroup result =
- new ResolutionGroup( pomArtifact, relocatedArtifact, artifacts, managedVersions, aggregatedRepositories );
-
- cache.put( artifact, request.isResolveManagedVersions(), request.getLocalRepository(),
- request.getRemoteRepositories(), result );
-
- return result;
- }
-
- private boolean hasFile( Artifact artifact )
- {
- return artifact != null && artifact.getFile() != null && artifact.getFile().exists();
- }
-
- private List<ArtifactRepository> aggregateRepositories( List<ArtifactRepository> requestRepositories,
- List<ArtifactRepository> pomRepositories )
- {
- List<ArtifactRepository> repositories = requestRepositories;
-
- if ( pomRepositories != null && !pomRepositories.isEmpty() )
- {
- Map<String, ArtifactRepository> repos = new LinkedHashMap<String, ArtifactRepository>();
-
- for ( ArtifactRepository repo : requestRepositories )
- {
- if ( !repos.containsKey( repo.getId() ) )
- {
- repos.put( repo.getId(), repo );
- }
- }
-
- for ( ArtifactRepository repo : pomRepositories )
- {
- if ( !repos.containsKey( repo.getId() ) )
- {
- repos.put( repo.getId(), repo );
- }
- }
-
- repositories = new ArrayList<ArtifactRepository>( repos.values() );
- }
-
- return repositories;
- }
-
- private Artifact createDependencyArtifact( Dependency dependency, Artifact owner, Artifact pom )
- throws ArtifactMetadataRetrievalException
- {
- try
- {
- String inheritedScope = ( owner != null ) ? owner.getScope() : null;
-
- ArtifactFilter inheritedFilter = ( owner != null ) ? owner.getDependencyFilter() : null;
-
- return createDependencyArtifact( repositorySystem, dependency, inheritedScope, inheritedFilter );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- throw new ArtifactMetadataRetrievalException( "Invalid version for dependency "
- + dependency.getManagementKey() + ": " + e.getMessage(), e, pom );
- }
- }
-
- private static Artifact createDependencyArtifact( ArtifactFactory factory, Dependency dependency,
- String inheritedScope, ArtifactFilter inheritedFilter )
- throws InvalidVersionSpecificationException
- {
- String effectiveScope = getEffectiveScope( dependency.getScope(), inheritedScope );
-
- if ( effectiveScope == null )
- {
- return null;
- }
-
- VersionRange versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
-
- Artifact dependencyArtifact =
- factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), versionRange,
- dependency.getType(), dependency.getClassifier(), effectiveScope,
- dependency.isOptional() );
-
- ArtifactFilter dependencyFilter = inheritedFilter;
-
- if ( dependencyFilter != null && !dependencyFilter.include( dependencyArtifact ) )
- {
- return null;
- }
-
- if ( Artifact.SCOPE_SYSTEM.equals( effectiveScope ) )
- {
- dependencyArtifact.setFile( new File( dependency.getSystemPath() ) );
- }
-
- dependencyArtifact.setDependencyFilter( createDependencyFilter( dependency, dependencyFilter ) );
-
- return dependencyArtifact;
- }
-
- private static String getEffectiveScope( String originalScope, String inheritedScope )
- {
- String effectiveScope = Artifact.SCOPE_RUNTIME;
-
- if ( originalScope == null )
- {
- originalScope = Artifact.SCOPE_COMPILE;
- }
-
- if ( inheritedScope == null )
- {
- // direct dependency retains its scope
- effectiveScope = originalScope;
- }
- else if ( Artifact.SCOPE_TEST.equals( originalScope ) || Artifact.SCOPE_PROVIDED.equals( originalScope ) )
- {
- // test and provided are not transitive, so exclude them
- effectiveScope = null;
- }
- else if ( Artifact.SCOPE_SYSTEM.equals( originalScope ) )
- {
- // system scope come through unchanged...
- effectiveScope = Artifact.SCOPE_SYSTEM;
- }
- else if ( Artifact.SCOPE_COMPILE.equals( originalScope ) && Artifact.SCOPE_COMPILE.equals( inheritedScope ) )
- {
- // added to retain compile scope. Remove if you want compile inherited as runtime
- effectiveScope = Artifact.SCOPE_COMPILE;
- }
- else if ( Artifact.SCOPE_TEST.equals( inheritedScope ) )
- {
- effectiveScope = Artifact.SCOPE_TEST;
- }
- else if ( Artifact.SCOPE_PROVIDED.equals( inheritedScope ) )
- {
- effectiveScope = Artifact.SCOPE_PROVIDED;
- }
-
- return effectiveScope;
- }
-
- private static ArtifactFilter createDependencyFilter( Dependency dependency, ArtifactFilter inheritedFilter )
- {
- ArtifactFilter effectiveFilter = inheritedFilter;
-
- if ( !dependency.getExclusions().isEmpty() )
- {
- List<String> exclusions = new ArrayList<String>();
-
- for ( Exclusion e : dependency.getExclusions() )
- {
- exclusions.add( e.getGroupId() + ':' + e.getArtifactId() );
- }
-
- effectiveFilter = new ExcludesArtifactFilter( exclusions );
-
- if ( inheritedFilter != null )
- {
- effectiveFilter = new AndArtifactFilter( Arrays.asList( inheritedFilter, effectiveFilter ) );
- }
- }
-
- return effectiveFilter;
- }
-
- public List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- throws ArtifactMetadataRetrievalException
- {
- MetadataResolutionRequest request = new DefaultMetadataResolutionRequest();
- injectSession( request );
- request.setArtifact( artifact );
- request.setLocalRepository( localRepository );
- request.setRemoteRepositories( remoteRepositories );
- return retrieveAvailableVersions( request );
- }
-
- public List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request )
- throws ArtifactMetadataRetrievalException
- {
- RepositoryMetadata metadata = new ArtifactRepositoryMetadata( request.getArtifact() );
-
- try
- {
- repositoryMetadataManager.resolve( metadata, request );
- }
- catch ( RepositoryMetadataResolutionException e )
- {
- throw new ArtifactMetadataRetrievalException( e.getMessage(), e, request.getArtifact() );
- }
-
- List<String> availableVersions = request.getLocalRepository().findVersions( request.getArtifact() );
-
- return retrieveAvailableVersionsFromMetadata( metadata.getMetadata(), availableVersions );
- }
-
- public List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact,
- ArtifactRepository localRepository,
- ArtifactRepository deploymentRepository )
- throws ArtifactMetadataRetrievalException
- {
- RepositoryMetadata metadata = new ArtifactRepositoryMetadata( artifact );
-
- try
- {
- repositoryMetadataManager.resolveAlways( metadata, localRepository, deploymentRepository );
- }
- catch ( RepositoryMetadataResolutionException e )
- {
- throw new ArtifactMetadataRetrievalException( e.getMessage(), e, artifact );
- }
-
- List<String> availableVersions = localRepository.findVersions( artifact );
-
- return retrieveAvailableVersionsFromMetadata( metadata.getMetadata(), availableVersions );
- }
-
- private List<ArtifactVersion> retrieveAvailableVersionsFromMetadata( Metadata repoMetadata,
- List<String> availableVersions )
- {
- Collection<String> versions = new LinkedHashSet<String>();
-
- if ( ( repoMetadata != null ) && ( repoMetadata.getVersioning() != null ) )
- {
- versions.addAll( repoMetadata.getVersioning().getVersions() );
- }
-
- versions.addAll( availableVersions );
-
- List<ArtifactVersion> artifactVersions = new ArrayList<ArtifactVersion>( versions.size() );
-
- for ( String version : versions )
- {
- artifactVersions.add( new DefaultArtifactVersion( version ) );
- }
-
- return artifactVersions;
- }
-
- // USED BY MAVEN ASSEMBLY PLUGIN
- @Deprecated
- public static Set<Artifact> createArtifacts( ArtifactFactory artifactFactory, List<Dependency> dependencies,
- String inheritedScope, ArtifactFilter dependencyFilter,
- MavenProject project )
- throws InvalidDependencyVersionException
- {
- Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
-
- for ( Dependency d : dependencies )
- {
- Artifact dependencyArtifact;
- try
- {
- dependencyArtifact = createDependencyArtifact( artifactFactory, d, inheritedScope, dependencyFilter );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- throw new InvalidDependencyVersionException( project.getId(), d, project.getFile(), e );
- }
-
- if ( dependencyArtifact != null )
- {
- artifacts.add( dependencyArtifact );
- }
- }
-
- return artifacts;
- }
-
- private ProjectBuilder getProjectBuilder()
- {
- if ( projectBuilder != null )
- {
- return projectBuilder;
- }
-
- try
- {
- projectBuilder = container.lookup( ProjectBuilder.class );
- }
- catch ( ComponentLookupException e )
- {
- // Won't happen
- }
-
- return projectBuilder;
- }
-
- private ProjectRelocation retrieveRelocatedProject( Artifact artifact, MetadataResolutionRequest repositoryRequest )
- throws ArtifactMetadataRetrievalException
- {
- MavenProject project;
-
- Artifact pomArtifact;
- Artifact relocatedArtifact = null;
- boolean done = false;
- do
- {
- project = null;
-
- pomArtifact =
- repositorySystem.createProjectArtifact( artifact.getGroupId(),
- artifact.getArtifactId(),
- artifact.getVersion(), artifact.getScope() );
-
- if ( "pom".equals( artifact.getType() ) )
- {
- pomArtifact.setFile( artifact.getFile() );
- }
-
- if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
- {
- done = true;
- }
- else
- {
- try
- {
- ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
- configuration.setLocalRepository( repositoryRequest.getLocalRepository() );
- configuration.setRemoteRepositories( repositoryRequest.getRemoteRepositories() );
- configuration.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
- configuration.setProcessPlugins( false );
- configuration.setRepositoryMerging( ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT );
- configuration.setSystemProperties( getSystemProperties() );
- configuration.setRepositorySession( legacySupport.getRepositorySession() );
-
- project = getProjectBuilder().build( pomArtifact, configuration ).getProject();
- }
- catch ( ProjectBuildingException e )
- {
- ModelProblem missingParentPom = hasMissingParentPom( e );
- if ( missingParentPom != null )
- {
- throw new ArtifactMetadataRetrievalException( "Failed to process POM for "
- + artifact.getId() + ": " + missingParentPom.getMessage(),
- missingParentPom.getException(),
- artifact );
- }
-
- String message;
-
- if ( isMissingPom( e ) )
- {
- message = "Missing POM for " + artifact.getId();
- }
- else if ( isNonTransferrablePom( e ) )
- {
- throw new ArtifactMetadataRetrievalException( "Failed to retrieve POM for "
- + artifact.getId() + ": " + e.getCause().getMessage(), e.getCause(),
- artifact );
- }
- else
- {
- message =
- "Invalid POM for " + artifact.getId()
- + ", transitive dependencies (if any) will not be available"
- + ", enable debug logging for more details";
- }
-
- if ( logger.isDebugEnabled() )
- {
- message += ": " + e.getMessage();
- }
-
- logger.warn( message );
- }
-
- if ( project != null )
- {
- Relocation relocation = null;
-
- DistributionManagement distMgmt = project.getDistributionManagement();
- if ( distMgmt != null )
- {
- relocation = distMgmt.getRelocation();
-
- artifact.setDownloadUrl( distMgmt.getDownloadUrl() );
- pomArtifact.setDownloadUrl( distMgmt.getDownloadUrl() );
- }
-
- if ( relocation != null )
- {
- if ( relocation.getGroupId() != null )
- {
- artifact.setGroupId( relocation.getGroupId() );
- relocatedArtifact = artifact;
- project.setGroupId( relocation.getGroupId() );
- }
- if ( relocation.getArtifactId() != null )
- {
- artifact.setArtifactId( relocation.getArtifactId() );
- relocatedArtifact = artifact;
- project.setArtifactId( relocation.getArtifactId() );
- }
- if ( relocation.getVersion() != null )
- {
- // note: see MNG-3454. This causes a problem, but fixing it may break more.
- artifact.setVersionRange( VersionRange.createFromVersion( relocation.getVersion() ) );
- relocatedArtifact = artifact;
- project.setVersion( relocation.getVersion() );
- }
-
- if ( artifact.getDependencyFilter() != null
- && !artifact.getDependencyFilter().include( artifact ) )
- {
- return null;
- }
-
- // MNG-2861: the artifact data has changed. If the available versions where previously
- // retrieved, we need to update it.
- // TODO: shouldn't the versions be merged across relocations?
- List<ArtifactVersion> available = artifact.getAvailableVersions();
- if ( available != null && !available.isEmpty() )
- {
- MetadataResolutionRequest metadataRequest =
- new DefaultMetadataResolutionRequest( repositoryRequest );
- metadataRequest.setArtifact( artifact );
- available = retrieveAvailableVersions( metadataRequest );
- artifact.setAvailableVersions( available );
- }
-
- String message =
- "\n This artifact has been relocated to " + artifact.getGroupId() + ":"
- + artifact.getArtifactId() + ":" + artifact.getVersion() + ".\n";
-
- if ( relocation.getMessage() != null )
- {
- message += " " + relocation.getMessage() + "\n";
- }
-
- if ( artifact.getDependencyTrail() != null && artifact.getDependencyTrail().size() == 1 )
- {
- logger.warn( "While downloading " + pomArtifact.getGroupId() + ":"
- + pomArtifact.getArtifactId() + ":" + pomArtifact.getVersion() + message + "\n" );
- }
- else
- {
- logger.debug( "While downloading " + pomArtifact.getGroupId() + ":"
- + pomArtifact.getArtifactId() + ":" + pomArtifact.getVersion() + message + "\n" );
- }
- }
- else
- {
- done = true;
- }
- }
- else
- {
- done = true;
- }
- }
- }
- while ( !done );
-
- ProjectRelocation rel = new ProjectRelocation();
- rel.project = project;
- rel.pomArtifact = pomArtifact;
- rel.relocatedArtifact = relocatedArtifact;
-
- return rel;
- }
-
- private ModelProblem hasMissingParentPom( ProjectBuildingException e )
- {
- if ( e.getCause() instanceof ModelBuildingException )
- {
- ModelBuildingException mbe = (ModelBuildingException) e.getCause();
- for ( ModelProblem problem : mbe.getProblems() )
- {
- if ( problem.getException() instanceof UnresolvableModelException )
- {
- return problem;
- }
- }
-
- }
- return null;
- }
-
- private boolean isMissingPom( Exception e )
- {
- if ( e.getCause() instanceof MultipleArtifactsNotFoundException )
- {
- return true;
- }
- return e.getCause() instanceof org.eclipse.aether.resolution.ArtifactResolutionException
- && e.getCause().getCause() instanceof ArtifactNotFoundException;
- }
-
- private boolean isNonTransferrablePom( Exception e )
- {
- if ( e.getCause() instanceof ArtifactResolutionException )
- {
- return true;
- }
- return e.getCause() instanceof org.eclipse.aether.resolution.ArtifactResolutionException
- && !( e.getCause().getCause() instanceof ArtifactNotFoundException );
- }
-
- private Properties getSystemProperties()
- {
- Properties props = new Properties();
-
- EnvironmentUtils.addEnvVars( props );
-
- SystemProperties.addSystemProperties( props );
-
- return props;
- }
-
- private static final class ProjectRelocation
- {
- private MavenProject project;
-
- private Artifact pomArtifact;
-
- private Artifact relocatedArtifact;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java
deleted file mode 100644
index d348d59c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Plugin;
-
-public class PluginArtifact
- extends DefaultArtifact
- implements ArtifactWithDependencies
-{
- private Plugin plugin;
-
- public PluginArtifact( Plugin plugin, Artifact pluginArtifact )
- {
- super( plugin.getGroupId(), plugin.getArtifactId(), plugin.getVersion(), null, "maven-plugin", null,
- new PluginArtifactHandler() );
- this.plugin = plugin;
- setFile( pluginArtifact.getFile() );
- setResolved( true );
- }
-
- public List<Dependency> getDependencies()
- {
- return plugin.getDependencies();
- }
-
- public List<Dependency> getManagedDependencies()
- {
- return Collections.emptyList();
- }
-
- static class PluginArtifactHandler
- implements ArtifactHandler
- {
- public String getClassifier()
- {
- return null;
- }
-
- public String getDirectory()
- {
- return null;
- }
-
- public String getExtension()
- {
- return "jar";
- }
-
- public String getLanguage()
- {
- return "none";
- }
-
- public String getPackaging()
- {
- return "maven-plugin";
- }
-
- public boolean isAddedToClasspath()
- {
- return true;
- }
-
- public boolean isIncludesDependencies()
- {
- return false;
- }
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
deleted file mode 100644
index 1d4a2a31..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.project.MavenProject;
-
-public class ProjectArtifact
- extends DefaultArtifact
- implements ArtifactWithDependencies
-{
- private MavenProject project;
-
- public ProjectArtifact( MavenProject project )
- {
- super( project.getGroupId(), project.getArtifactId(), project.getVersion(), null, "pom", null,
- new PomArtifactHandler() );
- this.project = project;
- setFile( project.getFile() );
- setResolved( true );
- }
-
- public MavenProject getProject()
- {
- return project;
- }
-
- public List<Dependency> getDependencies()
- {
- return project.getDependencies();
- }
-
- public List<Dependency> getManagedDependencies()
- {
- DependencyManagement depMngt = project.getDependencyManagement();
- return ( depMngt != null ) ? depMngt.getDependencies() : Collections.<Dependency>emptyList();
- }
-
- static class PomArtifactHandler
- implements ArtifactHandler
- {
- public String getClassifier()
- {
- return null;
- }
-
- public String getDirectory()
- {
- return null;
- }
-
- public String getExtension()
- {
- return "pom";
- }
-
- public String getLanguage()
- {
- return "none";
- }
-
- public String getPackaging()
- {
- return "pom";
- }
-
- public boolean isAddedToClasspath()
- {
- return false;
- }
-
- public boolean isIncludesDependencies()
- {
- return false;
- }
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
deleted file mode 100644
index 7ea99bf0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.apache.maven.project.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.AbstractArtifactMetadata;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreException;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * Attach a POM to an artifact.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class ProjectArtifactMetadata
- extends AbstractArtifactMetadata
-{
- private final File file;
-
- public ProjectArtifactMetadata( Artifact artifact )
- {
- this( artifact, null );
- }
-
- public ProjectArtifactMetadata( Artifact artifact, File file )
- {
- super( artifact );
- this.file = file;
- }
-
- public File getFile()
- {
- return file;
- }
-
- public String getRemoteFilename()
- {
- return getFilename();
- }
-
- public String getLocalFilename( ArtifactRepository repository )
- {
- return getFilename();
- }
-
- private String getFilename()
- {
- return getArtifactId() + "-" + artifact.getVersion() + ".pom";
- }
-
- public void storeInLocalRepository( ArtifactRepository localRepository, ArtifactRepository remoteRepository )
- throws RepositoryMetadataStoreException
- {
- File destination =
- new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( this,
- remoteRepository ) );
-
- // ----------------------------------------------------------------------------
- // I'm fully aware that the file could just be moved using File.rename but
- // there are bugs in various JVM that have problems doing this across
- // different filesystem. So we'll incur the small hit to actually copy
- // here and be safe. jvz.
- // ----------------------------------------------------------------------------
-
- try
- {
- FileUtils.copyFile( file, destination );
- }
- catch ( IOException e )
- {
- throw new RepositoryMetadataStoreException( "Error copying POM to the local repository.", e );
- }
- }
-
- public String toString()
- {
- return "project information for " + artifact.getArtifactId() + " " + artifact.getVersion();
- }
-
- public boolean storedInArtifactVersionDirectory()
- {
- return true;
- }
-
- public String getBaseVersion()
- {
- return artifact.getBaseVersion();
- }
-
- public Object getKey()
- {
- return "project " + artifact.getGroupId() + ":" + artifact.getArtifactId();
- }
-
- public void merge( ArtifactMetadata metadata )
- {
- ProjectArtifactMetadata m = (ProjectArtifactMetadata) metadata;
- if ( !m.file.equals( file ) )
- {
- throw new IllegalStateException( "Cannot add two different pieces of metadata for: " + getKey() );
- }
- }
-
- public void merge( org.apache.maven.repository.legacy.metadata.ArtifactMetadata metadata )
- {
- this.merge( (ArtifactMetadata) metadata );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/path/PathTranslator.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/path/PathTranslator.java
deleted file mode 100644
index 18e349ac..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/project/path/PathTranslator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.project.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;
-
-/**
- * @author Jason van Zyl
- */
-@Deprecated
-public interface PathTranslator
-{
- String ROLE = PathTranslator.class.getName();
-
- void alignToBaseDirectory( Model model, File basedir );
-
- String alignToBaseDirectory( String path, File basedir );
-
- void unalignFromBaseDirectory( Model model, File basedir );
-
- String unalignFromBaseDirectory( String directory, File basedir );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/EnvironmentUtils.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/EnvironmentUtils.java
deleted file mode 100644
index 2c3196fb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/EnvironmentUtils.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.apache.maven.properties.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-
-import org.codehaus.plexus.util.Os;
-
-/**
- * Assists the project builder. <strong>Warning:</strong> This is an internal utility class that is only public for
- * technical reasons, it is not part of the public API. In particular, this class can be changed or deleted without
- * prior notice.
- *
- * @since 3.0
- * @author Benjamin Bentmann
- */
-public class EnvironmentUtils
-{
-
- private static Properties envVars;
-
- /**
- * Adds the environment variables in the form of properties whose keys are prefixed with {@code env.}, e.g. {@code
- * env.PATH}. Unlike native environment variables, properties are always case-sensitive. For the sake of
- * determinism, the environment variable names will be normalized to upper case on platforms with case-insensitive
- * variable lookup.
- *
- * @param props The properties to add the environment variables to, may be {@code null}.
- */
- public static void addEnvVars( Properties props )
- {
- if ( props != null )
- {
- if ( envVars == null )
- {
- Properties tmp = new Properties();
- boolean caseSensitive = !Os.isFamily( Os.FAMILY_WINDOWS );
- for ( Map.Entry<String, String> entry : System.getenv().entrySet() )
- {
- String key =
- "env." + ( caseSensitive ? entry.getKey() : entry.getKey().toUpperCase( Locale.ENGLISH ) );
- tmp.setProperty( key, entry.getValue() );
- }
- envVars = tmp;
- }
-
- props.putAll( envVars );
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
deleted file mode 100644
index 608df2dc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.maven.properties.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Properties;
-
-/**
- * @since 3.2.3
- */
-public class SystemProperties
-{
- /**
- * Thread-safe System.properties copy implementation.
- *
- * @see http://jira.codehaus.org/browse/MNG-5670
- */
- public static void addSystemProperties( Properties props )
- {
- for ( String key : System.getProperties().stringPropertyNames() )
- {
- props.put( key, System.getProperty( key ) );
- }
- }
-
- /**
- * Returns System.properties copy.
- */
- public static Properties getSystemProperties()
- {
- Properties systemProperties = new Properties();
- addSystemProperties( systemProperties );
- return systemProperties;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactDoesNotExistException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactDoesNotExistException.java
deleted file mode 100644
index 296f4ea5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactDoesNotExistException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-public class ArtifactDoesNotExistException
- extends Exception
-{
- public ArtifactDoesNotExistException( final String message )
- {
- super( message );
- }
-
- public ArtifactDoesNotExistException( final String message, final Throwable cause )
- {
- super( message, cause );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java
deleted file mode 100644
index 80189e7b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferEvent.java
+++ /dev/null
@@ -1,343 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-import java.io.File;
-import java.util.EventObject;
-
-/**
- * TransferEvent is used to notify TransferListeners about progress
- * in transfer of resources form/to the repository
- *
- * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
- */
-public class ArtifactTransferEvent
- extends EventObject
-{
- /**
- * A transfer was attempted, but has not yet commenced.
- */
- public static final int TRANSFER_INITIATED = 0;
-
- /**
- * A transfer was started.
- */
- public static final int TRANSFER_STARTED = 1;
-
- /**
- * A transfer is completed.
- */
- public static final int TRANSFER_COMPLETED = 2;
-
- /**
- * A transfer is in progress.
- */
- public static final int TRANSFER_PROGRESS = 3;
-
- /**
- * An error occurred during transfer
- */
- public static final int TRANSFER_ERROR = 4;
-
- /**
- * Indicates GET transfer (from the repository)
- */
- public static final int REQUEST_GET = 5;
-
- /**
- * Indicates PUT transfer (to the repository)
- */
- public static final int REQUEST_PUT = 6;
-
- private int eventType;
-
- private int requestType;
-
- private Exception exception;
-
- private File localFile;
-
- private ArtifactTransferResource artifact;
-
- private long transferredBytes;
-
- private byte[] dataBuffer;
-
- private int dataOffset;
-
- private int dataLength;
-
- public ArtifactTransferEvent( String wagon, final int eventType, final int requestType,
- ArtifactTransferResource artifact )
- {
- super( wagon );
-
- setEventType( eventType );
-
- setRequestType( requestType );
-
- this.artifact = artifact;
- }
-
- public ArtifactTransferEvent( String wagon, final Exception exception, final int requestType,
- ArtifactTransferResource artifact )
- {
- this( wagon, TRANSFER_ERROR, requestType, artifact );
-
- this.exception = exception;
- }
-
- public ArtifactTransferResource getResource()
- {
- return artifact;
- }
-
- /**
- * @return Returns the exception.
- */
- public Exception getException()
- {
- return exception;
- }
-
- /**
- * Returns the request type.
- *
- * @return Returns the request type. The Request type is one of
- * <code>TransferEvent.REQUEST_GET<code> or <code>TransferEvent.REQUEST_PUT<code>
- */
- public int getRequestType()
- {
- return requestType;
- }
-
- /**
- * Sets the request type
- *
- * @param requestType The requestType to set.
- * The Request type value should be either
- * <code>TransferEvent.REQUEST_GET<code> or <code>TransferEvent.REQUEST_PUT<code>.
- * @throws IllegalArgumentException when
- */
- public void setRequestType( final int requestType )
- {
- switch ( requestType )
- {
-
- case REQUEST_PUT:
- break;
- case REQUEST_GET:
- break;
-
- default :
- throw new IllegalArgumentException( "Illegal request type: " + requestType );
- }
-
- this.requestType = requestType;
- }
-
- /**
- * @return Returns the eventType.
- */
- public int getEventType()
- {
- return eventType;
- }
-
- /**
- * @param eventType The eventType to set.
- */
- public void setEventType( final int eventType )
- {
- switch ( eventType )
- {
-
- case TRANSFER_INITIATED:
- break;
- case TRANSFER_STARTED:
- break;
- case TRANSFER_COMPLETED:
- break;
- case TRANSFER_PROGRESS:
- break;
- case TRANSFER_ERROR:
- break;
- default :
- throw new IllegalArgumentException( "Illegal event type: " + eventType );
- }
-
- this.eventType = eventType;
- }
-
- /**
- * @return Returns the local file.
- */
- public File getLocalFile()
- {
- return localFile;
- }
-
- /**
- * @param localFile The local file to set.
- */
- public void setLocalFile( File localFile )
- {
- this.localFile = localFile;
- }
-
- public long getTransferredBytes()
- {
- return transferredBytes;
- }
-
- public void setTransferredBytes( long transferredBytes )
- {
- this.transferredBytes = transferredBytes;
- }
-
- public byte[] getDataBuffer()
- {
- return dataBuffer;
- }
-
- public void setDataBuffer( byte[] dataBuffer )
- {
- this.dataBuffer = dataBuffer;
- }
-
- public int getDataOffset()
- {
- return dataOffset;
- }
-
- public void setDataOffset( int dataOffset )
- {
- this.dataOffset = dataOffset;
- }
-
- public int getDataLength()
- {
- return dataLength;
- }
-
- public void setDataLength( int dataLength )
- {
- this.dataLength = dataLength;
- }
-
- public String toString()
- {
- StringBuilder sb = new StringBuilder();
-
- sb.append( "TransferEvent[" );
-
- switch ( this.getRequestType() )
- {
- case REQUEST_GET:
- sb.append( "GET" );
- break;
- case REQUEST_PUT:
- sb.append( "PUT" );
- break;
- default:
- sb.append( this.getRequestType() );
- break;
- }
-
- sb.append( "|" );
- switch ( this.getEventType() )
- {
- case TRANSFER_COMPLETED:
- sb.append( "COMPLETED" );
- break;
- case TRANSFER_ERROR:
- sb.append( "ERROR" );
- break;
- case TRANSFER_INITIATED:
- sb.append( "INITIATED" );
- break;
- case TRANSFER_PROGRESS:
- sb.append( "PROGRESS" );
- break;
- case TRANSFER_STARTED:
- sb.append( "STARTED" );
- break;
- default:
- sb.append( this.getEventType() );
- break;
- }
-
- sb.append( "|" );
- sb.append( this.getLocalFile() ).append( "|" );
- sb.append( "]" );
-
- return sb.toString();
- }
-
- public int hashCode()
- {
- final int prime = 31;
- int result = 1;
- result = prime * result + eventType;
- result = prime * result + ( ( exception == null ) ? 0 : exception.hashCode() );
- result = prime * result + ( ( localFile == null ) ? 0 : localFile.hashCode() );
- result = prime * result + requestType;
- return result;
- }
-
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- if ( ( obj == null ) || ( getClass() != obj.getClass() ) )
- {
- return false;
- }
- final ArtifactTransferEvent other = (ArtifactTransferEvent) obj;
- if ( eventType != other.eventType )
- {
- return false;
- }
- if ( exception == null )
- {
- if ( other.exception != null )
- {
- return false;
- }
- }
- else if ( !exception.getClass().equals( other.exception.getClass() ) )
- {
- return false;
- }
- if ( requestType != other.requestType )
- {
- return false;
- }
- else if ( !source.equals( other.source ) )
- {
- return false;
- }
- return true;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferFailedException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferFailedException.java
deleted file mode 100644
index 9315f4c7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferFailedException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-public class ArtifactTransferFailedException
- extends Exception
-{
- public ArtifactTransferFailedException( final String message )
- {
- super( message );
- }
-
- public ArtifactTransferFailedException( final String message, final Throwable cause )
- {
- super( message, cause );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferListener.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferListener.java
deleted file mode 100644
index 72a56cf0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-public interface ArtifactTransferListener
-{
- boolean isShowChecksumEvents();
-
- void setShowChecksumEvents( boolean showChecksumEvents );
-
- void transferInitiated( ArtifactTransferEvent transferEvent );
-
- void transferStarted( ArtifactTransferEvent transferEvent );
-
- void transferProgress( ArtifactTransferEvent transferEvent );
-
- void transferCompleted( ArtifactTransferEvent transferEvent );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferResource.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferResource.java
deleted file mode 100644
index 8ed081ff..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/ArtifactTransferResource.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Describes a resource being uploaded or downloaded by the repository system.
- *
- * @author Benjamin Bentmann
- */
-public interface ArtifactTransferResource
-{
-
- /**
- * The base URL of the repository, e.g. "http://repo1.maven.org/maven2/". Unless the URL is unknown, it will be
- * terminated by a trailing slash.
- *
- * @return The base URL of the repository or an empty string if unknown, never {@code null}.
- */
- String getRepositoryUrl();
-
- /**
- * The path of the artifact relative to the repository's base URL.
- *
- * @return The path of the artifact, never {@code null}.
- */
- String getName();
-
- /**
- * Gets the full URL of the artifact.
- *
- * @return The full URL of the artifact, never {@code null}.
- */
- String getUrl();
-
- /**
- * The size of the artifact in bytes.
- *
- * @return The of the artifact in bytes or a negative value if unknown.
- */
- long getContentLength();
-
- /**
- * Gets the timestamp when the transfer of this artifact was started.
- *
- * @return The timestamp when the transfer of this artifact was started.
- */
- long getTransferStartTime();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
deleted file mode 100644
index f47cb4b1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/DelegatingLocalArtifactRepository.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.MavenArtifactRepository;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-
-/**
- * Delegating local artifact repository chains the reactor, IDE workspace
- * and user local repository.
- */
-@Deprecated
-public class DelegatingLocalArtifactRepository
- extends MavenArtifactRepository
-{
- private LocalArtifactRepository buildReactor;
-
- private LocalArtifactRepository ideWorkspace;
-
- private ArtifactRepository userLocalArtifactRepository;
-
- public DelegatingLocalArtifactRepository( ArtifactRepository artifactRepository )
- {
- this.userLocalArtifactRepository = artifactRepository;
- }
-
- public void setBuildReactor( LocalArtifactRepository localRepository )
- {
- this.buildReactor = localRepository;
- }
-
- public void setIdeWorkspace( LocalArtifactRepository localRepository )
- {
- this.ideWorkspace = localRepository;
- }
-
- public LocalArtifactRepository getIdeWorspace()
- {
- return ideWorkspace;
- }
-
- @Override
- public Artifact find( Artifact artifact )
- {
- if ( !artifact.isRelease() && buildReactor != null )
- {
- artifact = buildReactor.find( artifact );
- }
-
- if ( !artifact.isResolved() && ideWorkspace != null )
- {
- artifact = ideWorkspace.find( artifact );
- }
-
- if ( !artifact.isResolved() )
- {
- artifact = userLocalArtifactRepository.find( artifact );
- }
-
- return artifact;
- }
-
- @Override
- public List<String> findVersions( Artifact artifact )
- {
- Collection<String> versions = new LinkedHashSet<String>();
-
- if ( buildReactor != null )
- {
- versions.addAll( buildReactor.findVersions( artifact ) );
- }
-
- if ( ideWorkspace != null )
- {
- versions.addAll( ideWorkspace.findVersions( artifact ) );
- }
-
- versions.addAll( userLocalArtifactRepository.findVersions( artifact ) );
-
- return Collections.unmodifiableList( new ArrayList<String>( versions ) );
- }
-
- public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
- {
- return userLocalArtifactRepository.pathOfLocalRepositoryMetadata( metadata, repository );
- }
-
- public String getId()
- {
- return userLocalArtifactRepository.getId();
- }
-
- @Override
- public String pathOf( Artifact artifact )
- {
- return userLocalArtifactRepository.pathOf( artifact );
- }
-
- @Override
- public String getBasedir()
- {
- return ( userLocalArtifactRepository != null ) ? userLocalArtifactRepository.getBasedir() : null;
- }
-
- @Override
- public ArtifactRepositoryLayout getLayout()
- {
- return userLocalArtifactRepository.getLayout();
- }
-
- @Override
- public ArtifactRepositoryPolicy getReleases()
- {
- return userLocalArtifactRepository.getReleases();
- }
-
- @Override
- public ArtifactRepositoryPolicy getSnapshots()
- {
- return userLocalArtifactRepository.getSnapshots();
- }
-
- @Override
- public String getKey()
- {
- return userLocalArtifactRepository.getKey();
- }
-
- @Override
- public String getUrl()
- {
- return userLocalArtifactRepository.getUrl();
- }
-
- @Override
- public int hashCode()
- {
- int hash = 17;
- hash = hash * 31 + ( buildReactor == null ? 0 : buildReactor.hashCode() );
- hash = hash * 31 + ( ideWorkspace == null ? 0 : ideWorkspace.hashCode() );
- hash = hash * 31 + ( userLocalArtifactRepository == null ? 0 : userLocalArtifactRepository.hashCode() );
-
- return hash;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- if ( obj == null )
- {
- return false;
- }
- if ( getClass() != obj.getClass() )
- {
- return false;
- }
-
- DelegatingLocalArtifactRepository other = (DelegatingLocalArtifactRepository) obj;
-
- return eq( buildReactor, other.buildReactor )
- && eq( ideWorkspace, other.ideWorkspace )
- && eq( userLocalArtifactRepository, other.userLocalArtifactRepository );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalArtifactRepository.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalArtifactRepository.java
deleted file mode 100644
index e33789e3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalArtifactRepository.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.MavenArtifactRepository;
-
-public abstract class LocalArtifactRepository
- extends MavenArtifactRepository
-{
- public static final String IDE_WORKSPACE = "ide-workspace";
-
- public abstract Artifact find( Artifact artifact );
-
- public abstract boolean hasLocalMetadata();
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalRepositoryNotAccessibleException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalRepositoryNotAccessibleException.java
deleted file mode 100644
index 54e4ef4b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/LocalRepositoryNotAccessibleException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-
-/**
- * Signals a failure to store files within the local repository.
- *
- * @author Benjamin Bentmann
- */
-public class LocalRepositoryNotAccessibleException
- extends IOException
-{
-
- public LocalRepositoryNotAccessibleException( String message, Throwable cause )
- {
- super( message );
- initCause( cause );
- }
-
- public LocalRepositoryNotAccessibleException( String message )
- {
- super( message );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java
deleted file mode 100644
index fcc0f777..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package org.apache.maven.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.Repository;
-import org.apache.maven.settings.Mirror;
-import org.apache.maven.settings.Server;
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * @author Jason van Zyl
- * @since 3.0-alpha
- */
-public interface RepositorySystem
-{
- String DEFAULT_LOCAL_REPO_ID = "local";
-
- String userHome = System.getProperty( "user.home" );
-
- File userMavenConfigurationHome = new File( userHome, ".m2" );
-
- File defaultUserLocalRepository = new File( userMavenConfigurationHome, "repository" );
-
- String DEFAULT_REMOTE_REPO_ID = "central";
-
- String DEFAULT_REMOTE_REPO_URL = "https://repo.maven.apache.org/maven2";
-
- Artifact createArtifact( String groupId, String artifactId, String version, String packaging );
-
- Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type );
-
- Artifact createProjectArtifact( String groupId, String artifactId, String version );
-
- Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
- String classifier );
-
- Artifact createPluginArtifact( Plugin plugin );
-
- Artifact createDependencyArtifact( Dependency dependency );
-
- ArtifactRepository buildArtifactRepository( Repository repository )
- throws InvalidRepositoryException;
-
- ArtifactRepository createDefaultRemoteRepository()
- throws InvalidRepositoryException;
-
- ArtifactRepository createDefaultLocalRepository()
- throws InvalidRepositoryException;
-
- ArtifactRepository createLocalRepository( File localRepository )
- throws InvalidRepositoryException;
-
- ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout,
- ArtifactRepositoryPolicy snapshots,
- ArtifactRepositoryPolicy releases );
-
- /**
- * Calculates the effective repositories for the given input repositories which are assumed to be already mirrored
- * (if applicable). This process will essentially remove duplicate repositories by merging them into one equivalent
- * repository. It is worth to point out that merging does not simply choose one of the input repositories and
- * discards the others but actually combines their possibly different policies.
- *
- * @param repositories The original repositories, may be {@code null}.
- * @return The effective repositories or {@code null} if the input was {@code null}.
- */
- List<ArtifactRepository> getEffectiveRepositories( List<ArtifactRepository> repositories );
-
- /**
- * Determines the mirror for the specified repository.
- *
- * @param repository The repository to determine the mirror for, must not be {@code null}.
- * @param mirrors The available mirrors, may be {@code null}.
- * @return The mirror specification for the repository or {@code null} if no mirror matched.
- */
- Mirror getMirror( ArtifactRepository repository, List<Mirror> mirrors );
-
- /**
- * Injects the mirroring information into the specified repositories. For each repository that is matched by a
- * mirror, its URL and ID will be updated to match the values from the mirror specification. Repositories without a
- * matching mirror will pass through unchanged. <em>Note:</em> This method must be called before
- * {@link #injectAuthentication(List, List)} or the repositories will end up with the wrong credentials.
- *
- * @param repositories The repositories into which to inject the mirror information, may be {@code null}.
- * @param mirrors The available mirrors, may be {@code null}.
- */
- void injectMirror( List<ArtifactRepository> repositories, List<Mirror> mirrors );
-
- /**
- * Injects the proxy information into the specified repositories. For each repository that is matched by a proxy,
- * its proxy data will be set accordingly. Repositories without a matching proxy will have their proxy cleared.
- * <em>Note:</em> This method must be called after {@link #injectMirror(List, List)} or the repositories will end up
- * with the wrong proxies.
- *
- * @param repositories The repositories into which to inject the proxy information, may be {@code null}.
- * @param proxies The available proxies, may be {@code null}.
- */
- void injectProxy( List<ArtifactRepository> repositories, List<org.apache.maven.settings.Proxy> proxies );
-
- /**
- * Injects the authentication information into the specified repositories. For each repository that is matched by a
- * server, its credentials will be updated to match the values from the server specification. Repositories without a
- * matching server will have their credentials cleared. <em>Note:</em> This method must be called after
- * {@link #injectMirror(List, List)} or the repositories will end up with the wrong credentials.
- *
- * @param repositories The repositories into which to inject the authentication information, may be {@code null}.
- * @param servers The available servers, may be {@code null}.
- */
- void injectAuthentication( List<ArtifactRepository> repositories, List<Server> servers );
-
- void injectMirror( RepositorySystemSession session, List<ArtifactRepository> repositories );
-
- void injectProxy( RepositorySystemSession session, List<ArtifactRepository> repositories );
-
- void injectAuthentication( RepositorySystemSession session, List<ArtifactRepository> repositories );
-
- ArtifactResolutionResult resolve( ArtifactResolutionRequest request );
-
- // Install
-
- // Deploy
-
- // Map types of artifacts
-
- //
- // Raw file transfers
- //
- void publish( ArtifactRepository repository, File source, String remotePath,
- ArtifactTransferListener transferListener )
- throws ArtifactTransferFailedException;
-
- void retrieve( ArtifactRepository repository, File destination, String remotePath,
- ArtifactTransferListener transferListener )
- throws ArtifactTransferFailedException, ArtifactDoesNotExistException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java
deleted file mode 100644
index 352e5bbb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/AbstractArtifactMetadata.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.repository.legacy.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * Common elements of artifact metadata.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public abstract class AbstractArtifactMetadata
- implements ArtifactMetadata
-{
- protected Artifact artifact;
-
- protected AbstractArtifactMetadata( Artifact artifact )
- {
- this.artifact = artifact;
- }
-
- public boolean storedInGroupDirectory()
- {
- return false;
- }
-
- public String getGroupId()
- {
- return artifact.getGroupId();
- }
-
- public String getArtifactId()
- {
- return artifact.getArtifactId();
- }
-
- public String extendedToString()
- {
- StringBuilder buffer = new StringBuilder();
-
- buffer.append( "\nArtifact Metadata\n--------------------------" );
- buffer.append( "\nGroupId: " ).append( getGroupId() );
- buffer.append( "\nArtifactId: " ).append( getArtifactId() );
- buffer.append( "\nMetadata Type: " ).append( getClass().getName() );
-
- return buffer.toString();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataRetrievalException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataRetrievalException.java
deleted file mode 100644
index 67b4080b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataRetrievalException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.apache.maven.repository.legacy.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * Error while retrieving repository metadata from the repository.
- *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- */
-public class ArtifactMetadataRetrievalException
- extends Exception
-{
- private Artifact artifact;
-
- /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
- @Deprecated
- public ArtifactMetadataRetrievalException( String message )
- {
- this( message, null, null );
- }
-
- /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
- @Deprecated
- public ArtifactMetadataRetrievalException( Throwable cause )
- {
- this( null, cause, null );
- }
-
- /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
- @Deprecated
- public ArtifactMetadataRetrievalException( String message,
- Throwable cause )
- {
- this( message, cause, null );
- }
-
- public ArtifactMetadataRetrievalException( String message,
- Throwable cause,
- Artifact artifact )
- {
- super( message, cause );
- this.artifact = artifact;
- }
-
- public Artifact getArtifact()
- {
- return artifact;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataSource.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataSource.java
deleted file mode 100644
index aaa0ee34..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ArtifactMetadataSource.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.maven.repository.legacy.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-
-/**
- * Provides some metadata operations, like querying the remote repository for a list of versions available for an
- * artifact.
- *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
- */
-public interface ArtifactMetadataSource
-{
-
- ResolutionGroup retrieve( MetadataResolutionRequest request )
- throws ArtifactMetadataRetrievalException;
-
- ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- throws ArtifactMetadataRetrievalException;
-
- /**
- * Get a list of available versions for an artifact in the remote repository
- *
- * @param artifact artifact we are interested in. Only <code>groupid</code> and <code>artifactId</code>
- * are needed, for instance the following code will work
- * <code>artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )</code>
- * @param localRepository local repository
- * @param remoteRepositories remote repositories, {@link List} $lt; {@link ArtifactRepository} >
- * @return {@link List} $lt; {@link ArtifactVersion} >
- * @throws ArtifactMetadataRetrievalException
- * in case of error while retrieving repository metadata from the repository.
- */
- List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
- List<ArtifactRepository> remoteRepositories )
- throws ArtifactMetadataRetrievalException;
-
- /**
- * Get a list of available versions for an artifact in the remote deployment repository. This ignores any update
- * policy checks and mirrors and always retrieves the latest information from the given repository.
- *
- * @param artifact artifact we are interested in. Only <code>groupid</code> and <code>artifactId</code> are
- * needed, for instance the following code will work
- * <code>artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )</code>
- * @param localRepository local repository
- * @param remoteRepository remote repository
- * @return {@link List} $lt; {@link ArtifactVersion} >
- * @throws ArtifactMetadataRetrievalException
- * in case of error while retrieving repository metadata from the repository.
- */
- List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact,
- ArtifactRepository localRepository,
- ArtifactRepository remoteRepository )
- throws ArtifactMetadataRetrievalException;
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
deleted file mode 100644
index 93b9d5da..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/DefaultMetadataResolutionRequest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.apache.maven.repository.legacy.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultRepositoryRequest;
-import org.apache.maven.artifact.repository.RepositoryRequest;
-import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
-
-/**
- * Forms a request to retrieve artifact metadata.
- *
- * @author Benjamin Bentmann
- */
-public class DefaultMetadataResolutionRequest
- implements MetadataResolutionRequest
-{
-
- private Artifact artifact;
-
- private boolean resolveManagedVersions;
-
- private RepositoryRequest repositoryRequest;
-
- public DefaultMetadataResolutionRequest()
- {
- repositoryRequest = new DefaultRepositoryRequest();
- }
-
- public DefaultMetadataResolutionRequest( RepositoryRequest repositoryRequest )
- {
- this.repositoryRequest = new DefaultRepositoryRequest( repositoryRequest );
- }
-
- public DefaultMetadataResolutionRequest( ArtifactResolutionRequest resolutionRequest )
- {
- this.repositoryRequest = new DefaultRepositoryRequest( resolutionRequest );
- }
-
- public Artifact getArtifact()
- {
- return artifact;
- }
-
- public DefaultMetadataResolutionRequest setArtifact( Artifact artifact )
- {
- this.artifact = artifact;
-
- return this;
- }
-
- public ArtifactRepository getLocalRepository()
- {
- return repositoryRequest.getLocalRepository();
- }
-
- public DefaultMetadataResolutionRequest setLocalRepository( ArtifactRepository localRepository )
- {
- repositoryRequest.setLocalRepository( localRepository );
-
- return this;
- }
-
- public List<ArtifactRepository> getRemoteRepositories()
- {
- return repositoryRequest.getRemoteRepositories();
- }
-
- public DefaultMetadataResolutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories )
- {
- repositoryRequest.setRemoteRepositories( remoteRepositories );
-
- return this;
- }
-
- public boolean isResolveManagedVersions()
- {
- return resolveManagedVersions;
- }
-
- public DefaultMetadataResolutionRequest setResolveManagedVersions( boolean resolveManagedVersions )
- {
- this.resolveManagedVersions = resolveManagedVersions;
-
- return this;
- }
-
- public boolean isOffline()
- {
- return repositoryRequest.isOffline();
- }
-
- public DefaultMetadataResolutionRequest setOffline( boolean offline )
- {
- repositoryRequest.setOffline( offline );
-
- return this;
- }
-
- public boolean isForceUpdate()
- {
- return repositoryRequest.isForceUpdate();
- }
-
- public DefaultMetadataResolutionRequest setForceUpdate( boolean forceUpdate )
- {
- repositoryRequest.setForceUpdate( forceUpdate );
-
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
deleted file mode 100644
index a652c977..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/MetadataResolutionRequest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package org.apache.maven.repository.legacy.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.RepositoryRequest;
-
-/**
- * Forms a request to retrieve artifact metadata.
- *
- * @author Benjamin Bentmann
- */
-public interface MetadataResolutionRequest
- extends RepositoryRequest
-{
-
- /**
- * Indicates whether network access to remote repositories has been disabled.
- *
- * @return {@code true} if remote access has been disabled, {@code false} otherwise.
- */
- boolean isOffline();
-
- /**
- * Enables/disables network access to remote repositories.
- *
- * @param offline {@code true} to disable remote access, {@code false} to allow network access.
- * @return This request, never {@code null}.
- */
- MetadataResolutionRequest setOffline( boolean offline );
-
- /**
- * Gets the artifact to resolve metadata for.
- *
- * @return The artifact to resolve metadata for or {@code null} if not set.
- */
- Artifact getArtifact();
-
- /**
- * Sets the artifact for which to resolve metadata.
- *
- * @param artifact The artifact for which to resolve metadata.
- * @return This request, never {@code null}.
- */
- MetadataResolutionRequest setArtifact( Artifact artifact );
-
- /**
- * Gets the local repository to use for the resolution.
- *
- * @return The local repository to use for the resolution or {@code null} if not set.
- */
- ArtifactRepository getLocalRepository();
-
- /**
- * Sets the local repository to use for the resolution.
- *
- * @param localRepository The local repository to use for the resolution.
- * @return This request, never {@code null}.
- */
- MetadataResolutionRequest setLocalRepository( ArtifactRepository localRepository );
-
- /**
- * Gets the remote repositories to use for the resolution.
- *
- * @return The remote repositories to use for the resolution, never {@code null}.
- */
- List<ArtifactRepository> getRemoteRepositories();
-
- /**
- * Sets the remote repositories to use for the resolution.
- *
- * @param remoteRepositories The remote repositories to use for the resolution.
- * @return This request, never {@code null}.
- */
- MetadataResolutionRequest setRemoteRepositories( List<ArtifactRepository> remoteRepositories );
-
- /**
- * Determines whether the managed version information should be retrieved.
- *
- * @return {@code true} if the dependency management information should be retrieved, {@code false} otherwise.
- */
- boolean isResolveManagedVersions();
-
- /**
- * Enables/disables resolution of the dependency manageemnt information.
- *
- * @param resolveManagedVersions {@code true} if the dependency management information should be retrieved, {@code
- * false} otherwise.
- * @return This request, never {@code null}.
- */
- MetadataResolutionRequest setResolveManagedVersions( boolean resolveManagedVersions );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ResolutionGroup.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ResolutionGroup.java
deleted file mode 100644
index e942f70a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/repository/legacy/metadata/ResolutionGroup.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.repository.legacy.metadata;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-
-public class ResolutionGroup
-{
-
- private final Set<Artifact> artifacts;
-
- private final List<ArtifactRepository> resolutionRepositories;
-
- private final Artifact pomArtifact;
-
- private final Artifact relocatedArtifact;
-
- private final Map<String, Artifact> managedVersions;
-
- public ResolutionGroup( Artifact pomArtifact, Set<Artifact> artifacts,
- List<ArtifactRepository> resolutionRepositories )
- {
- this( pomArtifact, null, artifacts, null, resolutionRepositories );
- }
-
- public ResolutionGroup( Artifact pomArtifact, Artifact relocatedArtifact, Set<Artifact> artifacts,
- Map<String, Artifact> managedVersions, List<ArtifactRepository> resolutionRepositories )
- {
- this.pomArtifact = pomArtifact;
- this.relocatedArtifact = relocatedArtifact;
- this.artifacts = artifacts;
- this.managedVersions = managedVersions;
- this.resolutionRepositories = resolutionRepositories;
- }
-
- public Artifact getPomArtifact()
- {
- return pomArtifact;
- }
-
- public Artifact getRelocatedArtifact()
- {
- return relocatedArtifact;
- }
-
- public Set<Artifact> getArtifacts()
- {
- return artifacts;
- }
-
- public List<ArtifactRepository> getResolutionRepositories()
- {
- return resolutionRepositories;
- }
-
- public Map<String, Artifact> getManagedVersions()
- {
- return managedVersions;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/RuntimeInformation.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/RuntimeInformation.java
deleted file mode 100644
index 4e3520db..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/RuntimeInformation.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.apache.maven.rtinfo;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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 information about the current Maven runtime.
- *
- * @since 3.0.2
- */
-public interface RuntimeInformation
-{
-
- /**
- * Retrieves the current Maven version, for example "3.0.2".
- *
- * @return The current Maven version or an empty string if unknown, never {@code null}.
- */
- String getMavenVersion();
-
- /**
- * Checks whether the current Maven runtime matches the specified version range. A version range can either use the
- * usual mathematical syntax "[2.0.10,2.1.0),[3.0,)" or use a single version "2.2.1". The latter is a short form for
- * "[2.2.1,)", i.e. denotes the minimum version required.
- *
- * @param versionRange The version range to match the current Maven runtime against, must not be {@code null}.
- * @return {@code true} if the current Maven runtime matches the specified version range, {@code false} otherwise.
- * @throws IllegalArgumentException If the specified version range is {@code null}, empty or otherwise not a valid
- * version specification.
- */
- boolean isMavenVersion( String versionRange );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java
deleted file mode 100644
index 6a733f9b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package org.apache.maven.rtinfo.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.apache.maven.rtinfo.RuntimeInformation;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-import org.eclipse.aether.util.version.GenericVersionScheme;
-import org.eclipse.aether.version.InvalidVersionSpecificationException;
-import org.eclipse.aether.version.Version;
-import org.eclipse.aether.version.VersionConstraint;
-import org.eclipse.aether.version.VersionScheme;
-
-/**
- * Provides information about the current Maven runtime.
- */
-@Component( role = RuntimeInformation.class )
-public class DefaultRuntimeInformation
- implements RuntimeInformation
-{
-
- @Requirement
- private Logger logger;
-
- private String mavenVersion;
-
- public String getMavenVersion()
- {
- if ( mavenVersion == null )
- {
- Properties props = new Properties();
-
- String resource = "META-INF/maven/org.apache.maven/maven-core/pom.properties";
-
- InputStream is = DefaultRuntimeInformation.class.getResourceAsStream( "/" + resource );
- if ( is != null )
- {
- try
- {
- props.load( is );
- }
- catch ( IOException e )
- {
- String msg = "Could not parse " + resource + ", Maven runtime information not available";
- if ( logger.isDebugEnabled() )
- {
- logger.warn( msg, e );
- }
- else
- {
- logger.warn( msg );
- }
- }
- finally
- {
- IOUtil.close( is );
- }
- }
- else
- {
- logger.warn( "Could not locate " + resource
- + " on classpath, Maven runtime information not available" );
- }
-
- String version = props.getProperty( "version", "" ).trim();
-
- if ( !version.startsWith( "${" ) )
- {
- mavenVersion = version;
- }
- else
- {
- mavenVersion = "";
- }
- }
-
- return mavenVersion;
- }
-
- public boolean isMavenVersion( String versionRange )
- {
- VersionScheme versionScheme = new GenericVersionScheme();
-
- if ( versionRange == null )
- {
- throw new IllegalArgumentException( "Version range must not be null" );
- }
- if ( StringUtils.isBlank( versionRange ) )
- {
- throw new IllegalArgumentException( "Version range must not be empty" );
- }
-
- VersionConstraint constraint;
- try
- {
- constraint = versionScheme.parseVersionConstraint( versionRange );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- throw new IllegalArgumentException( e.getMessage(), e );
- }
-
- Version current;
- try
- {
- String mavenVersion = getMavenVersion();
- if ( mavenVersion.length() <= 0 )
- {
- throw new IllegalStateException( "Could not determine current Maven version" );
- }
-
- current = versionScheme.parseVersion( mavenVersion );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- throw new IllegalStateException( "Could not parse current Maven version: " + e.getMessage(), e );
- }
-
- if ( constraint.getRange() == null )
- {
- return constraint.getVersion().compareTo( current ) <= 0;
- }
- return constraint.containsVersion( current );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java
deleted file mode 100644
index 6d8913f5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.apache.maven.session.scope.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Map;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-import com.google.inject.Key;
-import com.google.inject.OutOfScopeException;
-import com.google.inject.Provider;
-import com.google.inject.Scope;
-import com.google.inject.util.Providers;
-
-public class SessionScope
- implements Scope
-{
- /**
- * @since 3.3.0
- */
- public static class Memento
- {
- final Map<Key<?>, Provider<?>> seeded;
-
- Memento( final Map<Key<?>, Provider<?>> seeded )
- {
- this.seeded = ImmutableMap.copyOf( seeded );
- }
- }
-
- private static final Provider<Object> SEEDED_KEY_PROVIDER = new Provider<Object>()
- {
- public Object get()
- {
- throw new IllegalStateException();
- }
- };
-
- private static final class ScopeState
- {
- public final Map<Key<?>, Provider<?>> seeded = Maps.newHashMap();
-
- public final Map<Key<?>, Object> provided = Maps.newHashMap();
- }
-
- private final ThreadLocal<LinkedList<ScopeState>> values = new ThreadLocal<LinkedList<ScopeState>>();
-
- public void enter()
- {
- LinkedList<ScopeState> stack = values.get();
- if ( stack == null )
- {
- stack = new LinkedList<ScopeState>();
- values.set( stack );
- }
- stack.addFirst( new ScopeState() );
- }
-
- /**
- * @since 3.3.0
- */
- public void enter( Memento memento )
- {
- enter();
- getScopeState().seeded.putAll( memento.seeded );
- }
-
- private ScopeState getScopeState()
- {
- LinkedList<ScopeState> stack = values.get();
- if ( stack == null || stack.isEmpty() )
- {
- throw new IllegalStateException();
- }
- return stack.getFirst();
- }
-
- public void exit()
- {
- final LinkedList<ScopeState> stack = values.get();
- if ( stack == null || stack.isEmpty() )
- {
- throw new IllegalStateException();
- }
- stack.removeFirst();
- if ( stack.isEmpty() )
- {
- values.remove();
- }
- }
-
- /**
- * @since 3.3.0
- */
- public Memento memento()
- {
- LinkedList<ScopeState> stack = values.get();
- return new Memento( stack != null ? stack.getFirst().seeded : Collections.<Key<?>, Provider<?>>emptyMap() );
- }
-
- public <T> void seed( Class<T> clazz, Provider<T> value )
- {
- getScopeState().seeded.put( Key.get( clazz ), value );
- }
-
- public <T> void seed( Class<T> clazz, final T value )
- {
- getScopeState().seeded.put( Key.get( clazz ), Providers.of( value ) );
- }
-
- public <T> Provider<T> scope( final Key<T> key, final Provider<T> unscoped )
- {
- return new Provider<T>()
- {
- @SuppressWarnings( "unchecked" )
- public T get()
- {
- LinkedList<ScopeState> stack = values.get();
- if ( stack == null || stack.isEmpty() )
- {
- throw new OutOfScopeException( "Cannot access " + key + " outside of a scoping block" );
- }
-
- ScopeState state = stack.getFirst();
-
- Provider<?> seeded = state.seeded.get( key );
-
- if ( seeded != null )
- {
- return (T) seeded.get();
- }
-
- T provided = (T) state.provided.get( key );
- if ( provided == null && unscoped != null )
- {
- provided = unscoped.get();
- state.provided.put( key, provided );
- }
-
- return provided;
- }
- };
- }
-
- @SuppressWarnings( { "unchecked" } )
- public static <T> Provider<T> seededKeyProvider()
- {
- return (Provider<T>) SEEDED_KEY_PROVIDER;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScopeModule.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScopeModule.java
deleted file mode 100644
index 585d683a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScopeModule.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.apache.maven.session.scope.internal;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.apache.maven.SessionScoped;
-import org.apache.maven.execution.MavenSession;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-import com.google.inject.AbstractModule;
-
-@Named
-public class SessionScopeModule
- extends AbstractModule
-{
- private final SessionScope scope;
-
- @Inject
- public SessionScopeModule()
- {
- this( new SessionScope() );
- }
-
- public SessionScopeModule( PlexusContainer container )
- throws ComponentLookupException
- {
- this( container.lookup( SessionScope.class ) );
- }
-
- private SessionScopeModule( SessionScope scope )
- {
- this.scope = scope;
- }
-
- @Override
- protected void configure()
- {
- bindScope( SessionScoped.class, scope );
- bind( SessionScope.class ).toInstance( scope );
-
- bind( MavenSession.class ).toProvider( SessionScope.<MavenSession>seededKeyProvider() ).in( scope );
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
deleted file mode 100644
index 820d886e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.apache.maven.settings;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.properties.internal.SystemProperties;
-import org.apache.maven.settings.building.DefaultSettingsBuildingRequest;
-import org.apache.maven.settings.building.SettingsBuilder;
-import org.apache.maven.settings.building.SettingsBuildingException;
-import org.apache.maven.settings.building.SettingsBuildingRequest;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * @author jdcasey
- */
-@Component( role = MavenSettingsBuilder.class )
-public class DefaultMavenSettingsBuilder
- extends AbstractLogEnabled
- implements MavenSettingsBuilder
-{
-
- @Requirement
- private SettingsBuilder settingsBuilder;
-
- public Settings buildSettings()
- throws IOException, XmlPullParserException
- {
- File userSettingsFile =
- getFile( "${user.home}/.m2/settings.xml", "user.home",
- MavenSettingsBuilder.ALT_USER_SETTINGS_XML_LOCATION );
-
- return buildSettings( userSettingsFile );
- }
-
- public Settings buildSettings( boolean useCachedSettings )
- throws IOException, XmlPullParserException
- {
- return buildSettings();
- }
-
- public Settings buildSettings( File userSettingsFile )
- throws IOException, XmlPullParserException
- {
- File globalSettingsFile =
- getFile( "${maven.home}/conf/settings.xml", "maven.home",
- MavenSettingsBuilder.ALT_GLOBAL_SETTINGS_XML_LOCATION );
-
- SettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
- request.setUserSettingsFile( userSettingsFile );
- request.setGlobalSettingsFile( globalSettingsFile );
- request.setSystemProperties( SystemProperties.getSystemProperties() );
- return build( request );
- }
-
- public Settings buildSettings( File userSettingsFile, boolean useCachedSettings )
- throws IOException, XmlPullParserException
- {
- return buildSettings( userSettingsFile );
- }
-
- private Settings build( SettingsBuildingRequest request )
- throws IOException, XmlPullParserException
- {
- try
- {
- return settingsBuilder.build( request ).getEffectiveSettings();
- }
- catch ( SettingsBuildingException e )
- {
- throw (IOException) new IOException( e.getMessage() ).initCause( e );
- }
- }
-
- /** @since 2.1 */
- public Settings buildSettings( MavenExecutionRequest request )
- throws IOException, XmlPullParserException
- {
- SettingsBuildingRequest settingsRequest = new DefaultSettingsBuildingRequest();
- settingsRequest.setUserSettingsFile( request.getUserSettingsFile() );
- settingsRequest.setGlobalSettingsFile( request.getGlobalSettingsFile() );
- settingsRequest.setUserProperties( request.getUserProperties() );
- settingsRequest.setSystemProperties( request.getSystemProperties() );
-
- return build( settingsRequest );
- }
-
- private File getFile( String pathPattern, String basedirSysProp, String altLocationSysProp )
- {
- // -------------------------------------------------------------------------------------
- // Alright, here's the justification for all the regexp wizardry below...
- //
- // Continuum and other server-like apps may need to locate the user-level and
- // global-level settings somewhere other than ${user.home} and ${maven.home},
- // respectively. Using a simple replacement of these patterns will allow them
- // to specify the absolute path to these files in a customized components.xml
- // file. Ideally, we'd do full pattern-evaluation against the sysprops, but this
- // is a first step. There are several replacements below, in order to normalize
- // the path character before we operate on the string as a regex input, and
- // in order to avoid surprises with the File construction...
- // -------------------------------------------------------------------------------------
-
- String path = System.getProperty( altLocationSysProp );
-
- if ( StringUtils.isEmpty( path ) )
- {
- // TODO: This replacing shouldn't be necessary as user.home should be in the
- // context of the container and thus the value would be interpolated by Plexus
- String basedir = System.getProperty( basedirSysProp );
- if ( basedir == null )
- {
- basedir = System.getProperty( "user.dir" );
- }
-
- basedir = basedir.replaceAll( "\\\\", "/" );
- basedir = basedir.replaceAll( "\\$", "\\\\\\$" );
-
- path = pathPattern.replaceAll( "\\$\\{" + basedirSysProp + "\\}", basedir );
- path = path.replaceAll( "\\\\", "/" );
- // ---------------------------------------------------------------------------------
- // I'm not sure if this last regexp was really intended to disallow the usage of
- // network paths as user.home directory. Unfortunately it did. I removed it and
- // have not detected any problems yet.
- // ---------------------------------------------------------------------------------
- // path = path.replaceAll( "//", "/" );
-
- return new File( path ).getAbsoluteFile();
- }
- else
- {
- return new File( path ).getAbsoluteFile();
- }
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/MavenSettingsBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/MavenSettingsBuilder.java
deleted file mode 100644
index c79a843d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/MavenSettingsBuilder.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package org.apache.maven.settings;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * @author jdcasey
- * @author Jason van Zyl
- */
-@Deprecated
-public interface MavenSettingsBuilder
-{
-
- String ROLE = MavenSettingsBuilder.class.getName();
-
- String ALT_USER_SETTINGS_XML_LOCATION = "org.apache.maven.user-settings";
- String ALT_GLOBAL_SETTINGS_XML_LOCATION = "org.apache.maven.global-settings";
- String ALT_LOCAL_REPOSITORY_LOCATION = "maven.repo.local";
-
- Settings buildSettings( MavenExecutionRequest request )
- throws IOException, XmlPullParserException;
-
- /**
- * @return a <code>Settings</code> object from the user settings file.
- * @throws IOException if any
- * @throws XmlPullParserException if any
- */
- Settings buildSettings()
- throws IOException, XmlPullParserException;
-
- /**
- * @param useCachedSettings if true, doesn't reload the user settings
- * @return a <code>Settings</code> object from the user settings file.
- * @throws IOException if any
- * @throws XmlPullParserException if any
- */
- Settings buildSettings( boolean useCachedSettings )
- throws IOException, XmlPullParserException;
-
- /**
- * @param userSettingsFile a given user settings file
- * @return a <code>Settings</code> object from the user settings file.
- * @throws IOException if any
- * @throws XmlPullParserException if any
- */
- Settings buildSettings( File userSettingsFile )
- throws IOException, XmlPullParserException;
-
- /**
- * @param userSettingsFile a given user settings file
- * @param useCachedSettings if true, doesn't reload the user settings
- * @return a <code>Settings</code> object from the user settings file.
- * @throws IOException if any
- * @throws XmlPullParserException if any
- */
- Settings buildSettings( File userSettingsFile, boolean useCachedSettings )
- throws IOException, XmlPullParserException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsConfigurationException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsConfigurationException.java
deleted file mode 100644
index 6fab6501..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsConfigurationException.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.apache.maven.settings;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * If there was an error in the settings file.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- */
-public class SettingsConfigurationException
- extends Exception
-{
- private int lineNumber;
-
- private int columnNumber;
-
- public SettingsConfigurationException( String message )
- {
- super( message );
- }
-
- public SettingsConfigurationException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
- public SettingsConfigurationException( String message, Throwable cause, int lineNumber, int columnNumber )
- {
- super( message + ( lineNumber > 0 ? "\n Line: " + lineNumber : "" )
- + ( columnNumber > 0 ? "\n Column: " + columnNumber : "" ), cause );
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- }
-
- public int getColumnNumber()
- {
- return columnNumber;
- }
-
- public int getLineNumber()
- {
- return lineNumber;
- }
-
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
deleted file mode 100644
index 8da696e8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
+++ /dev/null
@@ -1,321 +0,0 @@
-package org.apache.maven.settings;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.model.ActivationFile;
-import org.apache.maven.settings.merge.MavenSettingsMerger;
-
-import java.util.List;
-
-/**
- * Several convenience methods to handle settings
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- */
-public final class SettingsUtils
-{
-
- private SettingsUtils()
- {
- // don't allow construction.
- }
-
- /**
- * @param dominant
- * @param recessive
- * @param recessiveSourceLevel
- */
- public static void merge( Settings dominant, Settings recessive, String recessiveSourceLevel )
- {
- new MavenSettingsMerger().merge( dominant, recessive, recessiveSourceLevel );
- }
-
- /**
- * @param modelProfile
- * @return a profile
- */
- public static Profile convertToSettingsProfile( org.apache.maven.model.Profile modelProfile )
- {
- Profile profile = new Profile();
-
- profile.setId( modelProfile.getId() );
-
- org.apache.maven.model.Activation modelActivation = modelProfile.getActivation();
-
- if ( modelActivation != null )
- {
- Activation activation = new Activation();
-
- activation.setActiveByDefault( modelActivation.isActiveByDefault() );
-
- activation.setJdk( modelActivation.getJdk() );
-
- org.apache.maven.model.ActivationProperty modelProp = modelActivation.getProperty();
-
- if ( modelProp != null )
- {
- ActivationProperty prop = new ActivationProperty();
- prop.setName( modelProp.getName() );
- prop.setValue( modelProp.getValue() );
- activation.setProperty( prop );
- }
-
- org.apache.maven.model.ActivationOS modelOs = modelActivation.getOs();
-
- if ( modelOs != null )
- {
- ActivationOS os = new ActivationOS();
-
- os.setArch( modelOs.getArch() );
- os.setFamily( modelOs.getFamily() );
- os.setName( modelOs.getName() );
- os.setVersion( modelOs.getVersion() );
-
- activation.setOs( os );
- }
-
- ActivationFile modelFile = modelActivation.getFile();
-
- if ( modelFile != null )
- {
- org.apache.maven.settings.ActivationFile file = new org.apache.maven.settings.ActivationFile();
-
- file.setExists( modelFile.getExists() );
- file.setMissing( modelFile.getMissing() );
-
- activation.setFile( file );
- }
-
- profile.setActivation( activation );
- }
-
- profile.setProperties( modelProfile.getProperties() );
-
- List<org.apache.maven.model.Repository> repos = modelProfile.getRepositories();
- if ( repos != null )
- {
- for ( org.apache.maven.model.Repository repo : repos )
- {
- profile.addRepository( convertToSettingsRepository( repo ) );
- }
- }
-
- List<org.apache.maven.model.Repository> pluginRepos = modelProfile.getPluginRepositories();
- if ( pluginRepos != null )
- {
- for ( org.apache.maven.model.Repository pluginRepo : pluginRepos )
- {
- profile.addPluginRepository( convertToSettingsRepository( pluginRepo ) );
- }
- }
-
- return profile;
- }
-
- /**
- * @param settingsProfile
- * @return a profile
- */
- public static org.apache.maven.model.Profile convertFromSettingsProfile( Profile settingsProfile )
- {
- org.apache.maven.model.Profile profile = new org.apache.maven.model.Profile();
-
- profile.setId( settingsProfile.getId() );
-
- profile.setSource( "settings.xml" );
-
- Activation settingsActivation = settingsProfile.getActivation();
-
- if ( settingsActivation != null )
- {
- org.apache.maven.model.Activation activation = new org.apache.maven.model.Activation();
-
- activation.setActiveByDefault( settingsActivation.isActiveByDefault() );
-
- activation.setJdk( settingsActivation.getJdk() );
-
- ActivationProperty settingsProp = settingsActivation.getProperty();
-
- if ( settingsProp != null )
- {
- org.apache.maven.model.ActivationProperty prop = new org.apache.maven.model.ActivationProperty();
-
- prop.setName( settingsProp.getName() );
- prop.setValue( settingsProp.getValue() );
-
- activation.setProperty( prop );
- }
-
- ActivationOS settingsOs = settingsActivation.getOs();
-
- if ( settingsOs != null )
- {
- org.apache.maven.model.ActivationOS os = new org.apache.maven.model.ActivationOS();
-
- os.setArch( settingsOs.getArch() );
- os.setFamily( settingsOs.getFamily() );
- os.setName( settingsOs.getName() );
- os.setVersion( settingsOs.getVersion() );
-
- activation.setOs( os );
- }
-
- org.apache.maven.settings.ActivationFile settingsFile = settingsActivation.getFile();
-
- if ( settingsFile != null )
- {
- ActivationFile file = new ActivationFile();
-
- file.setExists( settingsFile.getExists() );
- file.setMissing( settingsFile.getMissing() );
-
- activation.setFile( file );
- }
-
- profile.setActivation( activation );
- }
-
- profile.setProperties( settingsProfile.getProperties() );
-
- List<Repository> repos = settingsProfile.getRepositories();
- if ( repos != null )
- {
- for ( Repository repo : repos )
- {
- profile.addRepository( convertFromSettingsRepository( repo ) );
- }
- }
-
- List<Repository> pluginRepos = settingsProfile.getPluginRepositories();
- if ( pluginRepos != null )
- {
- for ( Repository pluginRepo : pluginRepos )
- {
- profile.addPluginRepository( convertFromSettingsRepository( pluginRepo ) );
- }
- }
-
- return profile;
- }
-
- /**
- * @param settingsRepo
- * @return a repository
- */
- private static org.apache.maven.model.Repository convertFromSettingsRepository( Repository settingsRepo )
- {
- org.apache.maven.model.Repository repo = new org.apache.maven.model.Repository();
-
- repo.setId( settingsRepo.getId() );
- repo.setLayout( settingsRepo.getLayout() );
- repo.setName( settingsRepo.getName() );
- repo.setUrl( settingsRepo.getUrl() );
-
- if ( settingsRepo.getSnapshots() != null )
- {
- repo.setSnapshots( convertRepositoryPolicy( settingsRepo.getSnapshots() ) );
- }
- if ( settingsRepo.getReleases() != null )
- {
- repo.setReleases( convertRepositoryPolicy( settingsRepo.getReleases() ) );
- }
-
- return repo;
- }
-
- /**
- * @param settingsPolicy
- * @return a RepositoryPolicy
- */
- private static org.apache.maven.model.RepositoryPolicy convertRepositoryPolicy( RepositoryPolicy settingsPolicy )
- {
- org.apache.maven.model.RepositoryPolicy policy = new org.apache.maven.model.RepositoryPolicy();
- policy.setEnabled( settingsPolicy.isEnabled() );
- policy.setUpdatePolicy( settingsPolicy.getUpdatePolicy() );
- policy.setChecksumPolicy( settingsPolicy.getChecksumPolicy() );
- return policy;
- }
-
- /**
- * @param modelRepo
- * @return a repository
- */
- private static Repository convertToSettingsRepository( org.apache.maven.model.Repository modelRepo )
- {
- Repository repo = new Repository();
-
- repo.setId( modelRepo.getId() );
- repo.setLayout( modelRepo.getLayout() );
- repo.setName( modelRepo.getName() );
- repo.setUrl( modelRepo.getUrl() );
-
- if ( modelRepo.getSnapshots() != null )
- {
- repo.setSnapshots( convertRepositoryPolicy( modelRepo.getSnapshots() ) );
- }
- if ( modelRepo.getReleases() != null )
- {
- repo.setReleases( convertRepositoryPolicy( modelRepo.getReleases() ) );
- }
-
- return repo;
- }
-
- /**
- * @param modelPolicy
- * @return a RepositoryPolicy
- */
- private static RepositoryPolicy convertRepositoryPolicy( org.apache.maven.model.RepositoryPolicy modelPolicy )
- {
- RepositoryPolicy policy = new RepositoryPolicy();
- policy.setEnabled( modelPolicy.isEnabled() );
- policy.setUpdatePolicy( modelPolicy.getUpdatePolicy() );
- policy.setChecksumPolicy( modelPolicy.getChecksumPolicy() );
- return policy;
- }
-
- /**
- * @param settings could be null
- * @return a new instance of settings or null if settings was null.
- */
- public static Settings copySettings( Settings settings )
- {
- if ( settings == null )
- {
- return null;
- }
-
- Settings clone = new Settings();
- clone.setActiveProfiles( settings.getActiveProfiles() );
- clone.setInteractiveMode( settings.isInteractiveMode() );
- clone.setLocalRepository( settings.getLocalRepository() );
- clone.setMirrors( settings.getMirrors() );
- clone.setModelEncoding( settings.getModelEncoding() );
- clone.setOffline( settings.isOffline() );
- clone.setPluginGroups( settings.getPluginGroups() );
- clone.setProfiles( settings.getProfiles() );
- clone.setProxies( settings.getProxies() );
- clone.setServers( settings.getServers() );
- clone.setSourceLevel( settings.getSourceLevel() );
- clone.setUsePluginRegistry( settings.isUsePluginRegistry() );
-
- return clone;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java
deleted file mode 100644
index 043e5e68..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchain.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * Default abstract toolchain implementation, to be used as base class for any toolchain implementation
- * to avoid rewriting usual code.
- *
- * @author mkleint
- * @since 2.0.9
- */
-public abstract class DefaultToolchain // should have been AbstractToolchain...
- implements Toolchain, ToolchainPrivate
-{
-
- private String type;
-
- private Map<String, RequirementMatcher> provides = new HashMap<String, RequirementMatcher>();
-
- public static final String KEY_TYPE = "type"; //NOI18N
-
- private ToolchainModel model;
-
- private Logger logger;
-
- /**
- *
- * @param model the model, must not be {@code null}
- * @param logger the logger, must not be {@code null}
- */
- protected DefaultToolchain( ToolchainModel model, Logger logger )
- {
- this.model = model;
-
- this.logger = logger;
- }
-
- /**
- *
- * @param model the model, must not be {@code null}
- * @param type the type
- * @param logger the logger, must not be {@code null}
- */
- protected DefaultToolchain( ToolchainModel model, String type, Logger logger )
- {
- this( model, logger );
- this.type = type;
- }
-
- @Override
- public final String getType()
- {
- return type != null ? type : model.getType();
- }
-
- @Override
- public final ToolchainModel getModel()
- {
- return model;
- }
-
- public final void addProvideToken( String type, RequirementMatcher matcher )
- {
- provides.put( type, matcher );
- }
-
- @Override
- public boolean matchesRequirements( Map<String, String> requirements )
- {
- for ( Map.Entry<String, String> requirement : requirements.entrySet() )
- {
- String key = requirement.getKey();
-
- RequirementMatcher matcher = provides.get( key );
-
- if ( matcher == null )
- {
- getLog().debug( "Toolchain " + this + " is missing required property: " + key );
- return false;
- }
- if ( !matcher.matches( requirement.getValue() ) )
- {
- getLog().debug( "Toolchain " + this + " doesn't match required property: " + key );
- return false;
- }
- }
- return true;
- }
-
- protected Logger getLog()
- {
- return logger;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( obj == null )
- {
- return false;
- }
-
- if ( this == obj )
- {
- return true;
- }
-
- if ( !( obj instanceof DefaultToolchain ) )
- {
- return false;
- }
-
- DefaultToolchain other = (DefaultToolchain) obj;
-
- if ( type == null ? other.type != null : !type.equals( other.type ) )
- {
- return false;
- }
-
- Properties thisProvides = this.getModel().getProvides();
- Properties otherProvides = other.getModel().getProvides();
-
- if ( thisProvides == null ? otherProvides != null : !thisProvides.equals( otherProvides ) )
- {
- return false;
- }
-
- return true;
- }
-
- @Override
- public int hashCode()
- {
- int hashCode = ( type == null ) ? 0 : type.hashCode();
-
- if ( this.getModel().getProvides() != null )
- {
- hashCode = 31 * hashCode + this.getModel().getProvides().hashCode();
- }
- return hashCode;
- }
-
- @Override
- public String toString()
- {
- StringBuilder builder = new StringBuilder();
- builder.append( "type:" ).append( getType() );
- builder.append( '{' );
-
- Iterator<Map.Entry<String, RequirementMatcher>> providesIter = provides.entrySet().iterator();
- while ( providesIter.hasNext() )
- {
- Map.Entry<String, RequirementMatcher> provideEntry = providesIter.next();
- builder.append( provideEntry.getKey() ).append( " = " ).append( provideEntry.getValue() );
- if ( providesIter.hasNext() )
- {
- builder.append( ';' );
- }
- }
-
- builder.append( '}' );
-
- return builder.toString();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
deleted file mode 100644
index 8093bbd6..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * @author mkleint
- */
-@Component( role = ToolchainManager.class )
-public class DefaultToolchainManager
- implements ToolchainManager
-{
- @Requirement
- Logger logger;
-
- @Requirement( role = ToolchainFactory.class )
- Map<String, ToolchainFactory> factories;
-
- @Override
- public Toolchain getToolchainFromBuildContext( String type, MavenSession session )
- {
- Map<String, Object> context = retrieveContext( session );
-
- ToolchainModel model = (ToolchainModel) context.get( getStorageKey( type ) );
-
- if ( model != null )
- {
- List<Toolchain> toolchains = selectToolchains( Collections.singletonList( model ), type, null );
-
- if ( !toolchains.isEmpty() )
- {
- return toolchains.get( 0 );
- }
- }
-
- return null;
- }
-
- @Override
- public List<Toolchain> getToolchains( MavenSession session, String type, Map<String, String> requirements )
- {
- List<ToolchainModel> models = session.getRequest().getToolchains().get( type );
-
- return selectToolchains( models, type, requirements );
- }
-
- private List<Toolchain> selectToolchains( List<ToolchainModel> models, String type,
- Map<String, String> requirements )
- {
- List<Toolchain> toolchains = new ArrayList<Toolchain>();
-
- if ( models != null )
- {
- ToolchainFactory fact = factories.get( type );
-
- if ( fact == null )
- {
- logger.error( "Missing toolchain factory for type: " + type
- + ". Possibly caused by misconfigured project." );
- }
- else
- {
- for ( ToolchainModel model : models )
- {
- try
- {
- ToolchainPrivate toolchain = fact.createToolchain( model );
- if ( requirements == null || toolchain.matchesRequirements( requirements ) )
- {
- toolchains.add( toolchain );
- }
- }
- catch ( MisconfiguredToolchainException ex )
- {
- logger.error( "Misconfigured toolchain.", ex );
- }
- }
- }
- }
- return toolchains;
- }
-
- Map<String, Object> retrieveContext( MavenSession session )
- {
- Map<String, Object> context = null;
-
- if ( session != null )
- {
- PluginDescriptor desc = new PluginDescriptor();
- desc.setGroupId( PluginDescriptor.getDefaultPluginGroupId() );
- desc.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );
-
- MavenProject current = session.getCurrentProject();
-
- if ( current != null )
- {
- //TODO: why is this using the context
- context = session.getPluginContext( desc, current );
- }
- }
-
- return ( context != null ) ? context : new HashMap<String, Object>();
- }
-
- public static final String getStorageKey( String type )
- {
- return "toolchain-" + type; // NOI18N
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java
deleted file mode 100644
index cac8e297..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.component.annotations.Component;
-
-/**
- * @author mkleint
- * @author Robert Scholte
- */
-@Component( role = ToolchainManagerPrivate.class )
-public class DefaultToolchainManagerPrivate
- extends DefaultToolchainManager
- implements ToolchainManagerPrivate
-{
-
- @Override
- public ToolchainPrivate[] getToolchainsForType( String type, MavenSession context )
- throws MisconfiguredToolchainException
- {
- List<ToolchainPrivate> toRet = new ArrayList<ToolchainPrivate>();
-
- ToolchainFactory fact = factories.get( type );
- if ( fact == null )
- {
- logger.error( "Missing toolchain factory for type: " + type
- + ". Possibly caused by misconfigured project." );
- }
- else
- {
- List<ToolchainModel> availableToolchains = context.getRequest().getToolchains().get( type );
-
- if ( availableToolchains != null )
- {
- for ( ToolchainModel toolchainModel : availableToolchains )
- {
- toRet.add( fact.createToolchain( toolchainModel ) );
- }
- }
-
- // add default toolchain
- ToolchainPrivate tool = fact.createDefaultToolchain();
- if ( tool != null )
- {
- toRet.add( tool );
- }
- }
-
- return toRet.toArray( new ToolchainPrivate[toRet.size()] );
- }
-
- @Override
- public void storeToolchainToBuildContext( ToolchainPrivate toolchain, MavenSession session )
- {
- Map<String, Object> context = retrieveContext( session );
- context.put( getStorageKey( toolchain.getType() ), toolchain.getModel() );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java
deleted file mode 100644
index 5bd3e82a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.Reader;
-
-import org.apache.maven.toolchain.model.PersistedToolchains;
-import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-
-/**
- * @author Benjamin Bentmann
- *
- * @deprecated instead use {@link org.apache.maven.toolchain.building.DefaultToolchainsBuilder}
- */
-@Deprecated
-@Component( role = ToolchainsBuilder.class, hint = "default" )
-public class DefaultToolchainsBuilder
- implements ToolchainsBuilder
-{
-
- @Requirement
- private Logger logger;
-
- public PersistedToolchains build( File userToolchainsFile )
- throws MisconfiguredToolchainException
- {
- PersistedToolchains toolchains = null;
-
- if ( userToolchainsFile != null && userToolchainsFile.isFile() )
- {
- Reader in = null;
- try
- {
- in = ReaderFactory.newXmlReader( userToolchainsFile );
- toolchains = new MavenToolchainsXpp3Reader().read( in );
- }
- catch ( Exception e )
- {
- throw new MisconfiguredToolchainException( "Cannot read toolchains file at "
- + userToolchainsFile.getAbsolutePath(), e );
- }
- finally
- {
- IOUtil.close( in );
- }
- }
- else if ( userToolchainsFile != null )
- {
- logger.debug( "Toolchains configuration was not found at " + userToolchainsFile );
- }
-
- return toolchains;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/MisconfiguredToolchainException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/MisconfiguredToolchainException.java
deleted file mode 100644
index 140bc804..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/MisconfiguredToolchainException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- *
- * @author mkleint
- */
-public class MisconfiguredToolchainException
- extends Exception
-{
-
- public MisconfiguredToolchainException( String message )
- {
- super( message );
- }
-
- public MisconfiguredToolchainException( String message, Throwable orig )
- {
- super( message, orig );
- }
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcher.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcher.java
deleted file mode 100644
index 26390e40..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcher.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- *
- * @author mkleint
- */
-public interface RequirementMatcher
-{
-
- boolean matches( String requirement );
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcherFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcherFactory.java
deleted file mode 100644
index 3d6917bd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/RequirementMatcherFactory.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-/**
- *
- * @author mkleint
- */
-public final class RequirementMatcherFactory
-{
- private RequirementMatcherFactory()
- {
- }
-
- public static RequirementMatcher createExactMatcher( String provideValue )
- {
- return new ExactMatcher( provideValue );
- }
-
- public static RequirementMatcher createVersionMatcher( String provideValue )
- {
- return new VersionMatcher( provideValue );
- }
-
- private static final class ExactMatcher
- implements RequirementMatcher
- {
-
- private String provides;
-
- private ExactMatcher( String provides )
- {
- this.provides = provides;
- }
-
- @Override
- public boolean matches( String requirement )
- {
- return provides.equalsIgnoreCase( requirement );
- }
-
- @Override
- public String toString()
- {
- return provides;
- }
- }
-
- private static final class VersionMatcher
- implements RequirementMatcher
- {
- DefaultArtifactVersion version;
-
- private VersionMatcher( String version )
- {
- this.version = new DefaultArtifactVersion( version );
- }
-
- @Override
- public boolean matches( String requirement )
- {
- try
- {
- VersionRange range = VersionRange.createFromVersionSpec( requirement );
- if ( range.hasRestrictions() )
- {
- return range.containsVersion( version );
- }
- else
- {
- return range.getRecommendedVersion().compareTo( version ) == 0;
- }
- }
- catch ( InvalidVersionSpecificationException ex )
- {
- //TODO error reporting
- ex.printStackTrace();
- return false;
- }
- }
-
- @Override
- public String toString()
- {
- return version.toString();
- }
- }
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/Toolchain.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/Toolchain.java
deleted file mode 100644
index 2a713465..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/Toolchain.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Toolchain interface.
- *
- * @author Milos Kleint
- * @author Jason van Zyl
- * @since 2.0.9
- */
-public interface Toolchain
-{
-
- /**
- * get the type of toolchain.
- *
- * @return the toolchain type
- */
- String getType();
-
- /**
- * Gets the platform tool executable.
- *
- * @param toolName the tool platform independent tool name.
- * @return file representing the tool executable, or null if the tool can not be found
- */
- String findTool( String toolName );
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainFactory.java
deleted file mode 100644
index 115eede3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.toolchain.model.ToolchainModel;
-
-/**
- * Internal toolchain factory, to prepare toolchains instances.
- *
- * @author mkleint
- * @since 2.0.9
- */
-public interface ToolchainFactory
-{
- /**
- * Create instance of toolchain.
- **/
- ToolchainPrivate createToolchain( ToolchainModel model )
- throws MisconfiguredToolchainException;
-
- /**
- * Returns the default instance of the particular type of toolchain, can return <code>null</code>
- * if not applicable.
- * TODO keep around??
- **/
- ToolchainPrivate createDefaultToolchain();
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java
deleted file mode 100644
index 8eddac54..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManager.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.execution.MavenSession;
-
-
-/**
- * Public API for a toolchain-aware plugin to get expected toolchain instance.
- *
- * @author mkleint
- * @author Robert Scholte
- * @since 2.0.9
- */
-public interface ToolchainManager
-{
-
- // NOTE: Some plugins like Surefire access this field directly!
- @Deprecated
- String ROLE = ToolchainManager.class.getName();
-
- /**
- * Retrieve toolchain of specified type from build context. It is expected that
- * <code>maven-toolchains-plugin</code> contains the configuration to select the appropriate
- * toolchain and is executed at the beginning of the build.
- *
- * @param session the Maven session, must not be {@code null}
- * @param type the type, must not be {@code null}
- * @return the toolchain selected by <code>maven-toolchains-plugin</code>
- */
- Toolchain getToolchainFromBuildContext( String type, MavenSession context );
-
- /**
- * Select all toolchains available in user settings matching the type and requirements,
- * independently from <code>maven-toolchains-plugin</code>.
- *
- * @param session the Maven session, must not be {@code null}
- * @param type the type, must not be {@code null}
- * @param requirements the requirements, may be {@code null}
- * @return the matching toolchains, never {@code null}
- * @since 3.3.0
- */
- List<Toolchain> getToolchains( MavenSession session, String type, Map<String, String> requirements );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java
deleted file mode 100644
index 6836bf1c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.execution.MavenSession;
-
-/**
- * Component for use by the <code>maven-toolchains-plugin</code> only.
- * It provides API: <ol>
- * <li>to retrieve every toolchains available in user settings,</li>
- * <li>to store chosen toolchain into build context for later use by toolchain-aware plugins.</li>
- * </ol>
- *
- * @author mkleint
- * @since 2.0.9
- * @see ToolchainManager#getToolchainFromBuildContext(String, MavenSession)
- */
-public interface ToolchainManagerPrivate
-{
-
- /**
- * Retrieves every toolchains of given type available in user settings.
- *
- * @param type the type, must not be {@code null}
- * @param context the Maven session, must not be {@code null}
- * @since 3.0 (addition of the <code>MavenSession</code> parameter)
- */
- ToolchainPrivate[] getToolchainsForType( String type, MavenSession context )
- throws MisconfiguredToolchainException;
-
- /**
- * Stores the toolchain into build context for later use by toolchain-aware plugins.
- *
- * @param toolchain the toolchain to store, must not be {@code null}
- * @param context the Maven session, must not be {@code null}
- * @since 2.0.9
- * @see ToolchainManager#getToolchainFromBuildContext(String, MavenSession)
- */
- void storeToolchainToBuildContext( ToolchainPrivate toolchain, MavenSession context );
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainPrivate.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainPrivate.java
deleted file mode 100644
index 756cd957..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainPrivate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-
-import org.apache.maven.toolchain.model.ToolchainModel;
-
-/**
- * a private contract between the toolchains plugin and the components.
- * @author mkleint
- */
-public interface ToolchainPrivate
- extends Toolchain
-{
-
- /**
- * Let the toolchain decide if it matches requirements defined
- * in the toolchain plugin configuration.
- * @param requirements Map<String, String> key value pair, may not be {@code null}
- * @return {@code true} if the requirements match, otherwise {@code false}
- */
- boolean matchesRequirements( Map<String, String> requirements );
-
- /**
- *
- * @return the original model wrapped by this interface
- */
- ToolchainModel getModel();
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainsBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainsBuilder.java
deleted file mode 100644
index 4bb4052a..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/ToolchainsBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.toolchain;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import org.apache.maven.toolchain.model.PersistedToolchains;
-
-/**
- * Builds the toolchains model from a previously configured filesystem path to the toolchains file.
- * <strong>Note:</strong> This is an internal component whose interface can change without prior notice.
- *
- * @author Benjamin Bentmann
- */
-public interface ToolchainsBuilder
-{
-
- /**
- * Builds the toolchains model from the configured toolchain files.
- *
- * @param userToolchainsFile The path to the toolchains file, may be <code>null</code> to disable parsing.
- * @return The toolchains model or <code>null</code> if no toolchain file was configured or the configured file does
- * not exist.
- * @throws MisconfiguredToolchainException If the toolchain file exists but cannot be parsed.
- */
- PersistedToolchains build( File userToolchainsFile )
- throws MisconfiguredToolchainException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java
deleted file mode 100644
index 7983388b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilder.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.maven.building.Problem;
-import org.apache.maven.building.ProblemCollector;
-import org.apache.maven.building.ProblemCollectorFactory;
-import org.apache.maven.building.Source;
-import org.apache.maven.toolchain.io.ToolchainsParseException;
-import org.apache.maven.toolchain.io.ToolchainsReader;
-import org.apache.maven.toolchain.merge.MavenToolchainMerger;
-import org.apache.maven.toolchain.model.PersistedToolchains;
-import org.apache.maven.toolchain.model.TrackableBase;
-
-/**
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-@Named
-@Singleton
-public class DefaultToolchainsBuilder
- implements ToolchainsBuilder
-{
- private MavenToolchainMerger toolchainsMerger = new MavenToolchainMerger();
-
- @Inject
- private ToolchainsReader toolchainsReader;
-
- @Override
- public ToolchainsBuildingResult build( ToolchainsBuildingRequest request )
- throws ToolchainsBuildingException
- {
- ProblemCollector problems = ProblemCollectorFactory.newInstance( null );
-
- PersistedToolchains globalToolchains = readToolchains( request.getGlobalToolchainsSource(), request, problems );
-
- PersistedToolchains userToolchains = readToolchains( request.getUserToolchainsSource(), request, problems );
-
- toolchainsMerger.merge( userToolchains, globalToolchains, TrackableBase.GLOBAL_LEVEL );
-
- problems.setSource( "" );
-
- if ( hasErrors( problems.getProblems() ) )
- {
- throw new ToolchainsBuildingException( problems.getProblems() );
- }
-
-
- return new DefaultToolchainsBuildingResult( userToolchains, problems.getProblems() );
- }
-
- private PersistedToolchains readToolchains( Source toolchainsSource, ToolchainsBuildingRequest request,
- ProblemCollector problems )
- {
- if ( toolchainsSource == null )
- {
- return new PersistedToolchains();
- }
-
- PersistedToolchains toolchains;
-
- try
- {
- Map<String, ?> options = Collections.singletonMap( ToolchainsReader.IS_STRICT, Boolean.TRUE );
-
- try
- {
- toolchains = toolchainsReader.read( toolchainsSource.getInputStream(), options );
- }
- catch ( ToolchainsParseException e )
- {
- options = Collections.singletonMap( ToolchainsReader.IS_STRICT, Boolean.FALSE );
-
- toolchains = toolchainsReader.read( toolchainsSource.getInputStream(), options );
-
- problems.add( Problem.Severity.WARNING, e.getMessage(), e.getLineNumber(), e.getColumnNumber(),
- e );
- }
- }
- catch ( ToolchainsParseException e )
- {
- problems.add( Problem.Severity.FATAL, "Non-parseable toolchains " + toolchainsSource.getLocation()
- + ": " + e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e );
- return new PersistedToolchains();
- }
- catch ( IOException e )
- {
- problems.add( Problem.Severity.FATAL, "Non-readable toolchains " + toolchainsSource.getLocation()
- + ": " + e.getMessage(), -1, -1, e );
- return new PersistedToolchains();
- }
-
- return toolchains;
- }
-
- private boolean hasErrors( List<Problem> problems )
- {
- if ( problems != null )
- {
- for ( Problem problem : problems )
- {
- if ( Problem.Severity.ERROR.compareTo( problem.getSeverity() ) >= 0 )
- {
- return true;
- }
- }
- }
-
- return false;
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingRequest.java
deleted file mode 100644
index 144d724c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingRequest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.building.Source;
-
-/**
- * Collects toolchains that control building of effective toolchains.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public class DefaultToolchainsBuildingRequest
- implements ToolchainsBuildingRequest
-{
- private Source globalToolchainsSource;
-
- private Source userToolchainsSource;
-
- @Override
- public Source getGlobalToolchainsSource()
- {
- return globalToolchainsSource;
- }
-
- @Override
- public ToolchainsBuildingRequest setGlobalToolchainsSource( Source globalToolchainsSource )
- {
- this.globalToolchainsSource = globalToolchainsSource;
- return this;
- }
-
- @Override
- public Source getUserToolchainsSource()
- {
- return userToolchainsSource;
- }
-
- @Override
- public ToolchainsBuildingRequest setUserToolchainsSource( Source userToolchainsSource )
- {
- this.userToolchainsSource = userToolchainsSource;
- return this;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingResult.java
deleted file mode 100644
index 60ca2441..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/DefaultToolchainsBuildingResult.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.building.Problem;
-import org.apache.maven.toolchain.model.PersistedToolchains;
-
-/**
- * Holds the result of the merged toolchains and holds the problems during this build, if any.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public class DefaultToolchainsBuildingResult
- implements ToolchainsBuildingResult
-{
-
- private PersistedToolchains effectiveToolchains;
-
- private List<Problem> problems;
-
- /**
- * Default constructor
- *
- * @param effectiveToolchains the merged toolchains, may not be {@code null}
- * @param problems the problems while building the effectiveToolchains, if any.
- */
- public DefaultToolchainsBuildingResult( PersistedToolchains effectiveToolchains, List<Problem> problems )
- {
- this.effectiveToolchains = effectiveToolchains;
- this.problems = ( problems != null ) ? problems : new ArrayList<Problem>();
- }
-
- @Override
- public PersistedToolchains getEffectiveToolchains()
- {
- return effectiveToolchains;
- }
-
- @Override
- public List<Problem> getProblems()
- {
- return problems;
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuilder.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuilder.java
deleted file mode 100644
index b2ef0d10..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuilder.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Builds the effective toolchains from a user toolchains file and/or a global toolchains file.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public interface ToolchainsBuilder
-{
-
- /**
- * Builds the effective toolchains of the specified toolchains files.
- *
- * @param request The toolchains building request that holds the parameters, must not be {@code null}.
- * @return The result of the toolchains building, never {@code null}.
- * @throws ToolchainsBuildingException If the effective toolchains could not be built.
- */
- ToolchainsBuildingResult build( ToolchainsBuildingRequest request )
- throws ToolchainsBuildingException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingException.java
deleted file mode 100644
index 56ed1d3e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingException.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.building.Problem;
-
-/**
- * @author Robert Scholte
- * @since 3.3.0
- */
-public class ToolchainsBuildingException
- extends Exception
-{
-
- private final List<Problem> problems;
-
- /**
- * Creates a new exception with the specified problems.
- *
- * @param problems The problems that causes this exception, must not be {@code null}.
- */
- public ToolchainsBuildingException( List<Problem> problems )
- {
- super( toMessage( problems ) );
-
- this.problems = new ArrayList<Problem>();
- if ( problems != null )
- {
- this.problems.addAll( problems );
- }
- }
-
- /**
- * Gets the problems that caused this exception.
- *
- * @return The problems that caused this exception, never {@code null}.
- */
- public List<Problem> getProblems()
- {
- return problems;
- }
-
- private static String toMessage( List<Problem> 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 toolchains" );
- writer.println();
-
- for ( Problem problem : problems )
- {
- writer.print( "[" );
- writer.print( problem.getSeverity() );
- writer.print( "] " );
- writer.print( problem.getMessage() );
- String location = problem.getLocation();
- if ( !location.isEmpty() )
- {
- writer.print( " @ " );
- writer.print( location );
- }
- writer.println();
- }
-
- return buffer.toString();
- }
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingRequest.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingRequest.java
deleted file mode 100644
index cf65d4cd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingRequest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.building.Source;
-
-/**
- * Collects toolchains that control the building of effective toolchains.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public interface ToolchainsBuildingRequest
-{
-
- /**
- * Gets the global toolchains source.
- *
- * @return The global toolchains source or {@code null} if none.
- */
- Source getGlobalToolchainsSource();
-
- /**
- * Sets the global toolchains source. If both user toolchains and a global toolchains are given, the user toolchains
- * take precedence.
- *
- * @param globalToolchainsSource The global toolchains source, may be {@code null} to disable global toolchains.
- * @return This request, never {@code null}.
- */
- ToolchainsBuildingRequest setGlobalToolchainsSource( Source globalToolchainsSource );
-
- /**
- * Gets the user toolchains source.
- *
- * @return The user toolchains source or {@code null} if none.
- */
- Source getUserToolchainsSource();
-
- /**
- * Sets the user toolchains source. If both user toolchains and a global toolchains are given, the user toolchains
- * take precedence.
- *
- * @param userToolchainsSource The user toolchains source, may be {@code null} to disable user toolchains.
- * @return This request, never {@code null}.
- */
- ToolchainsBuildingRequest setUserToolchainsSource( Source userToolchainsSource );
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingResult.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingResult.java
deleted file mode 100644
index 592fb98c..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/building/ToolchainsBuildingResult.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.maven.toolchain.building;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.building.Problem;
-import org.apache.maven.toolchain.model.PersistedToolchains;
-
-/**
- * Collects the output of the toolchains builder.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public interface ToolchainsBuildingResult
-{
-
- /**
- * Gets the assembled toolchains.
- *
- * @return The assembled toolchains, never {@code null}.
- */
- PersistedToolchains getEffectiveToolchains();
-
- /**
- * Return a list of problems, if any.
- *
- * @return a list of problems, never {@code null}.
- */
- List<Problem> getProblems();
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/DefaultToolchainsReader.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/DefaultToolchainsReader.java
deleted file mode 100644
index 8aeefe8b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/DefaultToolchainsReader.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.apache.maven.toolchain.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 javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.maven.toolchain.model.PersistedToolchains;
-import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Handles deserialization of toolchains from the default textual format.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-@Named
-@Singleton
-public class DefaultToolchainsReader
- implements ToolchainsReader
-{
-
- @Override
- public PersistedToolchains read( File input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input file missing" );
- }
-
- return read( ReaderFactory.newXmlReader( input ), options );
- }
-
- @Override
- public PersistedToolchains read( Reader input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input reader missing" );
- }
-
- try
- {
- MavenToolchainsXpp3Reader r = new MavenToolchainsXpp3Reader();
- return r.read( input, isStrict( options ) );
- }
- catch ( XmlPullParserException e )
- {
- throw new ToolchainsParseException( e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e );
- }
- finally
- {
- IOUtil.close( input );
- }
- }
-
- @Override
- public PersistedToolchains read( InputStream input, Map<String, ?> options )
- throws IOException
- {
- if ( input == null )
- {
- throw new IllegalArgumentException( "input stream missing" );
- }
-
- try
- {
- MavenToolchainsXpp3Reader r = new MavenToolchainsXpp3Reader();
- return r.read( input, isStrict( options ) );
- }
- catch ( XmlPullParserException e )
- {
- throw new ToolchainsParseException( e.getMessage(), e.getLineNumber(), e.getColumnNumber(), e );
- }
- 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() );
- }
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsParseException.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsParseException.java
deleted file mode 100644
index 95c2aed8..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsParseException.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package org.apache.maven.toolchain.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 toolchains due to invalid syntax (e.g. non-wellformed XML or unknown elements).
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public class ToolchainsParseException
- 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 ToolchainsParseException( 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 ToolchainsParseException( 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-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsReader.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsReader.java
deleted file mode 100644
index 44dc2bdc..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsReader.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.apache.maven.toolchain.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.toolchain.model.PersistedToolchains;
-
-/**
- * Handles deserialization of toolchains from some kind of textual format like XML.
- *
- * @author Robert Scholte
- * @since 3.3.0
- */
-public interface ToolchainsReader
-{
-
- /**
- * 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.toolchains.io.isStrict";
-
- /**
- * Reads the toolchains from the specified file.
- *
- * @param input The file to deserialize the toolchains 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 toolchains, never {@code null}.
- * @throws IOException If the toolchains could not be deserialized.
- * @throws ToolchainsParseException If the input format could not be parsed.
- */
- PersistedToolchains read( File input, Map<String, ?> options )
- throws IOException, ToolchainsParseException;
-
- /**
- * Reads the toolchains from the specified character reader. The reader will be automatically closed before the
- * method returns.
- *
- * @param input The reader to deserialize the toolchains 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 toolchains, never {@code null}.
- * @throws IOException If the toolchains could not be deserialized.
- * @throws ToolchainsParseException If the input format could not be parsed.
- */
- PersistedToolchains read( Reader input, Map<String, ?> options )
- throws IOException, ToolchainsParseException;
-
- /**
- * Reads the toolchains from the specified byte stream. The stream will be automatically closed before the method
- * returns.
- *
- * @param input The stream to deserialize the toolchains 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 toolchains, never {@code null}.
- * @throws IOException If the toolchains could not be deserialized.
- * @throws ToolchainsParseException If the input format could not be parsed.
- */
- PersistedToolchains read( InputStream input, Map<String, ?> options )
- throws IOException, ToolchainsParseException;
-
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolChain.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolChain.java
deleted file mode 100644
index 9cfcff38..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/DefaultJavaToolChain.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven.toolchain.java;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * Provides backwards compatibility with Maven 3.2.3 and earlier. Clients that do not require compatibility with Maven
- * 3.2.3 and earlier are encouraged to use {@link JavaToolchainImpl}.
- * <strong>Note:</strong> This is an internal component whose interface can change without prior notice.
- *
- * @deprecated clients that do not require compatibility with Maven 3.2.3 and earlier should link to
- * {@link JavaToolchainImpl} instead.
- */
-public class DefaultJavaToolChain
- extends JavaToolchainImpl
-{
- public static final String KEY_JAVAHOME = JavaToolchainImpl.KEY_JAVAHOME;
-
- public DefaultJavaToolChain( ToolchainModel model, Logger logger )
- {
- super( model, logger );
- }
-
- @Override
- public String getJavaHome()
- {
- return super.getJavaHome();
- }
-
- @Override
- public void setJavaHome( String javaHome )
- {
- super.setJavaHome( javaHome );
- }
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java
deleted file mode 100644
index cb14ada1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchain.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.maven.toolchain.java;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.toolchain.Toolchain;
-
-/**
- * JDK toolchain interface.
- *
- * @author Jason van Zyl
- * @author Milos Kleint
- * @since 2.0.9, renamed from JavaToolChain in 3.2.4
- */
-public interface JavaToolchain
- extends Toolchain
-{
-// /**
-// * Returns a list of {@link java.io.File}s which represents the bootstrap libraries for the
-// * runtime environment. The Bootstrap libraries include libraries in JRE's
-// * extension directory, if there are any.
-// *
-// * @return List
-// */
-// List getBootstrapLibraries();
-//
-// /**
-// * Returns a list of {@link java.io.File}s which represent the libraries recognized by
-// * default by the platform. Usually it corresponds to contents of CLASSPATH
-// * environment variable.
-// *
-// * @return List
-// */
-// List getStandardLibraries();
-//
-// /**
-// * Returns a {@link java.io.File}s which represent the locations of the source of the JDK,
-// * or an empty collection when the location is not set or is invalid.
-// *
-// * @return List
-// */
-// List getSourceDirectories();
-//
-// /**
-// * Returns a {@link java.io.File}s which represent the locations of the Javadoc for this platform,
-// * or empty collection if the location is not set or invalid
-// *
-// * @return List
-// */
-// List getJavadocFolders();
-}
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java
deleted file mode 100644
index cd4aef01..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.apache.maven.toolchain.java;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.Map.Entry;
-import java.util.Properties;
-
-import org.apache.maven.toolchain.MisconfiguredToolchainException;
-import org.apache.maven.toolchain.RequirementMatcher;
-import org.apache.maven.toolchain.RequirementMatcherFactory;
-import org.apache.maven.toolchain.ToolchainFactory;
-import org.apache.maven.toolchain.ToolchainPrivate;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * JDK toolchain factory.
- * This is a <code>ToolchainFactory</code> Plexus component registered with
- * <code>jdk</code> hint.
- *
- * @author mkleint
- * @since 2.0.9, renamed from <code>DefaultJavaToolchainFactory</code> in 3.2.4
- */
-@Component( role = ToolchainFactory.class, hint = "jdk" )
-public class JavaToolchainFactory
- implements ToolchainFactory
-{
-
- @Requirement
- private Logger logger;
-
- public ToolchainPrivate createToolchain( ToolchainModel model )
- throws MisconfiguredToolchainException
- {
- if ( model == null )
- {
- return null;
- }
-
- // use DefaultJavaToolChain for compatibility with maven 3.2.3 and earlier
-
- @SuppressWarnings( "deprecation" )
- JavaToolchainImpl jtc = new DefaultJavaToolChain( model, logger );
-
- // populate the provides section
- Properties provides = model.getProvides();
- for ( Entry<Object, Object> provide : provides.entrySet() )
- {
- String key = (String) provide.getKey();
- String value = (String) provide.getValue();
-
- if ( value == null )
- {
- throw new MisconfiguredToolchainException(
- "Provides token '" + key + "' doesn't have any value configured." );
- }
-
- RequirementMatcher matcher;
- if ( "version".equals( key ) )
- {
- matcher = RequirementMatcherFactory.createVersionMatcher( value );
- }
- else
- {
- matcher = RequirementMatcherFactory.createExactMatcher( value );
- }
-
- jtc.addProvideToken( key, matcher );
- }
-
- // populate the configuration section
- Xpp3Dom dom = (Xpp3Dom) model.getConfiguration();
- Xpp3Dom javahome = dom.getChild( JavaToolchainImpl.KEY_JAVAHOME );
- if ( javahome == null )
- {
- throw new MisconfiguredToolchainException( "Java toolchain without the "
- + JavaToolchainImpl.KEY_JAVAHOME + " configuration element." );
- }
- File normal = new File( FileUtils.normalize( javahome.getValue() ) );
- if ( normal.exists() )
- {
- jtc.setJavaHome( FileUtils.normalize( javahome.getValue() ) );
- }
- else
- {
- throw new MisconfiguredToolchainException( "Non-existing JDK home configuration at "
- + normal.getAbsolutePath() );
- }
-
- return jtc;
- }
-
- public ToolchainPrivate createDefaultToolchain()
- {
- //not sure it's necessary to provide a default toolchain here.
- //only version can be eventually supplied, and
- return null;
- }
-
- protected Logger getLogger()
- {
- return logger;
- }
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java
deleted file mode 100644
index 4a09ee06..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.toolchain.java;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT 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.toolchain.DefaultToolchain;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.Os;
-
-/**
- * JDK toolchain implementation.
- *
- * @author Milos Kleint
- * @since 2.0.9, renamed from DefaultJavaToolChain in 3.2.4
- */
-class JavaToolchainImpl
- extends DefaultToolchain
- implements JavaToolchain
-{
- private String javaHome;
-
- public static final String KEY_JAVAHOME = "jdkHome"; //NOI18N
-
- public JavaToolchainImpl( ToolchainModel model, Logger logger )
- {
- super( model, "jdk", logger );
- }
-
- public String getJavaHome()
- {
- return javaHome;
- }
-
- public void setJavaHome( String javaHome )
- {
- this.javaHome = javaHome;
- }
-
- public String toString()
- {
- return "JDK[" + getJavaHome() + "]";
- }
-
- public String findTool( String toolName )
- {
- File toRet = findTool( toolName, new File( FileUtils.normalize( getJavaHome() ) ) );
- if ( toRet != null )
- {
- return toRet.getAbsolutePath();
- }
- return null;
- }
-
- private static File findTool( String toolName, File installFolder )
- {
- File bin = new File( installFolder, "bin" ); //NOI18N
- if ( bin.exists() )
- {
- File tool = new File( bin, toolName + ( Os.isFamily( "windows" ) ? ".exe" : "" ) ); // NOI18N
- if ( tool.exists() )
- {
- return tool;
- }
- }
- return null;
- }
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/merge/MavenToolchainMerger.java b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/merge/MavenToolchainMerger.java
deleted file mode 100644
index 538f79b3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/java/org/apache/maven/toolchain/merge/MavenToolchainMerger.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.apache.maven.toolchain.merge;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.toolchain.model.PersistedToolchains;
-import org.apache.maven.toolchain.model.ToolchainModel;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- *
- * @author Robert Scholte
- * @since 3.2.4
- */
-public class MavenToolchainMerger
-{
-
- public void merge( PersistedToolchains dominant, PersistedToolchains recessive, String recessiveSourceLevel )
- {
- if ( dominant == null || recessive == null )
- {
- return;
- }
-
- recessive.setSourceLevel( recessiveSourceLevel );
-
- shallowMerge( dominant.getToolchains(), recessive.getToolchains(), recessiveSourceLevel );
- }
-
- private void shallowMerge( List<ToolchainModel> dominant, List<ToolchainModel> recessive,
- String recessiveSourceLevel )
- {
- Map<Object, ToolchainModel> merged = new LinkedHashMap<Object, ToolchainModel>();
-
- for ( ToolchainModel dominantModel : dominant )
- {
- Object key = getToolchainModelKey( dominantModel );
-
- merged.put( key, dominantModel );
- }
-
- for ( ToolchainModel recessiveModel : recessive )
- {
- Object key = getToolchainModelKey( recessiveModel );
-
- ToolchainModel dominantModel = merged.get( key );
- if ( dominantModel == null )
- {
- recessiveModel.setSourceLevel( recessiveSourceLevel );
- dominant.add( recessiveModel );
- }
- else
- {
- mergeToolchainModel_Configuration( dominantModel, recessiveModel );
- }
- }
- }
-
- protected void mergeToolchainModel_Configuration( ToolchainModel target,
- ToolchainModel source )
- {
- Xpp3Dom src = (Xpp3Dom) source.getConfiguration();
- if ( src != null )
- {
- Xpp3Dom tgt = (Xpp3Dom) target.getConfiguration();
- if ( tgt == null )
- {
- tgt = Xpp3Dom.mergeXpp3Dom( new Xpp3Dom( src ), tgt );
- }
- else
- {
- tgt = Xpp3Dom.mergeXpp3Dom( tgt, src );
- }
- target.setConfiguration( tgt );
- }
- }
-
- protected Object getToolchainModelKey( ToolchainModel model )
- {
- return model;
- }
-
-} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/extension.mdo b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/extension.mdo
deleted file mode 100644
index 4b2e4604..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/extension.mdo
+++ /dev/null
@@ -1,65 +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.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.0 http://modello.codehaus.org/xsd/modello-1.4.0.xsd">
- <id>extension</id>
- <name>ExtensionDescriptor</name>
- <description><![CDATA[
- Extension descriptor, stored in <code>META-INF/maven/extension.xml</code> in an extension's jar artifact to
- precisely control parts of the extension and dependencies to expose.
- <p><i>Notice:</i> this documentation is generated from a Modello model but the code executed is not generated
- from this descriptor. Please report if you find anything wrong.</p>
- ]]></description>
- <defaults>
- <default>
- <key>package</key>
- <value>extension descriptor XML documentation (no java generation)</value><!-- intentionally non-buildable value -->
- </default>
- </defaults>
- <classes>
- <class rootElement="true" xml.tagName="extension">
- <name>ExtensionDescriptor</name>
- <version>1.0.0</version>
- <description><![CDATA[Root element of the <code>extension.xml</code> file.]]></description>
- <fields>
- <field>
- <name>exportedPackages</name>
- <version>1.0.0</version>
- <association>
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- <description>Packages from the artifact that are exposed.</description>
- <!-- TODO explain package vs package.class vs package.* -->
- </field>
- <field>
- <name>exportedArtifacts</name>
- <version>1.0.0</version>
- <association>
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- <description><![CDATA[Artifacts that are exposed: <code>groupId:artifactId</code> file.]]>
- </description>
- </field>
- </fields>
- </class>
- </classes>
-</model>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/toolchains.mdo b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/toolchains.mdo
deleted file mode 100644
index 830a5275..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/mdo/toolchains.mdo
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<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/TOOLCHAINS/${version}"
- xml.schemaLocation="http://maven.apache.org/xsd/toolchains-${version}.xsd">
- <id>toolchains</id>
- <name>MavenToolchains</name>
- <description><![CDATA[
- <p>This is a reference for the Maven Toolchains descriptor.</p>
- <p>The default location for the toolchains file is <code>~/.m2/toolchains.xml</code></p>
- <p>A Toolchain is a preconfigured object that Maven plugins can use for tool configuration retrieval (location and other information).</p>
- <p>The <a href="/plugins/maven-toolchains-plugin/">toolchains-plugin</a> can read available toolchains on the user's computer
- and match them against the toolchain requirements of the project (as configured in <code>pom.xml</code>):
- if match is found, the toolchain instance is made available to other Maven plugins.</p>
- <p>With <code>jdk</code> toolchain, for example, instead of being stuck with the JDK used to run Maven, all plugins can use
- the same other JDK instance without hardcoding absolute paths into the <code>pom.xml</code>
- and without configuring every plugin that require path to JDK tools.</p>
- <p>See the <a href="/guides/mini/guide-using-toolchains.html">Guide to Using Toolchains</a> for
- more information.</p>
- ]]></description>
-
- <defaults>
- <default>
- <key>package</key>
- <value>org.apache.maven.toolchain.model</value>
- </default>
- </defaults>
-
- <classes>
- <class java.clone="deep">
- <name>TrackableBase</name>
- <version>1.1.0+</version>
- <description>
- common base class that contains code to track the source for
- this instance (USER|GLOBAL)
- </description>
- <codeSegments>
- <codeSegment>
- <version>1.1.0+</version>
- <code>
- <![CDATA[
- public static final String USER_LEVEL = "user-level";
- public static final String GLOBAL_LEVEL = "global-level";
-
- private String sourceLevel = USER_LEVEL;
- private boolean sourceLevelSet = false;
-
- public void setSourceLevel( String sourceLevel )
- {
- if ( sourceLevelSet )
- {
- throw new IllegalStateException( "Cannot reset sourceLevel attribute; it is already set to: " + sourceLevel );
- }
- else if ( !( USER_LEVEL.equals( sourceLevel ) || GLOBAL_LEVEL.equals( sourceLevel ) ) )
- {
- throw new IllegalArgumentException( "sourceLevel must be one of: {" + USER_LEVEL + "," + GLOBAL_LEVEL + "}" );
- }
- else
- {
- this.sourceLevel = sourceLevel;
- this.sourceLevelSet = true;
- }
- }
-
- public String getSourceLevel()
- {
- return sourceLevel;
- }
- ]]>
- </code>
- </codeSegment>
- </codeSegments>
- </class>
- <class rootElement="true" xml.tagName="toolchains" xsd.compositor="sequence">
- <name>PersistedToolchains</name>
- <superClass>TrackableBase</superClass>
- <description><![CDATA[
- The <code>&lt;toolchains&gt;</code> element is the root of the descriptor.
- The following table lists all of the possible child elements.
- ]]></description>
- <version>1.0.0+</version>
- <fields>
- <field>
- <name>toolchains</name>
- <version>1.0.0+</version>
- <description><![CDATA[The toolchain instance definition.]]></description>
- <association xml.itemsStyle="flat">
- <type>ToolchainModel</type>
- <multiplicity>*</multiplicity>
- </association>
- </field>
- </fields>
- </class>
- <class>
- <name>ToolchainModel</name>
- <superClass>TrackableBase</superClass>
- <version>1.0.0+</version>
- <description>Definition of a toolchain instance.</description>
- <fields>
- <field>
- <name>type</name>
- <version>1.0.0+</version>
- <!-- <identifier>true</identifier> -->
- <description>
- <![CDATA[Type of toolchain:<ul>
- <li><code>jdk</code> for
- <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/jdk.html">JDK Standard Toolchain</a>,</li>
- <li>other value for
- <a href="http://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/custom.html">Custom Toolchain</a></li>
- </ul>
- ]]></description>
- <type>String</type>
- </field>
- <field>
- <name>provides</name>
- <version>1.0.0/1.0.99</version> <!-- fake upperbound, it's inclusive -->
- <type>DOM</type> <!-- DOM for Maven 2.0.9/2.3.3 -->
- <description>
- <![CDATA[
- <p>Toolchain identification information, which will be matched against project requirements.</p>
- <p>Actual content structure is completely open: each toolchain type will define its own format and semantics.</p>
- <p>In general, this is a properties format: <code>&lt;name&gt;value&lt;/name&gt;</code> with
- predefined properties names.</p>
- ]]></description>
- </field>
- <field>
- <name>provides</name>
- <version>1.1.0+</version>
- <type>Properties</type> <!-- Properties for Maven 2.3.4+ -->
- <association xml.mapStyle="inline">
- <type>String</type>
- <multiplicity>*</multiplicity>
- </association>
- <!-- <identifier>true</identifier> -->
- <description>
- <![CDATA[
- <p>Toolchain identification information, which will be matched against project requirements.</p>
- <p>For Maven 2.0.9 to 3.2.3, the actual content structure was completely open: each toolchain type would define its own format and semantics.
- In general, this was a properties format.</p>
- <p>Since Maven 3.2.4, the type for this field has been changed to Properties to match the de-facto format.</p>
- <p>Each toolchain defines its own properties names and semantics.</p>
- ]]></description>
- </field>
- <field>
- <name>configuration</name>
- <version>1.0.0+</version>
- <type>DOM</type>
- <description>
- <![CDATA[
- <p>Toolchain configuration information, like location or any information that is to be retrieved.</p>
- <p>Actual content structure is completely open: each toochain type will define its own format and semantics.</p>
- <p>In general, this is a properties format: <code>&lt;name&gt;value&lt;/name&gt;</code> with
- per-toolchain defined properties names.</p>
- ]]></description>
- </field>
- </fields>
- <codeSegments>
- <codeSegment>
- <version>1.1.0+</version>
- <comment>Generated hashCode() and equals() based on identifier also calls its super, which breaks comparison</comment>
- <code>
- <![CDATA[
- /**
- * Method hashCode.
- *
- * @return int
- */
- public int hashCode()
- {
- int result = 17;
-
- result = 37 * result + ( type != null ? type.hashCode() : 0 );
- result = 37 * result + ( provides != null ? provides.hashCode() : 0 );
-
- return result;
- } //-- int hashCode()
-
- /**
- * Method equals.
- *
- * @param other
- * @return boolean
- */
- public boolean equals( Object other )
- {
- if ( this == other )
- {
- return true;
- }
-
- if ( !( other instanceof ToolchainModel ) )
- {
- return false;
- }
-
- ToolchainModel that = (ToolchainModel) other;
- boolean result = true;
-
- result = result && ( getType() == null ? that.getType() == null : getType().equals( that.getType() ) );
- result = result && ( getProvides() == null ? that.getProvides() == null : getProvides().equals( that.getProvides() ) );
-
- return result;
- } //-- boolean equals( Object )
- ]]>
- </code>
- </codeSegment>
- </codeSegments>
- </class>
- </classes>
-</model>
-
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/maven/extension.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/maven/extension.xml
deleted file mode 100644
index 6abf2186..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/maven/extension.xml
+++ /dev/null
@@ -1,173 +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.
--->
-
-<extension>
- <exportedPackages>
- <!-- maven-* -->
- <exportedPackage>org.apache.maven.*</exportedPackage>
- <exportedPackage>org.apache.maven.artifact</exportedPackage>
- <exportedPackage>org.apache.maven.classrealm</exportedPackage>
- <exportedPackage>org.apache.maven.cli</exportedPackage>
- <exportedPackage>org.apache.maven.configuration</exportedPackage>
- <exportedPackage>org.apache.maven.exception</exportedPackage>
- <exportedPackage>org.apache.maven.execution</exportedPackage>
- <exportedPackage>org.apache.maven.execution.scope</exportedPackage>
- <exportedPackage>org.apache.maven.lifecycle</exportedPackage>
- <exportedPackage>org.apache.maven.model</exportedPackage>
- <exportedPackage>org.apache.maven.monitor</exportedPackage>
- <exportedPackage>org.apache.maven.plugin</exportedPackage>
- <exportedPackage>org.apache.maven.profiles</exportedPackage>
- <exportedPackage>org.apache.maven.project</exportedPackage>
- <exportedPackage>org.apache.maven.reporting</exportedPackage>
- <exportedPackage>org.apache.maven.repository</exportedPackage>
- <exportedPackage>org.apache.maven.rtinfo</exportedPackage>
- <exportedPackage>org.apache.maven.settings</exportedPackage>
- <exportedPackage>org.apache.maven.toolchain</exportedPackage>
- <exportedPackage>org.apache.maven.usability</exportedPackage>
-
-
- <!-- wagon-api -->
- <exportedPackage>org.apache.maven.wagon.*</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.authentication</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.authorization</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.events</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.observers</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.proxy</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.repository</exportedPackage>
- <exportedPackage>org.apache.maven.wagon.resource</exportedPackage>
-
- <!-- aether-api, aether-spi, aether-impl -->
- <exportedPackage>org.eclipse.aether.*</exportedPackage>
- <exportedPackage>org.eclipse.aether.artifact</exportedPackage>
- <exportedPackage>org.eclipse.aether.collection</exportedPackage>
- <exportedPackage>org.eclipse.aether.deployment</exportedPackage>
- <exportedPackage>org.eclipse.aether.graph</exportedPackage>
- <exportedPackage>org.eclipse.aether.impl</exportedPackage>
- <exportedPackage>org.eclipse.aether.internal.impl</exportedPackage>
- <exportedPackage>org.eclipse.aether.installation</exportedPackage>
- <exportedPackage>org.eclipse.aether.metadata</exportedPackage>
- <exportedPackage>org.eclipse.aether.repository</exportedPackage>
- <exportedPackage>org.eclipse.aether.resolution</exportedPackage>
- <exportedPackage>org.eclipse.aether.spi</exportedPackage>
- <exportedPackage>org.eclipse.aether.transfer</exportedPackage>
- <exportedPackage>org.eclipse.aether.version</exportedPackage>
-
- <!-- plexus-classworlds -->
- <exportedPackage>org.codehaus.plexus.classworlds</exportedPackage>
-
- <!-- classworlds (for legacy code) -->
- <exportedPackage>org.codehaus.classworlds</exportedPackage>
-
- <!-- plexus-utils (for DOM-type fields in maven-model) -->
- <exportedPackage>org.codehaus.plexus.util.xml.Xpp3Dom</exportedPackage>
- <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParser</exportedPackage>
- <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParserException</exportedPackage>
- <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlSerializer</exportedPackage>
-
- <!-- plexus-container, plexus-component-annotations -->
- <exportedPackage>org.codehaus.plexus.*</exportedPackage>
- <exportedPackage>org.codehaus.plexus.component</exportedPackage>
- <exportedPackage>org.codehaus.plexus.configuration</exportedPackage>
- <exportedPackage>org.codehaus.plexus.container</exportedPackage>
- <exportedPackage>org.codehaus.plexus.context</exportedPackage>
- <exportedPackage>org.codehaus.plexus.lifecycle</exportedPackage>
- <exportedPackage>org.codehaus.plexus.logging</exportedPackage>
- <exportedPackage>org.codehaus.plexus.personality</exportedPackage>
-
- <!-- javax.inject (JSR-330) -->
- <exportedPackage>javax.inject.*</exportedPackage>
- <!-- javax.enterprise.inject (JSR-299) -->
- <exportedPackage>javax.enterprise.util.*</exportedPackage>
- <exportedPackage>javax.enterprise.inject.*</exportedPackage>
-
-
- <!--
- | We may potentially want to export these, but right now I'm not sure that anything Guice specific needs
- | to be made available to plugin authors. If we find people are getting fancy and want to take advantage of
- | Guice specifics we can expose that later. Really some testing needs to be done to see full hiding
- | of Guice has any impact on what we may categorize as a standard JSR-330 based Tesla/Maven plugin.
-
- <exportedPackage>com.google.inject.*</exportedPackage>
- <exportedPackage>com.google.inject.binder.*</exportedPackage>
- <exportedPackage>com.google.inject.matcher.*</exportedPackage>
- <exportedPackage>com.google.inject.name.*</exportedPackage>
- <exportedPackage>com.google.inject.spi.*</exportedPackage>
- <exportedPackage>com.google.inject.util.*</exportedPackage>
- -->
-
- <!-- SLF4J -->
- <exportedPackage>org.slf4j.*</exportedPackage>
- <exportedPackage>org.slf4j.spi.*</exportedPackage>
-
- </exportedPackages>
-
- <exportedArtifacts>
- <exportedArtifact>classworlds:classworlds</exportedArtifact>
- <exportedArtifact>org.codehaus.plexus:plexus-classworlds</exportedArtifact>
- <exportedArtifact>org.codehaus.plexus:plexus-component-api</exportedArtifact>
- <exportedArtifact>org.codehaus.plexus:plexus-container-default</exportedArtifact>
- <exportedArtifact>plexus:plexus-container-default</exportedArtifact>
- <exportedArtifact>org.sonatype.spice:spice-inject-plexus</exportedArtifact>
- <exportedArtifact>org.sonatype.sisu:sisu-inject-plexus</exportedArtifact>
- <exportedArtifact>org.eclipse.sisu:org.eclipse.sisu.plexus</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-artifact</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-aether-provider</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-artifact-manager</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-compat</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-core</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-error-diagnostics</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-lifecycle</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-model</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-model-builder</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-monitor</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-plugin-api</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-plugin-descriptor</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-plugin-parameter-documenter</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-plugin-registry</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-profile</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-project</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-repository-metadata</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-settings</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-settings-builder</exportedArtifact>
- <exportedArtifact>org.apache.maven:maven-toolchain</exportedArtifact>
- <exportedArtifact>org.apache.maven.wagon:wagon-provider-api</exportedArtifact>
- <exportedArtifact>org.eclipse.aether:aether-api</exportedArtifact>
- <exportedArtifact>org.eclipse.aether:aether-spi</exportedArtifact>
- <exportedArtifact>org.eclipse.aether:aether-impl</exportedArtifact>
-
- <exportedArtifact>javax.inject:javax.inject</exportedArtifact>
- <exportedArtifact>org.slf4j:slf4j-api</exportedArtifact>
-
- <!--
- | We must also filter out the old or NoClassDefFoundErrors will surface
- -->
- <exportedArtifact>org.sonatype.aether:aether-api</exportedArtifact>
- <exportedArtifact>org.sonatype.aether:aether-spi</exportedArtifact>
- <exportedArtifact>org.sonatype.aether:aether-impl</exportedArtifact>
-
- <!--
- | NOTE: Don't exclude the wagons or any of their dependencies (apart from the wagon API). This would otherwise
- | provoke linkage errors for wagons contributed by build extensions. We also don't need to exclude the wagons
- | from plugins. Plugins that use wagons directly and declare the corresponding dependency will simply use a
- | wagon from their plugin realm.
- -->
- </exportedArtifacts>
-</extension> \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
deleted file mode 100644
index 05795beb..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
+++ /dev/null
@@ -1,219 +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.
--->
-
-<!--
-
-Artifact handlers are required by the dependency resolution mechanism.
-
--->
-
-<component-set>
- <components>
- <!--
- | POM
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>pom</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>pom</type>
- </configuration>
- </component>
-
- <!--
- | JAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>jar</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>jar</type>
- <language>java</language>
- <addedToClasspath>true</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | EJB
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>ejb</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>ejb</type>
- <extension>jar</extension>
- <language>java</language>
- <addedToClasspath>true</addedToClasspath>
- </configuration>
- </component>
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>ejb-client</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>ejb-client</type>
- <extension>jar</extension>
- <packaging>ejb</packaging>
- <classifier>client</classifier>
- <language>java</language>
- <addedToClasspath>true</addedToClasspath>
- </configuration>
- </component>
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>ejb3</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>ejb3</type>
- <includesDependencies>true</includesDependencies>
- <language>java</language>
- <addedToClasspath>false</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | TEST JAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>test-jar</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <classifier>tests</classifier>
- <extension>jar</extension>
- <type>test-jar</type>
- <packaging>jar</packaging>
- <language>java</language>
- <addedToClasspath>true</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | MAVEN PLUGIN
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>maven-plugin</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>maven-plugin</type>
- <extension>jar</extension>
- <language>java</language>
- <addedToClasspath>true</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | SOURCE JAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>java-source</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <classifier>sources</classifier>
- <type>java-source</type>
- <extension>jar</extension>
- <language>java</language>
- <addedToClasspath>false</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | JAVADOC JAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>javadoc</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <classifier>javadoc</classifier>
- <type>javadoc</type>
- <extension>jar</extension>
- <language>java</language>
- <addedToClasspath>true</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | WAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>war</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>war</type>
- <includesDependencies>true</includesDependencies>
- <language>java</language>
- <addedToClasspath>false</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | EAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>ear</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>ear</type>
- <includesDependencies>true</includesDependencies>
- <language>java</language>
- <addedToClasspath>false</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | RAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>rar</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>rar</type>
- <includesDependencies>true</includesDependencies>
- <language>java</language>
- <addedToClasspath>false</addedToClasspath>
- </configuration>
- </component>
-
- <!--
- | PAR
- |-->
- <component>
- <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
- <role-hint>par</role-hint>
- <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
- <configuration>
- <type>par</type>
- <includesDependencies>true</includesDependencies>
- <language>java</language>
- <addedToClasspath>false</addedToClasspath>
- </configuration>
- </component>
- </components>
-</component-set>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/components.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index 3f099cb1..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,134 +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.
--->
-
-<!--
- There is currently only one component descriptor that cannot be generated from annotations because of the
- accompanying configuration. Our options are to embed this information programatically or use a configuration source
- to pull in the lifecycle information.
--->
-<component-set>
- <components>
- <!-- 'default' lifecycle, without any binding since it is dependent on packaging -->
- <component>
- <role>org.apache.maven.lifecycle.Lifecycle</role>
- <implementation>org.apache.maven.lifecycle.Lifecycle</implementation>
- <role-hint>default</role-hint>
- <configuration>
- <id>default</id>
- <!-- START SNIPPET: lifecycle -->
- <phases>
- <phase>validate</phase>
- <phase>initialize</phase>
- <phase>generate-sources</phase>
- <phase>process-sources</phase>
- <phase>generate-resources</phase>
- <phase>process-resources</phase>
- <phase>compile</phase>
- <phase>process-classes</phase>
- <phase>generate-test-sources</phase>
- <phase>process-test-sources</phase>
- <phase>generate-test-resources</phase>
- <phase>process-test-resources</phase>
- <phase>test-compile</phase>
- <phase>process-test-classes</phase>
- <phase>test</phase>
- <phase>prepare-package</phase>
- <phase>package</phase>
- <phase>pre-integration-test</phase>
- <phase>integration-test</phase>
- <phase>post-integration-test</phase>
- <phase>verify</phase>
- <phase>install</phase>
- <phase>deploy</phase>
- </phases>
- <!-- END SNIPPET: lifecycle -->
- </configuration>
- </component>
-
- <!-- 'clean' lifecycle, with default binding -->
- <component>
- <role>org.apache.maven.lifecycle.Lifecycle</role>
- <implementation>org.apache.maven.lifecycle.Lifecycle</implementation>
- <role-hint>clean</role-hint>
- <configuration>
- <id>clean</id>
- <!-- START SNIPPET: clean -->
- <phases>
- <phase>pre-clean</phase>
- <phase>clean</phase>
- <phase>post-clean</phase>
- </phases>
- <default-phases>
- <clean>
- org.apache.maven.plugins:maven-clean-plugin:2.5:clean
- </clean>
- </default-phases>
- <!-- END SNIPPET: clean -->
- </configuration>
- </component>
-
- <!-- 'site' lifecycle, with default bindings -->
- <component>
- <role>org.apache.maven.lifecycle.Lifecycle</role>
- <implementation>org.apache.maven.lifecycle.Lifecycle</implementation>
- <role-hint>site</role-hint>
- <configuration>
- <id>site</id>
- <!-- START SNIPPET: site -->
- <phases>
- <phase>pre-site</phase>
- <phase>site</phase>
- <phase>post-site</phase>
- <phase>site-deploy</phase>
- </phases>
- <default-phases>
- <site>
- org.apache.maven.plugins:maven-site-plugin:3.3:site
- </site>
- <site-deploy>
- org.apache.maven.plugins:maven-site-plugin:3.3:deploy
- </site-deploy>
- </default-phases>
- <!-- END SNIPPET: site -->
- </configuration>
- </component>
-
- <component>
- <role>org.sonatype.plexus.components.sec.dispatcher.SecDispatcher</role>
- <role-hint>maven</role-hint>
- <implementation>org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher</implementation>
- <description>Maven Security dispatcher</description>
- <requirements>
- <requirement>
- <role>org.sonatype.plexus.components.cipher.PlexusCipher</role>
- <field-name>_cipher</field-name>
- </requirement>
- <requirement>
- <role>org.sonatype.plexus.components.sec.dispatcher.PasswordDecryptor</role>
- <field-name>_decryptors</field-name>
- </requirement>
- </requirements>
- <configuration>
- <_configuration-file>~/.m2/settings-security.xml</_configuration-file>
- </configuration>
- </component>
- </components>
-</component-set>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml
deleted file mode 100644
index 79d6c52e..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml
+++ /dev/null
@@ -1,399 +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.
--->
-
-<!--
-
-Mappings to default lifecycle, specific for each packaging.
-
--->
-
-<component-set>
- <components>
- <!--
- | POM
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>pom</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: pom-lifecycle -->
- <phases>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: pom-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | JAR
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>jar</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: jar-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-jar-plugin:2.4:jar
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: jar-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | EJB
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>ejb</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: ejb-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-ejb-plugin:2.3:ejb
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: ejb-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>ejb3</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: ejb3-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-ejb3-plugin:ejb3
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: ejb3-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | MAVEN PLUGIN
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>maven-plugin</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: maven-plugin-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-classes>
- org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor
- </process-classes>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-jar-plugin:2.4:jar,
- org.apache.maven.plugins:maven-plugin-plugin:3.2:addPluginArtifactMetadata
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: maven-plugin-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | WAR
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>war</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: war-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-war-plugin:2.2:war
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: war-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | EAR
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>ear</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: ear-lifecycle -->
- <phases>
- <generate-resources>
- org.apache.maven.plugins:maven-ear-plugin:2.8:generate-application-xml
- </generate-resources>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources
- </process-resources>
- <package>
- org.apache.maven.plugins:maven-ear-plugin:2.8:ear
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: ear-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | RAR
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>rar</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: rar-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-rar-plugin:2.2:rar
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: rar-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
-
- <!--
- | PAR
- |-->
- <component>
- <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
- <role-hint>par</role-hint>
- <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
- <configuration>
- <lifecycles>
- <lifecycle>
- <id>default</id>
- <!-- START SNIPPET: par-lifecycle -->
- <phases>
- <process-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:resources
- </process-resources>
- <compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- </compile>
- <process-test-resources>
- org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
- </process-test-resources>
- <test-compile>
- org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
- </test-compile>
- <test>
- org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- </test>
- <package>
- org.apache.maven.plugins:maven-par-plugin:par
- </package>
- <install>
- org.apache.maven.plugins:maven-install-plugin:2.4:install
- </install>
- <deploy>
- org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy
- </deploy>
- </phases>
- <!-- END SNIPPET: par-lifecycle -->
- </lifecycle>
- </lifecycles>
- </configuration>
- </component>
- </components>
-</component-set>
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/build.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/build.properties
deleted file mode 100644
index d15784a7..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/build.properties
+++ /dev/null
@@ -1,23 +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.
-
-buildNumber=${buildNumber}
-timestamp=${timestamp}
-version=${project.version}
-distributionId=${distributionId}
-distributionShortName=${distributionShortName}
-distributionName=${distributionName} \ No newline at end of file
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages.properties
deleted file mode 100644
index d576d7aa..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=WARNING: Failed to download {0}.
-remote.repository.disabled.warning=The use of the remote repository has been disabled.
-directory.nonexistant.warning=Directory {0} does not exist. Attempting to create.
-not.directory.warning={0} is not a directory.
-not.writable.warning={0} is not writable.
-cannot.create.directory.warning=Unable to create directory {0}
-maven.repo.local.unset.warning=maven.repo.local is not set.
-single.unsatisfied.dependency.error=The build cannot continue because of the following unsatisfied dependency:
-multiple.unsatisfied.dependency.error=The build cannot continue because of the following unsatisfied dependencies:
-offline.snapshot.warning=You are working offline so the build will continue, but {0} may be out of date!
-download.message=Attempting to download {0}.
-plugin.loading.error=The plugin {0} could not be loaded.
-empty.descriptor.error=The file {0} you specified has zero length.
-checksum.verification.error=The follow artifact is corrupt: {0}.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_de.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_de.properties
deleted file mode 100644
index d5c7dad0..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_de.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=WARNUNG: Herunterladen von {0} fehlgeschlagen.
-remote.repository.disabled.warning=Verwendung entfernter Repositories deaktiviert.
-directory.nonexistant.warning=Verzeichnis {0} existiert nicht, es wird erstellt.
-not.directory.warning={0} ist kein Verzeichnis.
-not.writable.warning=Kann {0} nicht schreiben.
-cannot.create.directory.warning=Kann Verzeichnis {0} nicht erstellen.
-maven.repo.local.unset.warning=maven.repo.local ist nicht gesetzt.
-single.unsatisfied.dependency.error=Der Vorgang wurde aufgrund der folgenden nicht erf\u00FCllten Abh\u00E4ngigkeit abgebrochen:
-multiple.unsatisfied.dependency.error=Der Vorgang wurde aufgrund der folgenden nicht erf\u00FCllten Abh\u00E4ngigkeiten abgebrochen:
-offline.snapshot.warning={0} ist unter Umst\u00E4nden veraltet. Da Sie offline arbeiten, wird der Vorgang fortgesetzt.
-download.message=Versuche {0} herunterzuladen.
-plugin.loading.error=Kann Plugin {0} nicht laden.
-empty.descriptor.error=Datei {0} ist leer.
-checksum.verification.error=Artefakt {0} ist defekt.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_el.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_el.properties
deleted file mode 100644
index 40a239e9..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_el.properties
+++ /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.
-
-# --------------------------------------------------------------------------
-# \u00c5\u00eb\u00e5\u00e3\u00ea\u00f4\u00de\u00f2 \u00d3\u00f7\u00e5\u00e4\u00df\u00ef\u00f5
-# --------------------------------------------------------------------------
-failed.download.warning=\u00d0\u00f1\u00ef\u00f3\u00f9\u00f7\u00de! \u00c1\u00e4\u00fd\u00ed\u00e1\u00f4\u00f9\u00ed \u00e7 \u00ec\u00e5\u00f4\u00e1\u00f6\u00ef\u00f1\u00dc \u00f4\u00ef\u00f5 {0}!
-remote.repository.disabled.warning=\u00c7 \u00f7\u00f1\u00de\u00f3\u00e7 \u00e1\u00f0\u00ef\u00ec\u00e1\u00ea\u00f1\u00f5\u00f3\u00ec\u00dd\u00ed\u00f9\u00ed \u00e1\u00f0\u00ef\u00e8\u00e7\u00ea\u00fe\u00ed \u00dd\u00f7\u00e5\u00e9 \u00e1\u00f0\u00e5\u00ed\u00e5\u00f1\u00e3\u00ef\u00f0\u00ef\u00e9\u00e7\u00e8\u00e5\u00df..
-directory.nonexistant.warning=\u00cf \u00ea\u00e1\u00f4\u00dc\u00eb\u00ef\u00e3\u00ef\u00f2 {0} \u00e4\u00e5\u00ed \u00f5\u00f0\u00dc\u00f1\u00f7\u00e5\u00e9! \u00c4\u00ef\u00ea\u00e9\u00ec\u00dc\u00e6\u00f9 \u00e4\u00e7\u00ec\u00e9\u00ef\u00fd\u00f1\u00e3\u00e7\u00f3\u00e7...
-not.directory.warning={0} \u00e4\u00e5\u00ed \u00e5\u00df\u00ed\u00e1\u00e9 \u00ea\u00e1\u00f4\u00dc\u00eb\u00ef\u00e3\u00ef\u00f2!
-not.writable.warning=\u00c1\u00e4\u00fd\u00ed\u00e1\u00f4\u00f9\u00ed \u00e7 \u00e4\u00e9\u00e5\u00e3\u00e3\u00f1\u00e1\u00f6\u00de \u00f3\u00f4\u00ef {0}!
-cannot.create.directory.warning=\u00c1\u00e4\u00fd\u00ed\u00e1\u00f4\u00f9\u00ed \u00e7 \u00e4\u00e7\u00ec\u00e9\u00ef\u00f5\u00f1\u00e3\u00e5\u00df\u00e1 \u00f4\u00ef\u00fd \u00ea\u00e1\u00f4\u00e1\u00eb\u00fc\u00e3\u00ef\u00f5 {0}!
-maven.repo.local.unset.warning=maven.repo.local \u00e4\u00e5\u00ed \u00dd\u00f7\u00e5\u00e9 \u00ef\u00f1\u00e9\u00f3\u00f4\u00e5\u00df.
-single.unsatisfied.dependency.error= \u00c7 \u00e4\u00e9\u00e1\u00e4\u00e9\u00ea\u00e1\u00f3\u00df\u00e1 \u00e4\u00e5\u00ed \u00ec\u00f0\u00ef\u00f1\u00e5\u00df \u00ed\u00e1 \u00f3\u00f5\u00ed\u00e5\u00f7\u00e9\u00f3\u00f4\u00e5\u00df! \u00cb\u00e5\u00df\u00f0\u00e5\u00e9 \u00e7 \u00e1\u00ea\u00fc\u00eb\u00ef\u00f5\u00e8\u00e7 \u00e5\u00ee\u00dc\u00f1\u00f4\u00e7\u00f3\u00e5\u00e9:
-multiple.unsatisfied.dependency.error=\u00c7 \u00e4\u00e9\u00e1\u00e4\u00e9\u00ea\u00e1\u00f3\u00df\u00e1 \u00e4\u00e5\u00ed \u00ec\u00f0\u00ef\u00f1\u00e5\u00df \u00ed\u00e1 \u00f3\u00f5\u00ed\u00e5\u00f7\u00e9\u00f3\u00f4\u00e5\u00df! \u00cb\u00e5\u00df\u00f0\u00ef\u00f5\u00ed \u00e7 \u00e1\u00ea\u00fc\u00eb\u00ef\u00f5\u00e8\u00e5\u00f2 \u00e5\u00ee\u00e1\u00f1\u00f4\u00de\u00f3\u00e5\u00e9\u00f2:
-offline.snapshot.warning=\u00c5\u00f1\u00e3\u00dc\u00e6\u00e5\u00f3\u00e1\u00e9 \u00e1\u00f0\u00ef\u00f3\u00f5\u00ed\u00e4\u00e5\u00e4\u00ef\u00ec\u00dd\u00ed\u00ef\u00f2! \u00c7 \u00e4\u00e9\u00e1\u00e4\u00e9\u00ea\u00e1\u00f3\u00df\u00e1 \u00e8\u00e1 \u00f3\u00f5\u00ed\u00e5\u00f7\u00df\u00f3\u00e5\u00e9 \u00e1\u00eb\u00eb\u00dc \u00e5\u00df\u00ed\u00e1\u00e9 \u00e4\u00f5\u00ed\u00e1\u00f4\u00fe\u00ed {0} \u00ed\u00e1 \u00ec\u00e7\u00ed \u00e5\u00df\u00ed\u00e1\u00e9 \u00e5\u00ed\u00e7\u00ec\u00e5\u00f1\u00f9\u00ec\u00dd\u00ed\u00ef!
-download.message=\u00d0\u00f1\u00f9\u00f3\u00f0\u00e1\u00e8\u00fe \u00ed\u00e1 \u00ec\u00e5\u00f4\u00e1\u00f6\u00dd\u00f1\u00f9 {0}.
-plugin.loading.error=\u00c1\u00e4\u00fd\u00ed\u00e1\u00f4\u00f9\u00ed \u00ed\u00e1 \u00f6\u00ef\u00f1\u00f4\u00f9\u00e8\u00e5\u00df \u00f4\u00ef plugin {0}!
-empty.descriptor.error=\u00d4\u00ef \u00e1\u00f1\u00f7\u00e5\u00df\u00ef {0} \u00f0\u00ef\u00fd \u00ea\u00e1\u00e8\u00ef\u00f1\u00df\u00f3\u00e1\u00f4\u00e5 \u00dd\u00f7\u00e5\u00e9 \u00ec\u00dd\u00e3\u00e5\u00e8\u00ef\u00f2 \u00ec\u00e7\u00e4\u00dd\u00ed.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_en.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_en.properties
deleted file mode 100644
index aaf95bfd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_en.properties
+++ /dev/null
@@ -1,23 +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.
-
-# NOTE:
-# This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It
-# must be provided nevertheless such that a request for locale "en" will not erroneously pick up the bundle for the
-# JVM's default locale (which need not be "en"). See the method javadoc about
-# ResourceBundle.getBundle(String, Locale, ClassLoader)
-# for a full description of the lookup strategy.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_es.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_es.properties
deleted file mode 100644
index d54395e3..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_es.properties
+++ /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.
-
-# --------------------------------------------------------------------------
-# Verificador de Proyecto
-# --------------------------------------------------------------------------
-failed.download.warning=\u00a1ATENCION!: \u00a1Imposible descargar {0}!
-remote.repository.disabled.warning=El uso de repositorios remotos est\u00e1 desactivado..
-directory.nonexistant.warning=\u00a1El directorio {0} no existe! Intentando crear...
-not.directory.warning=\u00a1{0} no es un directorio!
-not.writable.warning=\u00a1Imposible escribir en {0}!
-cannot.create.directory.warning=\u00a1Imposible crear el directorio {0}!
-maven.repo.local.unset.warning=\u00a1maven.repo.local no est\u00e1 definido!
-single.unsatisfied.dependency.error=\u00a1El proceso no puede seguir! Falta la siguiente dependencia:
-multiple.unsatisfied.dependency.error=\u00a1El proceso no puede seguir! Faltan las siguientes dependencias:
-offline.snapshot.warning=\u00a1Est\u00e1s trabajando fuera de linea! \u00a1El proceso seguir\u00e1, pero es posible que {0} no est\u00e9 actualizado!
-download.message=Intentando descargar {0}.
-plugin.loading.error=\u00a1No se ha podido cargar el plugin {0}!
-empty.descriptor.error=El fichero especificado, {0} , tiene longitud cero.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_fr.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_fr.properties
deleted file mode 100644
index 06eb48f5..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_fr.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=ATTENTION: Impossible de t\u00e9l\u00e9charger {0}.
-remote.repository.disabled.warning=L'utilisation du d\u00e9p\u00f4t distant est d\u00e9sactiv\u00e9e.
-directory.nonexistant.warning=Le r\u00e9pertoire {0} n'existe pas. Tentative de cr\u00e9ation.
-not.directory.warning={0} n'est pas un r\u00e9pertoire.
-not.writable.warning=Impossible d'\u00e9crire sur {0}.
-cannot.create.directory.warning=Impossible de cr\u00e9er le r\u00e9pertoire {0}.
-maven.repo.local.unset.warning=maven.repo.local n'est pas d\u00e9fini.
-single.unsatisfied.dependency.error=Le processus ne peut continuer \u00e0 cause de la d\u00e9pendance manquante suivante:
-multiple.unsatisfied.dependency.error=Le processus ne peut continuer \u00e0 cause des d\u00e9pendances manquantes suivantes:
-offline.snapshot.warning=Vous travaillez hors-connexion, alors le processus va continuer, mais {0} peut ne pas \u00eatre \u00e0 jour!
-download.message=Tentative de t\u00e9l\u00e9chargement de {0}.
-plugin.loading.error=Impossible de charger le plugin {0}.
-empty.descriptor.error=Le fichier {0} que vous avez sp\u00e9cifi\u00e9 est vide.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ja.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ja.properties
deleted file mode 100644
index e1b65666..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ja.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=WARNING: {0} \u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f.
-remote.repository.disabled.warning=\u30ea\u30e2\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u304c\u7121\u52b9\u3067\u3059.
-directory.nonexistant.warning=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u304c\u5b58\u5728\u3057\u307e\u305b\u3093. \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u307e\u3059.
-not.directory.warning={0} \u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u306f\u3042\u308a\u307e\u305b\u3093.
-not.writable.warning={0} \u306f\u66f8\u304d\u8fbc\u307f\u53ef\u80fd\u3067\u306f\u3042\u308a\u307e\u305b\u3093.
-cannot.create.directory.warning=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea {0} \u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093.
-maven.repo.local.unset.warning=maven.repo.local \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093.
-single.unsatisfied.dependency.error=\u4ee5\u4e0b\u306e\u4f9d\u5b58\u95a2\u4fc2\u304c\u6e80\u305f\u3055\u308c\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30d3\u30eb\u30c9\u3092\u7d9a\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093:
-multiple.unsatisfied.dependency.error=\u4ee5\u4e0b\u306e\u3044\u304f\u3064\u304b\u306e\u4f9d\u5b58\u95a2\u4fc2\u304c\u6e80\u305f\u3055\u308c\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30d3\u30eb\u30c9\u3092\u7d9a\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093:
-offline.snapshot.warning=\u30aa\u30d5\u30e9\u30a4\u30f3\u30e2\u30fc\u30c9\u3067\u30d3\u30eb\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059. {0} \u306f\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5229\u7528\u3055\u308c\u307e\u3059.
-download.message={0} \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059.
-plugin.loading.error=\u30d7\u30e9\u30b0\u30a4\u30f3 {0} \u3092\u30ed\u30fc\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093.
-empty.descriptor.error=\u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30a4\u30eb {0} \u306f\u7a7a\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u3059.
-checksum.verification.error=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8 {0} \u304c\u4e0d\u6b63\u3067\u3059.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ko.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ko.properties
deleted file mode 100644
index b3f1efac..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_ko.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-cannot.create.directory.warning = \uB514\uB809\uD130\uB9AC {0} \uC744/\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
-checksum.verification.error = \uB2E4\uC74C\uC758 \uC544\uB9AC\uD329\uD2B8(artifact)\uC5D0\uC11C \uC5D0\uB7EC\uAC00 \uBC1C\uC0DD\uD569\uB2C8\uB2E4: {0}
-directory.nonexistant.warning = \uB514\uB809\uD130\uB9AC {0} \uC774/\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0DD\uC131\uC744 \uC2DC\uB3C4\uD569\uB2C8\uB2E4.
-download.message = {0} \uC744/\uB97C \uB2E4\uC6B4\uB85C\uB4DC \uD569\uB2C8\uB2E4.
-empty.descriptor.error = \uD30C\uC77C {0} \uC758 \uAE38\uC774\uAC00 0\uC785\uB2C8\uB2E4.
-failed.download.warning = \uACBD\uACE0: {0} \uC744/\uB97C \uB2E4\uC6B4\uB85C\uB4DC \uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.
-maven.repo.local.unset.warning = maven.repo.local \uC774 \uC124\uC815\uB418\uC5B4\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
-multiple.unsatisfied.dependency.error = \uB2E4\uC74C\uC758 \uC758\uC874\uC131\uB4E4\uC744 \uB9CC\uC871\uC2DC\uD0A4\uC9C0 \uBABB\uD588\uAE30 \uB54C\uBB38\uC5D0, \uBE4C\uB4DC\uB97C \uACC4\uC18D \uC9C4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
-not.directory.warning = {0} \uC740/\uB294 \uB514\uB809\uD130\uB9AC\uAC00 \uC544\uB2D9\uB2C8\uB2E4.
-not.writable.warning = {0} \uC740/\uB294 \uC4F0\uAE30\uB97C \uD5C8\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
-offline.snapshot.warning = \uC624\uD504\uB77C\uC778\uC73C\uB85C \uC791\uC5C5\uD558\uACE0 \uC788\uAE30 \uB54C\uBB38\uC5D0 \uBE4C\uB4DC\uB294 \uACC4\uC18D \uC9C4\uD589\uD558\uC9C0\uB9CC, {0} \uC740/\uB294 \uCD5C\uC2E0 \uBC84\uC804\uC774 \uC544\uB2D0 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4!
-plugin.loading.error = \uD50C\uB7EC\uADF8\uC778 {0} \uC744/\uB97C \uC77D\uC5B4\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
-remote.repository.disabled.warning = \uC6D0\uACA9 \uC800\uC7A5\uC18C \uC0AC\uC6A9\uC744 \uD5C8\uAC00\uD558\uC9C0 \uC54A\uC740(disabled) \uC0C1\uD0DC\uC785\uB2C8\uB2E4.
-single.unsatisfied.dependency.error = \uB2E4\uC74C\uC758 \uC758\uC874\uC131\uB4E4\uC744 \uB9CC\uC871\uC2DC\uD0A4\uC9C0 \uBABB\uD588\uAE30 \uB54C\uBB38\uC5D0, \uBE4C\uB4DC\uB97C \uACC4\uC18D \uC9C4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_nl.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_nl.properties
deleted file mode 100644
index 0e22d6ce..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_nl.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=WAARSCHUWING: Kan {0} niet downloaden.
-remote.repository.disabled.warning=Het gebruik van de remote repository is uitgezet.
-directory.nonexistant.warning=Directory {0} bestaat niet. Probeer hem aan te maken.
-not.directory.warning={0} is geen directory.
-not.writable.warning={0} is niet schrijfbaar.
-cannot.create.directory.warning=Kan {0} directory niet aanmaken
-maven.repo.local.unset.warning=maven.repo.local is niet ingesteld.
-single.unsatisfied.dependency.error=Het bouwen kan niet doorgaan, omdat de volgende afhankelijkheid niet achterhaald kan worden:
-multiple.unsatisfied.dependency.error=Het bouwen kan niet doorgaan, omdat de volgende afhankelijkheden niet achterhaald kunnen worden:
-offline.snapshot.warning=Je werkt offline, dus het bouwen gaat verder, maar {0} kan eventueel niet up-to-date zijn!
-download.message=Probeer {0} te downloaden.
-plugin.loading.error=De {0} plugin kan niet worden geladen.
-empty.descriptor.error=The {0} file you specified has zero length.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_no.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_no.properties
deleted file mode 100644
index af320f6b..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_no.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=ADVARSEL: Mislykket nedlasting av {0}.
-remote.repository.disabled.warning=Bruk av fjernlager er deaktivert.
-directory.nonexistant.warning=Mappen {0} finnes ikke. Fors\u00f8ker \u00e5 opprette.
-not.directory.warning={0} er ikke en mappe.
-not.writable.warning=Kan ikke skirve til {0}.
-cannot.create.directory.warning=Kan ikke opprette mappen {0}.
-maven.repo.local.unset.warning=maven.repo.local er ikke definert.
-single.unsatisfied.dependency.error=Byggeprosessen kan ikke fortsette p\u00e5 grunn av f\u00f8lgende mislykkede avhengighet:
-multiple.unsatisfied.dependency.error=The build cannot continue because of the following unsatisfied dependencies:
-offline.snapshot.warning=Du arbeider frakoblet. Byggeprosessen vil fortsette, men {0} kan bli utdatert!
-download.message=Fors\u00f8ker \u00e5 laste ned {0}.
-plugin.loading.error=Plugin {0} kunne ikke lastes.
-empty.descriptor.error=The {0} file you specified has zero length.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_pl.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_pl.properties
deleted file mode 100644
index 36a292bd..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_pl.properties
+++ /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 Verifier
-# --------------------------------------------------------------------------
-failed.download.warning=UWAGA: Nie uda\u0142o si\u0119 sci\u0105gn\u0105\u0107 {0}.
-remote.repository.disabled.warning=Korzystanie ze zdalnego repozytorium jest wy\u0142\u0105czone.
-directory.nonexistant.warning=Katalog {0} nie istnieje. Pr\u00f3buj\u0119 utworzy\u0107.
-not.directory.warning={0} nie jest katalogiem.
-not.writable.warning=Nie mo\u017cesz zapisa\u0107 {0}.
-cannot.create.directory.warning=Nie mo\u017cesz utworzy\u0107 katalogu {0}.
-maven.repo.local.unset.warning=maven.repo.local nie jest zdefiniowane.
-single.unsatisfied.dependency.error=Budownaie przerwane z powodu nast\u0119puj\u0105cej niespe\u0142nionej zale\u017cno\u015bci:
-multiple.unsatisfied.dependency.error=Budownaie przerwane z powodu nast\u0119puj\u0105cych niespe\u0142nionych zale\u017cno\u015bci:
-offline.snapshot.warning=Pracujesz w trybie offline, wi\u0119c budowanie b\u0119dzie kontunuowane, cho\u0107 {0} mo\u017ce by\u0107 nieaktualny!
-download.message=Pr\u00f3buj\u0119 \u015bci\u0105gn\u0105\u0107 {0}.
-plugin.loading.error=Nie uda\u0142o si\u0119 za\u0142adowa\u0107 pluginu {0}.
-empty.descriptor.error=The {0} file you specified has zero length.
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_zh_CN.properties b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_zh_CN.properties
deleted file mode 100644
index 93695186..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/messages/messages_zh_CN.properties
+++ /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.
-
-# --------------------------------------------------------------------------
-# \u9879\u76ee\u9a8c\u8bc1
-# --------------------------------------------------------------------------
-failed.download.warning=\u8b66\u544a\uff1a {0} \u4e0b\u8f7d\u5931\u8d25\u3002
-remote.repository.disabled.warning=\u7981\u6b62\u4f7f\u7528\u8fdc\u7a0b\u8d44\u6e90\u4ed3\u5e93\u3002
-directory.nonexistant.warning=\u76ee\u5f55 {0} \u4e0d\u5b58\u5728\u3002 \u5c1d\u8bd5\u65b0\u5efa\u4e2d\u2026\u2026
-not.directory.warning={0} \u4e0d\u662f\u76ee\u5f55\u3002
-not.writable.warning={0} \u53ea\u8bfb\u3002
-cannot.create.directory.warning=\u521b\u5efa\u76ee\u5f55 {0} \u5931\u8d25\u3002
-maven.repo.local.unset.warning=\u6ca1\u6709\u8bbe\u7f6e maven.repo.local \u5c5e\u6027\u3002
-single.unsatisfied.dependency.error=\u7531\u4e8e\u4ee5\u4e0b\u7684\u4f9d\u8d56\u7f3a\u5c11\uff0c\u521b\u5efa\u4e0d\u80fd\u8fdb\u884c\uff1a
-multiple.unsatisfied.dependency.error=\u7531\u4e8e\u4ee5\u4e0b\u7684\u4f9d\u8d56\u7f3a\u5c11\uff0c\u521b\u5efa\u4e0d\u80fd\u8fdb\u884c\uff1a
-offline.snapshot.warning=\u79bb\u7ebf\u65f6\u521b\u5efa\uff0c\u53ef\u80fd {0} \u8fc7\u671f\uff01
-download.message=\u5c1d\u8bd5\u4e0b\u8f7d {0}\u2026\u2026
-plugin.loading.error=\u88c5\u5165 plugin {0} \u5931\u8d25\u3002
-empty.descriptor.error=\u6587\u4ef6 {0} \u7684\u957f\u5ea6\u4e3a0\u3002
-checksum.verification.error=\u4ee5\u4e0b\u8d44\u6e90\u5df2\u88ab\u7834\u574f\uff1a{0}\u3002
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/project/standalone.xml b/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/project/standalone.xml
deleted file mode 100644
index acb5be2d..00000000
--- a/framework/src/maven/apache-maven-3.3.3/maven-core/src/main/resources/org/apache/maven/project/standalone.xml
+++ /dev/null
@@ -1,30 +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>
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.apache.maven</groupId>
- <artifactId>standalone-pom</artifactId>
- <version>1</version>
- <packaging>pom</packaging>
- <name>Maven Stub Project (No POM)</name>
-</project>