From cd3d5f062bf50a56e5d0fb2f71cd7bf8e76cf87c Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Wed, 6 Dec 2023 22:32:30 +0100 Subject: [PATCH] Adapt to removed support for loading pack.gz packaged artifacts in P2 Eclipse P2 got its support for loading pack.gz packed artifacts from repositories finally removed in https://github.com/eclipse-equinox/p2/pull/310. In order to fix the tests, remove packed duplicates from and replace only packed ecf artifact with unpacked eclipse.core.runtime artifact in test repository at '\resources\repositories\packgz'. (cherry picked from commit da254b3fb1ad2cfd56c28b9111cb1eb5db8ca13e) --- .../CompositeArtifactProviderTestBase.java | 4 +- .../LocalArtifactRepositoryP2APITest.java | 71 ++++++--------- .../MirroringArtifactProviderErrorTest.java | 17 ++-- .../tycho/test/util/P2Repositories.java | 29 ------ .../test/util/TestRepositoryContent.java | 15 ++- .../repositories/e342_3/artifacts.xml | 30 ++++++ .../{packgz => e342_3}/content.xml | 86 ++++++++++-------- ...eclipse.osgi_3.4.3.R34x_v20081215-1030.jar | Bin .../plugins/org.eclipse.swt_3.6.1.v3655c.jar | Bin 0 -> 17322 bytes .../artifacts.xml | 32 ++----- ...eclipse.osgi_3.4.3.R34x_v20081215-1030.jar | Bin .../local/.meta/p2-artifacts.properties | 2 +- ...ecf-3.1.300.v20120319-0616-p2artifacts.xml | 14 --- ...3.1.300.v20120319-0616-pack200.jar.pack.gz | Bin 703 -> 0 bytes ...-3.4.3.R34x_v20081215-1030-p2artifacts.xml | 13 +-- ....3.R34x_v20081215-1030-pack200.jar.pack.gz | Bin 1723 -> 0 bytes ...g.eclipse.swt-3.6.1.v3655c-p2artifacts.xml | 10 ++ .../org.eclipse.swt-3.6.1.v3655c.jar | Bin 0 -> 17322 bytes .../repositories/packgz/artifacts.xml | 46 ---------- ...pse.ecf_3.1.300.v20120319-0616.jar.pack.gz | Bin 703 -> 0 bytes ...osgi_3.4.3.R34x_v20081215-1030.jar.pack.gz | Bin 1723 -> 0 bytes ...pse.ecf_3.1.300.v20120319-0616.jar.pack.gz | Bin 60 -> 0 bytes 22 files changed, 142 insertions(+), 227 deletions(-) delete mode 100644 tycho-core/src/test/java/org/eclipse/tycho/test/util/P2Repositories.java create mode 100644 tycho-core/src/test/resources/repositories/e342_3/artifacts.xml rename tycho-core/src/test/resources/repositories/{packgz => e342_3}/content.xml (86%) rename tycho-core/src/test/resources/repositories/{packgz => e342_3}/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar (100%) create mode 100644 tycho-core/src/test/resources/repositories/e342_3/plugins/org.eclipse.swt_3.6.1.v3655c.jar rename tycho-core/src/test/resources/repositories/{packgz_corrupt => e342_corrupt}/artifacts.xml (54%) rename tycho-core/src/test/resources/repositories/{packgz_corrupt => e342_corrupt}/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar (100%) delete mode 100644 tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-p2artifacts.xml delete mode 100644 tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-pack200.jar.pack.gz delete mode 100644 tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-pack200.jar.pack.gz create mode 100644 tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c-p2artifacts.xml create mode 100644 tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c.jar delete mode 100644 tycho-core/src/test/resources/repositories/packgz/artifacts.xml delete mode 100644 tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar.pack.gz delete mode 100644 tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar.pack.gz delete mode 100644 tycho-core/src/test/resources/repositories/packgz_corrupt/plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar.pack.gz diff --git a/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/CompositeArtifactProviderTestBase.java b/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/CompositeArtifactProviderTestBase.java index a5ea5bec56..a8c25ccd7b 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/CompositeArtifactProviderTestBase.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/CompositeArtifactProviderTestBase.java @@ -244,13 +244,13 @@ public void testGetArtifactDescriptorsDoesNotReturnDuplicates() { List result = Arrays.asList(subject.getArtifactDescriptors(BUNDLE_A_KEY)); assertThat(result, hasItem(inCanonicalFormat())); - assertEquals(2, result.size()); // no duplicates + assertEquals(1, result.size()); // no duplicates } @Test public void testContainsArtifactDescriptor() { assertTrue(subject.contains(canonicalDescriptorFor(BUNDLE_A_KEY))); - assertFalse(subject.contains(canonicalDescriptorFor(BUNDLE_B_KEY))); + assertTrue(subject.contains(canonicalDescriptorFor(BUNDLE_B_KEY))); } @Test diff --git a/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/LocalArtifactRepositoryP2APITest.java b/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/LocalArtifactRepositoryP2APITest.java index 12233b4d31..5fc65eec3b 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/LocalArtifactRepositoryP2APITest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/LocalArtifactRepositoryP2APITest.java @@ -20,6 +20,7 @@ import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -81,28 +82,27 @@ public class LocalArtifactRepositoryP2APITest extends TychoPlexusTestCase { private static final Set ARTIFACT_A_CONTENT = TestRepositoryContent.BUNDLE_A_FILES; private static final IArtifactDescriptor ARTIFACT_A_CANONICAL = localCanonicalDescriptorFor(ARTIFACT_A_KEY); - private static final IArtifactDescriptor ARTIFACT_A_PACKED = localPackedDescriptorFor(ARTIFACT_A_KEY); - private static final IArtifactDescriptor ARTIFACT_B_PACKED = localPackedDescriptorFor(ARTIFACT_B_KEY); - // not in the repository! + private static final IArtifactDescriptor ARTIFACT_A_PACKED = localPackedDescriptorFor(ARTIFACT_A_KEY); // not in the repository! private static final IArtifactDescriptor ARTIFACT_B_CANONICAL = localCanonicalDescriptorFor(ARTIFACT_B_KEY); + private static final IArtifactDescriptor ARTIFACT_B_PACKED = localPackedDescriptorFor(ARTIFACT_B_KEY); // not in the repository! private static final String ARTIFACT_A_CANONICAL_MD5 = TestRepositoryContent.BUNDLE_A_CONTENT_MD5; private static final IArtifactDescriptor ARTIFACT_A_DESCRIPTOR_1 = ARTIFACT_A_CANONICAL; - private static final IArtifactDescriptor ARTIFACT_A_DESCRIPTOR_2 = ARTIFACT_A_PACKED; - private static final IArtifactDescriptor ARTIFACT_B_DESCRIPTOR = ARTIFACT_B_PACKED; + private static final IArtifactDescriptor ARTIFACT_A_DESCRIPTOR_2 = ARTIFACT_A_PACKED; // not in the repository! + private static final IArtifactDescriptor ARTIFACT_B_DESCRIPTOR = ARTIFACT_B_CANONICAL; // not in the repository private static final IArtifactKey OTHER_KEY = TestRepositoryContent.NOT_CONTAINED_ARTIFACT_KEY; - private static final IArtifactDescriptor OTHER_DESCRIPTOR = ARTIFACT_B_CANONICAL; + private static final IArtifactDescriptor OTHER_DESCRIPTOR = ARTIFACT_B_PACKED; // not (yet) in the repository private static final IArtifactKey NEW_KEY = TestRepositoryContent.NOT_CONTAINED_ARTIFACT_KEY; private static final IArtifactDescriptor NEW_DESCRIPTOR = localPackedDescriptorFor(NEW_KEY); private static final Set ORIGINAL_KEYS = new HashSet<>(Arrays.asList(ARTIFACT_A_KEY, ARTIFACT_B_KEY)); - private static final Set ORIGINAL_DESCRIPTORS = new HashSet<>( - Arrays.asList(ARTIFACT_A_CANONICAL, ARTIFACT_A_PACKED, ARTIFACT_B_PACKED)); + private static final Set ORIGINAL_DESCRIPTORS = Set.of( // + ARTIFACT_A_CANONICAL, ARTIFACT_B_CANONICAL); @Rule public TemporaryLocalMavenRepository temporaryLocalMavenRepo = new TemporaryLocalMavenRepository(); @@ -159,8 +159,8 @@ public void testGetDescriptors() { List result = Arrays.asList(subject.getArtifactDescriptors(ARTIFACT_A_KEY)); assertThat(result, hasItem(ARTIFACT_A_DESCRIPTOR_1)); - assertThat(result, hasItem(ARTIFACT_A_DESCRIPTOR_2)); - assertEquals(2, result.size()); + assertThat(result, not(hasItem(ARTIFACT_A_DESCRIPTOR_2))); + assertEquals(1, result.size()); } @Test @@ -185,7 +185,7 @@ public void testQueryDescriptors() { Set result = allDescriptorsIn(subject); assertThat(result, hasItem(ARTIFACT_A_DESCRIPTOR_1)); - assertThat(result, hasItem(ARTIFACT_A_DESCRIPTOR_2)); + assertThat(result, not(hasItem(ARTIFACT_A_DESCRIPTOR_2))); assertThat(result, hasItem(ARTIFACT_B_DESCRIPTOR)); assertEquals(ORIGINAL_DESCRIPTORS, result); } @@ -199,16 +199,6 @@ public void testRemoveLastDescriptorOfKey() { assertTotal(-1, -1); } - @Test - public void testRemoveOneOfDescriptorsOfKey() { - subject.removeDescriptor(ARTIFACT_A_DESCRIPTOR_1); - - assertFalse(subject.contains(ARTIFACT_A_DESCRIPTOR_1)); - assertTrue(subject.contains(ARTIFACT_A_DESCRIPTOR_2)); - assertTrue(subject.contains(ARTIFACT_A_KEY)); - assertTotal(0, -1); - } - @Test public void testRemoveAllDescriptorsOfKey() { subject.removeDescriptors(new IArtifactDescriptor[] { ARTIFACT_A_DESCRIPTOR_1, ARTIFACT_A_DESCRIPTOR_2 }); @@ -216,7 +206,7 @@ public void testRemoveAllDescriptorsOfKey() { assertFalse(subject.contains(ARTIFACT_A_DESCRIPTOR_1)); assertFalse(subject.contains(ARTIFACT_A_DESCRIPTOR_2)); assertFalse(subject.contains(ARTIFACT_A_KEY)); - assertTotal(-1, -2); + assertTotal(-1, -1); } @Test @@ -244,7 +234,7 @@ public void testRemoveKey() { assertFalse(subject.contains(ARTIFACT_A_KEY)); assertFalse(subject.contains(ARTIFACT_A_DESCRIPTOR_1)); assertFalse(subject.contains(ARTIFACT_A_DESCRIPTOR_2)); - assertTotal(-1, -2); + assertTotal(-1, -1); } @Test @@ -253,7 +243,7 @@ public void testRemoveKeys() { assertFalse(subject.contains(ARTIFACT_A_KEY)); assertFalse(subject.contains(ARTIFACT_B_KEY)); - assertTotal(-2, -3); + assertTotal(-2, -2); } @Test @@ -271,7 +261,7 @@ public void testRemoveAll() { assertTrue(allKeysIn(subject).isEmpty()); assertTrue(allDescriptorsIn(subject).isEmpty()); - assertTotal(-2, -3); + assertTotal(-2, -2); } @Test @@ -288,25 +278,16 @@ public void testGetArtifactFileOfNonContainedKey() { assertNull(result); } - @Test - public void testGetArtifactFileOfKeyWithoutCanonicalFormat() { - assertFalse(subject.contains(ARTIFACT_B_CANONICAL)); // self-test - - File result = subject.getArtifactFile(ARTIFACT_B_KEY); - - assertNull(result); - } - @Test public void testGetRawArtifactFile() { - File result = subject.getArtifactFile(ARTIFACT_B_PACKED); + File result = subject.getArtifactFile(ARTIFACT_B_CANONICAL); assertThat(result, is(artifactLocationOf(ARTIFACT_B_KEY, ".jar"))); } @Test public void testGetRawArtifactFileOfNonContainedFormat() { - File result = subject.getArtifactFile(ARTIFACT_B_CANONICAL); + File result = subject.getArtifactFile(ARTIFACT_B_PACKED); assertNull(result); } @@ -333,7 +314,7 @@ public void testGetNonContainedArtifact() throws Exception { @Test public void testGetCorruptedArtifact() throws Exception { // simulate corruption of the artifact in the file system - assertTrue(artifactLocationOf(ARTIFACT_B_KEY, "-pack200.jar.pack.gz").delete()); // this is the only format + assertTrue(artifactLocationOf(ARTIFACT_B_KEY, ".jar").delete()); // this is the only format testSink = newArtifactSinkFor(ARTIFACT_B_KEY); status = subject.getArtifact(testSink, null); @@ -409,11 +390,11 @@ public void testGetRawArtifactForCanonicalFormat() throws Exception { @Test public void testGetRawArtifactOfNonContainedFormat() throws Exception { - assertTrue(subject.contains(ARTIFACT_B_PACKED)); - assertFalse(subject.contains(ARTIFACT_B_CANONICAL)); + assertTrue(subject.contains(ARTIFACT_B_CANONICAL)); + assertFalse(subject.contains(ARTIFACT_B_PACKED)); - // getRawArtifact does not convert from packed to canonical format - rawTestSink = newRawArtifactSinkFor(ARTIFACT_B_CANONICAL); + // getRawArtifact does not convert from canonical to packed format + rawTestSink = newRawArtifactSinkFor(ARTIFACT_B_PACKED); status = subject.getRawArtifact(rawTestSink, null); assertFalse(rawTestSink.writeIsStarted()); @@ -424,7 +405,7 @@ public void testGetRawArtifactOfNonContainedFormat() throws Exception { @Test public void testGetCorruptedRawArtifact() throws Exception { // simulate corruption of the artifact in the file system - assertTrue(artifactLocationOf(ARTIFACT_B_KEY, "-pack200.jar.pack.gz").delete()); + assertTrue(artifactLocationOf(ARTIFACT_B_KEY, ".jar").delete()); rawTestSink = newRawArtifactSinkFor(ARTIFACT_B_PACKED); status = subject.getRawArtifact(rawTestSink, null); @@ -450,10 +431,10 @@ public void testGetRawArtifactForCanonicalFormatToStream() throws Exception { @SuppressWarnings("deprecation") @Test public void testGetRawArtifactOfNonContainedFormatToStream() { - assertFalse(subject.contains(ARTIFACT_B_CANONICAL)); + assertFalse(subject.contains(ARTIFACT_B_PACKED)); - // getRawArtifact does not convert from packed to canonical format - status = subject.getRawArtifact(ARTIFACT_B_CANONICAL, testOutputStream, null); + // getRawArtifact does not convert from canonical to packed format + status = subject.getRawArtifact(ARTIFACT_B_PACKED, testOutputStream, null); assertEquals(0, testOutputStream.writtenBytes()); assertThat(testOutputStream.getStatus(), is(errorStatus())); // from IStateful diff --git a/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/MirroringArtifactProviderErrorTest.java b/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/MirroringArtifactProviderErrorTest.java index b383f44afd..ab7a9b9f26 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/MirroringArtifactProviderErrorTest.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/p2resolver/MirroringArtifactProviderErrorTest.java @@ -16,6 +16,7 @@ import static org.eclipse.tycho.test.util.ProbeArtifactSink.newArtifactSinkFor; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThrows; import org.eclipse.equinox.p2.core.IProvisioningAgent; import org.eclipse.equinox.p2.metadata.IArtifactKey; @@ -36,7 +37,7 @@ public class MirroringArtifactProviderErrorTest extends TychoPlexusTestCase { - private static final IArtifactKey CORRUPT_ARTIFACT = TestRepositoryContent.BUNDLE_B_KEY; + private static final IArtifactKey CORRUPT_ARTIFACT = TestRepositoryContent.BUNDLE_A_KEY; @Rule public LogVerifier logVerifier = new LogVerifier(); @@ -58,19 +59,15 @@ public void before() throws Exception { new MockMavenContext(null, logVerifier.getLogger())); } - @Test(expected = MirroringFailedException.class) + @Test public void testMirrorCorruptArtifact() throws Exception { logVerifier.expectError(CORRUPT_ARTIFACT.toString()); testSink = newArtifactSinkFor(CORRUPT_ARTIFACT); - try { - // here we expect an exception, an not (!) an error status, to be consistent with other methods that mirror but don't return a status - subject.getArtifact(testSink, null); - - } finally { - assertNotMirrored(CORRUPT_ARTIFACT); - assertFalse(testSink.writeIsStarted()); - } + // here we expect an exception, an not (!) an error status, to be consistent with other methods that mirror but don't return a status + assertThrows(MirroringFailedException.class, () -> subject.getArtifact(testSink, null)); + assertNotMirrored(CORRUPT_ARTIFACT); + assertFalse(testSink.writeIsStarted()); } private void assertNotMirrored(IArtifactKey key) { diff --git a/tycho-core/src/test/java/org/eclipse/tycho/test/util/P2Repositories.java b/tycho-core/src/test/java/org/eclipse/tycho/test/util/P2Repositories.java deleted file mode 100644 index 2175ff4b4e..0000000000 --- a/tycho-core/src/test/java/org/eclipse/tycho/test/util/P2Repositories.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.eclipse.tycho.test.util; - -import java.net.URI; - -import org.eclipse.tycho.core.test.utils.ResourceUtil; - -/** - * p2 repository resources used for multiple tests. - */ -public enum P2Repositories { - ECLIPSE_342("e342"), PACK_GZ("packgz"); - - private final String path; - - P2Repositories(String path) { - this.path = path; - } - - public URI toURI() { - return ResourceUtil.resourceFile("repositories/" + path).toURI(); - - } - - @Override - public String toString() { - return toURI().toString(); - } - -} diff --git a/tycho-core/src/test/java/org/eclipse/tycho/test/util/TestRepositoryContent.java b/tycho-core/src/test/java/org/eclipse/tycho/test/util/TestRepositoryContent.java index 280652bf7a..0051362989 100644 --- a/tycho-core/src/test/java/org/eclipse/tycho/test/util/TestRepositoryContent.java +++ b/tycho-core/src/test/java/org/eclipse/tycho/test/util/TestRepositoryContent.java @@ -26,8 +26,8 @@ public final class TestRepositoryContent { public static final IArtifactKey BUNDLE_A_KEY = new ArtifactKey("osgi.bundle", "org.eclipse.osgi", Version.parseVersion("3.4.3.R34x_v20081215-1030")); - public static final IArtifactKey BUNDLE_B_KEY = new ArtifactKey("osgi.bundle", "org.eclipse.ecf", - Version.parseVersion("3.1.300.v20120319-0616")); + public static final IArtifactKey BUNDLE_B_KEY = new ArtifactKey("osgi.bundle", "org.eclipse.swt", + Version.parseVersion("3.6.1.v3655c")); public static final Set BUNDLE_A_FILES = new HashSet<>(Arrays.asList("about_files/", "META-INF/", "META-INF/MANIFEST.MF", "org/", "org/eclipse/", "org/eclipse/core/", "org/eclipse/core/runtime/", @@ -73,13 +73,10 @@ public final class TestRepositoryContent { // repositories (of regular p2 type) containing the test data /** Repository with bundle A */ - public static final URI REPO_BUNDLE_A = P2Repositories.ECLIPSE_342.toURI(); + public static final URI REPO_BUNDLE_A = ResourceUtil.resourceFile("repositories/e342").toURI(); public static final URI REPO2_BUNDLE_A = ResourceUtil.resourceFile("repositories2/e342").toURI(); - /** - * Repository with bundles A and B. Bundle A is available both in packed and canonical format, - * bundle B only in packed format. - */ - public static final URI REPO_BUNDLE_AB = P2Repositories.PACK_GZ.toURI(); + /** Repository with bundles A and B. Both bundles are available in canonical format. */ + public static final URI REPO_BUNDLE_AB = ResourceUtil.resourceFile("repositories/e342_3").toURI(); /** Repository that claims to contain bundle A, but accesses to the artifact file will fail */ public static final URI REPO_BUNDLE_A_CORRUPT = ResourceUtil.resourceFile("repositories/e342_missing_file").toURI(); @@ -88,7 +85,7 @@ public final class TestRepositoryContent { * format, but the artifact is broken. Bundle A is contained in packed format (artifact missing) * and in canonical format (working). */ - public static final URI REPO_BUNLDE_AB_PACK_CORRUPT = ResourceUtil.resourceFile("repositories/packgz_corrupt") + public static final URI REPO_BUNLDE_AB_PACK_CORRUPT = ResourceUtil.resourceFile("repositories/e342_corrupt") .toURI(); } diff --git a/tycho-core/src/test/resources/repositories/e342_3/artifacts.xml b/tycho-core/src/test/resources/repositories/e342_3/artifacts.xml new file mode 100644 index 0000000000..3bea98e5f5 --- /dev/null +++ b/tycho-core/src/test/resources/repositories/e342_3/artifacts.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tycho-core/src/test/resources/repositories/packgz/content.xml b/tycho-core/src/test/resources/repositories/e342_3/content.xml similarity index 86% rename from tycho-core/src/test/resources/repositories/packgz/content.xml rename to tycho-core/src/test/resources/repositories/e342_3/content.xml index 7f8263e091..8e86499268 100644 --- a/tycho-core/src/test/resources/repositories/packgz/content.xml +++ b/tycho-core/src/test/resources/repositories/e342_3/content.xml @@ -1,6 +1,6 @@ - + @@ -267,46 +267,58 @@ - - - - - + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + - - + + - - - - - Import-Package: org.eclipse.core.runtime.jobs,org.eclipse.equinox.concurrent.future;version="1.0.0";resolution:=optional,org.osgi.framework;version="1.3.0",org.osgi.service.log;version="1.3.0",org.osgi.util.tracker;version="1.3.2" Bundle-ManifestVersion: 2 Created-By: 1.5.0_22-b03 (Sun Microsystems Inc.) Manifest-Version: 1.0 Bundle-Name: %plugin.name Bundle-Vendor: %plugin.provider Bundle-ActivationPolicy: lazy Ant-Version: Apache Ant 1.7.1 Bundle-Version: 3.1.300.v20120319-0616 Export-Package: org.eclipse.ecf.core;version="3.0.0",org.eclipse.ecf.core.events,org.eclipse.ecf.core.jobs;version="1.0";x-internal:=true,org.eclipse.ecf.core.provider,org.eclipse.ecf.core.security,org.eclipse.ecf.core.start,org.eclipse.ecf.core.status;version="1.0";x-internal:=true,org.eclipse.ecf.core.user,org.eclipse.ecf.core.util,org.eclipse.ecf.internal.core;x-internal:=true Require-Bundle: org.eclipse.equinox.common,org.eclipse.equinox.registry,org.eclipse.ecf.identity;visibility:=reexport Bundle-Activator: org.eclipse.ecf.internal.core.ECFPlugin Bundle-SymbolicName: org.eclipse.ecf;singleton:=true Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4 Bundle-Localization: plugin - + + + + Bundle-Vendor: %providerName +Bundle-ManifestVersion: 2 +Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,J2SE-1.3 +Bundle-Name: %pluginName +Bundle-Localization: plugin +Eclipse-ExtensibleAPI: true +Manifest-Version: 1.0 +DynamicImport-Package: org.eclipse.swt.accessibility2, org.mozilla.xpcom +Bundle-SymbolicName: org.eclipse.swt; singleton:=true +Bundle-Version: 3.6.1.v3655c +Export-Package: org.eclipse.swt,org.eclipse.swt.accessibility,org.eclipse.swt.awt,org.eclipse.swt.browser,org.eclipse.swt.custom,org.eclipse.swt.dnd,org.eclipse.swt.events,org.eclipse.swt.graphics,org.eclipse.swt.layout,org.eclipse.swt.opengl,org.eclipse.swt.printing,org.eclipse.swt.program,org.eclipse.swt.widgets,org.eclipse.swt.internal; x-internal:=true,org.eclipse.swt.internal.image; x-internal:=true,org.eclipse.swt.internal.theme; x-internal:=true diff --git a/tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar b/tycho-core/src/test/resources/repositories/e342_3/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar similarity index 100% rename from tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar rename to tycho-core/src/test/resources/repositories/e342_3/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar diff --git a/tycho-core/src/test/resources/repositories/e342_3/plugins/org.eclipse.swt_3.6.1.v3655c.jar b/tycho-core/src/test/resources/repositories/e342_3/plugins/org.eclipse.swt_3.6.1.v3655c.jar new file mode 100644 index 0000000000000000000000000000000000000000..1cfa169ca171e715eabccff3f86dc1ce3c158f25 GIT binary patch literal 17322 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 z

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 GxBmmC^CX4< literal 0 HcmV?d00001 diff --git a/tycho-core/src/test/resources/repositories/packgz_corrupt/artifacts.xml b/tycho-core/src/test/resources/repositories/e342_corrupt/artifacts.xml similarity index 54% rename from tycho-core/src/test/resources/repositories/packgz_corrupt/artifacts.xml rename to tycho-core/src/test/resources/repositories/e342_corrupt/artifacts.xml index cad6d3a361..7fdfc84bc4 100644 --- a/tycho-core/src/test/resources/repositories/packgz_corrupt/artifacts.xml +++ b/tycho-core/src/test/resources/repositories/e342_corrupt/artifacts.xml @@ -1,49 +1,31 @@ - - - + + - - + - - - + + - - - - - + - + - - - - - - - - - - - diff --git a/tycho-core/src/test/resources/repositories/packgz_corrupt/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar b/tycho-core/src/test/resources/repositories/e342_corrupt/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar similarity index 100% rename from tycho-core/src/test/resources/repositories/packgz_corrupt/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar rename to tycho-core/src/test/resources/repositories/e342_corrupt/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar diff --git a/tycho-core/src/test/resources/repositories/local/.meta/p2-artifacts.properties b/tycho-core/src/test/resources/repositories/local/.meta/p2-artifacts.properties index 45ec303c1c..204082b29e 100644 --- a/tycho-core/src/test/resources/repositories/local/.meta/p2-artifacts.properties +++ b/tycho-core/src/test/resources/repositories/local/.meta/p2-artifacts.properties @@ -1,2 +1,2 @@ p2.osgi.bundle:org.eclipse.osgi:3.4.3.R34x_v20081215-1030 -p2.osgi.bundle:org.eclipse.ecf:3.1.300.v20120319-0616 +p2.osgi.bundle:org.eclipse.swt:3.6.1.v3655c diff --git a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-p2artifacts.xml b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-p2artifacts.xml deleted file mode 100644 index 9f2978eeea..0000000000 --- a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-p2artifacts.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-pack200.jar.pack.gz b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.ecf/3.1.300.v20120319-0616/org.eclipse.ecf-3.1.300.v20120319-0616-pack200.jar.pack.gz deleted file mode 100644 index 4d16ac8cb1e976b1b5e7e7edd0d9bc27420691a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmV;w0zmyAiwFP!000000CiMBZ__Xo?id#`MMCfch>DOvYP=*JAX@d%l~n4~P8FTF zBG++)Sz-s<3C(^Dzl8$_PMkP%<;0yK#7nYf-P%@)n)p3`{@(k(=WqYMn|q&=#+QeU zuYZ3181LV0T>l<4?j0OV{IkA2IvpNP`lq9zKRZK{Atez@6h(|L?(FUVzTX)C{dxK5 z5*}-UIa^Sr?YC4aCV0nkkz*RiDGwrQj|IUIyTH1PBvBeNUI*XMk13Nh@RyXNMTXBa zCIycv*Bxu{dSJWAJsb+iE&+Us;pM1CndR|ZM2wu`n0727L$qQ`$)c+m4iZ zbNDiifuvZ|z&_54L4A&#cb;d@owoIKmU3&th!iSUn#Rf+ae|)JV5>Q=X?vzIig&xO z?4wM<_i^Q(ty4n;FWi?(3D!f4RHy5HbxXf?B~>CSFNjW0B*j0j)DbFVXd$7nPePsp z&idB&%IaknNS!f4Q6$3MNrmi47cPd1sJxlzHBG}b9#5qpR4E!*X>qq$Cs-!cl8^={ ldG3MUScb~#S+;*vFF~aNE4ahXUU}sh{{a-The?bD006HeOVj`W diff --git a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-p2artifacts.xml b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-p2artifacts.xml index adf2f7271c..6093d5397d 100644 --- a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-p2artifacts.xml +++ b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-p2artifacts.xml @@ -1,15 +1,10 @@ - - + - - - - - - - + + + diff --git a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-pack200.jar.pack.gz b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.osgi/3.4.3.R34x_v20081215-1030/org.eclipse.osgi-3.4.3.R34x_v20081215-1030-pack200.jar.pack.gz deleted file mode 100644 index 079ecba5510c52c503652bad3d87036887841f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1723 zcmV;s21NNEiwFP!000000IgSBZyQAv-n4aUZ{p_CLR!jYNC~tw-i_@9ibH_3aZpgx zMs?w}TCd0UsIwPlXPty!!++@m5<-Gk5HIk~A3z9kX7+Bc9f#IZ9MA4K-?^VN=f{74 zDbIZGD!;ar-~RsVkNv%-l6;nzl;Wbgs4OdY)$59~qFj?tmF4-lrKJlqSC#~i>2ahVSaA*@~m1c&X!7r(tJrRmoCEp z%kZvLg1>UHT$nE}!LKXjD}{nuyi#76yHqHy95$csRt_HR>xa9K4)&X^r`qAZ(RO_P ztV<~NbcgkHY*ONSST`Mpb>`cgSXehYhRYqM6PsgZ8#I34af1V&*CTq{@No3F?b{uS z1*qP4oadfS9ixMpjtAK0dY2g%K6cpi7{+vL&jI2NZu`A}%Ic-WNo8E-aL06Lhz>OD zRA<<8d}e~GxQiLKoY^_A;4-njYZTW`OE-d(-*-rD;g+`jYS-Svv5Z&Yjb&8?3>kA&6xs=dhJ1UD`8A^r)aTr7==$;Tal*)Y2^scGMqDl}S_?uNyoyP7 zO-=>|s5mNKi*rkhiYzd$l>n7hgky*pG;(L`&06Bi6f=%o8M4LXb!}6tYftK%C(j18 zjg5QNT6L>Z-KcM*NbQc$c`eWEC-_^RFx+XLKw$~vn@Mdp&{wrqvr^Tz)*rXNB>Ew- ziRD}Hpc?Z(aNJWydVL^XGo#;N!HMfIUTFn&7Whm0DXcs#U2ED=aM%@x^%N<1ETqm> zqjnUZM|c8;q+B(~BZ0#oiqrZ?;35v$eziUE{a9v!7u)zS)uI|GUF|VRkd#Ad6FMQZ zE+=VZv)>MT*v=}{(dwvzpnQ^C;jlQ1Ct--@$@V~`U(8gU$V8pqcnN?rD@{0U;R^r?w4EJ6f#3|D%#oGD5AC&;#;DKxE;!LX7zX_nd~mT<1+_)XyCu|yMa z8%?K{h*xGlEDbdYq`!0Gw&nk)BB1Q8VHJXGDWx1}(XSk5ygxIhR-7+9z9_ z<^deZ7F_eE;7j^!#yr_Krec$$YC5~dTuY|WQpA0PIodYht{3p_%{%I1{{_Uc}C;Pqeq4E0=sx7i5~i#5(3znCu&8a0WZ$bath^ zd$u>SEFz+SBR0VEuz{p#jZGS~oTuUBOuACGC5g+h?VQ9jR`bbfrc*<&2AnBHM+@_I zuDBq7d>5`yK`+dp`a~09Z9@|F*Yi|#YZ{Cj(iL@Ka`2SvcmyJOn$t>?o;-YqNNFbK z`&qu21RdQPL>|hE!*IaLs(S0ye$-ni-apW7^A3UqsJ9z~5rcXFVK5Bm z4p0mXLPf13=t7uDE+Df!GTbJ6v!$g$9fi-`n)hX^7RL3r@45}MipIcN7TxAD{4)Ypt7N21+RS@iW94thz zy$4b)mtt}6mISXng6WM3?I5vdqG0Vs!9z7=84xs+lN#@v@O(@jY);C9m(Bw8YLei8 Rr@%Q9;6EGsEWM)@004aXQFZ_T diff --git a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c-p2artifacts.xml b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c-p2artifacts.xml new file mode 100644 index 0000000000..98d8ed4dd4 --- /dev/null +++ b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c-p2artifacts.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c.jar b/tycho-core/src/test/resources/repositories/local/p2/osgi/bundle/org.eclipse.swt/3.6.1.v3655c/org.eclipse.swt-3.6.1.v3655c.jar new file mode 100644 index 0000000000000000000000000000000000000000..1cfa169ca171e715eabccff3f86dc1ce3c158f25 GIT binary patch literal 17322 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 z

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 GxBmmC^CX4< literal 0 HcmV?d00001 diff --git a/tycho-core/src/test/resources/repositories/packgz/artifacts.xml b/tycho-core/src/test/resources/repositories/packgz/artifacts.xml deleted file mode 100644 index 6a409338a5..0000000000 --- a/tycho-core/src/test/resources/repositories/packgz/artifacts.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar.pack.gz b/tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar.pack.gz deleted file mode 100644 index 4d16ac8cb1e976b1b5e7e7edd0d9bc27420691a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmV;w0zmyAiwFP!000000CiMBZ__Xo?id#`MMCfch>DOvYP=*JAX@d%l~n4~P8FTF zBG++)Sz-s<3C(^Dzl8$_PMkP%<;0yK#7nYf-P%@)n)p3`{@(k(=WqYMn|q&=#+QeU zuYZ3181LV0T>l<4?j0OV{IkA2IvpNP`lq9zKRZK{Atez@6h(|L?(FUVzTX)C{dxK5 z5*}-UIa^Sr?YC4aCV0nkkz*RiDGwrQj|IUIyTH1PBvBeNUI*XMk13Nh@RyXNMTXBa zCIycv*Bxu{dSJWAJsb+iE&+Us;pM1CndR|ZM2wu`n0727L$qQ`$)c+m4iZ zbNDiifuvZ|z&_54L4A&#cb;d@owoIKmU3&th!iSUn#Rf+ae|)JV5>Q=X?vzIig&xO z?4wM<_i^Q(ty4n;FWi?(3D!f4RHy5HbxXf?B~>CSFNjW0B*j0j)DbFVXd$7nPePsp z&idB&%IaknNS!f4Q6$3MNrmi47cPd1sJxlzHBG}b9#5qpR4E!*X>qq$Cs-!cl8^={ ldG3MUScb~#S+;*vFF~aNE4ahXUU}sh{{a-The?bD006HeOVj`W diff --git a/tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar.pack.gz b/tycho-core/src/test/resources/repositories/packgz/plugins/org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar.pack.gz deleted file mode 100644 index 079ecba5510c52c503652bad3d87036887841f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1723 zcmV;s21NNEiwFP!000000IgSBZyQAv-n4aUZ{p_CLR!jYNC~tw-i_@9ibH_3aZpgx zMs?w}TCd0UsIwPlXPty!!++@m5<-Gk5HIk~A3z9kX7+Bc9f#IZ9MA4K-?^VN=f{74 zDbIZGD!;ar-~RsVkNv%-l6;nzl;Wbgs4OdY)$59~qFj?tmF4-lrKJlqSC#~i>2ahVSaA*@~m1c&X!7r(tJrRmoCEp z%kZvLg1>UHT$nE}!LKXjD}{nuyi#76yHqHy95$csRt_HR>xa9K4)&X^r`qAZ(RO_P ztV<~NbcgkHY*ONSST`Mpb>`cgSXehYhRYqM6PsgZ8#I34af1V&*CTq{@No3F?b{uS z1*qP4oadfS9ixMpjtAK0dY2g%K6cpi7{+vL&jI2NZu`A}%Ic-WNo8E-aL06Lhz>OD zRA<<8d}e~GxQiLKoY^_A;4-njYZTW`OE-d(-*-rD;g+`jYS-Svv5Z&Yjb&8?3>kA&6xs=dhJ1UD`8A^r)aTr7==$;Tal*)Y2^scGMqDl}S_?uNyoyP7 zO-=>|s5mNKi*rkhiYzd$l>n7hgky*pG;(L`&06Bi6f=%o8M4LXb!}6tYftK%C(j18 zjg5QNT6L>Z-KcM*NbQc$c`eWEC-_^RFx+XLKw$~vn@Mdp&{wrqvr^Tz)*rXNB>Ew- ziRD}Hpc?Z(aNJWydVL^XGo#;N!HMfIUTFn&7Whm0DXcs#U2ED=aM%@x^%N<1ETqm> zqjnUZM|c8;q+B(~BZ0#oiqrZ?;35v$eziUE{a9v!7u)zS)uI|GUF|VRkd#Ad6FMQZ zE+=VZv)>MT*v=}{(dwvzpnQ^C;jlQ1Ct--@$@V~`U(8gU$V8pqcnN?rD@{0U;R^r?w4EJ6f#3|D%#oGD5AC&;#;DKxE;!LX7zX_nd~mT<1+_)XyCu|yMa z8%?K{h*xGlEDbdYq`!0Gw&nk)BB1Q8VHJXGDWx1}(XSk5ygxIhR-7+9z9_ z<^deZ7F_eE;7j^!#yr_Krec$$YC5~dTuY|WQpA0PIodYht{3p_%{%I1{{_Uc}C;Pqeq4E0=sx7i5~i#5(3znCu&8a0WZ$bath^ zd$u>SEFz+SBR0VEuz{p#jZGS~oTuUBOuACGC5g+h?VQ9jR`bbfrc*<&2AnBHM+@_I zuDBq7d>5`yK`+dp`a~09Z9@|F*Yi|#YZ{Cj(iL@Ka`2SvcmyJOn$t>?o;-YqNNFbK z`&qu21RdQPL>|hE!*IaLs(S0ye$-ni-apW7^A3UqsJ9z~5rcXFVK5Bm z4p0mXLPf13=t7uDE+Df!GTbJ6v!$g$9fi-`n)hX^7RL3r@45}MipIcN7TxAD{4)Ypt7N21+RS@iW94thz zy$4b)mtt}6mISXng6WM3?I5vdqG0Vs!9z7=84xs+lN#@v@O(@jY);C9m(Bw8YLei8 Rr@%Q9;6EGsEWM)@004aXQFZ_T diff --git a/tycho-core/src/test/resources/repositories/packgz_corrupt/plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar.pack.gz b/tycho-core/src/test/resources/repositories/packgz_corrupt/plugins/org.eclipse.ecf_3.1.300.v20120319-0616.jar.pack.gz deleted file mode 100644 index a792498201bf9c368437cea543832326913d0a34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60 zcmb2|=3syT>#y&b^dB=ZvX!<4^Z&p1H8~~8f#Kk%MSu2u`SIk>o=I2s2<@HJCFI7& M@Q-ETN&}!K0JG~E0{{R3