Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault2011-05-06 03:17:15 +0000
committerPascal Rapicault2011-05-06 03:17:15 +0000
commit5c45886212a6e9d856100864d5acb4ee07e28e80 (patch)
tree88db7c13e2c060d86ceac28d2e6b67193d22dd9d /bundles/org.eclipse.equinox.p2.repository.tools/src/org
parent388a6d0b41f52f400d95883462d6b13bb6168b89 (diff)
downloadrt.equinox.p2-5c45886212a6e9d856100864d5acb4ee07e28e80.tar.gz
rt.equinox.p2-5c45886212a6e9d856100864d5acb4ee07e28e80.tar.xz
rt.equinox.p2-5c45886212a6e9d856100864d5acb4ee07e28e80.zip
Bug 344851 - [repository] Composite repo "create" ant tasks should have the ability to set atomic flag
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository.tools/src/org')
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java5
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java9
2 files changed, 14 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java
index 71778e857..03d3a1fda 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/CompositeRepositoryApplication.java
@@ -15,6 +15,7 @@ import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.*;
import org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository;
+import org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository;
import org.eclipse.equinox.internal.p2.repository.helpers.RepositoryHelper;
import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
@@ -121,6 +122,8 @@ public class CompositeRepositoryApplication extends AbstractApplication {
//No existing repository; create a new repository at destinationLocation but with source's attributes.
IArtifactRepository repo = mgr.createRepository(toInit.getRepoLocation(), toInit.getName() != null ? toInit.getName() : (source != null ? source.getName() : Messages.CompositeRepository_default_artifactRepo_name), IArtifactRepositoryManager.TYPE_COMPOSITE_REPOSITORY, source != null ? source.getProperties() : null);
initRepository(repo, toInit);
+ if (toInit.getAtomic() != null)
+ repo.setProperty(CompositeMetadataRepository.PROP_ATOMIC_LOADING, Boolean.toString(Boolean.valueOf(toInit.getAtomic())));
return repo;
} catch (IllegalStateException e) {
mgr.removeRepository(toInit.getRepoLocation());
@@ -159,6 +162,8 @@ public class CompositeRepositoryApplication extends AbstractApplication {
//No existing repository; create a new repository at destinationLocation but with source's attributes.
IMetadataRepository repo = mgr.createRepository(toInit.getRepoLocation(), toInit.getName() != null ? toInit.getName() : (source != null ? source.getName() : Messages.CompositeRepository_default_metadataRepo_name), IMetadataRepositoryManager.TYPE_COMPOSITE_REPOSITORY, source != null ? source.getProperties() : null);
initRepository(repo, toInit);
+ if (toInit.getAtomic() != null)
+ repo.setProperty(CompositeMetadataRepository.PROP_ATOMIC_LOADING, Boolean.toString(Boolean.valueOf(toInit.getAtomic())));
return repo;
} catch (IllegalStateException e) {
mgr.removeRepository(toInit.getRepoLocation());
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java
index 2482a61e0..6b1d9c04f 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RepositoryDescriptor.java
@@ -29,6 +29,7 @@ public class RepositoryDescriptor {
private int kind = TYPE_BOTH;
private URI originalLocation = null;
private boolean optional = false;
+ private String atomic = null;
public void setCompressed(boolean compress) {
compressed = compress;
@@ -103,6 +104,14 @@ public class RepositoryDescriptor {
kind = determineKind(repoKind);
}
+ public void setAtomic(String booleanForAtomic) {
+ atomic = booleanForAtomic;
+ }
+
+ public String getAtomic() {
+ return atomic;
+ }
+
/*
* Determine the repository type
*/

Back to the top