Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java8
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java33
2 files changed, 27 insertions, 14 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java
index d02c1b4ce..dccd26a45 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/AbstractApplication.java
@@ -118,6 +118,14 @@ public abstract class AbstractApplication {
throw new ProvisionException(Messages.AbstractApplication_no_valid_destinations);
}
+ public IMetadataRepository getDestinationMetadataRepository() {
+ return destinationMetadataRepository;
+ }
+
+ public IArtifactRepository getDestinationArtifactRepository() {
+ return destinationArtifactRepository;
+ }
+
protected IMetadataRepository initializeDestination(RepositoryDescriptor toInit, IMetadataRepositoryManager mgr) throws ProvisionException {
try {
IMetadataRepository repository = addRepository(mgr, toInit.getRepoLocation(), IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, null);
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java
index ccf1032b1..ed4749ad2 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/RemoveIUTask.java
@@ -27,20 +27,19 @@ import org.eclipse.osgi.util.NLS;
public class RemoveIUTask extends AbstractRepositoryTask {
- public RemoveIUTask() {
- application = new AbstractApplication() {
- public IStatus run(IProgressMonitor monitor) {
- return null;
- }
+ protected static class RemoveIUApplication extends AbstractApplication {
+ //Only need the application to reuse super's repo management.
+ public IStatus run(IProgressMonitor monitor) {
+ return null;
+ }
- public IMetadataRepository getCompositeMetadataRepository() {
- return destinationMetadataRepository;
- }
+ public void finalizeRepos() throws ProvisionException {
+ super.finalizeRepositories();
+ }
+ }
- public IArtifactRepository getCompositeArtifactRepository() {
- return destinationArtifactRepository;
- }
- };
+ public RemoveIUTask() {
+ this.application = new RemoveIUApplication();
}
public void execute() throws BuildException {
@@ -52,8 +51,8 @@ public class RemoveIUTask extends AbstractRepositoryTask {
if (application.getCompositeMetadataRepository() == null)
throw new BuildException(Messages.AbstractApplication_no_valid_destinations); //need a repo
- IMetadataRepository repository = application.getCompositeMetadataRepository();
- IArtifactRepository artifacts = application.getCompositeArtifactRepository();
+ IMetadataRepository repository = application.getDestinationMetadataRepository();
+ IArtifactRepository artifacts = application.getDestinationArtifactRepository();
for (Iterator iter = iuTasks.iterator(); iter.hasNext();) {
IUDescription iu = (IUDescription) iter.next();
@@ -76,6 +75,12 @@ public class RemoveIUTask extends AbstractRepositoryTask {
}
} catch (ProvisionException e) {
throw new BuildException(e);
+ } finally {
+ try {
+ ((RemoveIUApplication) application).finalizeRepos();
+ } catch (ProvisionException e) {
+ throw new BuildException(e);
+ }
}
}
}

Back to the top