diff options
author | Pascal Rapicault | 2011-05-06 03:17:15 +0000 |
---|---|---|
committer | Pascal Rapicault | 2011-05-06 03:17:15 +0000 |
commit | 5c45886212a6e9d856100864d5acb4ee07e28e80 (patch) | |
tree | 88db7c13e2c060d86ceac28d2e6b67193d22dd9d /bundles/org.eclipse.equinox.p2.repository.tools/src/org | |
parent | 388a6d0b41f52f400d95883462d6b13bb6168b89 (diff) | |
download | rt.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')
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 */ |