Class P2ResolverImpl

  • All Implemented Interfaces:
    P2Resolver

    public class P2ResolverImpl
    extends java.lang.Object
    implements P2Resolver
    • Field Detail

      • monitor

        private final org.eclipse.core.runtime.IProgressMonitor monitor
      • additionalFilterProperties

        private java.util.Map<java.lang.String,​java.lang.String> additionalFilterProperties
      • additionalRequirements

        private final java.util.List<org.eclipse.equinox.p2.metadata.IRequirement> additionalRequirements
      • currentProjectUnits

        private java.util.Set<org.eclipse.equinox.p2.metadata.IInstallableUnit> currentProjectUnits
      • usedTargetPlatformUnits

        private java.util.Set<org.eclipse.equinox.p2.metadata.IInstallableUnit> usedTargetPlatformUnits
    • Method Detail

      • isMatchingEnv

        private boolean isMatchingEnv​(java.util.Set<?> metadata,
                                      TargetEnvironment environment)
        Check if the Metadata contains any constraints that forbid the given TargetEnvironment
        Parameters:
        metadata -
        environment -
        Returns:
      • toResolutionResult

        private P2ResolutionResult toResolutionResult​(java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> newState,
                                                      ReactorProject currentProject)
      • addUnit

        private void addUnit​(DefaultP2ResolutionResult result,
                             org.eclipse.equinox.p2.metadata.IInstallableUnit iu,
                             ReactorProject currentProject,
                             java.util.Set<java.lang.String> missingArtifacts)
      • failIfArtifactsMissing

        private void failIfArtifactsMissing​(java.util.Set<java.lang.String> missingArtifacts)
      • collectNonReactorIUs

        private void collectNonReactorIUs​(DefaultP2ResolutionResult result,
                                          java.util.Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> newState)
      • addArtifactFile

        private void addArtifactFile​(DefaultP2ResolutionResult result,
                                     org.eclipse.equinox.p2.metadata.IInstallableUnit iu,
                                     org.eclipse.equinox.p2.metadata.IArtifactKey key,
                                     java.io.File artifactLocation)
      • addMavenArtifact

        protected void addMavenArtifact​(DefaultP2ResolutionResult result,
                                        org.eclipse.equinox.p2.metadata.IInstallableUnit iu,
                                        java.lang.String id,
                                        java.lang.String version,
                                        java.lang.String mavenClassifier,
                                        java.io.File location)
      • isPureIU

        private boolean isPureIU​(org.eclipse.equinox.p2.metadata.IInstallableUnit iu)
      • getFeatureId

        private java.lang.String getFeatureId​(org.eclipse.equinox.p2.metadata.IInstallableUnit iu)
      • isBundleOrFragmentWithId

        private boolean isBundleOrFragmentWithId​(org.eclipse.equinox.p2.metadata.IInstallableUnit iu,
                                                 java.lang.String id)
      • isProduct

        private boolean isProduct​(org.eclipse.equinox.p2.metadata.IInstallableUnit iu)
      • setAdditionalFilterProperties

        public void setAdditionalFilterProperties​(java.util.Map<java.lang.String,​java.lang.String> additionalFilterProperties)
        Description copied from interface: P2Resolver
        Sets additional properties that will be used to evaluate filter expressions in the p2 metadata. These properties are also known as "profile properties" in p2.
        Specified by:
        setAdditionalFilterProperties in interface P2Resolver
      • addDependenciesForTests

        private void addDependenciesForTests()
      • optionalGreedyRequirementTo

        private static org.eclipse.equinox.p2.metadata.IRequirement optionalGreedyRequirementTo​(java.lang.String bundleId)
      • getAdditionalRequirements

        public java.util.List<org.eclipse.equinox.p2.metadata.IRequirement> getAdditionalRequirements()
      • resolveInstallableUnit

        public P2ResolutionResult resolveInstallableUnit​(TargetPlatform targetPlatform,
                                                         java.lang.String id,
                                                         java.lang.String versionRange)
        Description copied from interface: P2Resolver
        Resolves specified installable unit identified by id and versionRange. The unit with latest version is return if id/versionRange match multiple units.
        Specified by:
        resolveInstallableUnit in interface P2Resolver