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 LocalArtifactRepositorylocalArtifactRepositoryThe Maven local repository as p2 IArtifactRepositoryprivate LocalMetadataRepositorylocalMetadataRepositoryThe Maven local repository as p2 IMetadataRepositoryprivate MavenLoggerloggerprivate MavenContextmavenContextprivate org.eclipse.core.runtime.IProgressMonitormonitorprivate booleanofflineprivate org.eclipse.equinox.p2.core.IProvisioningAgentremoteAgentprivate org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManagerremoteArtifactRepositoryManagerprivate org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManagerremoteMetadataRepositoryManagerprivate IRepositoryIdManagerremoteRepositoryIdManagerprivate TargetDefinitionResolverServicetargetDefinitionResolverService
-
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 voidapplyConfiguredFilter(TargetPlatformFilterEvaluator filter, java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> collectionToModify)private voidapplyFilters(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 intcountElements(java.util.Iterator<?> iterator)private IRawArtifactFileProvidercreateExternalArtifactProvider(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 CompositeArtifactProvidercreateJointArtifactProvider(java.util.List<IRawArtifactFileProvider> reactorArtifacts, IRawArtifactFileProvider externalArtifacts)private RepositoryArtifactProvidercreateRemoteArtifactProvider(java.util.Set<MavenRepositoryLocation> completeRepositories, java.util.List<TargetDefinitionContent> targetDefinitionsContent)Provider for the target platform artifacts not yet available in the local Maven repository.P2TargetPlatformcreateTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentConfiguration eeConfiguration, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)P2TargetPlatformcreateTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentResolutionHandler eeResolutionHandler, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)Computes the target platform from the given configuration and content.P2TargetPlatformcreateTargetPlatformWithUpdatedReactorContent(TargetPlatform baseTargetPlatform, java.util.List<PublishingRepository> upstreamProjectResults)(package private) P2TargetPlatformcreateTargetPlatformWithUpdatedReactorUnits(TargetPlatform baseTargetPlatform, java.util.Map<org.eclipse.equinox.p2.metadata.IInstallableUnit,ReactorProjectIdentities> reactorUnits, java.util.List<IRawArtifactFileProvider> reactorArtifacts)(package private) P2TargetPlatformcreateTargetPlatformWithUpdatedReactorUnits(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 booleanisPartialIU(org.eclipse.equinox.p2.metadata.IInstallableUnit iu)private org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryloadMetadataRepository(MavenRepositoryLocation location)PomDependencyCollectornewPomDependencyCollector()Creates a new object for collecting the bundles within the POM dependencies.private voidregisterRepositoryIDs(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 booleanshouldIncludeLocallyInstalledUnits(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:TargetPlatformFactoryCreates a new object for collecting the bundles within the POM dependencies.- Specified by:
newPomDependencyCollectorin interfaceTargetPlatformFactory
-
createTargetPlatform
public P2TargetPlatform createTargetPlatform(TargetPlatformConfigurationStub tpConfiguration, ExecutionEnvironmentConfiguration eeConfiguration, java.util.List<ReactorProject> reactorProjects, PomDependencyCollector pomDependencies)
- Specified by:
createTargetPlatformin 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 benullpomDependencies- 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)
-
-