Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-09-12 10:01:30 +0000
committerEike Stepper2012-09-12 10:01:30 +0000
commite96cae89427e0e8008319204d3d9dc6b158a3357 (patch)
treeea5cc86a5e7ac11737430ebe2c4c2897529c0fbe
parentac9823aab836b302ea94cf8c1b8c536d97ae8680 (diff)
downloadcdo-e96cae89427e0e8008319204d3d9dc6b158a3357.tar.gz
cdo-e96cae89427e0e8008319204d3d9dc6b158a3357.tar.xz
cdo-e96cae89427e0e8008319204d3d9dc6b158a3357.zip
Don't complain about omni version removal or addition.
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/.settings/org.eclipse.core.resources.prefs6
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/src/org/eclipse/emf/cdo/releng/version/tests/VersionBuilderTest.java27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/build.markers0
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/build.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/feature.xml29
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.project11
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/release.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/build.markers0
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/build.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/feature.xml32
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/META-INF/MANIFEST.MF6
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/build.markers0
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/build.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/feature.xml32
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/META-INF/MANIFEST.MF6
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/build.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/feature.xml29
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.project11
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/release.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/incremental/build.markers0
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.markers8
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.resolutions8
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/build.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/feature.xml25
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.project27
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.pde.prefs31
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/META-INF/MANIFEST.MF6
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.project11
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/build.properties2
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/release.properties1
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.markers21
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.resolutions21
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/com.foo.project1-feature/feature.xml32
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/Element.java29
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/VersionBuilder.java109
-rw-r--r--plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/IElement.java4
66 files changed, 909 insertions, 71 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/.settings/org.eclipse.core.resources.prefs
index 2f874710f1..f06cc0ffca 100644
--- a/plugins/org.eclipse.emf.cdo.releng.version.tests/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/.settings/org.eclipse.core.resources.prefs
@@ -1,9 +1,3 @@
eclipse.preferences.version=1
encoding/.project=UTF-8
encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
-encoding//tests/00001-NoProblemAfterNewBaseline/clean/com.foo.license-feature/.project=UTF-8
-encoding//tests/00001-NoProblemAfterNewBaseline/clean/com.foo.project1-feature/.project=UTF-8
-encoding//tests/00001-NoProblemAfterNewBaseline/clean/com.foo.project1/.project=UTF-8
-encoding//tests/00001-NoProblemAfterNewBaseline/clean/com.foo.releng/.project=UTF-8
-encoding//tests/00002-ProblemAfterChange/clean/com.foo.license-feature/.project=UTF-8
-encoding//tests/00002-ProblemAfterChange/clean/com.foo.project1/.project=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/src/org/eclipse/emf/cdo/releng/version/tests/VersionBuilderTest.java b/plugins/org.eclipse.emf.cdo.releng.version.tests/src/org/eclipse/emf/cdo/releng/version/tests/VersionBuilderTest.java
index 6202a14bdf..9ce20d7abd 100644
--- a/plugins/org.eclipse.emf.cdo.releng.version.tests/src/org/eclipse/emf/cdo/releng/version/tests/VersionBuilderTest.java
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/src/org/eclipse/emf/cdo/releng/version/tests/VersionBuilderTest.java
@@ -51,9 +51,9 @@ public class VersionBuilderTest extends TestCase
private static final IWorkspaceRoot ROOT = WORKSPACE.getRoot();
- private static final File WORKSPACE_FILE = ROOT.getLocation().toFile();
+ private static final File WORKSPACE_FOLDER = ROOT.getLocation().toFile();
- private static final int TRIM_LENGTH = WORKSPACE_FILE.getAbsolutePath().length() + 1;
+ private static final int TRIM_LENGTH = WORKSPACE_FOLDER.getAbsolutePath().length();
private static final String DELETE_SUFFIX = "-DELETE";
@@ -149,7 +149,7 @@ public class VersionBuilderTest extends TestCase
project.delete(true, null);
}
- for (File file : WORKSPACE_FILE.listFiles())
+ for (File file : WORKSPACE_FOLDER.listFiles())
{
if (file.isDirectory() && !".metadata".equals(file.getName()))
{
@@ -169,9 +169,9 @@ public class VersionBuilderTest extends TestCase
{
try
{
- updateWorkspace(phase, WORKSPACE_FILE, 0);
+ updateWorkspace(phase, WORKSPACE_FOLDER, 0);
- for (File file : WORKSPACE_FILE.listFiles())
+ for (File file : WORKSPACE_FOLDER.listFiles())
{
String name = file.getName();
if (file.isDirectory() && !".metadata".equals(name))
@@ -196,7 +196,13 @@ public class VersionBuilderTest extends TestCase
}
}
- // TODO Remove deleted projects
+ for (IProject project : ROOT.getProjects())
+ {
+ if (phase.getChild(project.getName() + DELETE_SUFFIX) != null)
+ {
+ project.delete(true, null);
+ }
+ }
}
catch (CoreException ex)
{
@@ -216,9 +222,10 @@ public class VersionBuilderTest extends TestCase
private void updateWorkspace(BundleFile source, File target, int level) throws Throwable
{
+ String relativePath = getRelativePath(target);
if (source.getName().endsWith(DELETE_SUFFIX))
{
- msg("- " + getRelativePath(target));
+ msg("- " + relativePath.substring(0, relativePath.length() - DELETE_SUFFIX.length()));
VersionUtil.delete(target);
return;
}
@@ -227,7 +234,7 @@ public class VersionBuilderTest extends TestCase
{
if (!target.exists())
{
- msg("+ " + getRelativePath(target));
+ msg("+ " + relativePath);
target.mkdir();
}
@@ -241,11 +248,11 @@ public class VersionBuilderTest extends TestCase
{
if (!target.exists())
{
- msg("+ " + getRelativePath(target));
+ msg("+ " + relativePath);
}
else
{
- msg("* " + getRelativePath(target));
+ msg("* " + relativePath);
}
source.copyTo(target);
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/build.markers b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/build.markers
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/build.markers
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.project
new file mode 100644
index 0000000000..86680ed160
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project2-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/build.properties
new file mode 100644
index 0000000000..64f93a9f0b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/feature.xml b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/feature.xml
new file mode 100644
index 0000000000..130ca37963
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.project2-feature/feature.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="com.foo.project2"
+ label="Some name"
+ version="1.0.0.qualifier"
+ provider-name="Foo.com">
+
+ <description>
+ Some description
+ </description>
+
+ <copyright url="%copyrightURL">
+ Some copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ Some license
+ </license>
+
+ <url>
+ <update label="Some update site name" url="http://www.foo.com"/>
+ <discovery label="Some update site name" url="http://www.foo.com"/>
+ </url>
+
+ <includes
+ id="com.foo.project1"
+ version="0.0.0"/>
+
+</feature>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.project
new file mode 100644
index 0000000000..2398ee40da
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/build.properties
new file mode 100644
index 0000000000..7594fab8d5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/build.properties
@@ -0,0 +1,2 @@
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/release.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/release.properties
new file mode 100644
index 0000000000..fd8bdd3648
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/clean/com.foo.releng/release.properties
@@ -0,0 +1 @@
+root.projects = com.foo.project2-feature
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/build.markers b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/build.markers
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/build.markers
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.project
new file mode 100644
index 0000000000..d8eef10672
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project1-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/build.properties
new file mode 100644
index 0000000000..64f93a9f0b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/feature.xml b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/feature.xml
new file mode 100644
index 0000000000..90b7ce7077
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1-feature/feature.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="com.foo.project1"
+ label="Some name"
+ version="1.0.0.qualifier"
+ provider-name="Foo.com">
+
+ <description>
+ Some description
+ </description>
+
+ <copyright url="%copyrightURL">
+ Some copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ Some license
+ </license>
+
+ <url>
+ <update label="Some update site name" url="http://www.foo.com"/>
+ <discovery label="Some update site name" url="http://www.foo.com"/>
+ </url>
+
+ <plugin
+ id="com.foo.project1"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.project
new file mode 100644
index 0000000000..6ea18fa139
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..698c5f6214
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: com.foo.project1
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: Some name
+Bundle-Vendor: Foo.com
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/build.properties
new file mode 100644
index 0000000000..7594fab8d5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00004-NoProblemForNewResolve/incremental/com.foo.project1/build.properties
@@ -0,0 +1,2 @@
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/build.markers b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/build.markers
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/build.markers
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.project
new file mode 100644
index 0000000000..d8eef10672
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project1-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/build.properties
new file mode 100644
index 0000000000..64f93a9f0b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/feature.xml b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/feature.xml
new file mode 100644
index 0000000000..90b7ce7077
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1-feature/feature.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="com.foo.project1"
+ label="Some name"
+ version="1.0.0.qualifier"
+ provider-name="Foo.com">
+
+ <description>
+ Some description
+ </description>
+
+ <copyright url="%copyrightURL">
+ Some copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ Some license
+ </license>
+
+ <url>
+ <update label="Some update site name" url="http://www.foo.com"/>
+ <discovery label="Some update site name" url="http://www.foo.com"/>
+ </url>
+
+ <plugin
+ id="com.foo.project1"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.project
new file mode 100644
index 0000000000..6ea18fa139
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..698c5f6214
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: com.foo.project1
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: Some name
+Bundle-Vendor: Foo.com
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/build.properties
new file mode 100644
index 0000000000..7594fab8d5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project1/build.properties
@@ -0,0 +1,2 @@
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.project
new file mode 100644
index 0000000000..86680ed160
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project2-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/build.properties
new file mode 100644
index 0000000000..64f93a9f0b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/feature.xml b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/feature.xml
new file mode 100644
index 0000000000..130ca37963
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.project2-feature/feature.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="com.foo.project2"
+ label="Some name"
+ version="1.0.0.qualifier"
+ provider-name="Foo.com">
+
+ <description>
+ Some description
+ </description>
+
+ <copyright url="%copyrightURL">
+ Some copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ Some license
+ </license>
+
+ <url>
+ <update label="Some update site name" url="http://www.foo.com"/>
+ <discovery label="Some update site name" url="http://www.foo.com"/>
+ </url>
+
+ <includes
+ id="com.foo.project1"
+ version="0.0.0"/>
+
+</feature>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.project
new file mode 100644
index 0000000000..2398ee40da
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/build.properties
new file mode 100644
index 0000000000..7594fab8d5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/build.properties
@@ -0,0 +1,2 @@
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/release.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/release.properties
new file mode 100644
index 0000000000..fd8bdd3648
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/clean/com.foo.releng/release.properties
@@ -0,0 +1 @@
+root.projects = com.foo.project2-feature
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/incremental/build.markers b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/incremental/build.markers
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00005-NoProblemForUnresolved/incremental/build.markers
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.markers b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.markers
new file mode 100644
index 0000000000..8f86a3351c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.markers
@@ -0,0 +1,8 @@
+Marker
+ <resource> = com.foo.project1/META-INF/MANIFEST.MF
+ <charStart> = (3,23)
+ <charEnd> = (4,1)
+ <severity> = ERROR
+ <message> = Plug-in 'com.foo.project1' is not referenced by any other feature
+ problemType = unreferenced.element
+ FIX = Mark as root project (Add 'com.foo.project1' to the root.projects property of /com.foo.releng/release.properties)
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.resolutions b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.resolutions
new file mode 100644
index 0000000000..8f86a3351c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/build.resolutions
@@ -0,0 +1,8 @@
+Marker
+ <resource> = com.foo.project1/META-INF/MANIFEST.MF
+ <charStart> = (3,23)
+ <charEnd> = (4,1)
+ <severity> = ERROR
+ <message> = Plug-in 'com.foo.project1' is not referenced by any other feature
+ problemType = unreferenced.element
+ FIX = Mark as root project (Add 'com.foo.project1' to the root.projects property of /com.foo.releng/release.properties)
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.project
new file mode 100644
index 0000000000..d8eef10672
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project1-feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/build.properties
new file mode 100644
index 0000000000..64f93a9f0b
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/feature.xml b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/feature.xml
new file mode 100644
index 0000000000..1af2a29894
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1-feature/feature.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="com.foo.project1"
+ label="Some name"
+ version="1.0.0.qualifier"
+ provider-name="Foo.com">
+
+ <description>
+ Some description
+ </description>
+
+ <copyright url="%copyrightURL">
+ Some copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ Some license
+ </license>
+
+ <url>
+ <update label="Some update site name" url="http://www.foo.com"/>
+ <discovery label="Some update site name" url="http://www.foo.com"/>
+ </url>
+
+</feature>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.project
new file mode 100644
index 0000000000..6ea18fa139
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.project1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>release.path</key>
+ <value>/com.foo.releng/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.emf.cdo.releng.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.pde.prefs
new file mode 100644
index 0000000000..c6b96bb45e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/.settings/org.eclipse.pde.prefs
@@ -0,0 +1,31 @@
+#Thu Feb 04 09:44:24 CET 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=1
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=1
+compilers.p.internal=1
+compilers.p.missing-packages=1
+compilers.p.missing-version-export-package=1
+compilers.p.missing-version-import-package=1
+compilers.p.missing-version-require-bundle=1
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000..698c5f6214
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/META-INF/MANIFEST.MF
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: com.foo.project1
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: Some name
+Bundle-Vendor: Foo.com
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/build.properties
new file mode 100644
index 0000000000..7594fab8d5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.project1/build.properties
@@ -0,0 +1,2 @@
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.project b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.project
new file mode 100644
index 0000000000..2398ee40da
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>com.foo.releng</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..b02ec790ac
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Mon Jul 11 16:02:45 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/build.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/build.properties
new file mode 100644
index 0000000000..7594fab8d5
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/build.properties
@@ -0,0 +1,2 @@
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/release.properties b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/release.properties
new file mode 100644
index 0000000000..d2fba970b1
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/clean/com.foo.releng/release.properties
@@ -0,0 +1 @@
+root.projects = com.foo.project1-feature
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.markers b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.markers
new file mode 100644
index 0000000000..89b8d49ba9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.markers
@@ -0,0 +1,21 @@
+Marker
+ <resource> = com.foo.project1-feature/feature.xml
+ <charStart> = (5,17)
+ <charEnd> = (5,22)
+ <severity> = ERROR
+ <message> = Version must be increased to 1.1.0 because the feature's references have changed
+ problemType = component.version
+ quickFixConfigureOption = ignore.feature.content.changes
+ quickFixPattern = feature.*?version\s*=\s*["'](\d+(\.\d+(\.\d+)?)?)
+ quickFixReplacement = 1.1.0
+ FIX = Change the version (Change the version to 1.1.0)
+ FIX = Configure the project to ignore the problem (Set ignore.feature.content.changes = true in '/com.foo.project1-feature/.project')
+Marker
+ <resource> = com.foo.project1-feature/feature.xml
+ <charStart> = (26,15)
+ <charEnd> = (26,31)
+ <severity> = WARNING
+ <message> = Plug-in reference 'com.foo.project1' has been added with 1.0.0
+ problemType = component.version
+ quickFixPattern = [ \t\x0B\f]*<plugin\s+[^<]*id\s*=\s*["'](com\.foo\.project1)["'].*?/>([ \t\x0B\f]*[\n\r])*
+ FIX = Remove the reference ()
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.resolutions b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.resolutions
new file mode 100644
index 0000000000..89b8d49ba9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/build.resolutions
@@ -0,0 +1,21 @@
+Marker
+ <resource> = com.foo.project1-feature/feature.xml
+ <charStart> = (5,17)
+ <charEnd> = (5,22)
+ <severity> = ERROR
+ <message> = Version must be increased to 1.1.0 because the feature's references have changed
+ problemType = component.version
+ quickFixConfigureOption = ignore.feature.content.changes
+ quickFixPattern = feature.*?version\s*=\s*["'](\d+(\.\d+(\.\d+)?)?)
+ quickFixReplacement = 1.1.0
+ FIX = Change the version (Change the version to 1.1.0)
+ FIX = Configure the project to ignore the problem (Set ignore.feature.content.changes = true in '/com.foo.project1-feature/.project')
+Marker
+ <resource> = com.foo.project1-feature/feature.xml
+ <charStart> = (26,15)
+ <charEnd> = (26,31)
+ <severity> = WARNING
+ <message> = Plug-in reference 'com.foo.project1' has been added with 1.0.0
+ problemType = component.version
+ quickFixPattern = [ \t\x0B\f]*<plugin\s+[^<]*id\s*=\s*["'](com\.foo\.project1)["'].*?/>([ \t\x0B\f]*[\n\r])*
+ FIX = Remove the reference ()
diff --git a/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/com.foo.project1-feature/feature.xml b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/com.foo.project1-feature/feature.xml
new file mode 100644
index 0000000000..90b7ce7077
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.releng.version.tests/tests/00006-NoRootProblemAfterAddingReference/incremental/com.foo.project1-feature/feature.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="com.foo.project1"
+ label="Some name"
+ version="1.0.0.qualifier"
+ provider-name="Foo.com">
+
+ <description>
+ Some description
+ </description>
+
+ <copyright url="%copyrightURL">
+ Some copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ Some license
+ </license>
+
+ <url>
+ <update label="Some update site name" url="http://www.foo.com"/>
+ <discovery label="Some update site name" url="http://www.foo.com"/>
+ </url>
+
+ <plugin
+ id="com.foo.project1"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/Element.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/Element.java
index f0e8050efc..a6326296f5 100644
--- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/Element.java
+++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/Element.java
@@ -95,21 +95,21 @@ public class Element implements IElement
return children;
}
- public Set<IElement> getAllChildren(IElementResolver resolver)
+ public Set<IElement> getAllChildren(IElementResolver resolver, IElementResolver otherResolver)
{
if (allChildren == null)
{
allChildren = new HashSet<IElement>();
for (IElement child : children)
{
- recurseChildren(resolver, child);
+ recurseChildren(resolver, otherResolver, child);
}
}
return allChildren;
}
- private void recurseChildren(IElementResolver resolver, IElement element)
+ private void recurseChildren(IElementResolver resolver, IElementResolver otherResolver, IElement element)
{
if (allChildren.add(element))
{
@@ -125,19 +125,36 @@ public class Element implements IElement
}
}
+ IElement otherTopElement = otherResolver.resolveElement(element);
+ if (otherTopElement == null)
+ {
+ // If we fail to find it with an exact version, we try it with an omni version and use that for the children.
+ //
+ otherTopElement = resolver.resolveElement(element.trimVersion());
+ if (otherTopElement == null)
+ {
+ return;
+ }
+ }
+
+ if (otherTopElement.isVersionUnresolved())
+ {
+ return;
+ }
+
for (IElement child : topElement.getChildren())
{
if (!child.isLicenseFeature())
{
- recurseChildren(resolver, child);
+ recurseChildren(resolver, otherResolver, child);
}
}
}
}
- public IElement getChild(IElementResolver resolver, IElement key)
+ public IElement getChild(IElementResolver resolver, IElementResolver otherResolver, IElement key)
{
- Set<IElement> allChildren = getAllChildren(resolver);
+ Set<IElement> allChildren = getAllChildren(resolver, otherResolver);
for (IElement child : allChildren)
{
if (child.equals(key))
diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/VersionBuilder.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/VersionBuilder.java
index 0871aa4326..d055cbee31 100644
--- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/VersionBuilder.java
+++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/internal/version/VersionBuilder.java
@@ -231,6 +231,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
try
{
IModel componentModel = VersionUtil.getComponentModel(project);
+ IFile componentModelFile = (IFile)componentModel.getUnderlyingResource();
/*
* Determine release data to validate against
@@ -289,24 +290,9 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
return;
}
- /*
- * Determine if a validation is needed or if the version has already been increased properly
- */
-
- IElement element = IReleaseManager.INSTANCE.createElement(componentModel, true, false);
- for (IElement child : element.getAllChildren(this))
- {
- IProject childProject = getProject(child);
- if (childProject != null)
- {
- buildDpependencies.add(childProject);
- }
- }
-
IFile propertiesFile = VersionUtil.getFile(releasePath, "properties");
long propertiesTimeStamp = propertiesFile.getLocalTimeStamp();
boolean formerDeviations = buildState.isDeviations();
- IFile componentModelFile = (IFile)componentModel.getUnderlyingResource();
if (buildState.getPropertiesTimeStamp() != propertiesTimeStamp)
{
if (initReleaseProperties(propertiesFile))
@@ -331,7 +317,29 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
rootProjects = buildState.getRootProjects();
}
- Markers.deleteAllMarkers(componentModel.getUnderlyingResource(), Markers.UNREFERENCED_ELEMENT_PROBLEM);
+ IPath componentModelPath = componentModelFile.getProjectRelativePath();
+ boolean checkComponentModel = delta == null || delta.findMember(componentModelPath) != null;
+
+ IElement element = IReleaseManager.INSTANCE.createElement(componentModel, true, false);
+ for (IElement child : element.getAllChildren(this, release))
+ {
+ IProject childProject = getProject(child);
+ if (childProject != null)
+ {
+ buildDpependencies.add(childProject);
+ if (checkComponentModel)
+ {
+ IModel childProjectComponentModel = VersionUtil.getComponentModel(childProject);
+ if (childProjectComponentModel != null)
+ {
+ IResource underlyingResource = childProjectComponentModel.getUnderlyingResource();
+ Markers.deleteAllMarkers(underlyingResource, Markers.UNREFERENCED_ELEMENT_PROBLEM);
+ }
+ }
+ }
+ }
+
+ Markers.deleteAllMarkers(componentModelFile, Markers.UNREFERENCED_ELEMENT_PROBLEM);
if (!rootProjects.contains(project.getName()))
{
Set<IElement> elementReference = resolveReferences(element);
@@ -341,9 +349,6 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
}
}
- IPath componentModelPath = componentModelFile.getProjectRelativePath();
- boolean checkComponentModel = delta == null || delta.findMember(componentModelPath) != null;
-
if (componentModel instanceof IPluginModelBase)
{
if (!arguments.isIgnoreSchemaBuilder())
@@ -426,7 +431,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
}
else if (!oldVersionBuilderArguments.isIgnoreMalformedVersions())
{
- Markers.deleteAllMarkers(componentModel.getUnderlyingResource(), Markers.MALFORMED_VERSION_PROBLEM);
+ Markers.deleteAllMarkers(componentModelFile, Markers.MALFORMED_VERSION_PROBLEM);
}
IElement releaseElement = release.getElements().get(element.trimVersion());
@@ -783,7 +788,7 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
featureChild = resolveElement(featureChild);
if (featureChild != null)
{
- Set<IElement> allChildren = featureChild.getAllChildren(this);
+ Set<IElement> allChildren = featureChild.getAllChildren(this, release);
if (allChildren.contains(pluginChild))
{
try
@@ -813,19 +818,24 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
List<Problem> problems)
{
ComponentReferenceType biggestChange = ComponentReferenceType.UNCHANGED;
- Set<IElement> allChildren = element.getAllChildren(this);
+ Set<IElement> allChildren = element.getAllChildren(this, release);
for (IElement child : allChildren)
{
ComponentReferenceType change = checkFeatureContentChanges(element, releasedElement, child, problems);
biggestChange = ComponentReferenceType.values()[Math.max(biggestChange.ordinal(), change.ordinal())];
}
- for (IElement releasedElementsChild : releasedElement.getAllChildren(release))
+ for (IElement releasedElementsChild : releasedElement.getAllChildren(release, this))
{
- if (!allChildren.contains(releasedElementsChild.trimVersion()))
+ IElement trimmedVersion = releasedElementsChild.trimVersion();
+ if (!allChildren.contains(trimmedVersion))
{
- addProblem(releasedElementsChild, IMarker.SEVERITY_WARNING, ComponentReferenceType.REMOVED, null, problems);
- biggestChange = ComponentReferenceType.REMOVED;
+ IElement resolvedElement = resolveElement(trimmedVersion);
+ if (resolvedElement != null && !resolvedElement.isVersionUnresolved())
+ {
+ addProblem(releasedElementsChild, IMarker.SEVERITY_WARNING, ComponentReferenceType.REMOVED, null, problems);
+ biggestChange = ComponentReferenceType.REMOVED;
+ }
}
}
@@ -835,12 +845,12 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
private ComponentReferenceType checkFeatureContentChanges(IElement element, IElement releasedElement,
IElement childElement, List<Problem> problems)
{
- IElement releasedElementsChild = releasedElement.getChild(release, childElement);
+ IElement releasedElementsChild = releasedElement.getChild(release, this, childElement);
if (releasedElementsChild == null)
{
// Don't consider it added if it was present with a different version.
//
- releasedElementsChild = releasedElement.getChild(release, childElement.trimVersion());
+ releasedElementsChild = releasedElement.getChild(release, this, childElement.trimVersion());
if (releasedElementsChild == null)
{
addProblem(childElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.ADDED, null, problems);
@@ -858,28 +868,33 @@ public class VersionBuilder extends IncrementalProjectBuilder implements IElemen
}
}
- Version releasedVersion = childsReleasedElement.getVersion();
- Version version = childElement.trimVersion().getResolvedVersion();
-
- if (version.getMajor() != releasedVersion.getMajor())
+ if (!childsReleasedElement.isVersionUnresolved())
{
- addProblem(childsReleasedElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.MAJOR_CHANGED, version,
- problems);
- return ComponentReferenceType.MAJOR_CHANGED;
- }
+ Version releasedVersion = childsReleasedElement.getVersion();
+ Version version = childElement.trimVersion().getResolvedVersion();
+ if (!version.equals(Version.emptyVersion))
+ {
+ if (version.getMajor() != releasedVersion.getMajor())
+ {
+ addProblem(childsReleasedElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.MAJOR_CHANGED, version,
+ problems);
+ return ComponentReferenceType.MAJOR_CHANGED;
+ }
- if (version.getMinor() != releasedVersion.getMinor())
- {
- addProblem(childsReleasedElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.MINOR_CHANGED, version,
- problems);
- return ComponentReferenceType.MINOR_CHANGED;
- }
+ if (version.getMinor() != releasedVersion.getMinor())
+ {
+ addProblem(childsReleasedElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.MINOR_CHANGED, version,
+ problems);
+ return ComponentReferenceType.MINOR_CHANGED;
+ }
- if (version.getMicro() != releasedVersion.getMicro())
- {
- addProblem(childsReleasedElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.MICRO_CHANGED, version,
- problems);
- return ComponentReferenceType.MICRO_CHANGED;
+ if (version.getMicro() != releasedVersion.getMicro())
+ {
+ addProblem(childsReleasedElement, IMarker.SEVERITY_WARNING, ComponentReferenceType.MICRO_CHANGED, version,
+ problems);
+ return ComponentReferenceType.MICRO_CHANGED;
+ }
+ }
}
return ComponentReferenceType.UNCHANGED;
diff --git a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/IElement.java b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/IElement.java
index 5906e046da..14e541e12c 100644
--- a/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/IElement.java
+++ b/plugins/org.eclipse.emf.cdo.releng.version/src/org/eclipse/emf/cdo/releng/version/IElement.java
@@ -38,9 +38,9 @@ public interface IElement
public List<IElement> getChildren();
- public Set<IElement> getAllChildren(IElementResolver resolver);
+ public Set<IElement> getAllChildren(IElementResolver resolver, IElementResolver otherResolver);
- public IElement getChild(IElementResolver resolver, IElement key);
+ public IElement getChild(IElementResolver resolver, IElementResolver otherResolver, IElement key);
public IElement trimVersion();

Back to the top