Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Stevenson2007-12-15 02:13:22 +0000
committerDave Stevenson2007-12-15 02:13:22 +0000
commitd1fce6e8d7c0a9949cfd76eeb66f1cb4782cb344 (patch)
treee946b2cac016ad2645d30679556ae63616b50eb7 /bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator
parent1f67141b31eaf39819335a1df1f066beae95c2ed (diff)
downloadrt.equinox.p2-d1fce6e8d7c0a9949cfd76eeb66f1cb4782cb344.tar.gz
rt.equinox.p2-d1fce6e8d7c0a9949cfd76eeb66f1cb4782cb344.tar.xz
rt.equinox.p2-d1fce6e8d7c0a9949cfd76eeb66f1cb4782cb344.zip
Initial commit of metadata generator support for the IUs and artifacts for eclipse features. Two IUs are now generated per feature: the group IU which has been renamed to id.featureGroup (e.g org.eclipse.platform.source.featureGroup) and the IU which actually holds the feature artifact, id.featureIU (e.g. org.eclipse.platform.source.featureIU). A filter of "eclipse.p2.install.features=true" is applied to the installation and configuration of the artifacts. This property is now set in the profile, but we need to better define the Update Compatibility use case to determine the right way to get the filter set. Currently a vm arg (system property)
-Dorg.eclipse.p2.update.compatibility=true is used to feature installation by setting the value of the "eclipse.p2.install.features" property in a new profile to be the value of the system property. The installation and configuration of features is done through IPlatformConfiguration, so the org.eclipse.platform.configurator plug-in must be installed. The support for installing features is still work in progress. Currently when features are installed in a p2 provisioned SDK, the provisioned eclipse starts but gets system errors because the ConfigurationActivator in o.e.platform.configurator fails to start with a bundle exception. I have tried several versions of the resulting platform.xml and debugged through the start method of the activator, but have not discovered what is causing the failure. Eyes more familiar with the internals of update may be more successful.
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator')
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java29
1 files changed, 16 insertions, 13 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
index e028eca1c..1a9ca8f07 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/generator/EclipseSDK33Test.java
@@ -17,8 +17,8 @@ import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.ProvidedCapability;
+import org.eclipse.equinox.p2.artifact.repository.IArtifactRepository;
+import org.eclipse.equinox.p2.metadata.*;
import org.eclipse.equinox.p2.metadata.generator.Generator;
import org.eclipse.equinox.p2.metadata.generator.IGeneratorInfo;
import org.eclipse.equinox.p2.tests.*;
@@ -46,40 +46,43 @@ public class EclipseSDK33Test extends AbstractProvisioningTest {
generator.generate();
TestMetadataRepository repo = (TestMetadataRepository) generatorInfo.getMetadataRepository();
- IInstallableUnit unit = repo.find("org.eclipse.cvs.source.featureIU", "1.0.0.v20070606-7C79_79EI99g_Y9e");
+ IInstallableUnit unit = repo.find("org.eclipse.cvs.source.featureGroup", "1.0.0.v20070606-7C79_79EI99g_Y9e");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.rcp.featureIU", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
+ unit = repo.find("org.eclipse.rcp.featureGroup", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.jdt.featureIU", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
+ unit = repo.find("org.eclipse.jdt.featureGroup", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.cvs.featureIU", "1.0.0.v20070606-7C79_79EI99g_Y9e");
+ unit = repo.find("org.eclipse.cvs.featureGroup", "1.0.0.v20070606-7C79_79EI99g_Y9e");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.pde.source.featureIU", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
+ unit = repo.find("org.eclipse.pde.source.featureGroup", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.sdk.featureIU", "3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO");
+ unit = repo.find("org.eclipse.sdk.featureGroup", "3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.platform.featureIU", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
+ unit = repo.find("org.eclipse.platform.featureGroup", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.platform.source.featureIU", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
+ unit = repo.find("org.eclipse.platform.source.featureGroup", "3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.jdt.source.featureIU", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
+ unit = repo.find("org.eclipse.jdt.source.featureGroup", "3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.pde.featureIU", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
+ unit = repo.find("org.eclipse.pde.featureGroup", "3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC");
assertNotNull(unit);
assertGroup(unit);
- unit = repo.find("org.eclipse.rcp.source.featureIU", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
+ unit = repo.find("org.eclipse.rcp.source.featureGroup", "3.3.0.v20070607-8y8eE8NEbsN3X_fjWS8HPNG");
assertNotNull(unit);
assertGroup(unit);
+ IArtifactRepository artifactRepo = (TestArtifactRepository) generatorInfo.getArtifactRepository();
+ IArtifactKey[] keys = artifactRepo.getArtifactKeys();
+ assertTrue(keys.length == 11);
}
/**

Back to the top