Package org.eclipse.tycho.p2.target
Class TargetPlatformFactoryImpl
- java.lang.Object
-
- org.eclipse.tycho.p2.target.TargetPlatformFactoryImpl
-
- All Implemented Interfaces:
TargetPlatformFactory
public class TargetPlatformFactoryImpl extends java.lang.Object implements TargetPlatformFactory
-
-
Field Summary
Fields Modifier and Type Field Description private LocalArtifactRepository
localArtifactRepository
The Maven local repository as p2 IArtifactRepositoryprivate LocalMetadataRepository
localMetadataRepository
The Maven local repository as p2 IMetadataRepositoryprivate MavenLogger
logger
private MavenContext
mavenContext
private org.eclipse.core.runtime.IProgressMonitor
monitor
private boolean
offline
private org.eclipse.equinox.p2.core.IProvisioningAgent
remoteAgent
private org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager
remoteArtifactRepositoryManager
private org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager
remoteMetadataRepositoryManager
private IRepositoryIdManager
remoteRepositoryIdManager
private TargetDefinitionResolverService
targetDefinitionResolverService
-
Constructor Summary
Constructors Constructor Description TargetPlatformFactoryImpl(MavenContext mavenContext, org.eclipse.equinox.p2.core.IProvisioningAgent remoteAgent, LocalArtifactRepository localArtifactRepo, LocalMetadataRepository localMetadataRepo, TargetDefinitionResolverService targetDefinitionResolverService)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
applyConfiguredFilter(TargetPlatformFilterEvaluator filter, java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> collectionToModify)
private void
applyFilters(TargetPlatformFilterEvaluator filter, java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> collectionToModify, java.util.Set<org.eclipse.equinox.p2.metadata.IInstallableUnit> reactorProjectUIs, ExecutionEnvironmentResolutionHints eeResolutionHints)
(package private) static int
countElements(java.util.Iterator<?> iterator)
private IRawArtifactFileProvider
createExternalArtifactProvider(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent, IRawArtifactFileProvider pomDependencyArtifactRepository, boolean includePackedArtifacts)
Provider for all target platform artifacts from outside the reactor.private CompositeArtifactProvider
createJointArtifactProvider(java.util.List<IRawArtifactFileProvider> reactorArtifacts, IRawArtifactFileProvider externalArtifacts)
private RepositoryArtifactProvider
createRemoteArtifactProvider(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent)
Provider for the target platform artifacts not yet available in the local Maven repository.P2TargetPlatform
createTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentConfiguration eeConfiguration, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)
P2TargetPlatform
createTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentResolutionHandler eeResolutionHandler, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)
Computes the target platform from the given configuration and content.P2TargetPlatform
createTargetPlatformWithUpdatedReactorContent(TargetPlatform baseTargetPlatform, java.util.List<PublishingRepository> upstreamProjectResults)
(package private) P2TargetPlatform
createTargetPlatformWithUpdatedReactorUnits(TargetPlatform baseTargetPlatform, java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> reactorUnits, java.util.List<IRawArtifactFileProvider> reactorArtifacts)
(package private) P2TargetPlatform
createTargetPlatformWithUpdatedReactorUnits(PreliminaryTargetPlatformImpl preliminaryTP, java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> reactorUnitsMap, java.util.List<IRawArtifactFileProvider> reactorArtifacts)
private static java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities>
extractProjectResultIUs(java.util.List<PublishingRepository> projectResults)
private java.util.LinkedHashSet<org.eclipse.equinox.p2.metadata.IInstallableUnit>
gatherExternalInstallableUnits(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent, PomDependencyCollectorImpl pomDependenciesContent, boolean includeLocalMavenRepo)
External installable units collected from p2 repositories, .target files and local Maven repository.private java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities>
getPreliminaryReactorProjectUIs(java.util.List<ReactorProject> reactorProjects)
private static java.util.List<IRawArtifactFileProvider>
getProjectArtifactProviders(java.util.List<PublishingRepository> upstreamProjectResults)
private static boolean
isPartialIU(org.eclipse.equinox.p2.metadata.IInstallableUnit iu)
private org.eclipse.equinox.p2.repository.metadata.IMetadataRepository
loadMetadataRepository(MavenRepositoryLocation location)
PomDependencyCollector
newPomDependencyCollector()
Creates a new object for collecting the bundles within the POM dependencies.private void
registerRepositoryIDs(java.util.Set<MavenRepositoryLocation> repositoriesWithIDs)
Register the IDs of repositories which have an explicit ID.private java.util.List<TargetDefinitionContent>
resolveTargetDefinitions(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentResolutionHints eeResolutionHints)
private boolean
shouldIncludeLocallyInstalledUnits(TargetPlatformConfigurationStub tpConfiguration)
-
-
-
Field Detail
-
mavenContext
private final MavenContext mavenContext
-
logger
private final MavenLogger logger
-
monitor
private final org.eclipse.core.runtime.IProgressMonitor monitor
-
remoteAgent
private final org.eclipse.equinox.p2.core.IProvisioningAgent remoteAgent
-
remoteRepositoryIdManager
private final IRepositoryIdManager remoteRepositoryIdManager
-
remoteMetadataRepositoryManager
private final org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager remoteMetadataRepositoryManager
-
remoteArtifactRepositoryManager
private final org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager remoteArtifactRepositoryManager
-
offline
private final boolean offline
-
localArtifactRepository
private final LocalArtifactRepository localArtifactRepository
The Maven local repository as p2 IArtifactRepository
-
localMetadataRepository
private final LocalMetadataRepository localMetadataRepository
The Maven local repository as p2 IMetadataRepository
-
targetDefinitionResolverService
private final TargetDefinitionResolverService targetDefinitionResolverService
-
-
Constructor Detail
-
TargetPlatformFactoryImpl
public TargetPlatformFactoryImpl(MavenContext mavenContext, org.eclipse.equinox.p2.core.IProvisioningAgent remoteAgent, LocalArtifactRepository localArtifactRepo, LocalMetadataRepository localMetadataRepo, TargetDefinitionResolverService targetDefinitionResolverService)
-
-
Method Detail
-
newPomDependencyCollector
public PomDependencyCollector newPomDependencyCollector()
Description copied from interface:TargetPlatformFactory
Creates a new object for collecting the bundles within the POM dependencies.- Specified by:
newPomDependencyCollector
in interfaceTargetPlatformFactory
-
createTargetPlatform
public P2TargetPlatform createTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentConfiguration eeConfiguration, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)
- Specified by:
createTargetPlatform
in interfaceTargetPlatformFactory
-
createTargetPlatform
public P2TargetPlatform createTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentResolutionHandler eeResolutionHandler, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)
Computes the target platform from the given configuration and content.Used as entry point for tests, which can provide the execution environment configuration via the more low-level type
ExecutionEnvironmentResolutionHandler
.- Parameters:
tpConfiguration
-eeResolutionHandler
- Representation of the target execution environment profile. In case of a custom EE profile, the handler also reads the full specification from the target platform.reactorProjects
- may benull
pomDependencies
- may benull
- See Also:
createTargetPlatform(TargetPlatformConfigurationStub, ExecutionEnvironmentConfiguration, List, PomDependencyCollector)
-
resolveTargetDefinitions
private java.util.List<TargetDefinitionContent> resolveTargetDefinitions(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentResolutionHints eeResolutionHints)
-
registerRepositoryIDs
private void registerRepositoryIDs(java.util.Set<MavenRepositoryLocation> repositoriesWithIDs)
Register the IDs of repositories which have an explicit ID. The IDs are used to pick mirrors and to configure credentials when loading the repositories.
-
shouldIncludeLocallyInstalledUnits
private boolean shouldIncludeLocallyInstalledUnits(TargetPlatformConfigurationStub tpConfiguration)
-
gatherExternalInstallableUnits
private java.util.LinkedHashSet<org.eclipse.equinox.p2.metadata.IInstallableUnit> gatherExternalInstallableUnits(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent, PomDependencyCollectorImpl pomDependenciesContent, boolean includeLocalMavenRepo)
External installable units collected from p2 repositories, .target files and local Maven repository.
-
loadMetadataRepository
private org.eclipse.equinox.p2.repository.metadata.IMetadataRepository loadMetadataRepository(MavenRepositoryLocation location)
-
createExternalArtifactProvider
private IRawArtifactFileProvider createExternalArtifactProvider(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent, IRawArtifactFileProvider pomDependencyArtifactRepository, boolean includePackedArtifacts)
Provider for all target platform artifacts from outside the reactor.
-
createRemoteArtifactProvider
private RepositoryArtifactProvider createRemoteArtifactProvider(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent)
Provider for the target platform artifacts not yet available in the local Maven repository.
-
getPreliminaryReactorProjectUIs
private java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> getPreliminaryReactorProjectUIs(java.util.List<ReactorProject> reactorProjects) throws DuplicateReactorIUsException
- Throws:
DuplicateReactorIUsException
-
applyFilters
private void applyFilters(TargetPlatformFilterEvaluator filter, java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> collectionToModify, java.util.Set<org.eclipse.equinox.p2.metadata.IInstallableUnit> reactorProjectUIs, ExecutionEnvironmentResolutionHints eeResolutionHints)
-
applyConfiguredFilter
private static void applyConfiguredFilter(TargetPlatformFilterEvaluator filter, java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> collectionToModify)
-
isPartialIU
private static boolean isPartialIU(org.eclipse.equinox.p2.metadata.IInstallableUnit iu)
-
countElements
static int countElements(java.util.Iterator<?> iterator)
-
createTargetPlatformWithUpdatedReactorContent
public P2TargetPlatform createTargetPlatformWithUpdatedReactorContent(TargetPlatform baseTargetPlatform, java.util.List<PublishingRepository> upstreamProjectResults)
-
createTargetPlatformWithUpdatedReactorUnits
P2TargetPlatform createTargetPlatformWithUpdatedReactorUnits(TargetPlatform baseTargetPlatform, java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> reactorUnits, java.util.List<IRawArtifactFileProvider> reactorArtifacts)
-
createTargetPlatformWithUpdatedReactorUnits
P2TargetPlatform createTargetPlatformWithUpdatedReactorUnits(PreliminaryTargetPlatformImpl preliminaryTP, java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> reactorUnitsMap, java.util.List<IRawArtifactFileProvider> reactorArtifacts)
-
createJointArtifactProvider
private CompositeArtifactProvider createJointArtifactProvider(java.util.List<IRawArtifactFileProvider> reactorArtifacts, IRawArtifactFileProvider externalArtifacts)
-
extractProjectResultIUs
private static java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> extractProjectResultIUs(java.util.List<PublishingRepository> projectResults)
-
getProjectArtifactProviders
private static java.util.List<IRawArtifactFileProvider> getProjectArtifactProviders(java.util.List<PublishingRepository> upstreamProjectResults)
-
-