Package org.eclipse.tycho.p2.resolver
Class P2DependencyResolver
- java.lang.Object
-
- org.codehaus.plexus.logging.AbstractLogEnabled
-
- org.eclipse.tycho.p2.resolver.P2DependencyResolver
-
- All Implemented Interfaces:
org.codehaus.plexus.logging.LogEnabled
,org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
,DependencyResolver
@Component(role=DependencyResolver.class, hint="p2", instantiationStrategy="per-lookup") public class P2DependencyResolver extends org.codehaus.plexus.logging.AbstractLogEnabled implements DependencyResolver, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
-
-
Field Summary
Fields Modifier and Type Field Description private BundleReader
bundleReader
private EquinoxServiceFactory
equinox
private DependencyMetadataGenerator
generator
private org.codehaus.plexus.PlexusContainer
plexus
private PluginRealmHelper
pluginRealmHelper
private org.apache.maven.ProjectDependenciesResolver
projectDependenciesResolver
private java.util.Map<java.lang.String,TychoProject>
projectTypes
private ReactorProject
reactorProject
private ReactorRepositoryManagerFacade
reactorRepositoryManager
private org.apache.maven.repository.RepositorySystem
repositorySystem
private P2ResolverFactory
resolverFactory
static java.lang.String
ROLE_HINT
-
Constructor Summary
Constructors Constructor Description P2DependencyResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addEntireP2RepositoryToTargetPlatform(org.apache.maven.artifact.repository.ArtifactRepository repository, TargetPlatformConfigurationStub resolutionContext)
private void
addTargetFileContentToTargetPlatform(java.io.File targetFile, TargetPlatformConfigurationStub resolutionContext)
private PomDependencyCollector
collectPomDependencies(org.apache.maven.project.MavenProject project, java.util.List<ReactorProject> reactorProjects, org.apache.maven.execution.MavenSession session, TargetPlatformConfiguration.PomDependencies pomDependencies)
TargetPlatform
computePreliminaryTargetPlatform(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.util.List<ReactorProject> reactorProjects)
private DependencyArtifacts
doResolveDependencies(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.util.List<ReactorProject> reactorProjects, DependencyResolverConfiguration resolverConfiguration, TargetPlatform targetPlatform, P2Resolver resolver, TargetPlatformConfiguration configuration)
protected java.util.Map<java.lang.String,IDependencyMetadata>
getDependencyMetadata(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.util.List<TargetEnvironment> environments, OptionalResolutionAction optionalAction)
private ReactorProject
getThisReactorProject(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, TargetPlatformConfiguration configuration)
void
initialize()
void
injectDependenciesIntoMavenModel(org.apache.maven.project.MavenProject project, AbstractTychoProject projectType, DependencyArtifacts dependencyArtifacts, org.codehaus.plexus.logging.Logger logger)
private boolean
isAllowConflictingDependencies(org.apache.maven.project.MavenProject project, TargetPlatformConfiguration configuration)
protected boolean
isTychoP2Plugin(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
protected DefaultDependencyArtifacts
newDefaultTargetPlatform(ReactorProject project, java.util.Map<java.io.File,ReactorProject> projects, P2ResolutionResult result)
DependencyArtifacts
resolveDependencies(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, TargetPlatform targetPlatform, java.util.List<ReactorProject> reactorProjects, DependencyResolverConfiguration resolverConfiguration)
void
setupProjects(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, ReactorProject reactorProject)
-
-
-
Field Detail
-
ROLE_HINT
public static final java.lang.String ROLE_HINT
- See Also:
- Constant Field Values
-
equinox
@Requirement private EquinoxServiceFactory equinox
-
bundleReader
@Requirement private BundleReader bundleReader
-
repositorySystem
@Requirement private org.apache.maven.repository.RepositorySystem repositorySystem
-
projectDependenciesResolver
@Requirement private org.apache.maven.ProjectDependenciesResolver projectDependenciesResolver
-
projectTypes
@Requirement(role=TychoProject.class) private java.util.Map<java.lang.String,TychoProject> projectTypes
-
plexus
@Requirement private org.codehaus.plexus.PlexusContainer plexus
-
pluginRealmHelper
@Requirement private PluginRealmHelper pluginRealmHelper
-
resolverFactory
private P2ResolverFactory resolverFactory
-
generator
private DependencyMetadataGenerator generator
-
reactorRepositoryManager
private ReactorRepositoryManagerFacade reactorRepositoryManager
-
reactorProject
private ReactorProject reactorProject
-
-
Method Detail
-
setupProjects
public void setupProjects(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, ReactorProject reactorProject)
- Specified by:
setupProjects
in interfaceDependencyResolver
-
getDependencyMetadata
protected java.util.Map<java.lang.String,IDependencyMetadata> getDependencyMetadata(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.util.List<TargetEnvironment> environments, OptionalResolutionAction optionalAction)
-
isTychoP2Plugin
protected boolean isTychoP2Plugin(org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
-
computePreliminaryTargetPlatform
public TargetPlatform computePreliminaryTargetPlatform(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.util.List<ReactorProject> reactorProjects)
- Specified by:
computePreliminaryTargetPlatform
in interfaceDependencyResolver
-
getThisReactorProject
private ReactorProject getThisReactorProject(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, TargetPlatformConfiguration configuration)
-
collectPomDependencies
private PomDependencyCollector collectPomDependencies(org.apache.maven.project.MavenProject project, java.util.List<ReactorProject> reactorProjects, org.apache.maven.execution.MavenSession session, TargetPlatformConfiguration.PomDependencies pomDependencies)
-
addEntireP2RepositoryToTargetPlatform
private void addEntireP2RepositoryToTargetPlatform(org.apache.maven.artifact.repository.ArtifactRepository repository, TargetPlatformConfigurationStub resolutionContext)
-
addTargetFileContentToTargetPlatform
private void addTargetFileContentToTargetPlatform(java.io.File targetFile, TargetPlatformConfigurationStub resolutionContext)
-
resolveDependencies
public DependencyArtifacts resolveDependencies(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, TargetPlatform targetPlatform, java.util.List<ReactorProject> reactorProjects, DependencyResolverConfiguration resolverConfiguration)
- Specified by:
resolveDependencies
in interfaceDependencyResolver
targetPlatform
- The candidate artifacts which may be used to resolve dependencies. Ifnull
, the final target platform of the project will be used.
-
doResolveDependencies
private DependencyArtifacts doResolveDependencies(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.util.List<ReactorProject> reactorProjects, DependencyResolverConfiguration resolverConfiguration, TargetPlatform targetPlatform, P2Resolver resolver, TargetPlatformConfiguration configuration)
-
isAllowConflictingDependencies
private boolean isAllowConflictingDependencies(org.apache.maven.project.MavenProject project, TargetPlatformConfiguration configuration)
-
newDefaultTargetPlatform
protected DefaultDependencyArtifacts newDefaultTargetPlatform(ReactorProject project, java.util.Map<java.io.File,ReactorProject> projects, P2ResolutionResult result)
-
initialize
public void initialize() throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
- Specified by:
initialize
in interfaceorg.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
- Throws:
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
-
injectDependenciesIntoMavenModel
public void injectDependenciesIntoMavenModel(org.apache.maven.project.MavenProject project, AbstractTychoProject projectType, DependencyArtifacts dependencyArtifacts, org.codehaus.plexus.logging.Logger logger)
- Specified by:
injectDependenciesIntoMavenModel
in interfaceDependencyResolver
-
-