|
Lines 10-31
Link Here
|
| 10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
| 11 |
package org.eclipse.pde.internal.core.target; |
11 |
package org.eclipse.pde.internal.core.target; |
| 12 |
|
12 |
|
| 13 |
import org.eclipse.equinox.p2.metadata.IInstallableUnit; |
|
|
| 14 |
|
| 15 |
import java.io.File; |
13 |
import java.io.File; |
| 16 |
import java.net.URI; |
14 |
import java.net.URI; |
| 17 |
import java.util.*; |
15 |
import java.util.*; |
| 18 |
import org.eclipse.core.runtime.*; |
16 |
import org.eclipse.core.runtime.*; |
| 19 |
import org.eclipse.equinox.internal.p2.director.PermissiveSlicer; |
17 |
import org.eclipse.equinox.internal.p2.director.PermissiveSlicer; |
|
|
18 |
import org.eclipse.equinox.internal.p2.engine.PhaseSet; |
| 20 |
import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; |
19 |
import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; |
| 21 |
import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; |
20 |
import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; |
| 22 |
import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; |
21 |
import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; |
| 23 |
import org.eclipse.equinox.internal.provisional.p2.engine.*; |
|
|
| 24 |
import org.eclipse.equinox.internal.provisional.p2.metadata.Version; |
22 |
import org.eclipse.equinox.internal.provisional.p2.metadata.Version; |
| 25 |
import org.eclipse.equinox.internal.provisional.p2.metadata.query.*; |
23 |
import org.eclipse.equinox.internal.provisional.p2.metadata.query.*; |
| 26 |
import org.eclipse.equinox.p2.engine.IEngine; |
24 |
import org.eclipse.equinox.p2.engine.*; |
| 27 |
import org.eclipse.equinox.p2.engine.IProvisioningPlan; |
|
|
| 28 |
import org.eclipse.equinox.p2.metadata.IArtifactKey; |
25 |
import org.eclipse.equinox.p2.metadata.IArtifactKey; |
|
|
26 |
import org.eclipse.equinox.p2.metadata.IInstallableUnit; |
| 29 |
import org.eclipse.equinox.p2.repository.IRepositoryManager; |
27 |
import org.eclipse.equinox.p2.repository.IRepositoryManager; |
| 30 |
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; |
28 |
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; |
| 31 |
import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository; |
29 |
import org.eclipse.equinox.p2.repository.artifact.IFileArtifactRepository; |
|
Lines 249-256
Link Here
|
| 249 |
|
247 |
|
| 250 |
// query for bundles |
248 |
// query for bundles |
| 251 |
OSGiBundleQuery query = new OSGiBundleQuery(); |
249 |
OSGiBundleQuery query = new OSGiBundleQuery(); |
| 252 |
Collector collector = new Collector(); |
250 |
Collector collector = slice.query(query, new SubProgressMonitor(subMonitor, 10)); |
| 253 |
slice.query(query, collector, new SubProgressMonitor(subMonitor, 10)); |
|
|
| 254 |
|
251 |
|
| 255 |
if (subMonitor.isCanceled()) { |
252 |
if (subMonitor.isCanceled()) { |
| 256 |
return new IResolvedBundle[0]; |
253 |
return new IResolvedBundle[0]; |
|
Lines 365-371
Link Here
|
| 365 |
slicer = new PermissiveSlicer(allMetadata, props, true, false, false, true, false); |
362 |
slicer = new PermissiveSlicer(allMetadata, props, true, false, false, true, false); |
| 366 |
} |
363 |
} |
| 367 |
IQueryable slice = slicer.slice(units, new SubProgressMonitor(subMonitor, 10)); |
364 |
IQueryable slice = slicer.slice(units, new SubProgressMonitor(subMonitor, 10)); |
| 368 |
Collector collector = slice.query(InstallableUnitQuery.ANY, new Collector(), new SubProgressMonitor(subMonitor, 10)); |
365 |
Collector collector = slice.query(InstallableUnitQuery.ANY, new SubProgressMonitor(subMonitor, 10)); |
| 369 |
|
366 |
|
| 370 |
if (subMonitor.isCanceled() || collector.isEmpty()) { |
367 |
if (subMonitor.isCanceled() || collector.isEmpty()) { |
| 371 |
return new IResolvedBundle[0]; |
368 |
return new IResolvedBundle[0]; |
|
Lines 407-413
Link Here
|
| 407 |
} |
404 |
} |
| 408 |
|
405 |
|
| 409 |
// query for bundles |
406 |
// query for bundles |
| 410 |
collector = slice.query(new OSGiBundleQuery(), new Collector(), new SubProgressMonitor(subMonitor, 10)); |
407 |
collector = slice.query(new OSGiBundleQuery(), new SubProgressMonitor(subMonitor, 10)); |
| 411 |
|
408 |
|
| 412 |
if (subMonitor.isCanceled()) { |
409 |
if (subMonitor.isCanceled()) { |
| 413 |
return new IResolvedBundle[0]; |
410 |
return new IResolvedBundle[0]; |
|
Lines 472-484
Link Here
|
| 472 |
fUnits = new IInstallableUnit[fIds.length]; |
469 |
fUnits = new IInstallableUnit[fIds.length]; |
| 473 |
for (int i = 0; i < fIds.length; i++) { |
470 |
for (int i = 0; i < fIds.length; i++) { |
| 474 |
InstallableUnitQuery query = new InstallableUnitQuery(fIds[i], fVersions[i]); |
471 |
InstallableUnitQuery query = new InstallableUnitQuery(fIds[i], fVersions[i]); |
| 475 |
Collector collector = profile.query(query, new Collector(), null); |
472 |
Collector collector = profile.query(query, null); |
| 476 |
if (collector.isEmpty()) { |
473 |
if (collector.isEmpty()) { |
| 477 |
// try repositories |
474 |
// try repositories |
| 478 |
URI[] repositories = resolveRepositories(); |
475 |
URI[] repositories = resolveRepositories(); |
| 479 |
for (int j = 0; j < repositories.length; j++) { |
476 |
for (int j = 0; j < repositories.length; j++) { |
| 480 |
IMetadataRepository repository = getRepository(repositories[j]); |
477 |
IMetadataRepository repository = getRepository(repositories[j]); |
| 481 |
collector = repository.query(query, new Collector(), null); |
478 |
collector = repository.query(query, null); |
| 482 |
if (!collector.isEmpty()) { |
479 |
if (!collector.isEmpty()) { |
| 483 |
break; |
480 |
break; |
| 484 |
} |
481 |
} |