private static IRequirement optionalGreedyRequirementTo(String bundleId) { return MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, bundleId, VersionRange.emptyRange, null, true, true, true); }
public IInstallableUnit[] getUnits() { int size = units.size(); IInstallableUnit[] result = new IInstallableUnit[size]; int i = 0; for (InstallableUnitDescription desc : units) result[i++] = MetadataFactory.createInstallableUnit(desc); return result; }
public static IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { return MetadataFactory.createProvidedCapability(IU_NAMESPACE, installableUnitId, installableUnitVersion); }
/** * Create and return a new update descriptor {@link IUpdateDescriptor} with the specified values. * * @param id the identifiter for the update. Must not be <code>null</code>. * @param range the version range. A <code>null</code> range is equivalent to {@link VersionRange#emptyRange} and matches all versions. * @param severity the severity * @param description a <code>String</code> description or <code>null</code> * @param location a {@link URI} specifying the location or <code>null</code> * @return the update descriptor */ public static IUpdateDescriptor createUpdateDescriptor(String id, VersionRange range, int severity, String description, URI location) { Collection<IMatchExpression<IInstallableUnit>> descriptors = new ArrayList<IMatchExpression<IInstallableUnit>>(1); descriptors.add(createMatchExpressionFromRange(IInstallableUnit.NAMESPACE_IU_ID, id, range)); return createUpdateDescriptor(descriptors, severity, description, location); }
private static IInstallableUnit newIU(String id, Version version) { InstallableUnitDescription iud = new InstallableUnitDescription(); iud.setId(id); iud.setVersion(version); iud.addProvidedCapabilities(Collections .singleton(MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, id, version))); return MetadataFactory.createInstallableUnit(iud); }
iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName()); if (feature.getLicense() != null) iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())}); if (feature.getCopyright() != null) iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright())); iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, BundlesAction.computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null)); VersionRange range = getVersionRange(entries[i]); String requiredId = getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true); required.add(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, requiredId, range, getFilter(entries[i]), entries[i].isOptional(), false)); IInstallableUnit child = childIUs.get(i); IMatchExpression<IInstallableUnit> filter = child.getFilter(); required.add(MetadataFactory.createRequirement(PublisherHelper.IU_NAMESPACE, child.getId(), new VersionRange(child.getVersion(), true, child.getVersion(), true), filter, false, false)); processUpdateDescriptorAdvice(iu, info); processCapabilityAdvice(iu, publisherInfo); return MetadataFactory.createInstallableUnit(iu);
iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName()); if (feature.getLicense() != null) iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())}); if (feature.getCopyright() != null) iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright())); if (feature.getApplication() != null) iu.setProperty(UPDATE_FEATURE_APPLICATION_PROP, feature.getApplication()); providedCapabilities.add(PublisherHelper.createSelfCapability(id, version)); providedCapabilities.add(PublisherHelper.FEATURE_CAPABILITY); providedCapabilities.add(MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)); iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version), PublisherHelper.FEATURE_CAPABILITY, MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)}); iu.setArtifacts(new IArtifactKey[] {createFeatureArtifactKey(feature.getId(), version.toString())}); iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); return MetadataFactory.createInstallableUnit(iu);
iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName()); if (feature.getLicense() != null) iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())}); if (feature.getCopyright() != null) iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright())); iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, BundlesAction.computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null)); for (int i = 0; i < entries.length; i++) { VersionRange range = getVersionRange(entries[i]); IRequirement req = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false); if (entries[i].isRequires()) { applicabilityScope.add(req); if (applicabilityScope.size() == 1) { iu.setLifeCycle(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, null, false, false, false)); IRequirement from = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false); requirementChanges.add(MetadataFactory.createRequirementChange(from, req)); continue; for (int i = 0; i < childIUs.size(); i++) { IInstallableUnit child = childIUs.get(i); patchRequirements.add(MetadataFactory.createRequirement(PublisherHelper.IU_NAMESPACE, child.getId(), new VersionRange(child.getVersion(), true, child.getVersion(), true), child.getFilter(), false, false)); processUpdateDescriptorAdvice(iu, info); processCapabilityAdvice(iu, publisherInfo); return MetadataFactory.createInstallableUnitPatch(iu);
public static IInstallableUnit createDefaultConfigurationUnitForSourceBundles(String configurationFlavor) { InstallableUnitFragmentDescription cu = new InstallableUnitFragmentDescription(); String configUnitId = createDefaultConfigUnitId("source", configurationFlavor); //$NON-NLS-1$ cu.setId(configUnitId); Version configUnitVersion = Version.createOSGi(1, 0, 0); cu.setVersion(configUnitVersion); // Add capabilities for fragment, self, and describing the flavor supported cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(NAMESPACE_FLAVOR, configurationFlavor, Version.createOSGi(1, 0, 0))}); // Create a required capability on source providers IRequirement[] reqs = new IRequirement[] {MetadataFactory.createRequirement(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)}; cu.setHost(reqs); Map<String, String> touchpointData = new HashMap<String, String>(); touchpointData.put("install", "addSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$ touchpointData.put("uninstall", "removeSourceBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$ cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); return MetadataFactory.createInstallableUnit(cu); }
Version patchVersion = Version.createOSGi(1, 0, 0, QualifierReplacer.getDateQualifier()); iuPatchDescription.setVersion(patchVersion); iuPatchDescription.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(iuPatchDescription.getId(), new VersionRange(Version.createOSGi(0, 0, 0), true, patchVersion, false), 0, null)); list.add(MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, iuPatchDescription.getId(), iuPatchDescription.getVersion())); iuPatchDescription.addProvidedCapabilities(list); IRequirement applyTo = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, id, null, null, false, false); IRequirement newValue = MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(newVersion, true, newVersion, true), null, false, false); iuPatchDescription.setRequirementChanges(new IRequirementChange[] {MetadataFactory.createRequirementChange(applyTo, newValue)}); if (!queryMatches.isEmpty()) { IInstallableUnit lifecycleUnit = (IInstallableUnit) queryMatches.iterator().next(); iuPatchDescription.setLifeCycle(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, lifecycleUnit.getId(), new VersionRange(lifecycleUnit.getVersion(), true, lifecycleUnit.getVersion(), true), null, false, false, false)); return MetadataFactory.createInstallableUnitPatch(iuPatchDescription);
/** * Creates a new update descriptor object. * @param id The id of the installable unit that the descriptor provides updates for * @param range The version range that the descriptor provides updates for * @param severity The update severity (either {@link IUpdateDescriptor#NORMAL} * or {@link IUpdateDescriptor#HIGH}) * @param description A description of the update * @return A new update descriptor */ public static IUpdateDescriptor createUpdateDescriptor(String id, VersionRange range, int severity, String description) { return createUpdateDescriptor(id, range, severity, description, null); }
private void publishExecutableCU(ExecutablesDescriptor execDescriptor, IPublisherResult result) { InstallableUnitFragmentDescription cu = createSkeletonExecutableCU(execDescriptor); String[] config = parseConfigSpec(configSpec); String os = config[1]; Map<String, String> touchpointData = computeInstallActions(execDescriptor, os); cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); IInstallableUnit unit = MetadataFactory.createInstallableUnit(cu); result.addIU(unit, IPublisherResult.ROOT); }
protected void finished() { if (isValidXML()) { licenses.add(MetadataFactory.createLicense(location, getText())); } } }
public ITouchpointData getTouchpointData() { return MetadataFactory.createTouchpointData(instructions); }
/** * Returns an instance of {@link ITouchpointData} with the given instructions. * * @param instructions The instructions for the touchpoint data. * @return The created touchpoint data */ public static ITouchpointData createTouchpointData(Map<String, ? extends Object> instructions) { Assert.isNotNull(instructions); //copy the map to protect against subsequent change by caller if (instructions.isEmpty()) return EMPTY_TOUCHPOINT_DATA; Map<String, ITouchpointInstruction> result = new LinkedHashMap<String, ITouchpointInstruction>(instructions.size()); for (Map.Entry<String, ? extends Object> entry : instructions.entrySet()) { Object value = entry.getValue(); ITouchpointInstruction instruction; if (value == null || value instanceof String) instruction = createTouchpointInstruction((String) value, null); else instruction = (ITouchpointInstruction) value; result.put(entry.getKey(), instruction); } return new TouchpointData(result); }
protected void finished() { if (isValidXML()) { copyright = MetadataFactory.createCopyright(location, getText()); } }
importAttribute += instruction.getBody(); instruction = createTouchpointInstruction(body, importAttribute); return createTouchpointData(resultInstructions);
protected void finished() { requirementChanges.add(MetadataFactory.createRequirementChange(from.size() == 0 ? null : (IRequirement) from.get(0), to.size() == 0 ? null : (IRequirement) to.get(0))); } }
iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName()); if (feature.getLicense() != null) iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())}); if (feature.getCopyright() != null) iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright())); iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, BundlesAction.computeUpdateRange(new org.osgi.framework.Version(feature.getVersion())), IUpdateDescriptor.NORMAL, null)); VersionRange range = getVersionRange(entries[i]); String requiredId = getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true); required.add(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, requiredId, range, getFilter(entries[i]), entries[i].isOptional(), false)); IInstallableUnit child = childIUs.get(i); IMatchExpression<IInstallableUnit> filter = child.getFilter(); required.add(MetadataFactory.createRequirement(PublisherHelper.IU_NAMESPACE, child.getId(), new VersionRange(child.getVersion(), true, child.getVersion(), true), filter, false, false)); processUpdateDescriptorAdvice(iu, info); processCapabilityAdvice(iu, publisherInfo); return MetadataFactory.createInstallableUnit(iu);
iu.setProperty(IInstallableUnit.PROP_PROVIDER, feature.getProviderName()); if (feature.getLicense() != null) iu.setLicenses(new ILicense[] {MetadataFactory.createLicense(toURIOrNull(feature.getLicenseURL()), feature.getLicense())}); if (feature.getCopyright() != null) iu.setCopyright(MetadataFactory.createCopyright(toURIOrNull(feature.getCopyrightURL()), feature.getCopyright())); if (feature.getApplication() != null) iu.setProperty(UPDATE_FEATURE_APPLICATION_PROP, feature.getApplication()); providedCapabilities.add(PublisherHelper.createSelfCapability(id, version)); providedCapabilities.add(PublisherHelper.FEATURE_CAPABILITY); providedCapabilities.add(MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)); iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version), PublisherHelper.FEATURE_CAPABILITY, MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)}); iu.setArtifacts(new IArtifactKey[] {createFeatureArtifactKey(feature.getId(), version.toString())}); iu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); return MetadataFactory.createInstallableUnit(iu);