Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 292691 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/pde/internal/build/publisher/compatibility/RootFileParentAction.java (+1 lines)
Lines 41-46 Link Here
41
	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
41
	public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) {
42
		final String idPrefix = baseId + ".rootfiles"; //$NON-NLS-1$
42
		final String idPrefix = baseId + ".rootfiles"; //$NON-NLS-1$
43
		final String flavorPrefix = flavor + baseId + ".rootfiles"; //$NON-NLS-1$
43
		final String flavorPrefix = flavor + baseId + ".rootfiles"; //$NON-NLS-1$
44
		//TODO this could be turned into a "name query", a query that checks on some parameters
44
		MatchQuery query = new MatchQuery() {
45
		MatchQuery query = new MatchQuery() {
45
			public boolean isMatch(Object candidate) {
46
			public boolean isMatch(Object candidate) {
46
				if (candidate instanceof IInstallableUnit) {
47
				if (candidate instanceof IInstallableUnit) {
(-)META-INF/MANIFEST.MF (-1 / +2 lines)
Lines 67-71 Link Here
67
 org.eclipse.equinox.p2.garbagecollector;bundle-version="[1.0.100,2.0.0)"
67
 org.eclipse.equinox.p2.garbagecollector;bundle-version="[1.0.100,2.0.0)"
68
Eclipse-LazyStart: true
68
Eclipse-LazyStart: true
69
Bundle-RequiredExecutionEnvironment: J2SE-1.4
69
Bundle-RequiredExecutionEnvironment: J2SE-1.4
70
Import-Package: com.ibm.icu.util
70
Import-Package: com.ibm.icu.util,
71
 org.eclipse.equinox.p2.touchpoint.eclipse.query
71
Bundle-ActivationPolicy: lazy
72
Bundle-ActivationPolicy: lazy
(-)src/org/eclipse/pde/internal/core/target/IUBundleContainer.java (-25 / +3 lines)
Lines 27-32 Link Here
27
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
27
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
28
import org.eclipse.equinox.internal.provisional.p2.repository.IRepositoryManager;
28
import org.eclipse.equinox.internal.provisional.p2.repository.IRepositoryManager;
29
import org.eclipse.equinox.p2.engine.IProvisioningPlan;
29
import org.eclipse.equinox.p2.engine.IProvisioningPlan;
30
import org.eclipse.equinox.p2.touchpoint.eclipse.query.OSGiBundleQuery;
30
import org.eclipse.osgi.util.NLS;
31
import org.eclipse.osgi.util.NLS;
31
import org.eclipse.pde.internal.core.PDECore;
32
import org.eclipse.pde.internal.core.PDECore;
32
import org.eclipse.pde.internal.core.target.provisional.*;
33
import org.eclipse.pde.internal.core.target.provisional.*;
Lines 85-113 Link Here
85
	private boolean fIncludeMultipleEnvironments = false;
86
	private boolean fIncludeMultipleEnvironments = false;
86
87
87
	/**
88
	/**
88
	 * Query for bundles in a profile. Every IU that ends up being installed as a bundle
89
	 * provides a capability in the name space "osgi.bundle".
90
	 */
91
	class BundleQuery extends MatchQuery {
92
93
		/* (non-Javadoc)
94
		 * @see org.eclipse.equinox.internal.provisional.p2.query.MatchQuery#isMatch(java.lang.Object)
95
		 */
96
		public boolean isMatch(Object candidate) {
97
			if (candidate instanceof IInstallableUnit) {
98
				IInstallableUnit unit = (IInstallableUnit) candidate;
99
				IProvidedCapability[] provided = unit.getProvidedCapabilities();
100
				for (int i = 0; i < provided.length; i++) {
101
					if (provided[i].getNamespace().equals("osgi.bundle")) { //$NON-NLS-1$
102
						return true;
103
					}
104
				}
105
			}
106
			return false;
107
		}
108
	}
109
110
	/**
111
	 * Constructs a installable unit bundle container for the specified units.
89
	 * Constructs a installable unit bundle container for the specified units.
112
	 * 
90
	 * 
113
	 * @param ids IU identifiers
91
	 * @param ids IU identifiers
Lines 265-271 Link Here
265
		}
243
		}
266
244
267
		// query for bundles
245
		// query for bundles
268
		BundleQuery query = new BundleQuery();
246
		OSGiBundleQuery query = new OSGiBundleQuery();
269
		Collector collector = new Collector();
247
		Collector collector = new Collector();
270
		slice.query(query, collector, new SubProgressMonitor(subMonitor, 10));
248
		slice.query(query, collector, new SubProgressMonitor(subMonitor, 10));
271
249
Lines 423-429 Link Here
423
		}
401
		}
424
402
425
		// query for bundles
403
		// query for bundles
426
		collector = slice.query(new BundleQuery(), new Collector(), new SubProgressMonitor(subMonitor, 10));
404
		collector = slice.query(new OSGiBundleQuery(), new Collector(), new SubProgressMonitor(subMonitor, 10));
427
405
428
		if (subMonitor.isCanceled()) {
406
		if (subMonitor.isCanceled()) {
429
			return new IResolvedBundle[0];
407
			return new IResolvedBundle[0];
(-)src/org/eclipse/pde/internal/core/target/TargetDefinition.java (-2 / +4 lines)
Lines 17-26 Link Here
17
import org.eclipse.core.runtime.*;
17
import org.eclipse.core.runtime.*;
18
import org.eclipse.debug.core.DebugPlugin;
18
import org.eclipse.debug.core.DebugPlugin;
19
import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
19
import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo;
20
import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
20
import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
21
import org.eclipse.equinox.internal.provisional.p2.engine.*;
21
import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
22
import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
22
import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
23
import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
23
import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
24
import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
25
import org.eclipse.equinox.p2.engine.query.IUProfilePropertyQuery;
24
import org.eclipse.pde.internal.core.PDECore;
26
import org.eclipse.pde.internal.core.PDECore;
25
import org.eclipse.pde.internal.core.target.provisional.*;
27
import org.eclipse.pde.internal.core.target.provisional.*;
26
import org.xml.sax.SAXException;
28
import org.xml.sax.SAXException;
(-)src/org/eclipse/pde/internal/ui/build/RuntimeInstallJob.java (-1 / +2 lines)
Lines 20-25 Link Here
20
import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
20
import org.eclipse.equinox.internal.provisional.p2.engine.IProfile;
21
import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
21
import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry;
22
import org.eclipse.equinox.internal.provisional.p2.metadata.*;
22
import org.eclipse.equinox.internal.provisional.p2.metadata.*;
23
import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription;
23
import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitPatchDescription;
24
import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitPatchDescription;
24
import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
25
import org.eclipse.equinox.internal.provisional.p2.metadata.query.*;
25
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
26
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
Lines 215-221 Link Here
215
			iuPatchDescription.setLifeCycle(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, lifecycleUnit.getId(), new VersionRange(lifecycleUnit.getVersion(), true, lifecycleUnit.getVersion(), true), null, false, false, false));
216
			iuPatchDescription.setLifeCycle(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, lifecycleUnit.getId(), new VersionRange(lifecycleUnit.getVersion(), true, lifecycleUnit.getVersion(), true), null, false, false, false));
216
		}
217
		}
217
218
218
		iuPatchDescription.setProperty(IInstallableUnit.PROP_TYPE_PATCH, Boolean.TRUE.toString());
219
		iuPatchDescription.setProperty(InstallableUnitDescription.PROP_TYPE_PATCH, Boolean.TRUE.toString());
219
220
220
		return MetadataFactory.createInstallableUnitPatch(iuPatchDescription);
221
		return MetadataFactory.createInstallableUnitPatch(iuPatchDescription);
221
	}
222
	}
(-)src/org/eclipse/pde/ui/tests/target/IUBundleContainerTests.java (-19 / +3 lines)
Lines 21-27 Link Here
21
import org.eclipse.core.runtime.*;
21
import org.eclipse.core.runtime.*;
22
import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
22
import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
23
import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
23
import org.eclipse.equinox.internal.provisional.p2.metadata.query.Collector;
24
import org.eclipse.equinox.internal.provisional.p2.metadata.query.MatchQuery;
24
import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery;
25
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
25
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
26
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
26
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager;
27
import org.eclipse.pde.internal.core.PDECore;
27
import org.eclipse.pde.internal.core.PDECore;
Lines 72-95 Link Here
72
	 * @param repository repository
72
	 * @param repository repository
73
	 * @return installable unit
73
	 * @return installable unit
74
	 */
74
	 */
75
	protected IInstallableUnit getUnit(final String id, IMetadataRepository repository) {
75
	protected IInstallableUnit getUnit(String id, IMetadataRepository repository) {
76
		class IUQuery extends MatchQuery {
76
		Collector result = repository.query(new InstallableUnitQuery(id), new Collector(), null);
77
78
			/* (non-Javadoc)
79
			 * @see org.eclipse.equinox.internal.provisional.p2.query.MatchQuery#isMatch(java.lang.Object)
80
			 */
81
			public boolean isMatch(Object candidate) {
82
				if (candidate instanceof IInstallableUnit) {
83
					IInstallableUnit unit = (IInstallableUnit) candidate;
84
					if (unit.getId().equals(id)) {
85
						return true;
86
					}
87
				}
88
				return false;
89
			}
90
		}
91
		
92
		Collector result = repository.query(new IUQuery(), new Collector(), null);
93
		IInstallableUnit[] units  = (IInstallableUnit[]) result.toArray(IInstallableUnit.class);
77
		IInstallableUnit[] units  = (IInstallableUnit[]) result.toArray(IInstallableUnit.class);
94
		if (units.length == 1) {
78
		if (units.length == 1) {
95
			return units[0];
79
			return units[0];

Return to bug 292691