protected static IInstallableUnit createUnitRequiring(String name, Collection<IInstallableUnit> units, Collection<IRequirement> additionalRequirements) { InstallableUnitDescription result = new MetadataFactory.InstallableUnitDescription(); String time = Long.toString(System.currentTimeMillis()); result.setId(name + "-" + time); result.setVersion(Version.createOSGi(0, 0, 0, time)); ArrayList<IRequirement> requirements = new ArrayList<>(); if (units != null) { for (IInstallableUnit unit : units) { requirements.add(createStrictRequirementTo(unit)); } } if (additionalRequirements != null) { requirements.addAll(additionalRequirements); } result.addRequirements(requirements); return MetadataFactory.createInstallableUnit(result); }
private static IInstallableUnit createSharedProfileIU(final IProfile sharedProfile) { InstallableUnitDescription iuDescription = new InstallableUnitDescription(); iuDescription.setId("SharedProfile_" + sharedProfile.getProfileId()); //$NON-NLS-1$ iuDescription.setVersion(Version.createOSGi(1, 0, 0, Long.toString(sharedProfile.getTimestamp()))); ArrayList<IProvidedCapability> iuCapabilities = new ArrayList<IProvidedCapability>(); IProvidedCapability selfCapability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, iuDescription.getId(), iuDescription.getVersion()); iuCapabilities.add(selfCapability); iuDescription.addProvidedCapabilities(iuCapabilities); ArrayList<IRequirement> iuRequirements = new ArrayList<IRequirement>(); IQueryResult<IInstallableUnit> allIUs = sharedProfile.query(QueryUtil.createIUAnyQuery(), null); for (Iterator<IInstallableUnit> iterator = allIUs.iterator(); iterator.hasNext();) { IInstallableUnit iu = iterator.next(); IMatchExpression<IInstallableUnit> iuMatcher = ExpressionUtil.getFactory().<IInstallableUnit> matchExpression(ExpressionUtil.parse("id == $0 && version == $1"), iu.getId(), iu.getVersion()); //$NON-NLS-1$ iuRequirements.add(MetadataFactory.createRequirement(iuMatcher, null, 0, 1, true)); } iuDescription.addRequirements(iuRequirements); iuDescription.setProperty(IInstallableUnit.PROP_NAME, NLS.bind(Messages.Shared_Profile, null)); IInstallableUnit sharedProfileIU = MetadataFactory.createInstallableUnit(iuDescription); return sharedProfileIU; }
private static IInstallableUnit createSharedProfileIU(final IProfile sharedProfile) { InstallableUnitDescription iuDescription = new InstallableUnitDescription(); iuDescription.setId("SharedProfile_" + sharedProfile.getProfileId()); //$NON-NLS-1$ iuDescription.setVersion(Version.createOSGi(1, 0, 0, Long.toString(sharedProfile.getTimestamp()))); ArrayList<IProvidedCapability> iuCapabilities = new ArrayList<>(); IProvidedCapability selfCapability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, iuDescription.getId(), iuDescription.getVersion()); iuCapabilities.add(selfCapability); iuDescription.addProvidedCapabilities(iuCapabilities); ArrayList<IRequirement> iuRequirements = new ArrayList<>(); IQueryResult<IInstallableUnit> allIUs = sharedProfile.query(QueryUtil.createIUAnyQuery(), null); for (Iterator<IInstallableUnit> iterator = allIUs.iterator(); iterator.hasNext();) { IInstallableUnit iu = iterator.next(); IMatchExpression<IInstallableUnit> iuMatcher = ExpressionUtil.getFactory().matchExpression(ExpressionUtil.parse("id == $0 && version == $1"), iu.getId(), iu.getVersion()); //$NON-NLS-1$ iuRequirements.add(MetadataFactory.createRequirement(iuMatcher, null, 0, 1, true)); } iuDescription.addRequirements(iuRequirements); iuDescription.setProperty(IInstallableUnit.PROP_NAME, NLS.bind(Messages.Shared_Profile, null)); IInstallableUnit sharedProfileIU = MetadataFactory.createInstallableUnit(iuDescription); return sharedProfileIU; }
SOURCE_IU_ID, sourceIUVersion); sourceDescription.setCapabilities(new IProvidedCapability[] { capability }); sourceDescription.addRequirements(sourceBundleRequirements);
@Override public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { InstallableUnitDescription iud = new MetadataFactory.InstallableUnitDescription(); iud.setId(getId()); iud.setVersion(getVersion()); Set<IProvidedCapability> provided = new LinkedHashSet<>(); addProvidedCapabilities(provided); provided.add(MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, iud.getId(), iud.getVersion())); iud.addProvidedCapabilities(provided); iud.addRequirements(getRequiredCapabilities()); addProperties(iud); addPublisherAdvice(publisherInfo); processCapabilityAdvice(iud, publisherInfo); processInstallableUnitPropertiesAdvice(iud, publisherInfo); IInstallableUnit iu = MetadataFactory.createInstallableUnit(iud); results.addIU(iu, PublisherResult.ROOT); InstallableUnitDescription[] others = processAdditionalInstallableUnitsAdvice(iu, publisherInfo); if (others != null) { for (InstallableUnitDescription other : others) { // using PublisherResult.NON_ROOT results in these IUs appear after the primary // see org.eclipse.equinox.p2.publisher.PublisherResult.getIUs(String, String) // see org.eclipse.tycho.p2.metadata.IReactorArtifactFacade.getDependencyMetadata() results.addIU(MetadataFactory.createInstallableUnit(other), PublisherResult.NON_ROOT); } } return Status.OK_STATUS; }
private IInstallableUnit createSourceIU(IQueryable<IInstallableUnit> queryable, Version iuVersion) { // compute the set of source bundles we could possibly need for the bundles in the profile IRequirement bundleRequirement = MetadataFactory.createRequirement("org.eclipse.equinox.p2.eclipse.type", "bundle", null, null, false, false, false); //$NON-NLS-1$ //$NON-NLS-2$ IQueryResult<IInstallableUnit> profileIUs = queryable.query(QueryUtil.createIUAnyQuery(), null); ArrayList<IRequirement> requirements = new ArrayList<>(); for (Iterator<IInstallableUnit> i = profileIUs.iterator(); i.hasNext();) { IInstallableUnit profileIU = i.next(); if (profileIU.satisfies(bundleRequirement)) { String id = profileIU.getId() + ".source"; //$NON-NLS-1$ Version version = profileIU.getVersion(); // use fully qualified name to avoid conflict with other VersionRange class org.eclipse.equinox.p2.metadata.VersionRange range = new org.eclipse.equinox.p2.metadata.VersionRange(version, true, version, true); IRequirement sourceRequirement = MetadataFactory.createRequirement("osgi.bundle", id, range, null, true, false, true); //$NON-NLS-1$ requirements.add(sourceRequirement); } } InstallableUnitDescription sourceDescription = new MetadataFactory.InstallableUnitDescription(); sourceDescription.setSingleton(true); sourceDescription.setId(SOURCE_IU_ID); sourceDescription.setVersion(iuVersion); sourceDescription.addRequirements(requirements); IProvidedCapability capability = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, SOURCE_IU_ID, iuVersion); sourceDescription.setCapabilities(new IProvidedCapability[] {capability}); return MetadataFactory.createInstallableUnit(sourceDescription); }
private IInstallableUnit createIUForMetaRequirements(IProfile profile, Collection<IRequirement> metaRequirements) { InstallableUnitDescription description = new InstallableUnitDescription(); String id = getActionGatheringIUId(profile); description.setId(id); Version version = Version.createOSGi(1, 0, 0, Long.toString(profile.getTimestamp())); description.setVersion(version); description.addRequirements(metaRequirements); ArrayList<IProvidedCapability> providedCapabilities = new ArrayList<>(); IProvidedCapability providedCapability = MetadataFactory .createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, id, version); providedCapabilities.add(providedCapability); description.addProvidedCapabilities(providedCapabilities); IInstallableUnit actionsIU = MetadataFactory.createInstallableUnit(description); return actionsIU; }
protected InstallableUnitDescription createParentIU(Collection<? extends IVersionedId> children, String id, Version version) { InstallableUnitDescription root = createIUShell(id, version); root.addRequirements(createIURequirements(children)); addSelfCapability(root); return root; }
protected InstallableUnitDescription createParentIU(Collection<? extends IVersionedId> children, String id, Version version) { InstallableUnitDescription root = createIUShell(id, version); root.addRequirements(createIURequirements(children)); addSelfCapability(root); return root; }
protected InstallableUnitDescription createParentIU(Collection<? extends IVersionedId> children, String id, Version version) { InstallableUnitDescription root = createIUShell(id, version); root.addRequirements(createIURequirements(children)); addSelfCapability(root); return root; }
/** @deprecated Use addRequirements(additional) instead */ public void addRequiredCapabilities(Collection<IRequirement> additional) { addRequirements(additional); }
protected InstallableUnitDescription createParentIU(Collection<? extends IVersionedId> children, String id, Version version) { InstallableUnitDescription root = createIUShell(id, version); root.addRequirements(createIURequirements(children)); addSelfCapability(root); return root; }