Class InstallableUnitSlicer

java.lang.Object
org.eclipse.tycho.p2maven.InstallableUnitSlicer

@Component(role=InstallableUnitSlicer.class) public class InstallableUnitSlicer extends Object
A strategy that computes a slice from a set of all units.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.eclipse.equinox.p2.query.IQueryResult<org.eclipse.equinox.p2.metadata.IInstallableUnit>
    computeDependencies(Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> rootIus, org.eclipse.equinox.p2.query.IQueryable<org.eclipse.equinox.p2.metadata.IInstallableUnit> avaiableIUs, SlicingOptions options)
    Computes a "slice" of a given set of IInstallableUnits that include as much of the requirements of the root units that are fulfilled by the available units.
    Map<org.eclipse.equinox.p2.metadata.IRequirement,Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit>>
    computeDirectDependencies(Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> rootIus, org.eclipse.equinox.p2.query.IQueryable<org.eclipse.equinox.p2.metadata.IInstallableUnit> avaiableIUs)
    Computes a "slice" that is the direct dependencies of the given IInstallableUnits in a way that the result contains any unit that satisfies a requirement in for rootIus

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • InstallableUnitSlicer

      public InstallableUnitSlicer()
  • Method Details

    • computeDependencies

      public org.eclipse.equinox.p2.query.IQueryResult<org.eclipse.equinox.p2.metadata.IInstallableUnit> computeDependencies(Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> rootIus, org.eclipse.equinox.p2.query.IQueryable<org.eclipse.equinox.p2.metadata.IInstallableUnit> avaiableIUs, SlicingOptions options) throws org.eclipse.core.runtime.CoreException
      Computes a "slice" of a given set of IInstallableUnits that include as much of the requirements of the root units that are fulfilled by the available units. The slice is greedy, that means that as much as possible is included.
      Parameters:
      rootIus - the root units that are inspected for the slice
      avaiableIUs - the IQueryable of all units that could be used for the slice
      options - the options used for the slicing
      Returns:
      the result of the slicing
      Throws:
      org.eclipse.core.runtime.CoreException - if there is any error
    • computeDirectDependencies

      public Map<org.eclipse.equinox.p2.metadata.IRequirement,Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit>> computeDirectDependencies(Collection<org.eclipse.equinox.p2.metadata.IInstallableUnit> rootIus, org.eclipse.equinox.p2.query.IQueryable<org.eclipse.equinox.p2.metadata.IInstallableUnit> avaiableIUs) throws org.eclipse.core.runtime.CoreException
      Computes a "slice" that is the direct dependencies of the given IInstallableUnits in a way that the result contains any unit that satisfies a requirement in for rootIus
      Parameters:
      rootIus - the root InstallableUnits to take into account
      avaiableIUs - the IQueryable of all units that could be used for fulfilling a requirement
      contextIUs - context IUs that represent the the profile properties to consider during resolution, can be empty in which case a filter is always considered a match
      Returns:
      the result of the slicing, be aware that no maximum/minimum constraints or filters are applied as part of this computation
      Throws:
      org.eclipse.core.runtime.CoreException - if there is any error