diff --git a/org.eclipse.callisto.tools.versionchecker/.classpath b/org.eclipse.callisto.tools.versionchecker/.classpath
deleted file mode 100644
index 9f5065c..0000000
--- a/org.eclipse.callisto.tools.versionchecker/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="referenceData"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.callisto.tools.versionchecker/.cvsignore b/org.eclipse.callisto.tools.versionchecker/.cvsignore
deleted file mode 100644
index 7fd0eea..0000000
--- a/org.eclipse.callisto.tools.versionchecker/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-build.xml
-javaCompiler...args
-@dot
-org.eclipse.callisto.tools.versionchecker_1.0.0.jar
diff --git a/org.eclipse.callisto.tools.versionchecker/.project b/org.eclipse.callisto.tools.versionchecker/.project
deleted file mode 100644
index a7124d9..0000000
--- a/org.eclipse.callisto.tools.versionchecker/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.callisto.tools.versionchecker</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.callisto.tools.versionchecker/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.callisto.tools.versionchecker/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 846681d..0000000
--- a/org.eclipse.callisto.tools.versionchecker/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,24 +0,0 @@
-#Wed Aug 01 09:02:06 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=enabled
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.callisto.tools.versionchecker/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.callisto.tools.versionchecker/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5d8d5be..0000000
--- a/org.eclipse.callisto.tools.versionchecker/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Dec 10 14:53:23 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.callisto.tools.versionchecker/META-INF/MANIFEST.MF b/org.eclipse.callisto.tools.versionchecker/META-INF/MANIFEST.MF
deleted file mode 100644
index 806dc87..0000000
--- a/org.eclipse.callisto.tools.versionchecker/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.callisto.tools.versionchecker;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.update.configurator
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.callisto.tools.versionchecker
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.callisto.tools.versionchecker/build.properties b/org.eclipse.callisto.tools.versionchecker/build.properties
deleted file mode 100644
index 7e6fae1..0000000
--- a/org.eclipse.callisto.tools.versionchecker/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/,\
-           referenceData/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               referenceData/
-src.includes = doc/
diff --git a/org.eclipse.callisto.tools.versionchecker/buildPlugin.xml b/org.eclipse.callisto.tools.versionchecker/buildPlugin.xml
deleted file mode 100644
index fd27c9f..0000000
--- a/org.eclipse.callisto.tools.versionchecker/buildPlugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project default="plugin_export" name="build">
-	<target name="plugin_export">
-		<pde.exportPlugins destination="D:\builds\freshzips\eclipse" exportSource="true" exportType="directory" plugins="org.eclipse.callisto.tools.versionchecker" useJARFormat="true"/>
-	</target>
-</project>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/allclasses-frame.html b/org.eclipse.callisto.tools.versionchecker/doc/allclasses-frame.html
deleted file mode 100644
index cd6f1c5..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/allclasses-frame.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-All Classes
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker" target="classFrame">DependencyChecker</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/allclasses-noframe.html b/org.eclipse.callisto.tools.versionchecker/doc/allclasses-noframe.html
deleted file mode 100644
index 8e39760..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/allclasses-noframe.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-All Classes
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/constant-values.html b/org.eclipse.callisto.tools.versionchecker/doc/constant-values.html
deleted file mode 100644
index d48e9e1..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/constant-values.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:12 EDT 2006 -->
-<TITLE>
-Constant Field Values
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Constant Field Values";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<CENTER>
-<H1>
-Constant Field Values</H1>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-<B>Contents</B><UL>
-</UL>
-
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/deprecated-list.html b/org.eclipse.callisto.tools.versionchecker/doc/deprecated-list.html
deleted file mode 100644
index 74e8f0f..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/deprecated-list.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Deprecated List
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Deprecated List";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Deprecated API</B></H2>
-</CENTER>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/help-doc.html b/org.eclipse.callisto.tools.versionchecker/doc/help-doc.html
deleted file mode 100644
index bd175cb..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/help-doc.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-API Help
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="API Help";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<CENTER>
-<H1>
-How This API Document Is Organized</H1>
-</CENTER>
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
-Package</H3>
-<BLOCKQUOTE>
-
-<P>
-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
-<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL>
-</BLOCKQUOTE>
-<H3>
-Class/Interface</H3>
-<BLOCKQUOTE>
-
-<P>
-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
-<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
-<P>
-<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
-<P>
-<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
-<H3>
-Prev/Next</H3>
-These links take you to the next or previous class, interface, package, or related page.<H3>
-Frames/No Frames</H3>
-These links show and hide the HTML frames.  All pages are available with or without frames.
-<P>
-<H3>
-Serialized Form</H3>
-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
-<P>
-<FONT SIZE="-1">
-<EM>
-This help file applies to API documentation generated using the standard doclet.</EM>
-</FONT>
-<BR>
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-1.html b/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-1.html
deleted file mode 100644
index db98c02..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-1.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-D-Index
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="D-Index";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV LETTER&nbsp;
-&nbsp;<A HREF="index-2.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-1.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-<A NAME="_D_"><!-- --></A><H2>
-<B>D</B></H2>
-<DL>
-<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><B>DependencyChecker</B></A> - class org.eclipse.callisto.tools.versionchecker.<A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>.<DD>A simple, unsupported, little-tested utility to help convert from using
- unconstrainted pre-req'd bundles, to ones constrained to be within a
- certain range.<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#DependencyChecker()"><B>DependencyChecker()</B></A> - 
-Constructor for class org.eclipse.callisto.tools.versionchecker.<A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>
-<DD>&nbsp;
-</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV LETTER&nbsp;
-&nbsp;<A HREF="index-2.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-1.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-2.html b/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-2.html
deleted file mode 100644
index 2bb4ab2..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-2.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-O-Index
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="O-Index";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-1.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;<A HREF="index-3.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-2.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-<A NAME="_O_"><!-- --></A><H2>
-<B>O</B></H2>
-<DL>
-<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/package-summary.html"><B>org.eclipse.callisto.tools.versionchecker</B></A> - package org.eclipse.callisto.tools.versionchecker<DD>&nbsp;</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-1.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;<A HREF="index-3.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-2.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-3.html b/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-3.html
deleted file mode 100644
index 2a7ef58..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/index-files/index-3.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-R-Index
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="R-Index";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-2.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;NEXT LETTER</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-3.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-<A NAME="_R_"><!-- --></A><H2>
-<B>R</B></H2>
-<DL>
-<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#run(java.lang.Object)"><B>run(Object)</B></A> - 
-Method in class org.eclipse.callisto.tools.versionchecker.<A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>
-<DD>&nbsp;
-</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-2.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;NEXT LETTER</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-3.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/index.html b/org.eclipse.callisto.tools.versionchecker/doc/index.html
deleted file mode 100644
index c882682..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Tue Jun 13 17:33:13 EDT 2006-->
-<TITLE>
-Generated Documentation (Untitled)
-</TITLE>
-</HEAD>
-<FRAMESET cols="20%,80%">
-<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
-<FRAME src="org/eclipse/callisto/tools/versionchecker/package-summary.html" name="classFrame" title="Package, class and interface descriptions">
-<NOFRAMES>
-<H2>
-Frame Alert</H2>
-
-<P>
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-<BR>
-Link to<A HREF="org/eclipse/callisto/tools/versionchecker/package-summary.html">Non-frame version.</A>
-</NOFRAMES>
-</FRAMESET>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/DependencyChecker.html b/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/DependencyChecker.html
deleted file mode 100644
index 0d0149d..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/DependencyChecker.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-DependencyChecker
-</TITLE>
-
-<META NAME="keywords" CONTENT="org.eclipse.callisto.tools.versionchecker.DependencyChecker class">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="DependencyChecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-org.eclipse.callisto.tools.versionchecker</FONT>
-<BR>
-Class DependencyChecker</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>org.eclipse.callisto.tools.versionchecker.DependencyChecker</B>
-</PRE>
-<DL>
-<DT><B>All Implemented Interfaces:</B> <DD>org.eclipse.core.runtime.IPlatformRunnable</DD>
-</DL>
-<HR>
-<DL>
-<DT>public class <B>DependencyChecker</B><DT>extends java.lang.Object<DT>implements org.eclipse.core.runtime.IPlatformRunnable</DL>
-
-<P>
-A simple, unsupported, little-tested utility to help convert from using
- unconstrained pre-req'd bundles, to ones constrained to be within a
- certain range.
- 
- For example, if a plugin's manifest.mf file specifies
- 
- <p>
- <code>Require-Bundle: org.eclipse.core.runtime</code>
- </p>
- <p>
- this utility will write
- </p>
- <p>
- <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;</code>
- </p>
- <p>
- or
- </p>
- <p>
- <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;</code>
- </p>
- <p>
- if <i>-conservative</i> is specified. In all case the lower bound is
- determined by the version found as this utility actually runs.
- 
- </pre>
- 
- <p>
- Directives:
- </p>
- <p>
- -filter "some regx expression"
- </p>
- <p>
- Will write/check manifest only for those plugins matching regx expression.
- </p>
- <p>
- -conservative
- </p>
- <p>
- Will increment 'minor' code, instead of 'major' code in upper bound of the
- range. This is required for those using another plugin's internal (non-API)
- methods, and recommended if you do not know for sure you are using
- API-only. The default is not-conservative, which increments the major
- field.
- </p>
- <p>
- -workspaceRoot "absolute file system path name to workspace"
- </p>
- <p>
- If specified, the manifest.mf files found in the workspace will be
- re-written with the results of this tool. Note. The workspace must "match"
- the runtime the tool is running in, for this to make any sense. The default
- is to simply write the recommended "Require-Bundle:" section the console
- log.
- </p>
- <p>
- Note: re-export visibility and optional resolution are maintained "as is"
- in output (but other pre-req settings (e.g. vendor?) may be lost. The
- intent is to provide "ready for pasting" content, if its happens to work
- well for your cases.
- </p>
- <p>
- Example invocation:
- </p>
- <p>
- 
- <pre>
- 
- java -jar startup.jar -clean -application org.eclipse.callisto.tools.versionchecker.dependencyChecker
- 
- </pre>
- 
- </p>
- 
- <p>
- Example output:
- </p>
- 
- <pre>
- bundle org.eclipse.wst.xml.core
- Require-Bundle:
- org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- org.eclipse.core.resources;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- org.eclipse.wst.common.uriresolver;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.wst.sse.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.text;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- org.eclipse.jem.util;resolution:=optional;bundle-version=&quot;[1.2.0,1.3.0)&quot;,
- org.eclipse.wst.validation;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.emf.ecore.edit;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- org.eclipse.wst.common.emf;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.emf.ecore.xmi;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- org.eclipse.wst.common.emfworkbench.integration;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.wst.common.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- com.ibm.icu;bundle-version=&quot;[3.4.4,3.5.0)&quot;,
- org.apache.xerces;visibility:=reexport;bundle-version=&quot;[2.8.0,2.9.0)&quot;
- </pre>
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="fields_inherited_from_class_org.eclipse.core.runtime.IPlatformRunnable"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Fields inherited from interface org.eclipse.core.runtime.IPlatformRunnable</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>EXIT_OK, EXIT_RELAUNCH, EXIT_RESTART</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#DependencyChecker()">DependencyChecker</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#run(java.lang.Object)">run</A></B>(java.lang.Object&nbsp;o)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="DependencyChecker()"><!-- --></A><H3>
-DependencyChecker</H3>
-<PRE>
-public <B>DependencyChecker</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="run(java.lang.Object)"><!-- --></A><H3>
-run</H3>
-<PRE>
-public java.lang.Object <B>run</B>(java.lang.Object&nbsp;o)
-                     throws java.lang.Exception</PRE>
-<DL>
-<DD><DL>
-<DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>org.eclipse.core.runtime.IPlatformRunnable</CODE></DL>
-</DD>
-<DD><DL>
-
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.Exception</CODE></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/class-use/DependencyChecker.html b/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/class-use/DependencyChecker.html
deleted file mode 100644
index eeeb92f..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/class-use/DependencyChecker.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Uses of Class org.eclipse.callisto.tools.versionchecker.DependencyChecker
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Uses of Class org.eclipse.callisto.tools.versionchecker.DependencyChecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="DependencyChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Uses of Class<br>org.eclipse.callisto.tools.versionchecker.DependencyChecker</B></H2>
-</CENTER>
-No usage of org.eclipse.callisto.tools.versionchecker.DependencyChecker
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="DependencyChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-frame.html b/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-frame.html
deleted file mode 100644
index 687e388..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-frame.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-org.eclipse.callisto.tools.versionchecker
-</TITLE>
-
-<META NAME="keywords" CONTENT="org.eclipse.callisto.tools.versionchecker package">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameTitleFont">
-<A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/package-summary.html" target="classFrame">org.eclipse.callisto.tools.versionchecker</A></FONT>
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT CLASS="FrameItemFont">
-<BR>
-<A HREF="DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker" target="classFrame">DependencyChecker</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-summary.html b/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-summary.html
deleted file mode 100644
index d1d8507..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-summary.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-org.eclipse.callisto.tools.versionchecker
-</TITLE>
-
-<META NAME="keywords" CONTENT="org.eclipse.callisto.tools.versionchecker package">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="org.eclipse.callisto.tools.versionchecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<H2>
-Package org.eclipse.callisto.tools.versionchecker
-</H2>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A></B></TD>
-<TD>A simple, unsupported, little-tested utility to help convert from using
- unconstrained pre-req'd bundles, to ones constrained to be within a
- certain range.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-tree.html b/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-tree.html
deleted file mode 100644
index b7cb14b..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-tree.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-org.eclipse.callisto.tools.versionchecker Class Hierarchy
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="org.eclipse.callisto.tools.versionchecker Class Hierarchy";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package org.eclipse.callisto.tools.versionchecker
-</H2>
-</CENTER>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class org.eclipse.callisto.tools.versionchecker.<A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><B>DependencyChecker</B></A> (implements org.eclipse.core.runtime.IPlatformRunnable)
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-use.html b/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-use.html
deleted file mode 100644
index a2cfae2..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-use.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Uses of Package org.eclipse.callisto.tools.versionchecker
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Uses of Package org.eclipse.callisto.tools.versionchecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Uses of Package<br>org.eclipse.callisto.tools.versionchecker</B></H2>
-</CENTER>
-No usage of org.eclipse.callisto.tools.versionchecker
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/overview-tree.html b/org.eclipse.callisto.tools.versionchecker/doc/overview-tree.html
deleted file mode 100644
index 2be243f..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/overview-tree.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Class Hierarchy
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Class Hierarchy";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For All Packages</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies:</B><DD><A HREF="org/eclipse/callisto/tools/versionchecker/package-tree.html">org.eclipse.callisto.tools.versionchecker</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class org.eclipse.callisto.tools.versionchecker.<A HREF="org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><B>DependencyChecker</B></A> (implements org.eclipse.core.runtime.IPlatformRunnable)
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/package-list b/org.eclipse.callisto.tools.versionchecker/doc/package-list
deleted file mode 100644
index 8c1812b..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/package-list
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.callisto.tools.versionchecker
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/packages.html b/org.eclipse.callisto.tools.versionchecker/doc/packages.html
deleted file mode 100644
index 606d170..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/packages.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-
-<BR>
-
-<BR>
-
-<BR>
-<CENTER>
-The front page has been relocated.Please see:
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="index.html">Frame version</A>
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="org/eclipse/callisto/tools/versionchecker/package-summary.html">Non-frame version.</A></CENTER>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/resources/inherit.gif b/org.eclipse.callisto.tools.versionchecker/doc/resources/inherit.gif
deleted file mode 100644
index c814867..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/resources/inherit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.callisto.tools.versionchecker/doc/stylesheet.css b/org.eclipse.callisto.tools.versionchecker/doc/stylesheet.css
deleted file mode 100644
index 14c3737..0000000
--- a/org.eclipse.callisto.tools.versionchecker/doc/stylesheet.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults */
-
-/* Page background color */
-body { background-color: #FFFFFF }
-
-/* Headings */
-h1 { font-size: 145% }
-
-/* Table colors */
-.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
-.TableRowColor         { background: #FFFFFF } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
-.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
-.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
-.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
-
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-
diff --git a/org.eclipse.callisto.tools.versionchecker/plugin.properties b/org.eclipse.callisto.tools.versionchecker/plugin.properties
deleted file mode 100644
index 198fc7c..0000000
--- a/org.eclipse.callisto.tools.versionchecker/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-# properties file for org.eclipse.core.runtime.versionchecker
-Bundle-Name.0 = Versionchecker Plug-in
-extension.name.0 = Dependency Checker
-extension.name.1 = Version Lister
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/plugin.xml b/org.eclipse.callisto.tools.versionchecker/plugin.xml
deleted file mode 100644
index ad5b518..0000000
--- a/org.eclipse.callisto.tools.versionchecker/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         id="dependencyChecker"
-         name="%extension.name.0"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run class="org.eclipse.callisto.tools.versionchecker.DependencyChecker"/>
-      </application>
-   </extension>
-   <extension
-         id="listVersions"
-         name="%extension.name.1"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run class="org.eclipse.callisto.tools.versionchecker.VersionLister"/>
-      </application>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/RC1.5.3.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/RC1.5.3.xml
deleted file mode 100644
index 328e67b..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/RC1.5.3.xml
+++ /dev/null
@@ -1,2362 +0,0 @@
-<referenceData id="RC1.5.3">
-    <featureData>
-      <!-- Number of features: 116 -->
-
-      <entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--0842282_233879</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--0842282939426_</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.sdk</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.2.v20070109</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.sdk</name>
-        <version>3.2.2.v20070109</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.2.v20070109</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.2.r322_v20070104-R4CR-Znkvtfjv9-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.2.r322_v20070104-R4CR-Znkvtfjv9-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.3.v20070130_R----6zXJK-L2U8VZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.3.v20070130_R-G95EUlhcE39c_dh</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.3.v20070130_R----6zXJK-L2U8VZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.3.v200701251935-kW-NqztJbMj98Vy</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.3.v200701251934--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.3.v200701251934--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_sdk.feature</name>
-        <version>1.5.3.v200701251934-8422923473A56--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv.feature</name>
-        <version>1.5.3.v200701251932--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.3.v200701251934--2PD88R9BCIAEJ8</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.3.v200701251934--2PD88R9BCIAEJ8</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_sdk.feature</name>
-        <version>1.5.3.v200701251934-8422923473A5602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_tests.feature</name>
-        <version>1.5.3.v200701251934</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.3.v200701251934-pEBqJhM9w8QnUf6</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.3.v200701251934-pEBqJhM9w8QnUf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.3.v200701251934--4hNDDhDwMTJbWt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.doc.feature</name>
-        <version>0.5.0.v20060829------1G955G5K9M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.feature</name>
-        <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.tests.feature</name>
-        <version>0.5.0.v20060829------1G955G5K9M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf_sdk.feature</name>
-        <version>0.5.1.v20060829-fX45f_dlc_3ccM8</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-        <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.sdk</name>
-        <version>1.5.3.v200701251935-dnUTzpmRSVGy2Rb</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.3.v200701251934--2PD88Q8NBHx787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.3.v200701251934--2PD88Q8NBHx787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_sdk.feature</name>
-        <version>1.5.3.v200701251934-8422923473A56--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_tests.feature</name>
-        <version>1.5.3.v200701251934------4hNDDhEjIZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.3.v200701251934-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.3.v200701251934-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.3.v200701251934--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.tests</name>
-        <version>1.5.3.v200701251935--6vVLTsvmmXom8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.3.v200701251934--87cMNBMrUpUYda</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.3.v200701251934--87cMNBMrUpUYda</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_sdk.feature</name>
-        <version>1.5.3.v200701251934-8422923473A56--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_tests.feature</name>
-        <version>1.5.3.v200701251934--4hNDDjGHGUHaYT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.3.v200701251934--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.3.v200701251934--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.3.v200701251934</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.2.r322_v20070119-RQghndJN8IM-NxK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.2.r322_v20070119-RQghndJN8IM-NxK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.2.r322_v20070104-dCGKj0Ln38li0Gh</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.3.v200701251935-X3Tn7ug44nfs8AE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.3.v200701251933--AXrVWeX7d4hX-D</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.3.v200701251933--AXrVWeX7d4hX-D</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_sdk.feature</name>
-        <version>1.5.3.v200701251933-8422923473A5503</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_tests.feature</name>
-        <version>1.5.3.v200701251933</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.3.v200701251933-qKHiXJOPpbWGm-L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.3.v200701251933-qKHiXJOPpbWGm-L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.3.v200701251933</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv.feature</name>
-        <version>1.5.3.v200701251932--08422924252456</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.3.v200702061839--Cq0bcrlqoamowX</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.3.v200702061839--Cq0bcrlqoamowX</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.3.v200702061839--3YIAAaCICSEGIY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.3.v200702061839--3YIAAaCICSEGIY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_sdk.feature</name>
-        <version>1.5.3.v200701251933-PD88S8C_OAWGS-N</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_tests.feature</name>
-        <version>1.5.3.v200702061839--0842292428435A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.3.v200701251933-FTMjzaAe7oC0NoZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.3.v200701251933-FTMjzaAe7oC0NoZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.3.v200701251933--4hNDDhDrSIDSDf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sdk</name>
-        <version>1.5.3.v200701251935-O2U9h5tjqRzyXdC</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.3.v200701251933-----1G955H5E5Fp</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.3.v200701251933-----1G955H5E5Fp</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_sdk.feature</name>
-        <version>1.5.3.v200701251933-8422923473A55-X</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_tests.feature</name>
-        <version>1.5.3.v200701251933------3YIAAYAgFQ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.3.v200701251933-PGIEZcmNrOLaLXL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.3.v200701251933-PGIEZcmNrOLaLXL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.3.v200701251933--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.tests.feature</name>
-        <version>1.5.3.v200701251935--X12DLk2aawcRbM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.3.v200701251933--4hNDDhFfKVFaSL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.3.v200701251933--4hNDDhFfKVFaSL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_sdk.feature</name>
-        <version>1.5.3.v200701251933-8422923473A550B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_tests.feature</name>
-        <version>1.5.3.v200701251933--87cMN7UMMkMskc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.3.v200701251933-zjf2UqCw_33Ffur</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.3.v200701251933-zjf2UqCw_33Ffur</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.3.v200701251933--1G955G5L9_7IAE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.3.v200612062151--4hNDDlDTFVITTc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.3.v200612062151--4hNDDlDTFVITTc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_sdk.feature</name>
-        <version>1.5.3.v200701251933-8422923473A55-v</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_tests.feature</name>
-        <version>1.5.3.v200701251933</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.3.v200701251933-hai7Hmzwm3L_T5K</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.3.v200701251933-hai7Hmzwm3L_T5K</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.3.v200701251933--2PD88P8XECCNKM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.3.v200701251933--3YIAAaBNHFDQIR</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.3.v200701251933--3YIAAaBNHFDQIR</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_sdk.feature</name>
-        <version>1.5.3.v200701251933-L2zO3EqAIUoe80j</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_tests.feature</name>
-        <version>1.5.3.v200701251933--AXrVWYfWY3XC3W</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.3.v200701251933-zkiCfz_49IUPp-O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.3.v200701251933-zkiCfz_49IUPp-O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.3.v200701251933--3YIAAYAjJGDUPb</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wtp.releng.tests.feature</name>
-        <version>1.0.0.v200612102113</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.5.v200609140515--0842282_453764</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--0842292428384A</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 461 -->
-
-      <entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.5.20061213</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.5.20061213</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200608011657</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200607172048</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.optional.junit</name>
-        <version>3.2.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.1.r321_v20060828</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.2.r322_v20070109a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.2.R32x_v20061218</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.1.R32x_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.2.r322_v20070117</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.cheatsheets</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.1.R32x_v20060717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.1.R32x_v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.2.v20070109</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.2.v20070109</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.2.R322_v20061213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.2.R322_v20061207</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.2.R322_v20061114</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.3.v_685_R32x</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.2.r322_v20070130</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.2.r322_v20061205</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.1.r322_v20070109</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.1.r321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.2.r322_v20061114</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.2.r322_v20070104-R4CR-Znkvtfjv9-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.2.r322_v20070124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.2.v20061027_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.3.v20070130_R----6zXJK-L2U8VZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.3.v20070130_R</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.2.M20061214-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.2.r322_v20070104</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.common.annotations.controller
-        </name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.4.v200702021430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200608141517</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.3.v200701251934--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.3.v200701251934--2PD88R9BCIAEJ8</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.3.v200701251934-pEBqJhM9w8QnUf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.3.v200702071605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.52.v200701241140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core.tests</name>
-        <version>1.1.0.v200701311831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.203.v200609182036</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.3.v200701241140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.emitter
-        </name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.1.v200609070230</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-        </name>
-        <version>1.1.1.v200609141515</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.202.v200609150300</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.3.v200701241140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.2.v200702021430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.tests</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.tests.performance</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.2.v200702071605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.3.v200701242244</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.3.v200612131540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.contentassist</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.contentassist.tests</name>
-        <version>0.5.0</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.jsf.contentmodel.annotations
-        </name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.context</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.context.resolver</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.jsf.context.resolver.structureddocument
-        </name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.jsf.context.structureddocument
-        </name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.context.symbol</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.core</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.core.tests</name>
-        <version>0.5.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.designtime</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.doc.dev</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.doc.user</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.facesconfig</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.facesconfig.common</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.facesconfig.edit</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.metadata.tests</name>
-        <version>0.5.0</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.jsf.metadataprocessingtests2
-        </name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.metadataprocessors</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.taglibprocessing</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.test.util</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.ui</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.ui.tests</name>
-        <version>0.5.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf.validation.el</name>
-        <version>0.5.0.v20060829</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-        <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.102.v200701252050</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core.tests</name>
-        <version>1.0.1.v200702021750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.tests.encoding</name>
-        <version>1.0.0.v200610030446</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.100.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.tests</name>
-        <version>1.0.0.v200611082053</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-        <version>1.0.0.v200610030446</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.105.v20070202b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core.tests</name>
-        <version>1.0.102.v20061013</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.101.v200608301011</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.2.v200702030302</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.tests</name>
-        <version>1.0.100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200608221634</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.1.v200609141504</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.2.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.104.v20070202b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core.tests</name>
-        <version>1.0.100.v20060817</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server.tomcat.tests.performance
-        </name>
-        <version>1.0.100.v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.103.v20060906</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-        <version>1.0.100.v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.tests</name>
-        <version>1.0.100.v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.3.v200701251934--2PD88Q8NBHx787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.3.v200701251934-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.tests</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.2.v200702021430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.validation.sample</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.validation.test</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.3.v200701251934--87cMNBMrUpUYda</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.3.v200701251934--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.103.v200701230512</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.103.v200701152245</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.102.v200608301709</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.104.v200702061836</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.103.v200701241747</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.202.v20070131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.104.v200701301546</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.104.v200702021949</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.tests</name>
-        <version>1.0.100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.tests.performance</name>
-        <version>1.0.100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.101.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.2.r322_v20070124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.2.R32x_v20070118</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.v20060810-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.1.v20060915-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.2.r322_v20070117b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.2.R32x_v20070115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.1.R32x_v200608101155</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.2.r322_v20070119-RQghndJN8IM-NxK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-        <version>3.2.2.r322_v20070119-RQghndJN8IM-NxK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-        <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.2.r322_v20070115b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.2.v3236b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.gtk.linux.ppc</name>
-        <version>3.2.2.v3236</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.2.M20061114</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.2.M20061205</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.1.M20061205</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.1.M20061205</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.2.M20061121</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.1.M200608151725</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance.win32</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.source</name>
-        <version>3.2.0.v20061124_r32x</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.1.M20061108</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.1.R321_v20060720</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.101.r321_v20060802</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.1.M20060915-1030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.2.R322_v20061214</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.1.R321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.1.M20060906-0800b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.1.M20060830-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.2.M20070119-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.2.R32x_v20070111</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.3.R32x_v20070118</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.linux</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.2.R32x_v20061214</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.2.R32x_v20070111</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.103.v200702021949</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.102.v200702021949</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.doc.user</name>
-        <version>1.5.0.v20060831345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.100.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.3.v200612061436</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.emfworkbench.integration
-        </name>
-        <version>1.1.4.v200702021430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200608251934</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.3.v200702071605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.2.v200702071605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.52.v200701251700</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.project.facet.core.tests
-        </name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.2.v200701192142</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets.tests</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.tests</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.tests.collector</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.tests.performance</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.tests.ui</name>
-        <version>1.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.101.v200702021750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.101.v200702021717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.3.v200701251933--AXrVWeX7d4hX-D</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.3.v200701251933-qKHiXJOPpbWGm-L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core.tests</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.tests.encoding</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.101.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui.tests</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui.tests.performance</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.connection.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.server.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv</name>
-        <version>1.0.203.v200702030234</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.203.v200608231821</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.102.v200702021750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.tests</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.2.v200612200820</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core.tests</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.1.v200608220315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.tests.encoding</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.102.v200702021750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.tests</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.tests.performance</name>
-        <version>1.0.0.v200610030432</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.103.v200612070353</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache.tests</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-        <version>1.0.100.v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.101.v200702021949</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.2.v200701250230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.106.v200701032244</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.1.119.v200702062139</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.108.v200701032153</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.107.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.110.v200612130213</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.iseries
-        </name>
-        <version>1.0.105.v200610161941</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.107.v200702021852</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.zseries
-        </name>
-        <version>1.0.104.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.104.v200610161905</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-        </name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.104.v200610261819</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.101.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.103.v200702062139</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.105.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.106.v200610261819</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.106.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.103.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.104.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.103.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.103.v200702062139</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.104.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.103.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.104.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.107.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.105.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.110.v200701242205</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.106.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.103.v200612130213</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.tests.dbdefinition</name>
-        <version>1.0.1.v200702062139</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.tests.performance</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.3.v200702061839--Cq0bcrlqoamowX</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.3.v200702061839--3YIAAaCICSEGIY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.3.v200701251933-FTMjzaAe7oC0NoZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.105.v20070202b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core.tests</name>
-        <version>1.0.100.v20060824</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.tests.performance</name>
-        <version>1.0.100.v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.105.v20070124b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.3.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.tests</name>
-        <version>1.0.100.v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.3.v200701251933-----1G955H5E5Fp</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.3.v200701251933-PGIEZcmNrOLaLXL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.2.v200608310308</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.101.v200611210021</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core.tests</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.203.v200608300230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.202.v200701252330</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.tests</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.tests.performance</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.3.v200702021430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.2.v200612061436</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.2.v200610182223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.3.v200701251933--4hNDDhFfKVFaSL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.3.v200701251933-zjf2UqCw_33Ffur</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.102.v200702021949</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.104.v200701250524</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.202.v20070131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.tests</name>
-        <version>1.0.100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.102.v200702021555</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.3.v200612062151--4hNDDlDTFVITTc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.3.v200701251933-hai7Hmzwm3L_T5K</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.103.v200702021033</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.tests</name>
-        <version>1.0.1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.tests.performance</name>
-        <version>1.0.1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.tests.ui</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.101.v200702082034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.101.v200701260245</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation.tests</name>
-        <version>1.0.203</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.104.v200702021430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.tests</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.101.v20060850312</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.100.v200702021717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core.tests</name>
-        <version>1.0.0.v200610030650</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.tests.encoding</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.201.v200702021717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.tests</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.tests.performance</name>
-        <version>1.0.0.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.validation.tests</name>
-        <version>1.0.202.v200701251230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.3.v200701251933--3YIAAaBNHFDQIR</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.3.v200701251933-zkiCfz_49IUPp-O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.101.v200701312359</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.tests.performance</name>
-        <version>1.0.1.v200610030431</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.102.v200701312359</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.validation.tests</name>
-        <version>1.0.201.v200610030430</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wtp.releng.tests</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.cheatsheets</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.1.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.2.v200702010000</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0.1</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j</name>
-        <version>2.0.5.v200608231542</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200702061629</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/WTP150.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/WTP150.xml
deleted file mode 100644
index 3408054..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/WTP150.xml
+++ /dev/null
@@ -1,1952 +0,0 @@
-<referenceData id="WTP150">
-    <featureData>
-      <!-- Number of features: 99 -->
-      <entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--084228283_3443</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--084228283_3443</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.sdk</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.sdk</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060530_RC2--FEM8P88GP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.0.v200606092300-kW-O_ysCRLJsxJt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.0.v200605151622--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.0.v200605151622--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_sdk.feature</name>
-        <version>1.5.0.v200605151622-8422827373844--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv.feature</name>
-        <version>1.5.0.v200605151622--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_sdk.feature</name>
-        <version>1.5.0.v200605151622-842282737384402</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.0.v200605151622--4hNDDhDcJUJeMV</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.sdk</name>
-        <version>1.5.0.v200606092300-dnUVLo09wQhiy4R</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_sdk.feature</name>
-        <version>1.5.0.v200606130315-8422828352537--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.0.v200605151622--08422827262337</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_sdk.feature</name>
-        <version>1.5.0.v200605151622-8422827373844--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.0.v200605151622</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.0.v20060609m-GNq6oQq-7es-Y81</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.0.v200606092300-U4T922yjOWsGK5Y</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_sdk.feature</name>
-        <version>1.5.0.v200605151622-842282744366203</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.0.v200605151622</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv.feature</name>
-        <version>1.5.0.v200605151622--08422828352867</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_sdk.feature</name>
-        <version>1.5.0.v200605151622-PD88P8MBJAQCG-N</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.0.v200605151622--4hNDDhDcFjDKTF</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sdk</name>
-        <version>1.5.0.v200606092300-24KsYkftnYYU8Om</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_sdk.feature</name>
-        <version>1.5.0.v200605221710-8422827443932-X</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.0.v200605151622--08422827262353</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_sdk.feature</name>
-        <version>1.5.0.v200605151622-84228282937520B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.0.v200605151622--1G955G5E7K7GDB</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_sdk.feature</name>
-        <version>1.5.0.v200605151622-8422827443672-v</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.0.v200605221940--1G955G5E777H7C</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_sdk.feature</name>
-        <version>1.5.0.v200605151622-842282744365_-9</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAUCVDLMP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.3.v200606071530--084228283_3443</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--084228283_3443</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 380 -->
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.4.1</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.4.1</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.optional.junit</name>
-        <version>3.2.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.0.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.cheatsheets</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.0.v20060602-1740</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.0.v20060602-1740</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.0.v_671</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.common.annotations.controller
-        </name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.0.v200605151622--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.201.v200605291441</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.201.v200605152316</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.0.v200606212143</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.emitter
-        </name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.0.v200606212143</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-        </name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.0.v200606152049</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.201.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.0.v200606152049</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.0.v200606152049</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.0.v200606222043</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.0.v200606191945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.0.v200606191945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.201.v200605111705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.201.v200605111705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.101.v200606131923</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.201.v200605111641</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.0.v20060612-0900</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source.win32.win32.x86</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source.win32.win32.x86</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.0.v3232m</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.0.v3232o</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.0.M20060628</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance.win32</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.source</name>
-        <version>3.2.0.v20060220</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.emfworkbench.integration
-        </name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.0.v200606222043</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.0.v200606142122</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.100.v200606141450</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.connection.ui.doc.user
-        </name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.1.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.server.ui.doc.user
-        </name>
-        <version>1.0.1.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.201.v200605181647</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.100.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.2.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.100.v200606191945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.0.107.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.104.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.105.v200606130645</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.iseries
-        </name>
-        <version>1.0.102.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.103.v200606221744</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.zseries
-        </name>
-        <version>1.0.102.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.102.v200606221744</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-        </name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.102.v200605082300</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.102.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.103.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.104.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.103.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.2.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.2.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.0.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.201.v200605152316</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.101.v200606191900</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.0.v200606161959</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.201.v200605181650</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.0.v200606222043</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.201.v200605111623</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.0.v200606142122</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.201.v200605111705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.0.v200606142000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.100.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.201.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.0.v200606142122</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.201.v200605181657</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.cheatsheets</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j</name>
-        <version>2.0.4.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200606181221</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK151.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK151.xml
deleted file mode 100644
index 0fa0065..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK151.xml
+++ /dev/null
@@ -1,1958 +0,0 @@
-<referenceData id="WTPSDK151">
-    <featureData>
-      <!-- Number of features: 99 -->
-
-      <entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--0842282_233879</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--0842282939426_</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.sdk</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.sdk</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.1.v20060825_M-G95ETloaW2QZOdc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.1.v200609111510-kW-O_zxPud7GuJG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv.feature</name>
-        <version>1.5.1.v200609121915--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.1.v200609051533--2PD88P8YAGDADJ</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.1.v200609051533--2PD88P8YAGDADJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_425202</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.1.v200608082030-pEBq_haA1H4sJf6</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.1.v200608082030-pEBq_haA1H4sJf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.1.v200609111710--4hNDDhDwMTJbWt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.sdk</name>
-        <version>1.5.1.v200609111510-dnUVLseYZElPh32</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.1.v200608082030--87cMN7NMTv4YPT</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.1.v200608082030--87cMN7NMTv4YPT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.1.v200608082030--2PD88P8UBJx787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8UBJx787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111710--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.1.v200608082030--87cMN7NRVeVWXd</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.1.v200608082030--87cMN7NRVeVWXd</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060801-tQ1w49KnTArT0FZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.1.v200609111500-X3TmmF3AeboB5EW</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.1.v200608082030--AXrVWXWxl-k3-4</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--AXrVWXWxl-k3-4</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_sdk.feature</name>
-        <version>1.5.1.v200609111555-842282_2_425203</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.1.v200608082030-qKHiTHoXWmGI9-6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.1.v200608082030-qKHiTHoXWmGI9-6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.1.v200609111555</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv.feature</name>
-        <version>1.5.1.v200609111750--0842282A274567</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.1.v200608082030--Cq0bcpdJw4teC8</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.1.v200608082030--Cq0bcpdJw4teC8</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.1.v200608082030--3YIAAYAeEKFTFU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAeEKFTFU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_sdk.feature</name>
-        <version>1.5.1.v200609121915-PD88P8V8VD8G8-N</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.1.v200608082030-FTMjwT_hp-I8hlV</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.1.v200608082030-FTMjwT_hp-I8hlV</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.1.v200609121915--4hNDDhDrSIDSDf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sdk</name>
-        <version>1.5.1.v200609111510-53LhU5L4LmuQyht</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.1.v200608082030------1G955G5L7D</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.1.v200608082030------1G955G5L7D</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_sdk.feature</name>
-        <version>1.5.1.v200609111645-842282_2_4252-X</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.1.v200608082030-PGIEUH7RmGdKiHf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUH7RmGdKiHf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111645--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.1.v200608082030--4hNDDhDvKRFXQM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.1.v200608082030--4hNDDhDvKRFXQM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_sdk.feature</name>
-        <version>1.5.1.v200609111705-842282A3339270B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.1.v200609111705-zjf2SqQuQ3wGZss</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.1.v200609111705-zjf2SqQuQ3wGZss</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111705--1G955G5L9_7IAE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.1.v200608082030--4hNDDhDvGTJSLf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.1.v200608082030--4hNDDhDvGTJSLf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_sdk.feature</name>
-        <version>1.5.1.v200609111650-842282_2_4252-v</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.1.v200608082030-hai7DnIyF_GCayN</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.1.v200608082030-hai7DnIyF_GCayN</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.1.v200609111650--2PD88P8XECCNKM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_sdk.feature</name>
-        <version>1.5.1.v200609111545-842282_5224670B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.1.v200608300245-zkiCbzU5ZFWEixE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.1.v200608300245-zkiCbzU5ZFWEixE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.1.v200609111545--3YIAAYAjJGDUPb</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.5.v200609140515--0842282_453764</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--084228293_3A39</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 380 -->
-
-      <entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.5</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.5</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200608011657</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200607172048</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.optional.junit</name>
-        <version>3.2.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.1.r321_v20060828</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.1.R32x_v20060914</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.1.R32x_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.1.R32x_v20060717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.1.R32x_v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.1.R321_v20060920</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.1.R321_v20060822</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.1.R321_v20060803</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.1.v_677_R32x</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.1.r321_v20060731</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.1.r321_v20060918</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.1.r321_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.1.r321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.1.r321_v20060731</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.1.r321_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.1.M20060908-1000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.common.annotations.controller
-        </name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200608141517</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.1.v200609051533--2PD88P8YAGDADJ</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.1.v200608082030-pEBq_haA1H4sJf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.1.v200609221510</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.203.v200609182036</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.emitter
-        </name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.1.v200609070230</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-        </name>
-        <version>1.1.1.v200609141515</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.202.v200609150300</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.1.v200609192150</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.100.v200609201330</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.100.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.103.v20060904b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.101.v200608301011</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200608221634</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.1.v200609141504</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.1.v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.103.v20060904b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.103.v20060906</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.1.v200608082030--87cMN7NMTv4YPT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8UBJx787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.1.v200608082030--87cMN7NRVeVWXd</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.102.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.102.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.102.v200608301709</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.102.v200609081903</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.102.v200609220223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.102.v200609132055</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.102.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.101.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.1.R32x_v20060919</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.v20060810-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.1.v20060915-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.1.r321_v2006030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.1.R32x_v200608101155</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.1.v3235e</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.1.v3235</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.1.M200608161750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.1.M20060831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.1.M200608151725</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance.win32</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.source</name>
-        <version>3.2.0.v20060220</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.1.R321_v20060720</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.101.r321_v20060802</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.1.M20060915-1030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.1.R321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.1.R321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.1.M20060906-0800b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.1.M20060830-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.doc.user</name>
-        <version>1.5.0.v20060831345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.100.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.emfworkbench.integration
-        </name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200608251934</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.1.v200609161502</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.100.v200608221521</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.100.v200609200443</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--AXrVWXWxl-k3-4</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.1.v200608082030-qKHiTHoXWmGI9-6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.101.v200609140550</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.connection.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.server.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv</name>
-        <version>1.0.202.v200609052345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.203.v200608231821</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.101.v200608162201</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.1.v200608220315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.101.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.102.v200608221746</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.103.v200608282140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.1.113.v200609121919</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.106.v200608212221</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.105.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.109.v200609051822</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.iseries
-        </name>
-        <version>1.0.103.v200609221041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.106.v200609122026</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.zseries
-        </name>
-        <version>1.0.103.v200609221041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.103.v200609221041</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-        </name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.103.v200609122026</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.1.v200609221041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.102.v200609122026</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.104.v200609221041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.104.v200609221041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.105.v200608222044</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.102.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.103.v200608212119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.102.v200608212119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.103.v200607112303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.103.v200608222012</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.106.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.104.v200609181831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.108.v200609182107</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.105.v200609192136</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.102.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.1.v200608082030--Cq0bcpdJw4teC8</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAeEKFTFU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.1.v200608082030-FTMjwT_hp-I8hlV</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.103.v20060920</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.103.v20060920</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.3.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.1.v200608082030------1G955G5L7D</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUH7RmGdKiHf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.2.v200608310308</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.100.v200609182120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.203.v200608300230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.200.v200609211325</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.1.v200608082030--4hNDDhDvKRFXQM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.1.v200609111705-zjf2SqQuQ3wGZss</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.102.v200609132055</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.101.v200608232209</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.1.v200608082030--4hNDDhDvGTJSLf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.1.v200608082030-hai7DnIyF_GCayN</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.101.v200609141945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.100.v200609220004</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.100.v200608100007</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.102.v200609101400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.101.v20060850312</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.200.v200609221505</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.1.v200608300245-zkiCbzU5ZFWEixE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.100.v200608112037</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.100.v200609200602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0.1</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j</name>
-        <version>2.0.5.v200608231542</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200607181917</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK152.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK152.xml
deleted file mode 100644
index 427b709..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK152.xml
+++ /dev/null
@@ -1,1958 +0,0 @@
-<referenceData id="WTPSDK152">
-    <featureData>
-      <!-- Number of features: 99 -->
-
-      <entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--0842282_233879</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--0842282939426_</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.sdk</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.sdk</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.1.v20060825_M-G95ETloaW2QZOdc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.2.v200610070620-kW-OA1vfaZTJtXg</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv.feature</name>
-        <version>1.5.1.v200609121915--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_sdk.feature</name>
-        <version>1.5.2.v200610071830-842283229284202</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.1.v200609111710--4hNDDhDwMTJbWt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.sdk</name>
-        <version>1.5.2.v200610070620-dnUUNbBDstmRfV2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_sdk.feature</name>
-        <version>1.5.2.v20061019417-84228323A2322--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111710--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060801-tQ1w49KnTArT0FZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.2.v200610070620-X3Tmm8_VLz2EcCH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_sdk.feature</name>
-        <version>1.5.2.v200610140800-8422832362_2203</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.1.v200609111555</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv.feature</name>
-        <version>1.5.1.v200609111750--0842282A274567</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_sdk.feature</name>
-        <version>1.5.2.v200610171240-PD88PA8ASADJ8-N</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.1.v200609121915--4hNDDhDrSIDSDf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sdk</name>
-        <version>1.5.2.v200610070620-O2U9W5yZ8Xaybx1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_sdk.feature</name>
-        <version>1.5.2.v200610071830-8422832292842-X</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111645--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_sdk.feature</name>
-        <version>1.5.2.v200610140800-8422832362_220B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111705--1G955G5L9_7IAE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_sdk.feature</name>
-        <version>1.5.2.v200610071830-8422832292842-v</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.1.v200609111650--2PD88P8XECCNKM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_sdk.feature</name>
-        <version>1.5.2.v200610171640-L2zNz6N81T2UwAZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.1.v200609111545--3YIAAYAjJGDUPb</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.5.v200609140515--0842282_453764</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--084228293_3A39</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 380 -->
-
-      <entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.5</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.5</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200608011657</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200607172048</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.optional.junit</name>
-        <version>3.2.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.1.r321_v20060828</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.1.R32x_v20060914</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.1.R32x_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.1.R32x_v20060717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.1.R32x_v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.1.R321_v20060920</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.1.R321_v20060822</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.1.R321_v20060803</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.1.v_677_R32x</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.1.r321_v20060731</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.1.r321_v20060918</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.1.r321_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.1.r321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.1.r321_v20060731</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.1.r321_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.1.M20060908-1000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.common.annotations.controller
-        </name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200608141517</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.2.v200610182223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.203.v200609182036</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.emitter
-        </name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.1.v200609070230</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-        </name>
-        <version>1.1.1.v200609141515</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.202.v200609150300</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.1.v200609192150</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.101.v200610171745</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.100.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.104.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.101.v200608301011</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200608221634</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.1.v200609141504</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.2.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.103.v20060904b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.103.v20060906</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.102.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.102.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.102.v200608301709</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.102.v200609081903</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.102.v200609220223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.103.v200610252046</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.103.v200610050252</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.101.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.1.R32x_v20060919</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.v20060810-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.1.v20060915-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.1.r321_v2006030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.1.R32x_v200608101155</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.1.v3235e</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.1.v3235</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.1.M200608161750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.1.M20060831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.1.M200608151725</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance.win32</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.source</name>
-        <version>3.2.0.v20060220</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.1.R321_v20060720</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.101.r321_v20060802</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.1.M20060915-1030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.1.R321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.1.R321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.1.M20060906-0800b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.1.M20060830-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.doc.user</name>
-        <version>1.5.0.v20060831345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.100.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.emfworkbench.integration
-        </name>
-        <version>1.1.2.v200610182223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200608251934</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.100.v200608221521</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.100.v200609200443</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.101.v200609140550</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.connection.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.server.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv</name>
-        <version>1.0.202.v200609052345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.203.v200608231821</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.101.v200608162201</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.1.v200608220315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.101.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.102.v200608221746</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.103.v200608282140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.1.114.v200610191820</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.106.v200608212221</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.106.v200610161851</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.109.v200609051822</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.iseries
-        </name>
-        <version>1.0.105.v200610161941</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.106.v200609122026</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.zseries
-        </name>
-        <version>1.0.104.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.104.v200610161905</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-        </name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.104.v200610261819</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.101.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.102.v200609122026</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.105.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.106.v200610261819</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.105.v200608222044</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.102.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.103.v200608212119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.102.v200608212119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.103.v200607112303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.103.v200608222012</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.106.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.104.v200609181831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.108.v200609182107</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.105.v200609192136</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.102.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.104.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.104.v20061012</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.3.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.2.v200608310308</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.100.v200609182120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.203.v200608300230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.201.v200610031800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.2.v200610182223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.103.v200610050252</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.101.v200608232209</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.102.v200610132000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.100.v200609220004</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.100.v200608100007</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.102.v200609101400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.101.v20060850312</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.200.v200609221505</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.100.v200608112037</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.101.v200610131943</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0.1</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j</name>
-        <version>2.0.5.v200608231542</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200607181917</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK152PLUSPATCHES.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK152PLUSPATCHES.xml
deleted file mode 100644
index 27a26f4..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/WTPSDK152PLUSPATCHES.xml
+++ /dev/null
@@ -1,1970 +0,0 @@
-<referenceData id="WTPSDK152PLUSPATCHES">
-    <featureData>
-      <!-- Number of features: 102 -->
-
-      <entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--0842282_233879</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--0842282939426_</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--0842282_383A68</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.sdk</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.sdk</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.1.v20060825_M-G95ETloaW2QZOdc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.2.v200610070620-kW-OA1vfaZTJtXg</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv.feature</name>
-        <version>1.5.1.v200609121915--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_sdk.feature</name>
-        <version>1.5.2.v200610071830-842283229284202</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.1.v200609111710--4hNDDhDwMTJbWt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.sdk</name>
-        <version>1.5.2.v200610070620-dnUUNbBDstmRfV2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_sdk.feature</name>
-        <version>1.5.2.v20061019417-84228323A2322--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111710--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.patch</name>
-        <version>1.5.2.v200612052215--08422834282565</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060801-tQ1w49KnTArT0FZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.2.v200610070620-X3Tmm8_VLz2EcCH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.patch</name>
-        <version>1.5.2.v200612052215--1G955G795F5CA5</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_sdk.feature</name>
-        <version>1.5.2.v200610140800-8422832362_2203</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.1.v200609111555</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv.feature</name>
-        <version>1.5.1.v200609111750--0842282A274567</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_sdk.feature</name>
-        <version>1.5.2.v200610171240-PD88PA8ASADJ8-N</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.1.v200609121915--4hNDDhDrSIDSDf</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sdk</name>
-        <version>1.5.2.v200610070620-O2U9W5yZ8Xaybx1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_sdk.feature</name>
-        <version>1.5.2.v200610071830-8422832292842-X</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111645--0842282A44386A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_sdk.feature</name>
-        <version>1.5.2.v200610140800-8422832362_220B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111705--1G955G5L9_7IAE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_sdk.feature</name>
-        <version>1.5.2.v200610071830-8422832292842-v</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.1.v200609111650--2PD88P8XECCNKM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.patch</name>
-        <version>1.5.2.v200612052215--08422834272727</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_sdk.feature</name>
-        <version>1.5.2.v200610171640-L2zNz6N81T2UwAZ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.1.v200609111545--3YIAAYAjJGDUPb</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.5.v200609140515--0842282_453764</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--084228293_3A39</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 380 -->
-
-      <entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.5</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.5</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200608011657</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200607172048</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200608161946</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.optional.junit</name>
-        <version>3.2.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.1.r321_v20060828</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.1.R32x_v20060914</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.1.R32x_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.1.v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.1.R32x_v20060717</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.1.R32x_v20060814</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.1.R321_v20060920</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.1.R321_v20060822</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.1.R321_v20060803</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.1.v_677_R32x</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.1.r321_v20060731</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.1.r321_v20060918</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.1.r321_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.1.r321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.1.r321_v20060731</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.1.r321_v20060907</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.1.v20060918_M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.1.M20060908-1000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.1.r321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.common.annotations.controller
-        </name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.3.v200611141330</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200608141517</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.doc.isv</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_core.feature.source
-        </name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.enterprise_ui.feature.source
-        </name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.2.v200610182223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.3.v200612060343</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.203.v200609182036</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.emitter
-        </name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.1.v200609070230</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-        </name>
-        <version>1.1.1.v200609141515</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.202.v200609150300</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.1.v200609192150</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.101.v200610171745</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.100.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.104.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.101.v200608301011</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200608221634</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.1.v200609141504</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.2.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.103.v20060904b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.103.v20060906</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.server_adapters.feature.source
-        </name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.102.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.102.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.102.v200608301709</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.102.v200609081903</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.102.v200609220223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.103.v200610252046</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.103.v200610050252</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.101.v200608302120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.1.R32x_v20060919</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.v20060810-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.1.r321_v20060823</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.1.v20060915-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.1.v20060816-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.1.r321_v2006030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.1.R32x_v200608101155</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.1.r321_v20060726</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.1.v3235e</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.1.v3235</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.1.M20060711</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.1.M200608161750</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.1.M20060831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.1.M200608151725</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.performance.win32</name>
-        <version>3.1.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.test.source</name>
-        <version>3.2.0.v20060220</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.1.R321_v20060720</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.1.r321_v20060721</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.101.r321_v20060802</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.1.M20060915-1030</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.1.R321_v20060810</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.1.R321_v20060905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.1.M20060913-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.1.M20060906-0800b</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.1.M20060830-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.1.M20060906-0800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.1.v20092006</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.doc.user</name>
-        <version>1.5.0.v20060831345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.102.v200608222020</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.100.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.emfworkbench.integration
-        </name>
-        <version>1.1.3.v200612050530</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200608251934</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.3.v200612060330</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.1.v200608112156</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.100.v200608221521</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.101.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.100.v200609200443</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.101.v200609140550</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.connection.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.server.ui.doc.user
-        </name>
-        <version>1.0.203.v200608310305</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.isv</name>
-        <version>1.0.202.v200609052345</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.203.v200608231821</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.101.v200608162201</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.1.v200609210600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.1.v200608220315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.101.v200608142042</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.102.v200608221746</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.103.v20060809</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.100.v200608221651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.1.v200609140550</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.1.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.103.v200608282140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.1.114.v200610191820</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.106.v200608212221</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.106.v200610161851</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.109.v200609051822</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.iseries
-        </name>
-        <version>1.0.105.v200610161941</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.106.v200609122026</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.zseries
-        </name>
-        <version>1.0.104.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.104.v200610161905</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-        </name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.104.v200610261819</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.101.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.102.v200609122026</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.105.v200610161905</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.106.v200610261819</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.105.v200608222044</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.102.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.103.v200608212119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.102.v200608212119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.103.v200607112303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.103.v200608222012</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.106.v200608142103</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.104.v200609181831</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.108.v200609182107</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.105.v200609192136</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.102.v200608220540</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.104.v20061018</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.104.v20061012</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.3.v200609140551</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.2.v200608310308</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.100.v200609182120</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.203.v200608300230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.201.v200610031800</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.2.v200610162137</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.2.v200610182223</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.1.v200609132124</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.103.v200610050252</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.101.v200609062128</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.101.v200608232209</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.102.v200610132000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.100.v200609220004</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.100.v200608100007</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.102.v200609101400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.101.v20060850312</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.2.v200612050505</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.200.v200609221505</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.100.v200608112037</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.101.v200610131943</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0.1</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j</name>
-        <version>2.0.5.v200608231542</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200607181917</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/callisto1.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/callisto1.xml
deleted file mode 100644
index fd65eb2..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/callisto1.xml
+++ /dev/null
@@ -1,3076 +0,0 @@
-<referenceData id="callisto1">
-    <featureData>
-      <!-- Number of features: 115 -->
-      <entry>
-        <name>com.lowagie.itext</name>
-        <version>1.3.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--084228283_3443</version>
-      </entry>
-      <entry>
-        <name>org.apache.batik</name>
-        <version>1.6.0.v20060613-1220-0842282835-3442</version>
-      </entry>
-      <entry>
-        <name>org.apache.batik.pdf</name>
-        <version>1.6.0.v20060613-1220-0842282835-3442</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons.codec</name>
-        <version>1.3.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.apache.derby.core</name>
-        <version>10.1.2.1</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--084228283_3443</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt</name>
-        <version>2.1.0.N20060706-1015</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.cshelp</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.runtime</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.cshelp</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.example</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer</name>
-        <version>2.1.0.N20060706-1015</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.runtime</name>
-        <version>2.1.0.N20060706-1015</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.feature</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.designer.feature
-        </name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.feature
-        </name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.enablement.feature</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.modelbase.feature</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqldevtools.feature</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ocl</name>
-        <version>1.0.0.v200606261119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.query</name>
-        <version>1.0.0.v200606261130</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.query.ocl</name>
-        <version>1.0.0.v200606261130</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.transaction</name>
-        <version>1.0.0.v200606261303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.validation</name>
-        <version>1.0.0.v200606261144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.validation.ocl</name>
-        <version>1.0.0.v200606261144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.workspace</name>
-        <version>1.0.0.v200606261303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox</name>
-        <version>3.2.0.v20060609m-----Cq0bcpcpbus</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.callisto</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.0.v200606092300-kW-O_ysCRLJsxJt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.0.v200605151622--08422828352537</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.0.v200605151622--4hNDDhDcJUJeMV</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.0.v200605151622--08422827262337</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.0.v200605151622</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.birt</name>
-        <version>4.2.0.v200606121835--J3Fdf2f36X6t7Y</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring</name>
-        <version>4.2.0.v200606131519--_OmSTOTOd6a3aR</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.doc.user</name>
-        <version>4.2.0.v200606121835--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.examples</name>
-        <version>4.2.0.v200606121835--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.profile.server</name>
-        <version>4.1.100.v200606131519--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.report.birt</name>
-        <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.runtime</name>
-        <version>4.2.0.v200606121835--stCklslt2O-P0B</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.analysis</name>
-        <version>4.2.1.v200606131519--3YIAAYAYEMEUEk</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.analysis.codereview.java
-        </name>
-        <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.analysis.engine</name>
-        <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.core</name>
-        <version>4.2.1.v200607130100--Cq0bcpctpGnRyt</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.core.doc.user</name>
-        <version>4.2.0.v200606121835--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.doc.user</name>
-        <version>4.2.0.v200606121835-8AcKKEiFfIYIiEo</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.examples</name>
-        <version>4.2.0.v200606121835--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.lta</name>
-        <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.probekit</name>
-        <version>4.2.0.v200606131519--3YIAAYAYEMEUEk</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.probekit.doc.user</name>
-        <version>4.2.0.v200606121835--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.profile.server</name>
-        <version>4.1.100.v200606180100--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report</name>
-        <version>4.1.101.v200606150100--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report.birt</name>
-        <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.runtime</name>
-        <version>4.2.1.v200607130100-ASlM31q32y_vmLy</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.samples</name>
-        <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.statistical.ui</name>
-        <version>4.1.100.v200606131519--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.trace</name>
-        <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test</name>
-        <version>4.2.1.v200607130100--4hNDDhDkISIiUn</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.doc.user</name>
-        <version>4.2.0.v200606121835--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.report.birt</name>
-        <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.runtime</name>
-        <version>4.2.1.v200607130100--Hp5ghohuxCwlF-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.samples</name>
-        <version>4.1.100.v200606131519--0842282835373A</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.tools</name>
-        <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace</name>
-        <version>4.1.100.v200606131519--1G955G5G7A7E7M</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace.report.birt</name>
-        <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace.runtime</name>
-        <version>4.2.0.v200606121835--3OA77O7O9I9M9U</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.wtp</name>
-        <version>4.2.0.v200606121835--7iSEEiEiOWOeP-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve</name>
-        <version>1.2.0.v20060530_RC2-0-a2N7MMl7</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.0.v200606092300-U4T922yjOWsGK5Y</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.0.v200605151622</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.0.v200605151622--4hNDDhDcFjDKTF</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.0.v200605151622--08422827262353</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.0.v200605151622--1G955G5E7K7GDB</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.0.v200605221940--1G955G5E777H7C</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.0.v200605151622--3YIAAYAUCVDLMP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.mozilla.rhino</name>
-        <version>1.6.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.3.v200606071530--084228283_3443</version>
-      </entry>
-      <entry>
-        <name>org.w3c.sac</name>
-        <version>1.3.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--084228283_3443</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 616 -->
-      <entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.4.1</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>com.lowagie.itext</name>
-        <version>1.3.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.batik</name>
-        <version>1.6.0.v20060613-1220</version>
-      </entry>
-      <entry>
-        <name>org.apache.batik.pdf</name>
-        <version>1.6.0.v20060613-1220</version>
-      </entry>
-      <entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons.codec</name>
-        <version>1.3.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.apache.derby.core</name>
-        <version>10.1.2.1</version>
-      </entry>
-      <entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.0.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.cshelp</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.device.extension</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.device.pdf</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.device.svg</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.device.swt</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.engine</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.engine.extension</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.examples</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.reportitem</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.reportitem.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.runtime</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.chart.ui.extension</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.core</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.core.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.cshelp</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.data</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.data.oda</name>
-        <version>2.0.2.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.data.oda.adapter.dtp</name>
-        <version>2.0.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.example</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.data.adapter</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.data.oda.jdbc</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.data.oda.jdbc.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.data.oda.sampledb</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.birt.report.data.oda.sampledb.ui
-        </name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.data.oda.xml</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.data.oda.xml.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.debug.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer.core</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.birt.report.designer.example.samplereport
-        </name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer.ui</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer.ui.editors</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.birt.report.designer.ui.editors.schematic
-        </name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer.ui.ide</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer.ui.lib</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.birt.report.designer.ui.lib.explorer
-        </name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.designer.ui.preview</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.engine</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.engine.emitter.html</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.engine.emitter.pdf</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.engine.fonts</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.model</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.model.adapter.oda</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.runtime</name>
-        <version>2.1.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.birt.report.viewer</name>
-        <version>2.1.0.N20060706-1015</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.core</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.core.win32</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.debug.core</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.debug.mi.core</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.debug.mi.ui</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.debug.ui</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.doc.user</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.launch</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.make.core</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.make.ui</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.managedbuilder.core</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.managedbuilder.gnu.ui</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.managedbuilder.ui</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.refactoring</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.cdt.ui</name>
-        <version>3.1.0.200606261600</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity</name>
-        <version>0.9.0.200606131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.db.derby</name>
-        <version>0.9.0.200606131</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.db.generic
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.db.generic.ui
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.dbdefinition.derby
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.dbdefinition.genericJDBC
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.derby</name>
-        <version>0.9.0.200606071</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.derby.ui</name>
-        <version>0.9.0.200606021</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.finfo</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.oda</name>
-        <version>3.0.1.200606081</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.consumer
-        </name>
-        <version>3.0.1.200606071</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.design
-        </name>
-        <version>3.0.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.design.ui
-        </name>
-        <version>3.0.1.200606021</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.designer.finfo
-        </name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.finfo
-        </name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.flatfile
-        </name>
-        <version>3.0.0.200606081</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.flatfile.ui
-        </name>
-        <version>3.0.0.200606081</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.oda.profile
-        </name>
-        <version>3.0.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.sqm.core</name>
-        <version>0.9.0.200606071</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.sqm.core.ui
-        </name>
-        <version>0.9.0.200606071</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.connectivity.sqm.server.ui
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.ui</name>
-        <version>0.9.0.200606131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.connectivity.ui.dse</name>
-        <version>0.9.0.200606131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.enablement.finfo</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.ibm.db2.luw.profile
-        </name>
-        <version>0.9.0.200606061</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.ibm.informix.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.enablement.mysql</name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.mysql.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.mysql.profile
-        </name>
-        <version>0.9.0.200606061</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.oracle.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.oracle.profile
-        </name>
-        <version>0.9.0.200606061</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.sybase.ase.dbdefinition
-        </name>
-        <version>0.9.0.200605231</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.enablement.sybase.ase.profile
-        </name>
-        <version>0.9.0.200606061</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.modelbase.dbdefinition
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.modelbase.derby</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.modelbase.edit</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.modelbase.finfo</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.modelbase.sql</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.modelbase.sql.query</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.modelbase.sql.xml.query
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.common.ui</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.db.derby</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.db.generic</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.sqltools.debugger.core
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.editor.core</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.finfo</name>
-        <version>0.9.0.200606161</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.sqltools.parsers.sql.lexer
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.sqltools.parsers.sql.query
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.sqltools.parsers.sql.xml.query
-        </name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.plan</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.result</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.datatools.sqltools.routineeditor
-        </name>
-        <version>0.9.0.200605121</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.sql</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.sqleditor</name>
-        <version>0.9.0.200605121</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-        <version>0.9.0.200605101</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.ocl</name>
-        <version>1.0.0.v200606261119</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.query</name>
-        <version>1.0.0.v200606261130</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.query.ocl</name>
-        <version>1.0.0.v200606261130</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.transaction</name>
-        <version>1.0.0.v200606261303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.transaction.ui</name>
-        <version>1.0.0.v200606261303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.validation</name>
-        <version>1.0.0.v200606261144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.validation.ocl</name>
-        <version>1.0.0.v200606261144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.validation.ui</name>
-        <version>1.0.0.v200606261144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.validation.ui.ide</name>
-        <version>1.0.0.v200606261144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.workspace</name>
-        <version>1.0.0.v200606261303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.emf.workspace.ui</name>
-        <version>1.0.0.v200606261303</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.device</name>
-        <version>1.0.0.v20060601a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.event</name>
-        <version>1.0.0.v20060601a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.http</name>
-        <version>1.0.0.v20060601a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.log</name>
-        <version>1.0.0.v20060601a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.metatype</name>
-        <version>1.0.0.v20060601a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.useradmin</name>
-        <version>1.0.0.v20060601a</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.0.v20060626</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.bridge</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.bridge.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.bridge.ui.dashboard</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.codegen</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.codegen.edit</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.codegen.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.common</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.doc.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.ecore.editor</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.graphdef</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.graphdef.codegen</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.graphdef.codegen.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.graphdef.edit</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.map</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.map.edit</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.common.core</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.common.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.common.ui.action</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.common.ui.action.ide
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.common.ui.printing</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.common.ui.printing.win32
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.common.ui.services</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.common.ui.services.action
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.common.ui.services.dnd
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.common.ui.services.dnd.ide
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.common.ui.services.properties
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.diagram.core</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.diagram.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.diagram.ui.actions</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.diagram.ui.dnd</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.geoshapes
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.diagram.ui.printing</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.printing.render
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.properties
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.providers
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.providers.ide
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.diagram.ui.render</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.resources.editor
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.draw2d.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.draw2d.ui.render</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.gmf.runtime.draw2d.ui.render.awt
-        </name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.clipboard.core</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.commands.core</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.core</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.type.core</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.type.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.emf.ui.properties</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.gef.ui</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.notation</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.notation.edit</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.runtime.notation.providers</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.sdk</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.tooldef</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.tooldef.edit</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.gmf.validate</name>
-        <version>1.0.0.v20060627-1200</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.analysis.engine</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.execution</name>
-        <version>4.2.1.v200607121546</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.execution.correlation</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.execution.trace</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.execution.win32.x86</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.logging.adapter</name>
-        <version>4.2.0.v200606170100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.logging.adapter.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.logging.core</name>
-        <version>4.2.1.v200607121546</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.logging.core.sample</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.logging.parsers</name>
-        <version>4.2.0.v200606190100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.perfmon</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.probekit</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.probekit.doc.user</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.probekit.ui</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.resources.database</name>
-        <version>4.1.100.v200606190100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.sdb</name>
-        <version>4.1.100.v200606140100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.statistical.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.test.core</name>
-        <version>4.2.1.v200607131756</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.test.doc.user</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.test.tools.core</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.test.tools.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.test.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.test.ui.extensions</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.trace.sample</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.trace.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.trace.views</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.hyades.ui</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.0.v20060602-1740</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.0.v20060602-1740</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.0.v_671</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.0.v20060530_RC2</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.common.annotations.controller
-        </name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.201.v200605291441</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.0.v200606222043</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.201.v200605152316</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.0.v200606152049</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.0.v200606212143</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.emitter
-        </name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.0.v200606212143</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-        </name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.201.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.0.v200606152049</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.0.v200606152049</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.0.v200606191945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.0.v200606191945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.102.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.1.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.201.v200605111705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.101.v200606131923</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.201.v200605111705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.101.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.201.v200605111641</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.100.v200606130315</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.0.v3232o</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.0.v3232m</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.0.M20060628</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.doc.user</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.examples</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.logui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.profile.server</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.report.birt</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.monitoring.report.birt.doc.user
-        </name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.monitoring.report.birt.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.agentcontroller</name>
-        <version>4.1.100.v200606170100</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.agentcontroller.doc.user
-        </name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.analysis</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.analysis.codereview.java
-        </name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.analysis.codereview.java.rules
-        </name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.analysis.core</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.analysis.core.ui</name>
-        <version>4.2.1.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.analysis.core.ui.doc
-        </name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.analysis.engine</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.collection.framework
-        </name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.core</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.doc.user</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.examples</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.execution</name>
-        <version>4.2.0.v200606140100</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.log.views</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.lta</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.models</name>
-        <version>4.2.1.v200607131756</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.probekit</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.probekit.launch</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.profile.server</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.profile.server.core
-        </name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.tptp.platform.profile.server.wst
-        </name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report.birt</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report.birt.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report.core</name>
-        <version>4.1.101.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.report.ui</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.samples</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.statistical.ui</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.platform.trace</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.report.birt</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.report.birt.doc.user</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.report.birt.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.samples</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.test.tools</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace</name>
-        <version>4.1.100.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace.report.birt</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace.report.birt.doc.user</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tptp.trace.report.birt.ui</name>
-        <version>4.2.0.v200606131519</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve.cde</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve.doc</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve.java.core</name>
-        <version>1.2.0.v20060620_RC3</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve.jfc</name>
-        <version>1.2.0.v20060620_RC3</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve.propertysheet</name>
-        <version>1.2.0.v20060518_RC1</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ve.swt</name>
-        <version>1.2.0.v20060628</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.common.emfworkbench.integration
-        </name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.0.v200606222043</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.0.v200606142122</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.100.v200606141450</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.connection.ui.doc.user
-        </name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.1.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.datatools.server.ui.doc.user
-        </name>
-        <version>1.0.1.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.201.v200605181647</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.100.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.2.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.0</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.100.v200606191945</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.0.107.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.104.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.105.v200606130645</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.iseries
-        </name>
-        <version>1.0.102.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.103.v200606221744</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.db2.zseries
-        </name>
-        <version>1.0.102.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.102.v200606221744</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-        </name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.102.v200605082300</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.102.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.103.v200606221744</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.104.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.103.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.102.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.2.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.2.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.0.v200605270041</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.0.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.201.v200605152316</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.101.v200606191900</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.0.v200606222043</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.0.v200606161959</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.201.v200605181650</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.201.v200605152241</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.100.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.0.v200606142122</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.201.v200605111623</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.101.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.201.v200605111705</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.0.v200606142000</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.100.v200606141450</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.201.v200605040131</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.0.v200606130645</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.0.v200606142122</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.201.v200605181657</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200606271057</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0</version>
-      </entry>
-      <entry>
-        <name>org.mozilla.rhino</name>
-        <version>1.6.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.uddi4j</name>
-        <version>2.0.4.v200606181221</version>
-      </entry>
-      <entry>
-        <name>org.w3c.sac</name>
-        <version>1.3.0.N20060628-1351</version>
-      </entry>
-      <entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200606181221</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/eclipse-SDK-3.2-win32.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/eclipse-SDK-3.2-win32.xml
deleted file mode 100644
index 7ad8f75..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/eclipse-SDK-3.2-win32.xml
+++ /dev/null
@@ -1,490 +0,0 @@
-<referenceData id="eclipse-SDK-3.2-win32">
-    <featureData>
-      <!-- Number of features: 9 -->
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.0.v20060609m-GNq6oQq-7es-Y81</version>
-      </entry>
-    </featureData>
-    <bundleData>
-      <!-- Number of bundles: 112 -->
-      <entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.4.1</version>
-      </entry>
-      <entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.4.1</version>
-      </entry>
-      <entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-      </entry>
-      <entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-      </entry>
-      <entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.0.v20060531</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>
-          org.eclipse.core.runtime.compatibility.registry
-        </name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.0.v20060602-1740</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.0.v20060602-1740</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.0.v_671</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.0.v20060603</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.0.v20060612-0900</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.platform.source.win32.win32.x86</name>
-        <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.rcp.source.win32.win32.x86</name>
-        <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.0.v3232o</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.0.v3232m</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.0.M20060628</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.0.I200606051140</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.100.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.0.v20060601</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.0.v20060602</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.0.v20060605</version>
-      </entry>
-      <entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-      </entry>
-      <entry>
-        <name>org.junit4</name>
-        <version>4.1.0</version>
-      </entry>
-    </bundleData>
-  </referenceData>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/referenceVersioningData.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/referenceVersioningData.xml
deleted file mode 100644
index d7a4205..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/referenceVersioningData.xml
+++ /dev/null
@@ -1,17416 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE versioningData PUBLIC "versioningDataID" "/versioningData.dtd" >
-<versioningData>
-<referenceData id="WTP-3.0">
-<featureData>
-<!-- Number of features: 173 -->
-
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.1.0.v20080603-7C79E8M9EI99m9c9S</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-  <version>1.1.0.v20080603-7C79E8M9EI99m9c9S</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.feature</name>
-  <version>1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-  <version>1.6.0.v200804260945-7C67HCYQCD4CnIkMYha</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.feature</name>
-  <version>1.6.0.v200804021-7F27KBcMAAwAeIeHbVf</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.6.0.v200804021-34-8w95BKAEDF79CC</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-  <version>1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.feature</name>
-  <version>1.6.0.v200804021-7D8H09FSoK_ZabCz-1W1i5cHpTui</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-  <version>1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.feature</name>
-  <version>1.6.0.v200804021-7D40EB7sQS9RVfbjIOd</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdbc.feature</name>
-  <version>1.6.0.v200805301340-3-09oA55S5J8JADJJ</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.feature</name>
-  <version>1.6.0.v200804021-1-07w311916263466</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.feature</name>
-  <version>1.6.0.v200804021-441_kE77c7QARCMOS</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.feature</name>
-  <version>1.6.0.v200804021-441_kE77c7QASCMPN</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-  <version>1.6.0.v200804021-21-8s733I3C7F4K63</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.feature</name>
-  <version>1.6.0.v200804021-797P4CYQCD4CjOxEpNI</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.feature</name>
-  <version>1.6.0.v200804021-440_kE77c7QBPCFPL</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.feature</name>
-  <version>1.6.0.v200804021-441_kE77c7R_RCIOP</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sap.feature</name>
-  <version>1.6.0.v200804021-440_kE77c7QAQEIQQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.feature</name>
-  <version>1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.6.0.v200804021-1--311817182</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.feature</name>
-  <version>1.6.0.v200804021-6-0BcMAAwAfFgKSbi</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sdk.feature</name>
-  <version>1.6.0.v200804021-67S-9KdPQ18QQav9Rpo-sh4sd-fY</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sdk.feature.source</name>
-  <version>1.6.0.v200804021</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.data.feature</name>
-  <version>1.6.0.v200804021-30-9oA55S5JAE7F__</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-  <version>1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.ddlgen.feature</name>
-  <version>1.6.0.v200804021-77--CYQCD4ClJlQXll</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.feature</name>
-  <version>1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-  <version>1.6.0.v200804021-502AgI99m9VCYHTTS</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.results.feature</name>
-  <version>1.6.0.v200804021-30-9oA55S5J_F8CBQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.sqlbuilder.feature</name>
-  <version>1.6.0.v200805301340-6--BcMAAwAfFgKUZZ</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d</name>
-  <version>3.4.0.v20080115-33-7w3119163_</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.sdk</name>
-  <version>3.4.0.v20080115-677-8082A5655G3B9B8x422_274A</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.source</name>
-  <version>3.4.0.v20080115-33-7w3119163_</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.databinding</name>
-  <version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.databinding.edit</name>
-  <version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.user.ui</name>
-  <version>1.0.0.v20080516-7d--ETu637E5sXQQHdi</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.user.ui.source</name>
-  <version>1.0.0.v20080516-7d--ETu637E5sXQQHdi</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.4.0.v20080115-677-8082A5696H274A</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.sdk</name>
-  <version>3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.4.0.v20080115-677-8082A5696H274A</version>
-</entry>
-<entry>
-  <name>org.eclipse.help</name>
-  <version>1.0.0.v20080603-7r7xEHJEJkZu5mE6Q7QrtvtcHYLL</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.source</name>
-  <version>1.0.0.v20080603-7r7xEHJEJkZu5mE6Q7QrtvtcHYLL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.4.0.v20080603-2000-7o7tEAXEFpPqqkXxfeBhgev</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.4.0.v20080603-2000-7o7tEAXEFpPqqkXxfeBhgev</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink.feature</name>
-  <version>2.0.0.v200806090000-3--8s733I3D683333</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink.feature.source</name>
-  <version>2.0.0.v200806090000-3--8s733I3D683333</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink_sdk.feature</name>
-  <version>2.0.0.v200805220000-4--8042B1_B6U6G9A59559t844J4</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature</name>
-  <version>2.0.0.v200806090000-7938aCYQCD4CmHbCCCC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>2.0.0.v200806090000-7938aCYQCD4CmHbCCCC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.sdk</name>
-  <version>2.0.0.v200804240000-6--8853LCQGU5X3j0RSU3RxWQakO</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests</name>
-  <version>2.0.0.v200802060000-2--77208x422_27242222</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests.feature</name>
-  <version>2.0.0.v200804220000-61-7w311916131111</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt_sdk.feature</name>
-  <version>2.0.0.v200805060000-5--90H8CvHoXSI9HrJlOINqDZRDE</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>3.0.0.v200806111800-7U-8Y9LIrwYBUV7sHGjhtz0LTrMd</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature</name>
-  <version>3.0.0.v200806092130-25-8s733I3C4G6D37</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>3.0.0.v200806092130-25-8s733I3C4G6D37</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_sdk.feature</name>
-  <version>3.0.0.v200712031330-6--8-_2B1_B6U8G_J8IA99t844J4</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature</name>
-  <version>3.0.0.v200806092130-42E9w_kE77c7S9O_JE7</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>3.0.0.v200806092130-42E9w_kE77c7S9O_JE7</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_sdk.feature</name>
-  <version>3.0.0.v200802280700-6--84d_EQVQHbTz0WNyVBCEffltt</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_tests.feature</name>
-  <version>3.0.0.v200802240543-773E8R9oA55S5J8G5AD5</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature</name>
-  <version>3.0.0.v200806092130-7Y7BFSHEPOwQKwKc30M_QbQ2Uifl</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>3.0.0.v200806092130-7Y7BFSHEPOwQKwKc30M_QbQ2Uifl</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-  <version>3.0.0.v200712031330-52EAUAgI99m9YDcHLNb</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature</name>
-  <version>2.0.0.v20080605-1--7w31191716</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature.source</name>
-  <version>2.0.0.v20080605-1--7w31191716</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.apache.trinidad.tagsupport_sdk.feature</name>
-  <version>2.0.0.v20080602-4--7z42A56_4G3A388x422_2827</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.tests.feature</name>
-  <version>2.0.0.v20080509-7C7_-EAAoOQ-POQ02753</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.sdk</name>
-  <version>3.0.0.v200806111800-7X-8Y9RHFdm-LOHlz0MFwKFbZAK7</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature</name>
-  <version>3.0.0.v200806092130-787KEK_DUUEFDEsNoCJel</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>3.0.0.v200806092130-787KEK_DUUEFDEsNoCJel</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.sdk.feature</name>
-  <version>3.0.0.v200712031330-6--84C_NPNIGgZILGH0Yyac0yEVV</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature</name>
-  <version>3.0.0.v200806092130-377An9oA55S5J9K35AC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>3.0.0.v200806092130-377An9oA55S5J9K35AC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_sdk.feature</name>
-  <version>3.0.0.v200802280645-6--84D2HOnHz-WXdVFEXcOxnUULV</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_tests.feature</name>
-  <version>3.0.0.v200712031330-6-EN1AgI99m9XDS9DSX</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature</name>
-  <version>3.0.0.v200806092130-79-EDk9wKSZPCCNQMfVjHO8BHD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-  <version>3.0.0.v200806092130-79-EDk9wKSZPCCNQMfVjHO8BHD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_userdoc.feature</name>
-  <version>3.0.0.v200712031330-1-CE7w311916261244</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.tests</name>
-  <version>3.0.0.v200805191452-7B-07gmjYg8rMz-EtBJH2Vboef</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature</name>
-  <version>3.0.0.v200806092130-7M7AERgEFp_acwcEhxa_fS</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>3.0.0.v200806092130-7M7AERgEFp_acwcEhxa_fS</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_sdk.feature</name>
-  <version>3.0.0.v200802280700-770-90N9JSTToETgWrhrJE45iCLC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_tests.feature</name>
-  <version>3.0.0.v200712270647-784EJxDUUEFDEyHgIVOS</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature</name>
-  <version>3.0.0.v200806092130-7E4E8ODgvOcQofh27nwFxdFiybAg</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>3.0.0.v200806092130-7E4E8ODgvOcQofh27nwFxdFiybAg</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_userdoc.feature</name>
-  <version>3.0.0.v200712031330-10-7w31191639</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature</name>
-  <version>2.0.0.v200805191452-32-9oA55S5M5J</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-  <version>2.0.0.v200805191452-32-9oA55S5M5J</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-  <version>2.0.0.v200805230650-4--8072Bz-DC9e9TCO0430_pB66T</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2tools.feature</name>
-  <version>1.0.0.v200805191452-77-E_5CYQCD4ClWDK1Wj</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2tools.feature.source</name>
-  <version>1.0.0.v200805191452-77-E_5CYQCD4ClWDK1Wj</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2tools_sdk.feature</name>
-  <version>1.0.0.v200805191452-2--84B2HK8KccGKBHngNMIjrDZRD</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.4.0.v20080603-7T7U-E_EkMNrNKa89WcKH</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.p2</name>
-  <version>1.0.0.v20080522-1--7w3119171503111</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.p2.source</name>
-  <version>1.0.0.v20080522-1--7w3119171503111</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.4.0.v20080603-7T7U-E_EkMNrNKa89WcKH</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.4.0.v20080606-9I96EhtEm-T_5LxHpAb07LaiZlo_suwudIZMM</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source</name>
-  <version>3.4.0.v20080606-9I96EhtEm-T_5LxHpAb07LaiZlo_suwudIZMM</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.4.0.v20080324a-989JERhEk-jWncbGXKK6sjxB</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.4.0.v20080324a-989JERhEk-jWncbGXKK6sjxB</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.4.0.v20080522-7O7S-CHEp2gcoErlIGpiL1YNL9ZuBz-hwBrutLz-wGust</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>3.0.0.v200806092130-7A-8Y8QqN2lf4VSWrI2ek5Pf4k7s</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature</name>
-  <version>3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_sdk.feature</name>
-  <version>3.0.0.v200806092130-791-_tTFGtUxSTkAdqr-Lz0Cz02S</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_tests.feature</name>
-  <version>3.0.0.v200806092130-7_79AhAgI99m9ZBM9ME9</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature</name>
-  <version>3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-  <version>3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.feature</name>
-  <version>1.0.0.v200806092130-6--BcMAAwAbQRLQLo</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.feature.source</name>
-  <version>1.0.0.v200806092130-6--BcMAAwAbQRLQLo</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt_sdk.feature</name>
-  <version>1.0.0.v200806040130-2--8342EnPJE6FfWUNZNqCdNBBxB</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt_tests.feature</name>
-  <version>1.0.0.v200806092130-2--8s733I3B76776B</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sdk</name>
-  <version>3.0.0.v200806110645-7A-8Y8Pj5N752THM_Pk62dwkDiRH</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_adapters.feature</name>
-  <version>3.0.0.v200806092130-4-CE_kE77c7QAM7AMQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_adapters.feature.source</name>
-  <version>3.0.0.v200806092130-4-CE_kE77c7QAM7AMQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_adapters.sdk.feature</name>
-  <version>3.0.0.v200712031330-6--814FHKnN_IhAWDODCciAlF88d</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature</name>
-  <version>3.0.0.v200806092130-20Aj8s733I3C771256</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>3.0.0.v200806092130-20Aj8s733I3C771256</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_sdk.feature</name>
-  <version>3.0.0.v200806092130-6--84D4DvC2HV24f5XPjUWEg7NVB</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_tests.feature</name>
-  <version>3.0.0.v200806092130-5-EIIAgI99m9XDS9DSX</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature</name>
-  <version>3.0.0.v200806092130-791Ak9vEIz0Z2VFXQHTTA69B7</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>3.0.0.v200806092130-791Ak9vEIz0Z2VFXQHTTA69B7</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_userdoc.feature</name>
-  <version>3.0.0.v200712031330-10-7w311916261244</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.tests.feature</name>
-  <version>3.0.0.v200805191452-7F--7idjNc0J1ahNxea00UrAOk</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature</name>
-  <version>3.0.0.v200806110525-7G2EAWAM1n8CSCEz0VT3I8upg0SG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>3.0.0.v200806110525-7G2EAWAM1n8CSCEz0VT3I8upg0SG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_sdk.feature</name>
-  <version>3.0.0.v200806111800-7F--8Xt7e20X3s5q5K6ZCiA-O-tU</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_tests.feature</name>
-  <version>3.0.0.v200805040310-78-EOYDUUEFDEyGYEIKi</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature</name>
-  <version>3.0.0.v200806110525-7R0ELQE8Krvy5z-NjIludKQn86QP</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>3.0.0.v200806110525-7R0ELQE8Krvy5z-NjIludKQn86QP</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_userdoc.feature</name>
-  <version>3.0.0.v200805040310-21CE8s733I3D4C56AA</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature</name>
-  <version>3.0.0.v200806092130-7H7QECXED69XqKfwlnda1q7C5J</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>3.0.0.v200806092130-7H7QECXED69XqKfwlnda1q7C5J</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_sdk.feature</name>
-  <version>3.0.0.v200805221406-78--9xR9LkMa9JqOqxKp6Khh1h_H</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_tests.feature</name>
-  <version>3.0.0.v200712031330-6-E_59oA55S5J8G5D55</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature</name>
-  <version>3.0.0.v200806092130-7E2EFFC-2f8feIeqFPNkR8BSyLPX</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>3.0.0.v200806092130-7E2EFFC-2f8feIeqFPNkR8BSyLPX</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_userdoc.feature</name>
-  <version>3.0.0.v200712031330-34EC39oA55S5K9I8BEN</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_wsdl14.feature</name>
-  <version>1.4.0.v200802280619-13-7w311917141518</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_wsdl15.feature</name>
-  <version>1.5.1.v200802280619-1407w311917141519</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature</name>
-  <version>3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_sdk.feature</name>
-  <version>3.0.0.v200806092130-79--8CV8IkysFNkgPdQ0aB-Yt6RK</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_tests.feature</name>
-  <version>3.0.0.v200806092130-7D-EeAEB7sQS9RYdJVtUj</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature</name>
-  <version>3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_userdoc.feature</name>
-  <version>3.0.0.v200805040310-40EGk_kE77c7QCI9GGM</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests.feature</name>
-  <version>1.0.1.v200801091632-7C7Q4DUUEFDEwGdHqQI</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 626 -->
-
-<entry>
-  <name>com.ibm.icu</name>
-  <version>3.8.1.v20080530</version>
-</entry>
-<entry>
-  <name>com.jcraft.jsch</name>
-  <version>0.1.37.v200803061811</version>
-</entry>
-<entry>
-  <name>javax.activation</name>
-  <version>1.1.0.v200806101325</version>
-</entry>
-<entry>
-  <name>javax.mail</name>
-  <version>1.4.0.v200804091730</version>
-</entry>
-<entry>
-  <name>javax.servlet</name>
-  <version>2.4.0.v200806031604</version>
-</entry>
-<entry>
-  <name>javax.servlet.jsp</name>
-  <version>2.0.0.v200806031607</version>
-</entry>
-<entry>
-  <name>javax.wsdl</name>
-  <version>1.5.1.v200806030408</version>
-</entry>
-<entry>
-  <name>javax.xml</name>
-  <version>1.3.4.v200806030440</version>
-</entry>
-<entry>
-  <name>javax.xml.rpc</name>
-  <version>1.1.0.v200806030420</version>
-</entry>
-<entry>
-  <name>javax.xml.soap</name>
-  <version>1.2.0.v200806030421</version>
-</entry>
-<entry>
-  <name>net.sourceforge.lpg.lpgjavaruntime</name>
-  <version>1.1.0.v200803061910</version>
-</entry>
-<entry>
-  <name>org.apache.ant</name>
-  <version>1.7.0.v200803061910</version>
-</entry>
-<entry>
-  <name>org.apache.axis</name>
-  <version>1.4.0.v200806030120</version>
-</entry>
-<entry>
-  <name>org.apache.cactus</name>
-  <version>1.7.2.v200805140145</version>
-</entry>
-<entry>
-  <name>org.apache.commons.discovery</name>
-  <version>0.2.0.v200806030120</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el</name>
-  <version>1.0.0.v200806031608</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging</name>
-  <version>1.0.4.v20080605-1930</version>
-</entry>
-<entry>
-  <name>org.apache.jasper</name>
-  <version>5.5.17.v200806031609</version>
-</entry>
-<entry>
-  <name>org.apache.log4j</name>
-  <version>1.2.13.v200806030600</version>
-</entry>
-<entry>
-  <name>org.apache.lucene</name>
-  <version>1.9.1.v20080530-1600</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.analysis</name>
-  <version>1.9.1.v20080530-1600</version>
-</entry>
-<entry>
-  <name>org.apache.wsil4j</name>
-  <version>1.0.0.v200806040330</version>
-</entry>
-<entry>
-  <name>org.apache.xerces</name>
-  <version>2.9.0.v200805270400</version>
-</entry>
-<entry>
-  <name>org.apache.xml.resolver</name>
-  <version>1.2.0.v200806030312</version>
-</entry>
-<entry>
-  <name>org.apache.xml.serializer</name>
-  <version>2.7.1.v200806030322</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.core</name>
-  <version>3.2.0.v20080529</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.optional.junit</name>
-  <version>3.2.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.ui</name>
-  <version>3.3.0.v20080529</version>
-</entry>
-<entry>
-  <name>org.eclipse.compare</name>
-  <version>3.4.0.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.boot</name>
-  <version>3.1.100.v20080218</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.commands</name>
-  <version>3.4.0.I20080509-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.contenttype</name>
-  <version>3.3.0.v20080604-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding</name>
-  <version>1.1.0.I20080527-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding.beans</name>
-  <version>1.1.0.I20080508-2000a</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.expressions</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filebuffers</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem</name>
-  <version>1.2.0.v20080604-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem.linux.ppc</name>
-  <version>1.0.100.v20080604-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.jobs</name>
-  <version>3.4.0.v20080512</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.net</name>
-  <version>1.1.0.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources</name>
-  <version>3.4.0.v20080604-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources.compatibility</name>
-  <version>3.4.0.v20080604-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime</name>
-  <version>3.4.0.v20080512</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility</name>
-  <version>3.2.0.v20071008</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.auth</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.registry</name>
-  <version>3.2.200.v20070717</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.variables</name>
-  <version>3.2.100.v20080529-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.0.100.v20080603</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity</name>
-  <version>1.1.0.v200805160228</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.apache.derby</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.apache.derby.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.apache.derby.ui</name>
-  <version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.console.profile</name>
-  <version>1.0.0.v200805231345</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda</name>
-  <version>3.1.2.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.consumer</name>
-  <version>3.1.2.v200805230718</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design</name>
-  <version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-  <version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-  <version>3.0.6.v200805261930</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-  <version>3.0.6.v200805261930</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.profile</name>
-  <version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-  <version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core</name>
-  <version>1.0.1.v200806041052</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-  <version>1.1.0.v200806070326</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-  <version>1.1.0.v200806050117</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui</name>
-  <version>1.1.0.v200806040132</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui.dse</name>
-  <version>1.1.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui.templates</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.isv</name>
-  <version>1.6.0.200709271</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.finfo</name>
-  <version>1.5.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb.ui</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-  <version>1.0.0.v200805170155</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.ui</name>
-  <version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.ui</name>
-  <version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.ui</name>
-  <version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.ui</name>
-  <version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.ui</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.classpath</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.ui</name>
-  <version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-  <version>1.0.1.v200805170742</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.ui</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws</name>
-  <version>1.1.0.v200805261930</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-  <version>1.1.0.v200805261930</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml</name>
-  <version>1.1.0.v200805270900</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-  <version>1.1.0.v200805270900</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.ui</name>
-  <version>1.0.0.v200805240040</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.ui</name>
-  <version>1.0.0.v200806060334</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sap.maxdb</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sap.maxdb.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sap.maxdb.ui</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase</name>
-  <version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa</name>
-  <version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa.dbdefinition</name>
-  <version>1.0.0.v200805240040</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa.ui</name>
-  <version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase</name>
-  <version>1.0.1.v200806040735</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-  <version>1.0.0.v200805240040</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.models</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.ui</name>
-  <version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.models</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ui</name>
-  <version>1.0.0.v200806041138</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.help</name>
-  <version>1.5.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.dbdefinition</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.derby</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.edit</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.query</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.query.edit</name>
-  <version>1.0.0.v200806070329</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.oda.cshelp</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sdk.feature.source</name>
-  <version>1.6.0.v200804021</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.common.ui</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.core</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.ui</name>
-  <version>1.1.0.v200805310400</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.derby</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.generic</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.ddlgen.ui</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.debugger.core</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.editor.core</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-  <version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.plan</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.result</name>
-  <version>1.0.0.v200805301309</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.routineeditor</name>
-  <version>1.0.0.v200805261703</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sql</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqlbuilder</name>
-  <version>1.0.0.v200806070500</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqleditor</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-  <version>1.0.0.v200806021003</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-  <version>1.0.0.v200805240400</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tablewizard</name>
-  <version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.core</name>
-  <version>3.4.0.v20080603</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.ui</name>
-  <version>3.4.0.v20080529-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d</name>
-  <version>3.4.0.v20080529</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.doc.isv</name>
-  <version>3.4.0.v20080606</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.source</name>
-  <version>3.4.0.v20080115-33-7w3119163_</version>
-</entry>
-<entry>
-  <name>org.eclipse.ecf</name>
-  <version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-  <name>org.eclipse.ecf.filetransfer</name>
-  <version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-  <name>org.eclipse.ecf.identity</name>
-  <version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-  <name>org.eclipse.ecf.provider.filetransfer</name>
-  <version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-  <name>org.eclipse.ecf.provider.filetransfer.ssl</name>
-  <version>1.0.0.v20080605-1013</version>
-</entry>
-<entry>
-  <name>org.eclipse.ecf.ssl</name>
-  <version>1.0.0.v20080605-1013</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ant</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.databinding</name>
-  <version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.databinding.edit</name>
-  <version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.xmi</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.exporter</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.java</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.rose</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.app</name>
-  <version>1.1.0.v20080421-2006</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.common</name>
-  <version>3.4.0.v20080421-2006</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.frameworkadmin</name>
-  <version>1.0.0.v20080430-1750</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.frameworkadmin.equinox</name>
-  <version>1.0.0.v20080529-1225</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.jetty</name>
-  <version>1.1.0.v20080425</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.registry</name>
-  <version>1.0.100.v20080427-0830</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.servlet</name>
-  <version>1.0.100.v20080427-0830</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper</name>
-  <version>1.0.100.v20080427-0830</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper.registry</name>
-  <version>1.0.0.v20080427-0830</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher</name>
-  <version>1.0.100.v20080509-1800</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-  <version>1.0.100.v20080606</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.artifact.repository</name>
-  <version>1.0.0.v20080609-0850</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.console</name>
-  <version>1.0.0.v20080514-1900</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.core</name>
-  <version>1.0.0.v20080530-1237</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.director</name>
-  <version>1.0.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.director.app</name>
-  <version>1.0.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.directorywatcher</name>
-  <version>1.0.0.v20080505-1850</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.engine</name>
-  <version>1.0.0.v20080522-1735</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.exemplarysetup</name>
-  <version>1.0.0.v20080427-2136</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.extensionlocation</name>
-  <version>1.0.0.v20080523-0001</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.garbagecollector</name>
-  <version>1.0.0.v20080506-1939</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.jarprocessor</name>
-  <version>1.0.0.v20080514-1900</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.metadata</name>
-  <version>1.0.0.v20080514-1900</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.metadata.generator</name>
-  <version>1.0.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.metadata.repository</name>
-  <version>1.0.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.reconciler.dropins</name>
-  <version>1.0.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.touchpoint.eclipse</name>
-  <version>1.0.0.v20080529-1225</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.touchpoint.natives</name>
-  <version>1.0.0.v20080505-1850</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.ui</name>
-  <version>1.0.0.v20080530-1237</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.ui.sdk</name>
-  <version>1.0.0.v20080605-1731</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.updatechecker</name>
-  <version>1.0.0.v20080427-2136</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.p2.updatesite</name>
-  <version>1.0.0.v20080529-1800</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.preferences</name>
-  <version>3.2.200.v20080421-2006</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.registry</name>
-  <version>3.4.0.v20080516-0950</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.security</name>
-  <version>1.0.0.v20080512-1800</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.security.ui</name>
-  <version>1.0.0.v20080603-1810</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.simpleconfigurator</name>
-  <version>1.0.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.simpleconfigurator.manipulator</name>
-  <version>1.0.0.v20080427-2136</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.4.0.v20080526</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.doc.isv</name>
-  <version>3.4.0.v20080606</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.examples.ui.pde</name>
-  <version>3.4.0.v20080226</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.4.0.v20080115-677-8082A5696H274A</version>
-</entry>
-<entry>
-  <name>org.eclipse.help</name>
-  <version>3.3.100.v20080515</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.appserver</name>
-  <version>3.1.300.v20080507</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.base</name>
-  <version>3.3.100.v20080603</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.ui</name>
-  <version>3.3.100.v20080521</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.webapp</name>
-  <version>3.3.100.v20080528</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.core</name>
-  <version>3.3.100.v20080513-1235</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.pluggable.core</name>
-  <version>1.0.100.v20080407-1345</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.ui</name>
-  <version>3.3.100.v20080407-1345</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.apt</name>
-  <version>1.0.100.v20080513-1235</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.tool</name>
-  <version>1.0.100.v_872</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core</name>
-  <version>3.4.0.v_872</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core.manipulation</name>
-  <version>1.2.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug</name>
-  <version>3.4.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug.ui</name>
-  <version>3.3.0.v20080603</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.isv</name>
-  <version>3.4.0.v20080606-1215</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.user</name>
-  <version>3.4.0.v20080606-1215</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit.runtime</name>
-  <version>3.3.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit4.runtime</name>
-  <version>1.0.200.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.launching</name>
-  <version>3.4.0.v20080529-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.ui</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem</name>
-  <version>2.0.200.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.beaninfo</name>
-  <version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.proxy</name>
-  <version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.tests</name>
-  <version>1.2.4.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.ui</name>
-  <version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.util</name>
-  <version>2.0.100.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.workbench</name>
-  <version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface</name>
-  <version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.databinding</name>
-  <version>1.2.0.I20080515-2000a</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.text</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt</name>
-  <version>2.0.0.v200802060000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core</name>
-  <version>2.0.0.v200805220000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core.tests</name>
-  <version>2.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core.tests.extension.resource</name>
-  <version>2.0.0.v200805020000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db</name>
-  <version>1.1.1.v200805020000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db.ui</name>
-  <version>1.0.1.v200805020000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.doc.isv</name>
-  <version>1.0.0.v200805220000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.doc.user</name>
-  <version>1.0.100.v200805280000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink.core</name>
-  <version>1.0.0.v200806050000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink.core.ddlgen</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink.core.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.eclipselink.ui</name>
-  <version>1.0.0.v200805300000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.gen</name>
-  <version>1.1.0.v200805020000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.ui</name>
-  <version>2.0.0.v200806050000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility</name>
-  <version>1.2.0.v200805140000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility.tests</name>
-  <version>1.2.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.core</name>
-  <version>1.1.100.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.ui</name>
-  <version>1.1.100.I20080415</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>1.0.100.v200805140017</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.controller</name>
-  <version>1.1.100.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.core</name>
-  <version>1.1.100.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.ui</name>
-  <version>1.1.102.v200806010600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.frameworks</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.project.facet.core</name>
-  <version>1.3.0.v200805151903</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.project.facet.ui</name>
-  <version>1.3.0.v200805092201</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.doc.user</name>
-  <version>1.1.0.v200805152320</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.ui</name>
-  <version>1.1.200.v200805292155</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.ui.infopop</name>
-  <version>1.0.100.v200805222207</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee</name>
-  <version>1.1.200.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core</name>
-  <version>1.1.200.v200806052000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.doc.user</name>
-  <version>1.1.0.v200805281506</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb</name>
-  <version>1.1.200.v200806041500</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-  <version>1.1.102.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-  <version>1.1.102.v200805140135</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-  <version>1.1.102.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-  <version>1.2.0.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.infopop</name>
-  <version>1.0.300.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca</name>
-  <version>1.1.200.v200806041500</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca.ui</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.navigator.ui</name>
-  <version>1.1.200.v200805221242</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests</name>
-  <version>1.1.200.v200806121400</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ui</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.web</name>
-  <version>1.1.200.v200806051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice</name>
-  <version>1.1.200.v200805150230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice.ui</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-  <version>1.1.102.v200805140135</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee</name>
-  <version>1.0.100.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ejb</name>
-  <version>1.0.100.v200805151150</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ui</name>
-  <version>1.0.100.v200805221242</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.web</name>
-  <version>1.0.100.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.apache.trinidad.tagsupport</name>
-  <version>1.0.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common.runtime</name>
-  <version>1.0.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common.runtime.tests</name>
-  <version>1.0.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common.ui</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.contentassist.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.context.symbol.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core</name>
-  <version>1.1.0.v20080606</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core.tests</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.designtime.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.dev</name>
-  <version>1.1.0.v20080528</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.user</name>
-  <version>1.1.0.v20080528</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-  <version>1.1.0.v20080610</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig.ui.test</name>
-  <version>1.0.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadata.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-  <version>1.1.0.v200804011642</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.standard.tagsupport</name>
-  <version>1.1.0.v20080515</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.test.util</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui</name>
-  <version>1.1.0.v20080606</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.validation.el.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core</name>
-  <version>1.2.100.v200806050300</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core.tests</name>
-  <version>1.0.200.v200806091100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.tests.encoding</name>
-  <version>1.0.200.v200806012359</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui</name>
-  <version>1.1.300.v200805152207</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.infopop</name>
-  <version>1.0.100.v200805301545</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests</name>
-  <version>1.0.200.v200806050300</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsp.core</name>
-  <version>1.1.0.v20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.tests</name>
-  <version>1.1.0.v20080509</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core</name>
-  <version>1.1.0.v20080528</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core.tests</name>
-  <version>1.0.302.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.core</name>
-  <version>1.0.305.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jboss</name>
-  <version>1.5.205.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jonas</name>
-  <version>1.5.205.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.oc4j</name>
-  <version>1.5.205.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.tests</name>
-  <version>1.0.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.ui</name>
-  <version>1.0.305.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.installable</name>
-  <version>1.5.202.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.preview.adapter</name>
-  <version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core</name>
-  <version>1.1.101.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core.tests</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.tests.performance</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui</name>
-  <version>1.1.100.v20080528</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui</name>
-  <version>1.0.303.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.doc.user</name>
-  <version>1.0.400.v200805150133</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.infopop</name>
-  <version>1.0.400.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.tests</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.websphere.core</name>
-  <version>1.0.301.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.tests</name>
-  <version>1.1.201.v200806010600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui</name>
-  <version>1.1.200.v200805150230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui.infopop</name>
-  <version>1.0.300.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.standard.schemas</name>
-  <version>1.0.100.v200806021952</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.sample</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.test</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws</name>
-  <version>1.0.304.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core</name>
-  <version>1.0.304.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core.tests</name>
-  <version>1.0.102.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-  <version>1.0.303.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.creation.ui</name>
-  <version>1.0.305.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.infopop</name>
-  <version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-  <version>1.1.0.v200806092139</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.core</name>
-  <version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-  <version>1.0.101.v200805301834</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.core</name>
-  <version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.core</name>
-  <version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.ui</name>
-  <version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.ui</name>
-  <version>1.0.201.v200805301834</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.ui.doc.user</name>
-  <version>1.0.0.v200805211529</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption</name>
-  <version>1.0.304.v200805140330</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.infopop</name>
-  <version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui</name>
-  <version>1.1.0.v200806050222</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-  <version>1.0.400.v200805142257</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-  <version>1.0.200.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ui</name>
-  <version>1.0.305.v200805281530</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.doc.user</name>
-  <version>1.0.400.v200805142257</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.infopop</name>
-  <version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests</name>
-  <version>1.0.301.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests.performance</name>
-  <version>1.0.202.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.uddiregistry</name>
-  <version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.ui</name>
-  <version>1.0.302.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.core.refactoring</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.ui.refactoring</name>
-  <version>3.4.0.v20080605-1800</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi</name>
-  <version>3.4.0.v20080605-1900</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.services</name>
-  <version>3.1.200.v20071203</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.util</name>
-  <version>3.1.300.v20080303</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.4.0.v20080603</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.api.tools</name>
-  <version>1.0.0.v20080529-1150</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.api.tools.ui</name>
-  <version>1.0.0.v20080603</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.build</name>
-  <version>3.4.0.v20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.core</name>
-  <version>3.4.0.v20080604-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.doc.user</name>
-  <version>3.3.0.v20080606-1515</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.junit.runtime</name>
-  <version>3.4.0.v20080529-1800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.p2.ui</name>
-  <version>1.0.0.v20080604-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.runtime</name>
-  <version>3.4.0.v20080530-1200</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui</name>
-  <version>3.4.0.v20080530</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui.templates</name>
-  <version>3.4.0.v20080514-1500</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.3.100.v200806091311</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.isv</name>
-  <version>3.4.0.v20080606-1625</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.user</name>
-  <version>3.4.0.v20080606-1625</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.4.0.v20080507</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.4.0.v200806091311</version>
-</entry>
-<entry>
-  <name>org.eclipse.search</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt</name>
-  <version>3.4.0.v3448d</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt.gtk.linux.ppc</name>
-  <version>3.4.0.v3448d</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.core</name>
-  <version>3.4.0.I20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.core</name>
-  <version>3.3.100.I20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh</name>
-  <version>3.2.100.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh2</name>
-  <version>3.2.200.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ui</name>
-  <version>3.3.100.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.ui</name>
-  <version>3.4.0.I20080604</version>
-</entry>
-<entry>
-  <name>org.eclipse.test</name>
-  <version>3.2.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance</name>
-  <version>3.4.0.v20080204</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance.win32</name>
-  <version>3.1.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.source</name>
-  <version>3.3.0.v20080507</version>
-</entry>
-<entry>
-  <name>org.eclipse.text</name>
-  <version>3.4.0.v20080605-1800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui</name>
-  <version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.browser</name>
-  <version>3.2.200.v20080507</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.cheatsheets</name>
-  <version>3.3.100.v20080508</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.console</name>
-  <version>3.3.0.v20080529-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.editors</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.externaltools</name>
-  <version>3.2.0.v20080514-1542</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.forms</name>
-  <version>3.3.100.v20080521</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide</name>
-  <version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide.application</name>
-  <version>1.0.0.I20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro</name>
-  <version>3.2.200.v20080508</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro.universal</name>
-  <version>3.2.200.v20080508</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator</name>
-  <version>3.3.100.I20080606-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator.resources</name>
-  <version>3.3.100.I20080606-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.net</name>
-  <version>1.0.0.I20080605</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.presentations.r21</name>
-  <version>3.2.100.I20080512-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views</name>
-  <version>3.3.0.I20080509-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views.log</name>
-  <version>1.0.0.v20080522-2200</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views.properties.tabbed</name>
-  <version>3.4.0.I20080527-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench</name>
-  <version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.compatibility</name>
-  <version>3.2.0.I20080509-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.texteditor</name>
-  <version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.configurator</name>
-  <version>3.2.200.v20080417</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core</name>
-  <version>3.2.200.v20080515</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core.linux</name>
-  <version>3.2.0.v20080422</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.scheduler</name>
-  <version>3.2.100.v20080404</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.ui</name>
-  <version>3.2.100.v20080318</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>1.0.100.v200805140017</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env</name>
-  <version>1.0.305.v200805281530</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.core</name>
-  <version>1.0.204.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.doc.user</name>
-  <version>1.5.200.v200806092138</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.infopop</name>
-  <version>1.0.100.v200805301544</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.ui</name>
-  <version>1.1.0.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.api.doc</name>
-  <version>1.0.0.v200806021506</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.core</name>
-  <version>1.1.201.v200806010600</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emf</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emfworkbench.integration</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.environment</name>
-  <version>1.0.201.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks</name>
-  <version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks.ui</name>
-  <version>1.1.200.v200805221400</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.infopop</name>
-  <version>1.0.100.v200805301550</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.modulecore</name>
-  <version>1.1.200.v200806091800</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core</name>
-  <version>1.3.0.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core.tests</name>
-  <version>1.3.0.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.doc.api</name>
-  <version>1.0.0.v200805301505</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui</name>
-  <version>1.3.0.v200805281731</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui.tests</name>
-  <version>1.3.0.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets</name>
-  <version>1.1.200.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets.tests</name>
-  <version>1.0.200.v200806010700</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests</name>
-  <version>1.2.0.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.collector</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.performance</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.ui</name>
-  <version>1.1.101.v200806010700</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.validation</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.validation.guard</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.ui</name>
-  <version>1.1.301.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.uriresolver</name>
-  <version>1.1.301.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core</name>
-  <version>1.1.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core.tests</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.tests.encoding</name>
-  <version>1.0.300.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui</name>
-  <version>1.0.300.v200805152207</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests.performance</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.user</name>
-  <version>1.2.0.v200806052254</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.core</name>
-  <version>1.1.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.core.tests</name>
-  <version>1.0.0.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui</name>
-  <version>1.0.300.v200805152207</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.infopop</name>
-  <version>1.0.300.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.tests</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtdeditor.doc.user</name>
-  <version>1.0.400.v200805150028</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core</name>
-  <version>1.1.200.v200806050300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core.tests</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.tests.encoding</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui</name>
-  <version>1.0.300.v200805152207</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.infopop</name>
-  <version>1.0.100.v200805301545</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests.performance</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache</name>
-  <version>1.0.301.v200805140020</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.core</name>
-  <version>1.0.303.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui</name>
-  <version>1.0.304.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.core</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui</name>
-  <version>1.0.200.v200805160650</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui.infopop</name>
-  <version>1.0.100.v200805301545</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.core</name>
-  <version>1.0.0.v200805291857</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.core.tests.compiler</name>
-  <version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.core.tests.model</name>
-  <version>1.0.0.v200805132221</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.doc</name>
-  <version>1.0.0.v200805302104</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.manipulation</name>
-  <version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.support.firefox</name>
-  <version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.support.ie</name>
-  <version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.ui</name>
-  <version>1.0.0.v200805282135</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.web.core</name>
-  <version>1.0.0.v200805221604</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.web.support.jsp</name>
-  <version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.jsdt.web.ui</name>
-  <version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core</name>
-  <version>1.1.0.v20080530</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core.tests</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core</name>
-  <version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core.tests</name>
-  <version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.ui</name>
-  <version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview</name>
-  <version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview.adapter</name>
-  <version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.tests.performance</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui</name>
-  <version>1.1.0.v20080515</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.doc.user</name>
-  <version>1.1.0.v200805150133</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.infopop</name>
-  <version>1.1.0.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.tests</name>
-  <version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core</name>
-  <version>1.1.300.v200805221633</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core.tests</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.doc.user</name>
-  <version>1.1.0.v200805211530</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui</name>
-  <version>1.1.0.v200806041847</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.infopop</name>
-  <version>1.0.200.v200805301545</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests.performance</name>
-  <version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.standard.schemas</name>
-  <version>1.0.101.v200806010600</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation</name>
-  <version>1.2.0.v200806051402</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.doc.isv</name>
-  <version>1.2.0.v200805221201</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.infopop</name>
-  <version>1.0.300.v200806041506</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.ui</name>
-  <version>1.2.0.v200805262011</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web</name>
-  <version>1.1.202.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui</name>
-  <version>1.1.200.v200805281530</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui.infopop</name>
-  <version>1.0.300.v200805140415</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.webtools.doc.user</name>
-  <version>1.0.400.v200805150134</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws</name>
-  <version>1.1.0.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.api.doc</name>
-  <version>1.0.0.v200806021503</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.explorer</name>
-  <version>1.0.305.v200806041425</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.infopop</name>
-  <version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.parser</name>
-  <version>1.0.202.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.service.policy</name>
-  <version>1.0.0.v200805221441</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.service.policy.ui</name>
-  <version>1.0.0.v200806031937</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.tests</name>
-  <version>1.0.301.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.ui</name>
-  <version>1.1.0.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl</name>
-  <version>1.1.200.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.doc.isv</name>
-  <version>1.0.0.v200805301419</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests</name>
-  <version>1.0.104.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.performance</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.ui</name>
-  <version>1.0.101.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui</name>
-  <version>1.2.100.v200806051913</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-  <version>1.0.400.v200805150135</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation</name>
-  <version>1.1.301.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation.tests</name>
-  <version>1.0.203</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi</name>
-  <version>1.0.205.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui</name>
-  <version>1.0.400.v200805140300</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui.doc.user</name>
-  <version>1.0.300.v200805301546</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.catalog.tests</name>
-  <version>1.0.0.v200806051910</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core</name>
-  <version>1.1.300.v200806051910</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core.tests</name>
-  <version>1.0.200.v200805152207</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.tests.encoding</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui</name>
-  <version>1.0.400.v200806051910</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.infopop</name>
-  <version>1.0.300.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests.performance</name>
-  <version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.validation.tests</name>
-  <version>1.0.400.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xmleditor.doc.user</name>
-  <version>1.0.400.v200805211530</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.core</name>
-  <version>1.1.300.v200805282012</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.core.tests</name>
-  <version>1.0.0.v200805282012</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.tests.performance</name>
-  <version>1.0.300.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.ui</name>
-  <version>1.2.101.v200806051910</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.validation.tests</name>
-  <version>1.0.400.v200805140200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsdeditor.doc.user</name>
-  <version>1.0.400.v200805150028</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests</name>
-  <version>1.0.0.v200806012140</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools</name>
-  <version>1.0.0.v200806010700</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.core</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.ui</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.wtpbuilder</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.exporter</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.importer</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-  <name>org.junit</name>
-  <version>3.8.2.v20080602-1318</version>
-</entry>
-<entry>
-  <name>org.junit4</name>
-  <version>4.3.1</version>
-</entry>
-<entry>
-  <name>org.mortbay.jetty</name>
-  <version>5.1.14.v200806031611</version>
-</entry>
-<entry>
-  <name>org.objectweb.asm</name>
-  <version>3.1.0.v200803061910</version>
-</entry>
-<entry>
-  <name>org.sat4j.core</name>
-  <version>2.0.0.v20080602</version>
-</entry>
-<entry>
-  <name>org.sat4j.pb</name>
-  <version>2.0.0.v20080602</version>
-</entry>
-<entry>
-  <name>org.uddi4j</name>
-  <version>2.0.5.v200805270300</version>
-</entry>
-</bundleData>
-</referenceData>
-<referenceData id="WTP-2.0.2">
-<featureData>
-<!-- Number of features: 154 -->
-
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-
-  <version>1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-  <version>1.5.1.200709261</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.5.1.200710161</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdbc.feature</name>
-
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.feature</name>
-  <version>1.5.1.200709261</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.enablement.postgresql.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sdk.feature</name>
-  <version>1.5.1.200709261</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.data.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.sqldevtools.results.feature</name>
-  <version>1.5.1.200709261</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.3.1.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.emf.doc</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo</name>
-  <version>2.3.1.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.doc</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.edit</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.editor</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.sdk</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.emf.ecore.sdo.source</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.3.1.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.sdk</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.source</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.gef</name>
-  <version>3.3.2.v20080129</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.sdk</name>
-  <version>3.3.2.v20080129</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-
-  <version>3.3.2.v20080129</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature</name>
-  <version>1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jpt.sdk</name>
-  <version>1.0.2.v200802140100-2-38-46AEE7DRIhXMH7GeOjNKNRE</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests</name>
-  <version>1.0.2.v200802140100-1-1302</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jpt.tests.feature</name>
-  <version>1.0.2.v200802140100-2-1</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt_sdk.feature</name>
-  <version>1.0.2.v200802140100-2-384B2_KFdUJG6FdNiMJMQDZRDE</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-
-  <version>2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_sdk.feature</name>
-  <version>2.0.0.v200706041905-4--7z53A46_4E5I5A38598x42292</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.doc.isv.feature</name>
-  <version>2.0.2.v200802150100-1-Aj7w311913312746</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature</name>
-  <version>2.0.2.v200802150100-42Au_kE77c7EAgE7I7</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>2.0.2.v200802150100-42Au_kE77c7EAgE7I7</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.enterprise_sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384g_CPvCIc9EaRXJ3VWlXq8Yb</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_tests.feature</name>
-  <version>2.0.2.v200802150100-773Ds9oA55Q5L8A8KER</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature</name>
-
-  <version>2.0.2.v200802150100-7b7_Es8EU6AXOV9QLJSees1SQoYQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7b7_Es8EU6AXOV9QLJSees1SQoYQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-  <version>2.0.0.v200706041905-5-ELQAgI99h9ZJAGSOP</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.sdk</name>
-  <version>2.0.2.v200802150100-7F-7D8fNerpqc2VheGP-mWEPz-u9</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature</name>
-  <version>2.0.2.v200802150100-787KE8iDUUEF6GwKwpHEQ</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>2.0.2.v200802150100-787KE8iDUUEF6GwKwpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384C_NPAnHcXII9J4W5AZQ_EVV</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.server_core.feature</name>
-  <version>2.0.2.v200802150100-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>2.0.2.v200802150100-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_sdk.feature</name>
-
-  <version>2.0.2.v200802150100-4-384B2FeC1NfHoxlMfoT67ypqsi</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_tests.feature</name>
-  <version>2.0.2.v200802150100-6-EFCAgI99h9XN9IIIX</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature</name>
-  <version>2.0.2.v200802150100-77-CT9yJXEkuiKVeQrclqTHQ3648</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-  <version>2.0.2.v200802150100-77-CT9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_userdoc.feature</name>
-  <version>2.0.2.v200802150100-1-Ah7w311819272_4_</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.tests</name>
-  <version>2.0.2.v200802150100-77-67WRRyDippSJJsWv3ra4WbaW</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature</name>
-  <version>2.0.300.v200802200333-7Q7AE7JEHhHeh0hI5y-QGB</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>2.0.300.v200802200333-7Q7AE7JEHhHeh0hI5y-QGB</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_sdk.feature</name>
-  <version>2.0.2.v200802150100-5-490K6JGI--ZdDUSh49pBBHUEXa</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_tests.feature</name>
-
-  <version>2.0.2.v200802150100-7F4E_DED-z0UWFWCpSUaZV</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature</name>
-  <version>2.0.2.v200802150100-7B1DzCkuNa_RPevwkwB1iJ6z-0RH</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7B1DzCkuNa_RPevwkwB1iJ6z-0RH</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_userdoc.feature</name>
-  <version>2.0.2.v200802150100-1-07w31181_23</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-  <version>1.0.1.v200709110605-2-18045ByDG9T8eAI0403_pB66Q6</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.pde</name>
-  <version>3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-
-  <version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source</name>
-  <version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.3.3.r33x_r20080129-7M7J7LB-u3aphGW6o3_VmiVfGXWO</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>2.0.2.v200802150100-7C-7C8k0JWR293WFMOOObjNnnqho</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature</name>
-  <version>2.0.2.v200802150100-7C78EKOE_EkMNlO6f7cjpz0</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>2.0.2.v200802150100-7C78EKOE_EkMNlO6f7cjpz0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384H8HS6JCZyXYql06-5r3HoFL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_tests.feature</name>
-
-  <version>2.0.2.v200802150100-7848bAgI99i9YHLERJK</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature</name>
-  <version>2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.isv.feature</name>
-  <version>2.0.2.v200802150100-1-Am7w311913312746</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sdk</name>
-  <version>2.0.2.v200802150100-7E-7E8aNek-SRfrjr6TqAZAYKdiU</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.server_adapters.feature</name>
-  <version>2.0.2.v200802150100-4-0_kE77Y7TGAoAAJ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature</name>
-  <version>2.0.2.v200802150100-2-CN8s733H3_3Ic</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>2.0.2.v200802150100-2-CN8s733H3_3Ic</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384B2FiBz0GfGoyZIZvCcrZeJe</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_tests.feature</name>
-
-  <version>2.0.2.v200802150100-5-EAUAgI99h9YL_EEEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature</name>
-  <version>2.0.2.v200802150100-77-CX9vCXDkvWGPlAMGMi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>2.0.2.v200802150100-77-CX9vCXDkvWGPlAMGMi447</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_userdoc.feature</name>
-  <version>2.0.2.v200802150100-1-Aj7w311816413336</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.tests.feature</name>
-  <version>2.0.2.v200802150100-7_-797eXdIxR6RHmAC8DW-3LGi3</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.web_core.feature</name>
-  <version>2.0.2.v200802150100-42CN_kE77a8F9XCOEL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>2.0.2.v200802150100-42CN_kE77a8F9XCOEL</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.web_sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384F3HLoHmeiNNvEk0Fz08lGMx</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_tests.feature</name>
-  <version>2.0.2.v200802150100-78-EC5DUUEF6FsVWQiXq</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature</name>
-
-  <version>2.0.2.v200802150100-7A0EAlCiWfJKsCZoChvz0dMYOb</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7A0EAlCiWfJKsCZoChvz0dMYOb</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_userdoc.feature</name>
-  <version>2.0.2.v200802150100-20Ag8s733G3C93777C</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature</name>
-  <version>2.0.2.v200802150100-7E7KEB2EC3wSU5UghChM0v</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>2.0.2.v200802150100-7E7KEB2EC3wSU5UghChM0v</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.ws_sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384D4HNLFynbSBEnl1rhSbVadT</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_tests.feature</name>
-  <version>2.0.2.v200802150100-6-CO9oA55Q5K7G9A_K</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.ws_ui.feature</name>
-  <version>2.0.2.v200802150100-791ECIAufYO9BlarnPCFGewtZiN1</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>2.0.2.v200802150100-791ECIAufYO9BlarnPCFGewtZiN1</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_userdoc.feature</name>
-
-  <version>2.0.0.v200706041905-34Ds9oA55P5L_97C9J</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature</name>
-  <version>2.0.2.v200802150100-787BE_4CYQCD-DaQMIfPd</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>2.0.2.v200802150100-787BE_4CYQCD-DaQMIfPd</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_sdk.feature</name>
-  <version>2.0.2.v200802150100-4-384F4HNPHrjfp4eY0Myg0ZqZLI</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_tests.feature</name>
-  <version>2.0.2.v200802150100-7A-EN4E9IgKLXLDhfdur2</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature</name>
-  <version>2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.xml_userdoc.feature</name>
-  <version>2.0.2.v200802150100-4-EGk_kE77Y7QI7EEEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests.feature</name>
-  <version>1.0.1.v200709120100-6--7w311817222862</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.doc</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.3.2.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.xsd.sdk</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.source</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-</featureData>
-<bundleData>
-
-<!-- Number of bundles: 576 -->
-
-<entry>
-  <name>com.ibm.icu</name>
-  <version>3.6.1.v20070906</version>
-</entry>
-<entry>
-  <name>com.ibm.icu.source</name>
-  <version>3.6.1.v20070906</version>
-
-</entry>
-<entry>
-  <name>com.jcraft.jsch</name>
-  <version>0.1.31</version>
-</entry>
-<entry>
-  <name>javax.servlet</name>
-  <version>2.4.0.v200706111738</version>
-</entry>
-
-<entry>
-  <name>javax.servlet.jsp</name>
-  <version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-  <name>javax.servlet.jsp.source</name>
-  <version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-
-  <name>javax.servlet.source</name>
-  <version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-  <name>javax.wsdl</name>
-  <version>1.4.0.v200706111329</version>
-</entry>
-<entry>
-  <name>javax.wsdl15</name>
-
-  <version>1.5.1.v200705290614</version>
-</entry>
-<entry>
-  <name>javax.xml.rpc</name>
-  <version>1.1.0.v200706111329</version>
-</entry>
-<entry>
-  <name>javax.xml.soap</name>
-  <version>1.2.0.v200706111329</version>
-
-</entry>
-<entry>
-  <name>org.apache.ant</name>
-  <version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-  <name>org.apache.ant.source</name>
-  <version>1.7.0.v200706080842</version>
-</entry>
-
-<entry>
-  <name>org.apache.axis</name>
-  <version>1.4.0.v200706191647</version>
-</entry>
-<entry>
-  <name>org.apache.cactus</name>
-  <version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-
-  <name>org.apache.commons.discovery</name>
-  <version>0.2.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el</name>
-  <version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el.source</name>
-
-  <version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging</name>
-  <version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging.source</name>
-  <version>1.0.4.v200706111724</version>
-
-</entry>
-<entry>
-  <name>org.apache.jasper</name>
-  <version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.jasper.source</name>
-  <version>5.5.17.v200706111724</version>
-</entry>
-
-<entry>
-  <name>org.apache.log4j</name>
-  <version>1.2.13.v200706111418</version>
-</entry>
-<entry>
-  <name>org.apache.lucene</name>
-  <version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-
-  <name>org.apache.lucene.analysis</name>
-  <version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.analysis.source</name>
-  <version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.source</name>
-
-  <version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.wsil4j</name>
-  <version>1.0.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.xerces</name>
-  <version>2.8.0.v200705301630</version>
-
-</entry>
-<entry>
-  <name>org.apache.xml.resolver</name>
-  <version>1.1.0.v200705310020</version>
-</entry>
-<entry>
-  <name>org.dbunit</name>
-  <version>2.2.0.200706071</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.ant.core</name>
-  <version>3.1.200.v20070522</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.optional.junit</name>
-  <version>3.2.100</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.ant.ui</name>
-  <version>3.2.200.v20070825_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.compare</name>
-  <version>3.3.2.r33x_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.boot</name>
-
-  <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.commands</name>
-  <version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.contenttype</name>
-  <version>3.2.100.v20070319</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding</name>
-  <version>1.0.1.M20070822-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding.beans</name>
-  <version>1.0.1.M20070910-0800b</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.core.expressions</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filebuffers</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.core.filesystem</name>
-  <version>1.1.0.v20070606</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem.linux.ppc</name>
-  <version>1.0.100.v20070430</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.jobs</name>
-
-  <version>3.3.1.R33x_v20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.net</name>
-  <version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources</name>
-  <version>3.3.1.R33x_v20080205</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.core.resources.compatibility</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime</name>
-  <version>3.3.100.v20070530</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.core.runtime.compatibility</name>
-  <version>3.1.200.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.auth</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.core.runtime.compatibility.registry</name>
-  <version>3.2.100.v20070316</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.variables</name>
-  <version>3.2.0.v20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs</name>
-
-  <version>1.0.2.r33x_r20080129</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-  <version>1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity</name>
-  <version>1.0.1.200709061</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic</name>
-  <version>1.0.0.200706071</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-  <version>1.0.1.200708201</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.dbdefinition.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.derby.ui</name>
-
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda</name>
-  <version>3.1.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.consumer</name>
-  <version>3.1.1.200708221</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design</name>
-  <version>3.0.5.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-  <version>3.0.5.200709071</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-  <version>3.0.4.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-  <version>3.0.5.200707301</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.connectivity.oda.profile</name>
-  <version>3.0.5.200708131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-  <version>3.0.5.200707301</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core</name>
-
-  <version>1.0.1.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-  <version>1.0.1.200708201</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.fe.ui</name>
-  <version>1.0.0.200706071</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.fe.ui.actions</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-  <version>1.0.0.200709141</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui</name>
-  <version>1.0.1.200708231</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui.dse</name>
-  <version>1.0.1.200709171</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.doc.isv</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.finfo</name>
-
-  <version>1.5.1.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.profile</name>
-
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.classpath</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.dbunit</name>
-  <version>1.0.0.200706072</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.profile</name>
-  <version>1.0.1.200709041</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-  <version>1.0.1.200709181</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.enablement.mysql.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws</name>
-  <version>1.0.1.200709111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-
-  <version>1.0.1.200709111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml</name>
-  <version>1.0.2.200709101</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-  <version>1.0.2.200709071</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.profile</name>
-  <version>1.0.0.200706151</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.profile</name>
-  <version>1.0.1.200709061</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.enablement.sybase</name>
-  <version>1.0.1.200707131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.profile</name>
-  <version>1.0.0.200706071</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.help</name>
-  <version>1.5.0.200706181</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.0.0.200706071</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.lpg</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.modelbase.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.edit</name>
-
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-  <version>1.0.0.200706151</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.oda.cshelp</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.source</name>
-  <version>1.5.1.200709251</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.sqltools.common.ui</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.core</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.sqltools.data.ui</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.generic</name>
-
-  <version>1.0.0.200706131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.debugger.core</name>
-  <version>1.0.0.200709251</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.editor.core</name>
-  <version>1.0.0.200709261</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-  <version>1.0.0.200706161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-  <version>1.0.0.200706161</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-  <version>1.0.0.200706162</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.datatools.sqltools.plan</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.result</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.routineeditor</name>
-
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sql</name>
-  <version>1.0.0.200706111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqleditor</name>
-  <version>1.0.0.200709061</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-  <version>1.0.0.200706071</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.datatools.sqltools.tablewizard</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.core</name>
-  <version>3.3.2.v20080117_r332</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.debug.ui</name>
-  <version>3.3.2.v20080117_r332</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.doc.isv</name>
-
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ant</name>
-  <version>2.3.1.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.cheatsheets</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.commonj.sdo</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.3.0.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.doc</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.ecore.change</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change.edit</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo</name>
-
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.doc</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.edit</name>
-  <version>2.3.0.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.editor</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.source</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.ecore.xmi</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.exporter</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer</name>
-
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.ecore</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.java</name>
-  <version>2.3.1.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.rose</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.emf.mapping.ecore2ecore</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml</name>
-
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.3.0.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.emf.source</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.app</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.equinox.common</name>
-  <version>3.3.0.v20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.jetty</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.registry</name>
-
-  <version>1.0.1.R33x_v20071231</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.servlet</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper</name>
-  <version>1.0.1.R33x_v20070816</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper.registry</name>
-  <version>1.0.0.v20070607</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher</name>
-  <version>1.0.1.R33x_v20080118</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-  <version>1.0.3.R33x_v20080118</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.preferences</name>
-  <version>3.2.101.R33x_v20080117</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.equinox.registry</name>
-  <version>3.3.1.R33x_v20070802</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.2.102.v20080116</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.doc.isv</name>
-
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.examples.ui.pde</name>
-  <version>3.3.0.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.3.2.v20080129</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.help</name>
-  <version>3.3.2.v20071126_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.appserver</name>
-  <version>3.1.200.v20070510</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.help.base</name>
-  <version>3.3.1.v20070813_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.ui</name>
-  <version>3.3.2.v20071126_33x</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.help.webapp</name>
-  <version>3.3.2.v20071102_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.3.1.r332_v20080131</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.core</name>
-
-  <version>3.3.1.R33x_v20071112-2330</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.pluggable.core</name>
-  <version>1.0.1.R33x_v20071002-2100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.ui</name>
-  <version>3.3.1.R33x_v20071002-2100</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.apt</name>
-  <version>1.0.1.R33x_v20071002-2100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.tool</name>
-  <version>1.0.1.v_793_R33x</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jdt.core</name>
-  <version>3.3.3.v_793_R33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core.manipulation</name>
-  <version>1.1.0.v20070606-0010</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jdt.debug</name>
-  <version>3.3.1.v20070719_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug.ui</name>
-  <version>3.2.102.v20071002_r332</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.isv</name>
-
-  <version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.user</name>
-  <version>3.3.2.r332_20080116-0900</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit</name>
-  <version>3.3.2.r332_20080109-0800</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit.runtime</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit4.runtime</name>
-  <version>1.0.100.v20070606-0010</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jdt.launching</name>
-  <version>3.3.2.v20080115_r332</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jdt.ui</name>
-  <version>3.3.2.r332_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem</name>
-  <version>2.0.100.v200709051030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.beaninfo</name>
-
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.proxy</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.tests</name>
-  <version>1.2.3.v200706120315</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jem.ui</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.util</name>
-  <version>2.0.2.v200802192030</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jem.workbench</name>
-  <version>2.0.1.v200710051600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface</name>
-  <version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jface.databinding</name>
-  <version>1.1.1.M20080207-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.text</name>
-  <version>3.3.2.r332_20071017-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt</name>
-
-  <version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core</name>
-  <version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core.tests</name>
-  <version>1.0.1</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db</name>
-  <version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db.ui</name>
-  <version>1.0.0.v200705300001</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jpt.doc.user</name>
-  <version>1.0.1.v200709120000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jpt.gen</name>
-  <version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.ui</name>
-  <version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility</name>
-
-  <version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility.tests</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.core</name>
-  <version>1.0.0.I20070426</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jsch.ui</name>
-  <version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>1.0.2.v200706120315</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.common.annotations.controller</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.core</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.common.annotations.ui</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.frameworks</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.project.facet.core</name>
-
-  <version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.doc.isv</name>
-  <version>1.0.303.v200802201635</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>2.0.2.v200802150100-42Au_kE77c7EAgE7I7</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7b7_Es8EU6AXOV9QLJSees1SQoYQ</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.j2ee</name>
-  <version>1.1.106.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core</name>
-  <version>1.1.104.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests</name>
-
-  <version>1.1.102.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb</name>
-  <version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-  <version>1.1.2.v200706191638</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-  <version>1.1.3.v200802201934</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca</name>
-
-  <version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca.ui</name>
-  <version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.navigator.ui</name>
-  <version>1.1.102.v200709122200</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests</name>
-  <version>1.1.102.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.j2ee.ui</name>
-  <version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.web</name>
-  <version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.j2ee.webservice</name>
-  <version>1.1.102.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice.ui</name>
-  <version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee</name>
-  <version>1.0.2.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ejb</name>
-  <version>1.0.2.v200802192030</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ui</name>
-  <version>1.0.2.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.web</name>
-  <version>1.0.2.v200802192030</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.jsf.common</name>
-  <version>1.0.2.v200802201120</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.jsf.contentassist.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.context.symbol.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core</name>
-
-  <version>1.0.2.v200802201120</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core.tests</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.designtime.tests</name>
-  <version>1.0.2.v200802201120</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.dev</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.user</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.jsf.metadata.tests</name>
-  <version>1.0.1.v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.standard.tagsupport</name>
-
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.test.util</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui</name>
-  <version>1.0.1.v20070912</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core</name>
-  <version>1.2.1.v200709181730</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.jsp.core.tests</name>
-  <version>1.0.101.v200709062330</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.jsp.ui</name>
-  <version>1.1.201.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests</name>
-
-  <version>1.0.101.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner</name>
-  <version>1.0.1.v20070912</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsp.core</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.server.core</name>
-  <version>1.0.205.v20070829b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core.tests</name>
-  <version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.server.generic.core</name>
-  <version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jboss</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jonas</name>
-
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.oc4j</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.tests</name>
-  <version>1.0.100</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.ui</name>
-  <version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.installable</name>
-  <version>1.5.102.v20070608</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.server.preview.adapter</name>
-  <version>1.0.2.v20071017b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core</name>
-  <version>1.1.2.v20071023</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.server.tomcat.core.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.tests.performance</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui</name>
-
-  <version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui</name>
-  <version>1.0.203.v200705302225</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.doc.user</name>
-  <version>1.0.301.v200708161939</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.server.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.websphere.core</name>
-  <version>1.0.201.v20070608</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>2.0.2.v200802150100-787KE8iDUUEF6GwKwpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>2.0.2.v200802150100-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-
-  <version>2.0.2.v200802150100-77-CT9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.tests</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui</name>
-  <version>1.1.103.v200802192030</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.standard.schemas</name>
-  <version>1.0.0.v200706221355</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.validation.sample</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.test</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>2.0.300.v200802200333-7Q7AE7JEHhHeh0hI5y-QGB</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7B1DzCkuNa_RPevwkwB1iJ6z-0RH</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws</name>
-  <version>1.0.205.v200801222138</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core</name>
-  <version>1.0.204.v200708151945</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core.tests</name>
-  <version>1.0.101.v200707111738</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-  <version>1.0.204.v200801222138</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.ws.axis.creation.ui</name>
-  <version>1.0.206.v200711281741</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.infopop</name>
-  <version>1.0.203.v200708222303</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-  <version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.core</name>
-  <version>1.0.2.v200801310215</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-
-  <version>1.0.1.v200709121418</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.core</name>
-  <version>1.0.2.v200711232023</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.core</name>
-  <version>1.0.2.v200710311655</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.ui</name>
-  <version>1.0.2.v200801292016</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.ui</name>
-  <version>1.0.1.v200708282350</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.ws.consumption</name>
-  <version>1.0.205.v200711222108</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.ws.consumption.ui</name>
-  <version>1.0.206.v200712220541</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-  <version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-
-  <version>1.0.100.v200706030600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ui</name>
-  <version>1.0.206.v200712220541</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.infopop</name>
-  <version>1.0.203.v200709190403</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests</name>
-  <version>1.0.202.v200802121438</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.jst.ws.tests.performance</name>
-  <version>1.0.201.v200708131547</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.uddiregistry</name>
-  <version>1.0.200.v200705311743</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.jst.ws.ui</name>
-  <version>1.0.202.v200708202218</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.core.refactoring</name>
-  <version>3.3.1.r332_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.ui.refactoring</name>
-
-  <version>3.3.1.r332_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi</name>
-  <version>3.3.2.R33x_v20080105</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.services</name>
-  <version>3.1.200.v20070605</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.osgi.util</name>
-  <version>3.1.200.v20070605</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.3.1.r33x_r20080129</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.pde.build</name>
-  <version>3.3.2.v20071019</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.core</name>
-  <version>3.3.2.v20071121-0800</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.pde.doc.user</name>
-  <version>3.3.0.v20070614-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.junit.runtime</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.runtime</name>
-
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui</name>
-  <version>3.3.1.v20070912-0800</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui.templates</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.3.3.r33x_r20080129</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.platform.doc.isv</name>
-  <version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.user</name>
-  <version>3.3.0.M20070913-1400</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.platform.source</name>
-  <version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-  <version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-
-  <version>3.2.1.r33x_r20080131</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-  <version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.3.3.r33x_r20080129</version>
-</entry>
-<entry>
-  <name>org.eclipse.search</name>
-  <version>3.3.1.r331_v20070831-0800</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.swt</name>
-  <version>3.3.2.v3349d</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt.gtk.linux.ppc</name>
-  <version>3.3.2.v3349</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.team.core</name>
-  <version>3.3.1.r33x_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.core</name>
-  <version>3.3.2.r33x_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh</name>
-
-  <version>3.2.100.I20061208</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh2</name>
-  <version>3.2.100.I20070604</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ui</name>
-  <version>3.3.1.r33x_20070807</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.team.ui</name>
-  <version>3.3.2.r33x_20080128</version>
-</entry>
-<entry>
-  <name>org.eclipse.test</name>
-  <version>3.2.0</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.test.performance</name>
-  <version>3.3.0.r332_v20080204</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance.win32</name>
-  <version>3.1.100</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.test.source</name>
-  <version>3.3.0.v20070411</version>
-</entry>
-<entry>
-  <name>org.eclipse.text</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.tomcat</name>
-
-  <version>4.1.230.v20070531</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui</name>
-  <version>3.3.1.M20071128-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.browser</name>
-  <version>3.2.100.v20070524A</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.ui.cheatsheets</name>
-  <version>3.3.1.v20080125_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.console</name>
-  <version>3.2.2.v20071031_r332</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.ui.editors</name>
-  <version>3.3.2.r332_20080109-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.externaltools</name>
-  <version>3.1.200.v20070416</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.ui.forms</name>
-  <version>3.3.0.v20070511</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide</name>
-  <version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide.application</name>
-
-  <version>1.0.0.I20070530-0100</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro</name>
-  <version>3.2.101.v20070827_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro.universal</name>
-  <version>3.2.100.v20070530A</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator</name>
-  <version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator.resources</name>
-  <version>3.3.1.M20070831-2000</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.ui.net</name>
-  <version>1.0.0.I20070516</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.presentations.r21</name>
-  <version>3.2.100.I20070605-0010</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.ui.views</name>
-  <version>3.2.101.M20080207-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views.properties.tabbed</name>
-  <version>3.3.1.M20070831-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench</name>
-
-  <version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.compatibility</name>
-  <version>3.2.0.I20070319-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.texteditor</name>
-  <version>3.3.2.r332_20080109-0800</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.update.configurator</name>
-  <version>3.2.101.R33x_v20070810</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core</name>
-  <version>3.2.101.R33x_v20070911</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.update.core.linux</name>
-  <version>3.2.0.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.scheduler</name>
-  <version>3.2.100.v20070615</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.update.ui</name>
-  <version>3.2.100.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env</name>
-
-  <version>1.0.205.v200710161954</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.core</name>
-  <version>1.0.203.v200707302047</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.doc.user</name>
-  <version>1.5.1.v200706120315</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.ui</name>
-  <version>1.0.203.v200709052219</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.common.core</name>
-  <version>1.1.101.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emf</name>
-  <version>1.1.104.v200709131115</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.common.emfworkbench.integration</name>
-  <version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.environment</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks</name>
-
-  <version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks.ui</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.infopop</name>
-  <version>1.0.2.v200706110217</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.modulecore</name>
-  <version>1.1.104.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core</name>
-  <version>1.2.2.v200802200327</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core.tests</name>
-  <version>1.2.1.v200707311701</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui</name>
-  <version>1.2.1.v200708232226</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.common.project.facet.ui.tests</name>
-  <version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets.tests</name>
-
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests</name>
-  <version>1.1.1.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.collector</name>
-  <version>1.1.0</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.performance</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.ui</name>
-  <version>1.1.1.v200706120315</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.common.ui</name>
-  <version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.ui.properties</name>
-  <version>1.0.102.v200706120315</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.common.uriresolver</name>
-  <version>1.1.203.v200802200327</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>2.0.2.v200802150100-7C78EKOE_EkMNlO6f7cjpz0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-
-  <version>2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core</name>
-  <version>1.1.102.v200710121808</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core.tests</name>
-  <version>1.0.101.v200710121808</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.tests.encoding</name>
-  <version>1.0.200.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.css.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.doc.isv</name>
-  <version>1.0.306.v200802201635</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.user</name>
-  <version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.core</name>
-
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtdeditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.html.core</name>
-  <version>1.1.103.v200801092102</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core.tests</name>
-  <version>1.0.101.v200709190340</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.html.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui</name>
-  <version>1.0.202.v200708292012</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.infopop</name>
-
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache.tests</name>
-  <version>1.0.0</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.internet.monitor.core</name>
-  <version>1.0.203.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui</name>
-  <version>1.0.204.v20070716b</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.core</name>
-  <version>1.0.101.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui</name>
-
-  <version>1.0.103.v200802142230</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core</name>
-  <version>1.0.206.v20080108b</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.server.http.core.tests</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.ui</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.server.preview</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview.adapter</name>
-  <version>1.0.1.v20070814b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.tests.performance</name>
-
-  <version>1.0.200.v20070611</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui</name>
-  <version>1.0.206.v20080206b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.doc.user</name>
-  <version>1.0.303.v200705302225</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.infopop</name>
-  <version>1.0.5.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>2.0.2.v200802150100-2-CN8s733H3_3Ic</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>2.0.2.v200802150100-77-CX9vCXDkvWGPlAMGMi447</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.sse.core</name>
-  <version>1.1.203.v200802140626</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.doc.user</name>
-
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui</name>
-  <version>1.0.305.v200802142230</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.infopop</name>
-  <version>1.0.102.v200706110217</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests.performance</name>
-  <version>1.0.100.v200706071955</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.standard.schemas</name>
-  <version>1.0.1.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.validation.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.ui</name>
-  <version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web</name>
-
-  <version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui</name>
-  <version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui.infopop</name>
-  <version>1.0.202.v200706110217</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>2.0.2.v200802150100-42CN_kE77a8F9XCOEL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7A0EAlCiWfJKsCZoChvz0dMYOb</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.webtools.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws</name>
-  <version>1.0.204.v200711140435</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.ws.explorer</name>
-  <version>1.0.206.v200802072125</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.parser</name>
-
-  <version>1.0.201.v200706061845</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.tests</name>
-  <version>1.0.201.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.ui</name>
-  <version>1.0.203.v200708222126</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>2.0.2.v200802150100-7E7KEB2EC3wSU5UghChM0v</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>2.0.2.v200802150100-791ECIAufYO9BlarnPCFGewtZiN1</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.wsdl</name>
-  <version>1.1.101.v200801152132</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests</name>
-  <version>1.0.4.v200801152132</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.wsdl.tests.performance</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.ui</name>
-  <version>1.0.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui</name>
-
-  <version>1.2.2.v200710171849</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation</name>
-  <version>1.1.201.v200706062140</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation.tests</name>
-  <version>1.0.203</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi</name>
-  <version>1.0.105.v200706120315</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.wsi.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui</name>
-  <version>1.0.300.v200706062140</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.wsi.ui.doc.user</name>
-  <version>1.0.203.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core</name>
-  <version>1.1.202.v200802140626</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core.tests</name>
-
-  <version>1.0.101.v200802142230</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui</name>
-  <version>1.0.302.v200802140626</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.validation.tests</name>
-  <version>1.0.302.v200705302225</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>2.0.2.v200802150100-787BE_4CYQCD-DaQMIfPd</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xmleditor.doc.user</name>
-
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.core</name>
-  <version>1.1.202.v200710011705</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.tests.performance</name>
-  <version>1.0.201.v200709131251</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.ui</name>
-  <version>1.2.2.v200802141800</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.validation.tests</name>
-  <version>1.0.301.v200706071955</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.wst.xsdeditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.wtp.releng.tools</name>
-  <version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.core</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.ui</name>
-
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.wtpbuilder</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.3.2.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.xsd.cheatsheets</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.doc</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.exporter</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-
-  <name>org.eclipse.xsd.ecore.importer</name>
-  <version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.3.0.v200802051830</version>
-
-</entry>
-<entry>
-  <name>org.eclipse.xsd.source</name>
-  <version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-  <name>org.junit</name>
-  <version>3.8.2.v200706111738</version>
-</entry>
-
-<entry>
-  <name>org.junit.source</name>
-  <version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-  <name>org.junit4</name>
-  <version>4.3.1</version>
-</entry>
-<entry>
-
-  <name>org.mortbay.jetty</name>
-  <version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-  <name>org.mortbay.jetty.source</name>
-  <version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-  <name>org.uddi4j</name>
-
-  <version>2.0.5.v200706111329</version>
-</entry>
-</bundleData>
-</referenceData>
-
-<referenceData id="WTP-2.0.1">
-<featureData>
-<!-- Number of features: 154 -->
-
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-  <version>1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdbc.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sdk.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.data.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.results.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.sdk</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.source</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.sdk</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.sdk</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature</name>
-  <version>1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.sdk</name>
-  <version>1.0.1.v200709140000-2-18-44ADEDBTefJM13HAObNFLUa</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests</name>
-  <version>1.0.1.v200709140000-1-0301</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests.feature</name>
-  <version>1.0.1.v200709130000-2-0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt_sdk.feature</name>
-  <version>1.0.1.v200709130000-2-184B28MbcGJ02G_NaMEKTZRDDz</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_sdk.feature</name>
-  <version>2.0.0.v200706041905-4--7z53A46_4E5I5A38598x42292</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.doc.isv.feature</name>
-  <version>2.0.1.v200709111122-1-Ai7w3118193_1724</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature</name>
-  <version>2.0.1.v200709130705-42Aq_kE77Y7gBHDE77</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>2.0.1.v200709130705-42Aq_kE77Y7gBHDE77</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_sdk.feature</name>
-  <version>2.0.1.v200709110523-4-184g_COv2Ia9KaSOEb9UKHMEEn</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_tests.feature</name>
-  <version>2.0.1.v200707111738-773Dr9oA55P5Q8_8NER</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature</name>
-  <version>2.0.1.v200709130705-7b7_ErsEU6AXKM4z-H2OSyjeRYcY</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>2.0.1.v200709130705-7b7_ErsEU6AXKM4z-H2OSyjeRYcY</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-  <version>2.0.0.v200706041905-5-ELQAgI99h9ZJAGSOP</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.sdk</name>
-  <version>2.0.1.v200709110510-7F-788fNWpoJCFladAFBfkeXa3lR</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature</name>
-  <version>2.0.1.v200709110550-787KE8gDUUEF6F_KxpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>2.0.1.v200709110550-787KE8gDUUEF6F_KxpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.sdk.feature</name>
-  <version>2.0.1.v200709110550-4-184C_NOAsHYXMN9HJW6AZQ8EVV</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature</name>
-  <version>2.0.1.v200709110550-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>2.0.1.v200709110550-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_sdk.feature</name>
-  <version>2.0.1.v200709110550-4-184B2FbC8NbHt0lMfoT65ypqsi</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_tests.feature</name>
-  <version>2.0.1.v200709110550-6-EFCAgI99h9XN9IIIX</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature</name>
-  <version>2.0.1.v200709110550-77-CR9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110550-77-CR9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_userdoc.feature</name>
-  <version>2.0.1.v200709110550-1-Ah7w311819272_4_</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.tests</name>
-  <version>2.0.1.v200709120100-77-37WRRyCfppSJIsbs37bySgTU</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature</name>
-  <version>2.0.200.v200709122200-7Q7AE7BEHhHegvh89ftNyC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>2.0.200.v200709122200-7Q7AE7BEHhHegvh89ftNyC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_sdk.feature</name>
-  <version>2.0.1.v200709110605-5-290K6HhI6-VdIUPh49p_dAU4bI</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_tests.feature</name>
-  <version>2.0.1.v200709110605-7F4E_AED-z0UWCWUoKQfST</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature</name>
-  <version>2.0.1.v200709110605-7B1COCkuNa_RHevwkwAwi9_guOz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>2.0.1.v200709110605-7B1COCkuNa_RHevwkwAwi9_guOz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_userdoc.feature</name>
-  <version>2.0.1.v200709110605-1-07w31181_23</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-  <version>1.0.1.v200709110605-2-18045ByDG9T8eAI0403_pB66Q6</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.3.1.R33x_r20070802-7M7J78_mu1mnlRa7A4Ns52XeZ6D0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature</name>
-  <version>2.0.1.v200709110622-7C78EKGE_EkMNfNleyerlz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>2.0.1.v200709110622-7C78EKGE_EkMNfNleyerlz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_sdk.feature</name>
-  <version>2.0.1.v200709110622-4-184H8HR5QCVycasku6-5r2Ho_L</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_tests.feature</name>
-  <version>2.0.1.v200709110622-7848a_kE77Y7UEAAPEI</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature</name>
-  <version>2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-  <version>2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.isv.feature</name>
-  <version>2.0.1.v200709120100-1-Al7w3118193_2361</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sdk</name>
-  <version>2.0.1.v200709110510-7E-788aNUivSRfjWLEcbxlUXG72x</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_adapters.feature</name>
-  <version>2.0.1.v200709110637-4-0_kE77Y7TGAoAAJ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature</name>
-  <version>2.0.1.v200709110637-2-CM8s733G3G5Jc</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>2.0.1.v200709110637-2-CM8s733G3G5Jc</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_sdk.feature</name>
-  <version>2.0.1.v200709110637-4-184B2FeC5GbFt-nJVGCjqaeJeM</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_tests.feature</name>
-  <version>2.0.1.v200709110637-5-EAUAgI99h9YL_EEEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature</name>
-  <version>2.0.1.v200709110637-77-CU9vCXCjvdHL7ATINi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110637-77-CU9vCXCjvdHL7ATINi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_userdoc.feature</name>
-  <version>2.0.1.v200709110637-1-Aj7w311816413336</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.tests.feature</name>
-  <version>2.0.1.v200709111138-7_-47eXdHwO_NFj1G3APvz0AKqq4</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature</name>
-  <version>2.0.1.v200709111200-42CK_kE77Y7ZBNCQGG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>2.0.1.v200709111200-42CK_kE77Y7ZBNCQGG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_sdk.feature</name>
-  <version>2.0.1.v200709111200-4-184F3HKlOmajLMvLjz-Dz-Sok7</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_tests.feature</name>
-  <version>2.0.1.v200709111200-78-EC4DUUEF6ExXURcZn</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature</name>
-  <version>2.0.1.v200709111200-7A0EAiCiWfGJsJZlAhE3TMaQW</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>2.0.1.v200709111200-7A0EAiCiWfGJsJZlAhE3TMaQW</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_userdoc.feature</name>
-  <version>2.0.1.v200709111200-20Ag8s733G3C93777C</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature</name>
-  <version>2.0.1.v200709051445-7E7KEB0EC3wSU4Tuh9iKz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>2.0.1.v200709051445-7E7KEB0EC3wSU4Tuh9iKz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_sdk.feature</name>
-  <version>2.0.1.v200709051445-4-184D4HMIMxncVEJ-9mo4aURBKk</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_tests.feature</name>
-  <version>2.0.1.v200709120100-6-CN9oA55P5Q8B8B8M</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature</name>
-  <version>2.0.1.v200709051445-791ECFAufYO8Az-ajoKBCFe8tVjL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>2.0.1.v200709051445-791ECFAufYO8Az-ajoKBCFe8tVjL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_userdoc.feature</name>
-  <version>2.0.0.v200706041905-34Ds9oA55P5L_97C9J</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature</name>
-  <version>2.0.1.v200709110650-787BE_1CYQCCz-CvRQLQSV</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>2.0.1.v200709110650-787BE_1CYQCCz-CvRQLQSV</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_sdk.feature</name>
-  <version>2.0.1.v200709110650-4-184F4HMJOrffu53dy3_BT7O_0r</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_tests.feature</name>
-  <version>2.0.1.v200709110650-7A-EN3E9IgKLWLHhdbz0p3</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature</name>
-  <version>2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_userdoc.feature</name>
-  <version>2.0.1.v200709110650-4-EGk_kE77Y7QI7EEEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests.feature</name>
-  <version>1.0.1.v200709120100-6--7w311817222862</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.sdk</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 576 -->
-
-<entry>
-  <name>com.ibm.icu</name>
-  <version>3.6.1.v20070906</version>
-</entry>
-<entry>
-  <name>com.ibm.icu.source</name>
-  <version>3.6.1.v20070906</version>
-</entry>
-<entry>
-  <name>com.jcraft.jsch</name>
-  <version>0.1.31</version>
-</entry>
-<entry>
-  <name>javax.servlet</name>
-  <version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-  <name>javax.servlet.jsp</name>
-  <version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-  <name>javax.servlet.jsp.source</name>
-  <version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-  <name>javax.servlet.source</name>
-  <version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-  <name>javax.wsdl</name>
-  <version>1.4.0.v200706111329</version>
-</entry>
-<entry>
-  <name>javax.wsdl15</name>
-  <version>1.5.1.v200705290614</version>
-</entry>
-<entry>
-  <name>javax.xml.rpc</name>
-  <version>1.1.0.v200706111329</version>
-</entry>
-<entry>
-  <name>javax.xml.soap</name>
-  <version>1.2.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.ant</name>
-  <version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-  <name>org.apache.ant.source</name>
-  <version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-  <name>org.apache.axis</name>
-  <version>1.4.0.v200706191647</version>
-</entry>
-<entry>
-  <name>org.apache.cactus</name>
-  <version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-  <name>org.apache.commons.discovery</name>
-  <version>0.2.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el</name>
-  <version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el.source</name>
-  <version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging</name>
-  <version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging.source</name>
-  <version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.jasper</name>
-  <version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.jasper.source</name>
-  <version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.log4j</name>
-  <version>1.2.13.v200706111418</version>
-</entry>
-<entry>
-  <name>org.apache.lucene</name>
-  <version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.analysis</name>
-  <version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.analysis.source</name>
-  <version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.source</name>
-  <version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.wsil4j</name>
-  <version>1.0.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.xerces</name>
-  <version>2.8.0.v200705301630</version>
-</entry>
-<entry>
-  <name>org.apache.xml.resolver</name>
-  <version>1.1.0.v200705310020</version>
-</entry>
-<entry>
-  <name>org.dbunit</name>
-  <version>2.2.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.core</name>
-  <version>3.1.200.v20070522</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.optional.junit</name>
-  <version>3.2.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.ui</name>
-  <version>3.2.200.v20070825_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.compare</name>
-  <version>3.3.1.r33x_20070906</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.boot</name>
-  <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.commands</name>
-  <version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.contenttype</name>
-  <version>3.2.100.v20070319</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding</name>
-  <version>1.0.1.M20070822-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding.beans</name>
-  <version>1.0.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.expressions</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filebuffers</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem</name>
-  <version>1.1.0.v20070606</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem.linux.ppc</name>
-  <version>1.0.100.v20070430</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.jobs</name>
-  <version>3.3.1.R33x_v20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.net</name>
-  <version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources</name>
-  <version>3.3.0.v20070604</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources.compatibility</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime</name>
-  <version>3.3.100.v20070530</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility</name>
-  <version>3.1.200.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.auth</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.registry</name>
-  <version>3.2.100.v20070316</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.variables</name>
-  <version>3.2.0.v20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.0.0.v20070606</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-  <version>1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity</name>
-  <version>1.0.1.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-  <version>1.0.1.200708201</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.dbdefinition.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.derby.ui</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda</name>
-  <version>3.1.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.consumer</name>
-  <version>3.1.1.200708221</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design</name>
-  <version>3.0.5.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-  <version>3.0.5.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-  <version>3.0.4.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-  <version>3.0.5.200707301</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.profile</name>
-  <version>3.0.5.200708131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-  <version>3.0.5.200707301</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core</name>
-  <version>1.0.1.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-  <version>1.0.1.200708201</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.fe.ui</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.fe.ui.actions</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui</name>
-  <version>1.0.1.200708231</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui.dse</name>
-  <version>1.0.1.200709171</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.isv</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.finfo</name>
-  <version>1.5.1.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.classpath</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.dbunit</name>
-  <version>1.0.0.200706072</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.profile</name>
-  <version>1.0.1.200709041</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-  <version>1.0.1.200709181</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws</name>
-  <version>1.0.1.200709111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-  <version>1.0.1.200709111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml</name>
-  <version>1.0.2.200709101</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-  <version>1.0.2.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.profile</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.profile</name>
-  <version>1.0.1.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase</name>
-  <version>1.0.1.200707131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.help</name>
-  <version>1.5.0.200706181</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.lpg</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.edit</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.oda.cshelp</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.source</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.common.ui</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.core</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.ui</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.generic</name>
-  <version>1.0.0.200706131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.debugger.core</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.editor.core</name>
-  <version>1.0.0.200708141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-  <version>1.0.0.200706161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-  <version>1.0.0.200706161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-  <version>1.0.0.200706162</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.plan</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.result</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.routineeditor</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sql</name>
-  <version>1.0.0.200706111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqleditor</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tablewizard</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.core</name>
-  <version>3.3.1.v20070731_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.ui</name>
-  <version>3.3.1.v20070731_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.doc.isv</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ant</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.cheatsheets</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.commonj.sdo</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.source</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.xmi</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.exporter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.java</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.rose</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.app</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.common</name>
-  <version>3.3.0.v20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.jetty</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.registry</name>
-  <version>1.0.0.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.servlet</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper.registry</name>
-  <version>1.0.0.v20070607</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.preferences</name>
-  <version>3.2.100.v20070522</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.registry</name>
-  <version>3.3.1.R33x_v20070802</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.2.101.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.doc.isv</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.examples.ui.pde</name>
-  <version>3.3.0.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.help</name>
-  <version>3.3.1.v20070726_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.appserver</name>
-  <version>3.1.200.v20070510</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.base</name>
-  <version>3.3.1.v20070813_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.ui</name>
-  <version>3.3.1.v20070726_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.webapp</name>
-  <version>3.3.1.v20070823_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.3.0.v20070607-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.core</name>
-  <version>3.3.1.R33x_v20070831-0435</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.pluggable.core</name>
-  <version>1.0.1.R33x_v20070831-0435</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.ui</name>
-  <version>3.3.1.R33x_v20070801-1930</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.apt</name>
-  <version>1.0.1.R33x_v20070831-0435</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.tool</name>
-  <version>1.0.1.v_780_R33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core</name>
-  <version>3.3.1.v_780_R33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core.manipulation</name>
-  <version>1.1.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug</name>
-  <version>3.3.1.v20070719_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug.ui</name>
-  <version>3.2.101.v20070718_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.isv</name>
-  <version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.user</name>
-  <version>3.3.1.r331_v20070912a</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit.runtime</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit4.runtime</name>
-  <version>1.0.100.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.launching</name>
-  <version>3.3.1.v20070808_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.ui</name>
-  <version>3.3.1.r331_v20070906</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem</name>
-  <version>2.0.100.v200709051030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.beaninfo</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.proxy</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.tests</name>
-  <version>1.2.3.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.ui</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.util</name>
-  <version>2.0.1.v200709051030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.workbench</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface</name>
-  <version>3.3.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.databinding</name>
-  <version>1.1.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.text</name>
-  <version>3.3.1.r331_v20070629</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt</name>
-  <version>1.0.1.v200709140000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core</name>
-  <version>1.0.1.v200709180000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core.tests</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db</name>
-  <version>1.0.1.v200709100000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db.ui</name>
-  <version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.doc.user</name>
-  <version>1.0.1.v200709120000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.gen</name>
-  <version>1.0.1.v200709100000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.ui</name>
-  <version>1.0.1.v200709100000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility</name>
-  <version>1.0.1.v200709140000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.core</name>
-  <version>1.0.0.I20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.ui</name>
-  <version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.controller</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.core</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.ui</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.frameworks</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.project.facet.core</name>
-  <version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.doc.isv</name>
-  <version>1.0.302.v200708290613</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>2.0.1.v200709130705-42Aq_kE77Y7gBHDE77</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>2.0.1.v200709130705-7b7_ErsEU6AXKM4z-H2OSyjeRYcY</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee</name>
-  <version>1.1.105.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core</name>
-  <version>1.1.103.v200709191000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests</name>
-  <version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-  <version>1.1.2.v200706191638</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca.ui</name>
-  <version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.navigator.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.web</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee</name>
-  <version>1.0.1.v200709251200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ejb</name>
-  <version>1.0.1.v200709251200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ui</name>
-  <version>1.0.1.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.web</name>
-  <version>1.0.1.v200709251200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.contentassist.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.context.symbol.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core</name>
-  <version>1.0.1.v20070921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core.tests</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.designtime.tests</name>
-  <version>1.0.1.v20070921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.dev</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.user</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadata.tests</name>
-  <version>1.0.1.v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.standard.tagsupport</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.test.util</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core</name>
-  <version>1.2.1.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core.tests</name>
-  <version>1.0.101.v200709062330</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui</name>
-  <version>1.1.201.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests</name>
-  <version>1.0.101.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsp.core</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core</name>
-  <version>1.0.205.v20070829b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core.tests</name>
-  <version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.core</name>
-  <version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jboss</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jonas</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.oc4j</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.tests</name>
-  <version>1.0.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.ui</name>
-  <version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.installable</name>
-  <version>1.5.102.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.preview.adapter</name>
-  <version>1.0.1.v20070814b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core</name>
-  <version>1.1.1.v20070827</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.tests.performance</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui</name>
-  <version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui</name>
-  <version>1.0.203.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.doc.user</name>
-  <version>1.0.301.v200708161939</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.websphere.core</name>
-  <version>1.0.201.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>2.0.1.v200709110550-787KE8gDUUEF6F_KxpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>2.0.1.v200709110550-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110550-77-CR9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.tests</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.standard.schemas</name>
-  <version>1.0.0.v200706221355</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.sample</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.test</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>2.0.200.v200709122200-7Q7AE7BEHhHegvh89ftNyC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>2.0.1.v200709110605-7B1COCkuNa_RHevwkwAwi9_guOz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws</name>
-  <version>1.0.204.v200707251745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core</name>
-  <version>1.0.204.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core.tests</name>
-  <version>1.0.101.v200707111738</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-  <version>1.0.203.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.creation.ui</name>
-  <version>1.0.205.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.infopop</name>
-  <version>1.0.203.v200708222303</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-  <version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.core</name>
-  <version>1.0.1.v200708241921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-  <version>1.0.1.v200709121418</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.core</name>
-  <version>1.0.1.v200709191532</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.core</name>
-  <version>1.0.1.v200708241921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.ui</name>
-  <version>1.0.1.v200708241921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.ui</name>
-  <version>1.0.1.v200708282350</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption</name>
-  <version>1.0.203.v200705311743</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui</name>
-  <version>1.0.205.v200708202218</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-  <version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-  <version>1.0.100.v200706030600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ui</name>
-  <version>1.0.205.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.infopop</name>
-  <version>1.0.203.v200709190403</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests</name>
-  <version>1.0.201.v200707111738</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests.performance</name>
-  <version>1.0.201.v200708131547</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.uddiregistry</name>
-  <version>1.0.200.v200705311743</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.ui</name>
-  <version>1.0.202.v200708202218</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.core.refactoring</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.ui.refactoring</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi</name>
-  <version>3.3.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.services</name>
-  <version>3.1.200.v20070605</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.util</name>
-  <version>3.1.200.v20070605</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.3.1.R33x_r20070920</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.build</name>
-  <version>3.3.1.v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.core</name>
-  <version>3.3.1.v20070912-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.doc.user</name>
-  <version>3.3.0.v20070614-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.junit.runtime</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.runtime</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui</name>
-  <version>3.3.1.v20070912-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui.templates</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.3.1.M20070725</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.isv</name>
-  <version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.user</name>
-  <version>3.3.0.M20070913-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.2.0.v20070612</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.3.1.r331_v20070904</version>
-</entry>
-<entry>
-  <name>org.eclipse.search</name>
-  <version>3.3.1.r331_v20070831-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt</name>
-  <version>3.3.1.v3346j</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt.gtk.linux.ppc</name>
-  <version>3.3.1.v3346i</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.core</name>
-  <version>3.3.1.r33x_20070807</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.core</name>
-  <version>3.3.1.r33x_20070724</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh</name>
-  <version>3.2.100.I20061208</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh2</name>
-  <version>3.2.100.I20070604</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ui</name>
-  <version>3.3.1.r33x_20070807</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.ui</name>
-  <version>3.3.1.r33x_20070730</version>
-</entry>
-<entry>
-  <name>org.eclipse.test</name>
-  <version>3.2.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance</name>
-  <version>3.3.0.v20070515</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance.win32</name>
-  <version>3.1.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.source</name>
-  <version>3.3.0.v20070411</version>
-</entry>
-<entry>
-  <name>org.eclipse.text</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.tomcat</name>
-  <version>4.1.230.v20070531</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui</name>
-  <version>3.3.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.browser</name>
-  <version>3.2.100.v20070524A</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.cheatsheets</name>
-  <version>3.3.0.v20070507</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.console</name>
-  <version>3.2.1.v20070824_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.editors</name>
-  <version>3.3.1.r331_v20070629</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.externaltools</name>
-  <version>3.1.200.v20070416</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.forms</name>
-  <version>3.3.0.v20070511</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide</name>
-  <version>3.3.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide.application</name>
-  <version>1.0.0.I20070530-0100</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro</name>
-  <version>3.2.101.v20070827_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro.universal</name>
-  <version>3.2.100.v20070530A</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator</name>
-  <version>3.3.1.M20070831-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator.resources</name>
-  <version>3.3.1.M20070831-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.net</name>
-  <version>1.0.0.I20070516</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.presentations.r21</name>
-  <version>3.2.100.I20070605-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views</name>
-  <version>3.2.101.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views.properties.tabbed</name>
-  <version>3.3.1.M20070831-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench</name>
-  <version>3.3.1.M20070921-1200</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.compatibility</name>
-  <version>3.2.0.I20070319-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.texteditor</name>
-  <version>3.3.1.r331_v20070806</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.configurator</name>
-  <version>3.2.101.R33x_v20070810</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core</name>
-  <version>3.2.101.R33x_v20070911</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core.linux</name>
-  <version>3.2.0.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.scheduler</name>
-  <version>3.2.100.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.ui</name>
-  <version>3.2.100.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env</name>
-  <version>1.0.204.v200708202226</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.core</name>
-  <version>1.0.203.v200707302047</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.doc.user</name>
-  <version>1.5.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.ui</name>
-  <version>1.0.203.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.core</name>
-  <version>1.1.101.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emf</name>
-  <version>1.1.104.v200709131115</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emfworkbench.integration</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.environment</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks</name>
-  <version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks.ui</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.modulecore</name>
-  <version>1.1.103.v200709192345</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core</name>
-  <version>1.2.1.v200708281831</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core.tests</name>
-  <version>1.2.1.v200707311701</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui</name>
-  <version>1.2.1.v200708232226</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui.tests</name>
-  <version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.collector</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.performance</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.ui</name>
-  <version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.ui</name>
-  <version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.ui.properties</name>
-  <version>1.0.102.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.uriresolver</name>
-  <version>1.1.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>2.0.1.v200709110622-7C78EKGE_EkMNfNleyerlz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-  <version>2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.tests.encoding</name>
-  <version>1.0.200.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.isv</name>
-  <version>1.0.305.v200708291250</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.user</name>
-  <version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.core</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtdeditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core</name>
-  <version>1.1.102.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core.tests</name>
-  <version>1.0.101.v200709190340</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui</name>
-  <version>1.0.202.v200708292012</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.core</name>
-  <version>1.0.203.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui</name>
-  <version>1.0.204.v20070716b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.core</name>
-  <version>1.0.101.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui</name>
-  <version>1.0.102.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core</name>
-  <version>1.0.205.v20070829b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core.tests</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.ui</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview.adapter</name>
-  <version>1.0.1.v20070814b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.tests.performance</name>
-  <version>1.0.200.v20070611</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui</name>
-  <version>1.0.205.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.doc.user</name>
-  <version>1.0.303.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.infopop</name>
-  <version>1.0.5.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>2.0.1.v200709110637-2-CM8s733G3G5Jc</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110637-77-CU9vCXCjvdHL7ATINi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core</name>
-  <version>1.1.202.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui</name>
-  <version>1.0.303.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.infopop</name>
-  <version>1.0.102.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests.performance</name>
-  <version>1.0.100.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.standard.schemas</name>
-  <version>1.0.1.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.ui</name>
-  <version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui</name>
-  <version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>2.0.1.v200709111200-42CK_kE77Y7ZBNCQGG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>2.0.1.v200709111200-7A0EAiCiWfGJsJZlAhE3TMaQW</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.webtools.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws</name>
-  <version>1.0.203.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.explorer</name>
-  <version>1.0.205.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.parser</name>
-  <version>1.0.201.v200706061845</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.tests</name>
-  <version>1.0.201.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.ui</name>
-  <version>1.0.203.v200708222126</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>2.0.1.v200709051445-7E7KEB0EC3wSU4Tuh9iKz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>2.0.1.v200709051445-791ECFAufYO8Az-ajoKBCFe8tVjL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl</name>
-  <version>1.1.100.v200707201214</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests</name>
-  <version>1.0.3.v200707201214</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.performance</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.ui</name>
-  <version>1.0.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui</name>
-  <version>1.2.1.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation</name>
-  <version>1.1.201.v200706062140</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation.tests</name>
-  <version>1.0.203</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi</name>
-  <version>1.0.105.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui</name>
-  <version>1.0.300.v200706062140</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui.doc.user</name>
-  <version>1.0.203.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core</name>
-  <version>1.1.201.v200709201331</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core.tests</name>
-  <version>1.0.100.v200706120811</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui</name>
-  <version>1.0.301.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.validation.tests</name>
-  <version>1.0.302.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>2.0.1.v200709110650-787BE_1CYQCCz-CvRQLQSV</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xmleditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.core</name>
-  <version>1.1.201.v200707172046</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.tests.performance</name>
-  <version>1.0.201.v200709131251</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.ui</name>
-  <version>1.2.1.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.validation.tests</name>
-  <version>1.0.301.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsdeditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools</name>
-  <version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.core</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.ui</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.wtpbuilder</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.cheatsheets</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.exporter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.importer</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.junit</name>
-  <version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-  <name>org.junit.source</name>
-  <version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-  <name>org.junit4</name>
-  <version>4.3.1</version>
-</entry>
-<entry>
-  <name>org.mortbay.jetty</name>
-  <version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-  <name>org.mortbay.jetty.source</name>
-  <version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-  <name>org.uddi4j</name>
-  <version>2.0.5.v200706111329</version>
-</entry>
-</bundleData>
-</referenceData>
-
-    <referenceData id="WTP-2.0">
-        <featureData>
-            <!-- Number of features: 154 -->
-
-            <entry>
-                <name>org.eclipse.cvs</name>
-                <version>1.0.0.v20070606-7C79_79EI99g_Y9e</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.cvs.source</name>
-                <version>1.0.0.v20070606-7C79_79EI99g_Y9e</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.feature</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.designer.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.doc.user</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.apache.derby.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.feature</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.hsqldb.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.jdbc.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.jdt.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.msft.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.mysql.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.oda.designer.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.oda.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.oracle.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.postgresql.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.sybase.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.intro</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.modelbase.feature</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sdk.feature</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqldevtools.data.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqldevtools.ddl.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqldevtools.feature</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqldevtools.parsers.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqldevtools.results.feature
-                </name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.converter</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.sdk</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.sdk</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.3.0.v20070620</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.sdk</name>
-                <version>3.3.0.v20070620</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.3.0.v20070620</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>
-                    3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>
-                    3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.feature</name>
-                <version>
-                    1.0.0.v200706250000-77--CYQCCz-CoRPCCCH
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.feature.source</name>
-                <version>
-                    1.0.0.v200706250000-77--CYQCCz-CoRPCCCH
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.sdk</name>
-                <version>
-                    1.0.0.v200706040001-2--8-42ADE_8PecKP13GsUaNFFYa
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.tests</name>
-                <version>1.0.0.v200706040001-1--3</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.tests.feature</name>
-                <version>1.0.0.v200706040001-2</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt_sdk.feature</name>
-                <version>
-                    1.0.0.v200706040001-2--84B22MbZHL02FrTZMEEXZRDDz
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>
-                    2.0.0.v200706110805-7B-18dDQISlz0z0cc-oasolrW8jP
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature</name>
-                <version>2.0.0.v200706041905-1007w311817231426</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>2.0.0.v200706041905-1007w311817231426</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--7z53A46_4E5I5A38598x42292
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv.feature</name>
-                <version>
-                    2.0.0.v200706041905-1-Ah7w311816413336
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_core.feature</name>
-                <version>
-                    2.0.0.v200706041905-42Am_kE77Y7U9NAPH8
-                </version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_core.feature.source
-                </name>
-                <version>
-                    2.0.0.v200706041905-42Am_kE77Y7U9NAPH8
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84g_COudJX9FaJODeRmVGe4FX
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-63CE8s733G3D844C9B
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_ui.feature</name>
-                <version>
-                    2.0.0.v200706200200-7b7_ErUEU6AXGM40HZCO6nkOjnZQ
-                </version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_ui.feature.source
-                </name>
-                <version>
-                    2.0.0.v200706200200-7b7_ErUEU6AXGM40HZCO6nkOjnZQ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-                <version>
-                    2.0.0.v200706041905-5-ELQAgI99h9ZJAGSOP
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.sdk</name>
-                <version>
-                    2.0.0.v200706182155-7F-19TGyLUvmmsTUGNsmx6ckArUQ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.feature</name>
-                <version>
-                    2.0.0.v200706041905-787KE8RDUUEF6ExNsAAAJ
-                </version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server_adapters.feature.source
-                </name>
-                <version>
-                    2.0.0.v200706041905-787KE8RDUUEF6ExNsAAAJ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84C_NOAaGbYQIDH5Z0YSLoEVV
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature</name>
-                <version>
-                    2.0.0.v200706041905-56CL9rC7EK_PAQ7G_92537
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-56CL9rC7EK_PAQ7G_92537
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84B2DyC5MeCwxmPZpRyThBjqT
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-6-EFCAgI99h9XN9IIIX
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature</name>
-                <version>
-                    2.0.0.v200706041905-77-Ao9yJX9kueNPfPjeUCMFH3648
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-77-Ao9yJX9kueNPfPjeUCMFH3648
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_userdoc.feature</name>
-                <version>
-                    2.0.0.v200706041905-1-Ag7w311816413336
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.tests</name>
-                <version>
-                    2.0.0.v200706111751-77-07SNbyWA8hQUz--InycLbz0fZ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature</name>
-                <version>
-                    2.0.0.v200706080101-7Q7ACQEHhHegvgW6ZtkAS
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>
-                    2.0.0.v200706080101-7Q7ACQEHhHegvgW6ZtkAS
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_sdk.feature</name>
-                <version>
-                    2.0.0.v200706080001-5--90K6EUI-z0idAoBmLn8_EqTSX
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_tests.feature</name>
-                <version>
-                    2.0.0.v200706080001-7F4E_-ED-z0UWCVvn2PeYk
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature</name>
-                <version>
-                    2.0.0.v200706080001-7B1_BCkuMa8l8kBY3z0ZhX7aulBT
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706080001-7B1_BCkuMa8l8kBY3z0ZhX7aulBT
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_userdoc.feature</name>
-                <version>2.0.0.v200706071147-1--7w3118172_</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.webpageeditor.feature</name>
-                <version>1.0.0.v200706110802-3--9oA55P5M98</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.webpageeditor.feature.source
-                </name>
-                <version>1.0.0.v200706110802-3--9oA55P5M98</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-                <version>1.0.0.qualifer</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>
-                    3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>
-                    3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>
-                    3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>
-                    2.0.0.v200706041905-7C-18k0IWJZ93WDDJlQ60nUjTdJp
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature</name>
-                <version>
-                    2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84H8HR0NBYz-fYvkd633z04ls
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-7848Z_kE77Y7TCAAPJI
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature</name>
-                <version>
-                    2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv.feature</name>
-                <version>
-                    2.0.0.v200706041905-1-Ak7w311817223126
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sdk</name>
-                <version>
-                    2.0.0.v200706041905-7E-18aNKbx2jys2HTkz0_f_9fLWx
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_adapters.feature</name>
-                <version>2.0.0.v200706041905-4--_kE77Y7QI7EEEQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature</name>
-                <version>
-                    2.0.0.v200706041905-2-CL8s733G3E4B2862
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-2-CL8s733G3E4B2862
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84B2FaC2FeFvyhIdfChlS4TmP
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-5-EAUAgI99h9YL_EEEQ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature</name>
-                <version>
-                    2.0.0.v200706041905-77-CQ9vCXBjvZGTVARHF8DBA
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-77-CQ9vCXBjvZGTVARHF8DBA
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_userdoc.feature</name>
-                <version>
-                    2.0.0.v200706041905-1-Aj7w311816413336
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-7_--7eXdFtp_NFj1B43Mu-9Ld3
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature</name>
-                <version>
-                    2.0.0.v200706041905-42CI_kE77Y7TAMAVHH
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-42CI_kE77Y7TAMAVHH
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84F3HKhLldjQMz0EmpE-Lpj5D
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-78-EC3DUUEF6EtZLTbXs
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature</name>
-                <version>
-                    2.0.0.v200706041905-7A0EAeCiWfEJsCcbAj88SKfRX
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-7A0EAeCiWfEJsCcbAj88SKfRX
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_userdoc.feature</name>
-                <version>
-                    2.0.0.v200706041905-20Ag8s733G3C93777C
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature</name>
-                <version>
-                    2.0.0.v200706210215-7E7KE_QEC3wSU4TpiAiQ0r
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>
-                    2.0.0.v200706210215-7E7KE_QEC3wSU4TpiAiQ0r
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84D4HMEJxmcaAHGkz0qoUIUZm
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-6-CL9oA55P5L__6I9H
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature</name>
-                <version>
-                    2.0.0.v200706041905-791ECBAufYO8_EaomWE4Fe3uXjR1
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-791ECBAufYO8_EaomWE4Fe3uXjR1
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_userdoc.feature</name>
-                <version>
-                    2.0.0.v200706041905-34Ds9oA55P5L_97C9J
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature</name>
-                <version>
-                    2.0.0.v200706041905-787BE9zCYQCCz-CnUGLYQV
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-787BE9zCYQCCz-CnUGLYQV
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_sdk.feature</name>
-                <version>
-                    2.0.0.v200706041905-4--84F4HMELrmhp48dk6DBY3R_0j
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_tests.feature</name>
-                <version>
-                    2.0.0.v200706041905-7A-ELUE9IgKLWLEhbb-k2
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature</name>
-                <version>
-                    2.0.0.v200706182145-7A1ECBCnbckz0bZu9wHqAKN3mYpZ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706182145-7A1ECBCnbckz0bZu9wHqAKN3mYpZ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_userdoc.feature</name>
-                <version>
-                    2.0.0.v200706041905-4-EGk_kE77Y7QI7EEEQ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests.feature</name>
-                <version>1.0.1.v200706110805-3--7w311817222862</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.converter</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.mapping</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.mapping.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.sdk</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-        </featureData>
-        <bundleData>
-            <!-- Number of bundles: 572 -->
-
-            <entry>
-                <name>com.ibm.icu</name>
-                <version>3.6.1.v20070417</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu.source</name>
-                <version>3.6.1.v20070417</version>
-            </entry>
-            <entry>
-                <name>com.jcraft.jsch</name>
-                <version>0.1.31</version>
-            </entry>
-            <entry>
-                <name>javax.servlet</name>
-                <version>2.4.0.v200706111738</version>
-            </entry>
-            <entry>
-                <name>javax.servlet.jsp</name>
-                <version>2.0.0.v200706191603</version>
-            </entry>
-            <entry>
-                <name>javax.servlet.jsp.source</name>
-                <version>2.0.0.v200706191603</version>
-            </entry>
-            <entry>
-                <name>javax.servlet.source</name>
-                <version>2.4.0.v200706111738</version>
-            </entry>
-            <entry>
-                <name>javax.wsdl</name>
-                <version>1.4.0.v200706111329</version>
-            </entry>
-            <entry>
-                <name>javax.wsdl15</name>
-                <version>1.5.1.v200705290614</version>
-            </entry>
-            <entry>
-                <name>javax.xml.rpc</name>
-                <version>1.1.0.v200706111329</version>
-            </entry>
-            <entry>
-                <name>javax.xml.soap</name>
-                <version>1.2.0.v200706111329</version>
-            </entry>
-            <entry>
-                <name>org.apache.ant</name>
-                <version>1.7.0.v200706080842</version>
-            </entry>
-            <entry>
-                <name>org.apache.ant.source</name>
-                <version>1.7.0.v200706080842</version>
-            </entry>
-            <entry>
-                <name>org.apache.axis</name>
-                <version>1.4.0.v200706191647</version>
-            </entry>
-            <entry>
-                <name>org.apache.cactus</name>
-                <version>1.7.2.v200606181221</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons.discovery</name>
-                <version>0.2.0.v200706111329</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons.el</name>
-                <version>1.0.0.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons.el.source</name>
-                <version>1.0.0.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons.logging</name>
-                <version>1.0.4.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons.logging.source</name>
-                <version>1.0.4.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.jasper</name>
-                <version>5.5.17.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.jasper.source</name>
-                <version>5.5.17.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.log4j</name>
-                <version>1.2.13.v200706111418</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene</name>
-                <version>1.9.1.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene.analysis</name>
-                <version>1.9.1.v200706181610</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene.analysis.source</name>
-                <version>1.9.1.v200706181610</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene.source</name>
-                <version>1.9.1.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j</name>
-                <version>1.0.0.v200706111329</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces</name>
-                <version>2.8.0.v200705301630</version>
-            </entry>
-            <entry>
-                <name>org.apache.xml.resolver</name>
-                <version>1.1.0.v200705310020</version>
-            </entry>
-            <entry>
-                <name>org.dbunit</name>
-                <version>2.2.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.core</name>
-                <version>3.1.200.v20070522</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.optional.junit</name>
-                <version>3.2.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.ui</name>
-                <version>3.2.100.v20070511</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.compare</name>
-                <version>3.3.0.I20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.boot</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.commands</name>
-                <version>3.3.0.I20070605-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.contenttype</name>
-                <version>3.2.100.v20070319</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.databinding</name>
-                <version>1.0.0.I20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.databinding.beans</name>
-                <version>1.0.0.I20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.expressions</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filebuffers</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filesystem</name>
-                <version>1.1.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filesystem.linux.ppc</name>
-                <version>1.0.100.v20070430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.jobs</name>
-                <version>3.3.0.v20070423</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.net</name>
-                <version>1.0.0.I20070531</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources</name>
-                <version>3.3.0.v20070604</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources.compatibility</name>
-                <version>3.2.100.v20070502</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime</name>
-                <version>3.3.100.v20070530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility</name>
-                <version>3.1.200.v20070502</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility.auth</name>
-                <version>3.2.100.v20070502</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.core.runtime.compatibility.registry
-                </name>
-                <version>3.2.100.v20070316</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.variables</name>
-                <version>3.2.0.v20070426</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.cvs</name>
-                <version>1.0.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.cvs.source</name>
-                <version>1.0.0.v20070606-7C79_79EI99g_Y9e</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.db.derby</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.db.generic
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.db.generic.ui
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.dbdefinition.derby
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.dbdefinition.genericJDBC
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.derby</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.derby.ui</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.oda</name>
-                <version>3.1.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.consumer
-                </name>
-                <version>3.1.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.design
-                </name>
-                <version>3.0.4.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.design.ui
-                </name>
-                <version>3.0.4.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.flatfile
-                </name>
-                <version>3.0.4.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.flatfile.ui
-                </name>
-                <version>3.0.4.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.profile
-                </name>
-                <version>3.0.4.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.oda.template.ui
-                </name>
-                <version>3.0.4.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.sqm.core</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.sqm.core.ui
-                </name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.sqm.fe.ui
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.sqm.fe.ui.actions
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.connectivity.sqm.server.ui
-                </name>
-                <version>1.0.0.200706121</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.ui</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.connectivity.ui.dse</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.doc.isv</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.doc.user</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.finfo</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.hsqldb</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.db2.iseries.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.db2.luw.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.db2.zseries.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.informix.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.ibm.informix.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.jdt.classpath
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.jdt.dbunit</name>
-                <version>1.0.0.200706072</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.msft.sqlserver.profile
-                </name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.mysql</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.mysql.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.mysql.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.oda.ws</name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.oda.xml</name>
-                <version>1.0.1.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-                <version>1.0.1.200706191</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.oracle.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.oracle.profile
-                </name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.postgresql.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.postgresql.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.sybase</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.enablement.sybase.asa</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.sybase.asa.models
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.sybase.ase.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.enablement.sybase.ase.profile
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.help</name>
-                <version>1.5.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.intro</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.lpg</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.modelbase.dbdefinition
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.modelbase.derby</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.modelbase.sql</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.modelbase.sql.edit</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.modelbase.sql.query</name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.modelbase.sql.xml.query
-                </name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.oda.cshelp</name>
-                <version>1.0.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.source</name>
-                <version>1.5.0.200706191</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.common.ui</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.data.core</name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.data.ui</name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.db.derby</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.db.generic</name>
-                <version>1.0.0.200706131</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqltools.debugger.core
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.editor.core</name>
-                <version>1.0.0.200706131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-                <version>1.0.0.200706161</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqltools.parsers.sql.lexer
-                </name>
-                <version>1.0.0.200706161</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqltools.parsers.sql.query
-                </name>
-                <version>1.0.0.200706162</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqltools.parsers.sql.xml.query
-                </name>
-                <version>1.0.0.200706151</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.plan</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.result</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqltools.routineeditor
-                </name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.sql</name>
-                <version>1.0.0.200706111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.sqleditor</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-                <version>1.0.0.200706181</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.datatools.sqltools.tabledataeditor
-                </name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.datatools.sqltools.tablewizard</name>
-                <version>1.0.0.200706071</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.core</name>
-                <version>3.3.0.v20070607-1800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.ui</name>
-                <version>3.3.0.v20070607-1800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d</name>
-                <version>3.2.100.v20070529</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d.doc.isv</name>
-                <version>3.2.100.v20070529</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ant</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.cheatsheets</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.commonj.sdo</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.converter</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.xmi</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.exporter</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.java</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.rose</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ui</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.app</name>
-                <version>1.0.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.common</name>
-                <version>3.3.0.v20070426</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.http.jetty</name>
-                <version>1.0.0.v20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.http.registry</name>
-                <version>1.0.0.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.http.servlet</name>
-                <version>1.0.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.jsp.jasper</name>
-                <version>1.0.0.v20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.jsp.jasper.registry</name>
-                <version>1.0.0.v20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.launcher</name>
-                <version>1.0.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-                <version>1.0.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.preferences</name>
-                <version>3.2.100.v20070522</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.registry</name>
-                <version>3.3.0.v20070522</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.100.v20070620</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.doc.isv</name>
-                <version>3.2.100.v20070529</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.examples.ui.pde</name>
-                <version>3.3.0.v20070529</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.3.0.v20070620</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help</name>
-                <version>3.3.0.v20070524</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.appserver</name>
-                <version>3.1.200.v20070510</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.base</name>
-                <version>3.3.0.v20070606</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.ui</name>
-                <version>3.3.0.v20070530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.webapp</name>
-                <version>3.3.0.v20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.3.0.v20070607-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.core</name>
-                <version>3.3.0.v20070607-1200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.pluggable.core</name>
-                <version>1.0.0.v20070529-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.ui</name>
-                <version>3.3.0.v20070430-1135</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.compiler.apt</name>
-                <version>1.0.0.v20070510-2000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.compiler.tool</name>
-                <version>1.0.0.v_771</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core</name>
-                <version>3.3.0.v_771</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core.manipulation</name>
-                <version>1.1.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug</name>
-                <version>3.3.0.v20070530a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug.ui</name>
-                <version>3.2.100.v20070531-1800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.isv</name>
-                <version>3.3.0.v20070613</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.user</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit.runtime</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit4.runtime</name>
-                <version>1.0.100.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.launching</name>
-                <version>3.3.0.v20070510</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>
-                    3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.ui</name>
-                <version>3.3.0.v20070607-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>2.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.beaninfo</name>
-                <version>2.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.proxy</name>
-                <version>2.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.3.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.ui</name>
-                <version>2.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.util</name>
-                <version>2.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.workbench</name>
-                <version>2.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface</name>
-                <version>3.3.0.I20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.databinding</name>
-                <version>1.1.0.I20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.text</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt</name>
-                <version>1.0.0.v200705300001</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.core</name>
-                <version>1.0.0.v200706180000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.core.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.db</name>
-                <version>1.0.0.v200706130000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.db.ui</name>
-                <version>1.0.0.v200705300001</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.doc.user</name>
-                <version>1.0.0.v200705300001</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.feature.source</name>
-                <version>
-                    1.0.0.v200706250000-77--CYQCCz-CoRPCCCH
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.gen</name>
-                <version>1.0.0.v200705300001</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.ui</name>
-                <version>1.0.0.v200706120001</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.utility</name>
-                <version>1.0.0.v200705300001</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jpt.utility.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jsch.core</name>
-                <version>1.0.0.I20070426</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jsch.ui</name>
-                <version>1.0.0.I20070525</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.0.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.common.annotations.controller
-                </name>
-                <version>1.1.1.v200706030115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.core</name>
-                <version>1.1.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.ui</name>
-                <version>1.1.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.frameworks</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.project.facet.core</name>
-                <version>1.1.1.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>2.0.0.v200706041905-1007w311817231426</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv</name>
-                <version>1.0.301.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.ui</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_core.feature.source
-                </name>
-                <version>
-                    2.0.0.v200706041905-42Am_kE77Y7U9NAPH8
-                </version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_ui.feature.source
-                </name>
-                <version>
-                    2.0.0.v200706200200-7b7_ErUEU6AXGM40HZCO6nkOjnZQ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee</name>
-                <version>1.1.103.v200706121630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core</name>
-                <version>1.1.102.v200706111630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb</name>
-                <version>1.1.103.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-                <version>1.1.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.j2ee.ejb.annotations.emitter
-                </name>
-                <version>1.1.1.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-                <version>1.1.2.v200706191638</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-                </name>
-                <version>1.1.1.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.infopop</name>
-                <version>1.0.203.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca</name>
-                <version>1.1.103.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca.ui</name>
-                <version>1.1.100.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.navigator.ui</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests</name>
-                <version>1.1.100.v200706181357</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ui</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.web</name>
-                <version>1.1.103.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice</name>
-                <version>1.1.100.v200706121000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice.ui</name>
-                <version>1.1.101.v200706121000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-                <version>1.1.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jee</name>
-                <version>1.0.0.v200706121000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jee.ejb</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jee.ui</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jee.web</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.common</name>
-                <version>1.0.0.v20070619</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.common.ui</name>
-                <version>1.0.0.v20070601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist.tests</name>
-                <version>1.0.0.v20070604</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.symbol.tests</name>
-                <version>1.0.0.v20070611</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core</name>
-                <version>1.0.0.v20070619</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core.tests</name>
-                <version>1.0.0.v20070611</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.designtime.tests</name>
-                <version>1.0.0.v20070611</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.dev</name>
-                <version>1.0.0.v20070619</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.user</name>
-                <version>1.0.0.v20070619</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig</name>
-                <version>1.0.0.v200705302227</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-                <version>1.0.0.v20070611</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadata.tests</name>
-                <version>1.0.0.v20070612</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.metadataprocessingtests2
-                </name>
-                <version>1.0.0.v20070601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.standard.tagsupport</name>
-                <version>1.0.0.v20070612</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.test.util</name>
-                <version>1.0.0.v20070601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui</name>
-                <version>1.0.0.v20070613</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui.tests</name>
-                <version>1.0.0.v20070601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core</name>
-                <version>1.2.0.v200706120811</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.tests.encoding</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui</name>
-                <version>1.1.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.infopop</name>
-                <version>1.0.3.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.pagedesigner</name>
-                <version>1.0.0.v20070621</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-                <version>1.0.0.v20070601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.pagedesigner.jsp.core</name>
-                <version>1.0.0.v20070621</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core</name>
-                <version>1.0.204.v20070612</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core.tests</name>
-                <version>1.0.202.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.core</name>
-                <version>1.0.201.v200706120310</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jboss</name>
-                <version>1.5.102.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jonas</name>
-                <version>1.5.100.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.oc4j</name>
-                <version>1.5.100.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.ui</name>
-                <version>1.0.102.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.installable</name>
-                <version>1.5.102.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.preview.adapter</name>
-                <version>1.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core</name>
-                <version>1.1.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core.tests</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server.tomcat.tests.performance
-                </name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui</name>
-                <version>1.1.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui</name>
-                <version>1.0.203.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.infopop</name>
-                <version>1.0.3.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.tests</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.websphere.core</name>
-                <version>1.0.201.v20070608</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server_adapters.feature.source
-                </name>
-                <version>
-                    2.0.0.v200706041905-787KE8RDUUEF6ExNsAAAJ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-56CL9rC7EK_PAQ7G_92537
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-77-Ao9yJX9kueNPfPjeUCMFH3648
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.tests</name>
-                <version>1.1.100.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui</name>
-                <version>1.1.101.v200706201330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui.infopop</name>
-                <version>1.0.202.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.standard.schemas</name>
-                <version>1.0.0.v200706221355</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.sample</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.test</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>
-                    2.0.0.v200706080101-7Q7ACQEHhHegvgW6ZtkAS
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706080001-7B1_BCkuMa8l8kBY3z0ZhX7aulBT
-                </version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.webpageeditor.feature.source
-                </name>
-                <version>1.0.0.v200706110802-3--9oA55P5M98</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws</name>
-                <version>1.0.203.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.core</name>
-                <version>1.0.203.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-                <version>1.0.202.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.creation.ui</name>
-                <version>1.0.204.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.infopop</name>
-                <version>1.0.202.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-                <version>1.0.300.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis2.consumption.core</name>
-                <version>1.0.0.v200706130319</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis2.core</name>
-                <version>1.0.0.v200706130319</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis2.creation.core</name>
-                <version>1.0.0.v200706141828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis2.creation.ui</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis2.ui</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption</name>
-                <version>1.0.203.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.infopop</name>
-                <version>1.0.203.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui</name>
-                <version>1.0.204.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-                <version>1.0.300.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-                <version>1.0.100.v200706030600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ui</name>
-                <version>1.0.204.v200706030115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.infopop</name>
-                <version>1.0.202.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests</name>
-                <version>1.0.200.v200705311834</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests.performance</name>
-                <version>1.0.200.v200706200235</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.uddiregistry</name>
-                <version>1.0.200.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.ui</name>
-                <version>1.0.201.v200705311743</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.core.refactoring</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.ui.refactoring</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi</name>
-                <version>3.3.0.v20070530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.services</name>
-                <version>3.1.200.v20070605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.util</name>
-                <version>3.1.200.v20070605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.build</name>
-                <version>3.3.0.v20070612</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.core</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.doc.user</name>
-                <version>3.3.0.v20070614-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.junit.runtime</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.runtime</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.ui</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.ui.templates</name>
-                <version>3.3.0.v20070608-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.3.0.v20070613</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.isv</name>
-                <version>3.3.0.v20070621</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.user</name>
-                <version>3.3.0.I20070615-1300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-                <version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.0.v20070612</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>
-                    3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-                <version>
-                    3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.3.0.v20070613</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.search</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt</name>
-                <version>3.3.0.v3345g</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt.gtk.linux.ppc</name>
-                <version>3.3.0.v3345f</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.core</name>
-                <version>3.3.0.I20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.core</name>
-                <version>3.3.0.I20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh</name>
-                <version>3.2.100.I20061208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh2</name>
-                <version>3.2.100.I20070604</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ui</name>
-                <version>3.3.0.I20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.ui</name>
-                <version>3.3.0.I20070607</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test</name>
-                <version>3.2.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance</name>
-                <version>3.3.0.v20070515</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance.win32</name>
-                <version>3.1.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.source</name>
-                <version>3.3.0.v20070411</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.text</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.tomcat</name>
-                <version>4.1.230.v20070531</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui</name>
-                <version>3.3.0.I20070614-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.browser</name>
-                <version>3.2.100.v20070524A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.cheatsheets</name>
-                <version>3.3.0.v20070507</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.console</name>
-                <version>3.2.0.v20070530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.editors</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.externaltools</name>
-                <version>3.1.200.v20070416</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.forms</name>
-                <version>3.3.0.v20070511</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.ide</name>
-                <version>3.3.0.I20070620</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.ide.application</name>
-                <version>1.0.0.I20070530-0100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro</name>
-                <version>3.2.100.v20070530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro.universal</name>
-                <version>3.2.100.v20070530A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator</name>
-                <version>3.3.0.I20070605-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator.resources</name>
-                <version>3.3.0.I20070605-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.net</name>
-                <version>1.0.0.I20070516</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.presentations.r21</name>
-                <version>3.2.100.I20070605-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views</name>
-                <version>3.2.100.I20070319-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views.properties.tabbed</name>
-                <version>3.3.0.I20070605-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench</name>
-                <version>3.3.0.I20070608-1100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.compatibility</name>
-                <version>3.2.0.I20070319-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.texteditor</name>
-                <version>3.3.0.v20070606-0010</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.configurator</name>
-                <version>3.2.100.v20070615</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core</name>
-                <version>3.2.100.v20070615</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core.linux</name>
-                <version>3.2.0.v20070615</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.scheduler</name>
-                <version>3.2.100.v20070615</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.ui</name>
-                <version>3.2.100.v20070615</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.0.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env</name>
-                <version>1.0.203.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.core</name>
-                <version>1.0.202.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.doc.user</name>
-                <version>1.5.1.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.infopop</name>
-                <version>1.0.3.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.ui</name>
-                <version>1.0.202.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.core</name>
-                <version>1.1.101.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.emf</name>
-                <version>1.1.103.v200706071630</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.emfworkbench.integration
-                </name>
-                <version>1.1.103.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.environment</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks</name>
-                <version>1.1.102.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks.ui</name>
-                <version>1.1.100.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.infopop</name>
-                <version>1.0.2.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.modulecore</name>
-                <version>1.1.102.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.core</name>
-                <version>1.2.0.v200706071740</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.project.facet.core.tests
-                </name>
-                <version>1.2.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.ui</name>
-                <version>1.2.0.v200706071742</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.project.facet.ui.tests
-                </name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets</name>
-                <version>1.1.101.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.collector</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.ui</name>
-                <version>1.1.1.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui</name>
-                <version>1.1.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui.properties</name>
-                <version>1.0.102.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.uriresolver</name>
-                <version>1.1.201.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core</name>
-                <version>1.1.101.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.tests.encoding</name>
-                <version>1.0.200.v200706071955</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui</name>
-                <version>1.0.201.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests.performance</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv</name>
-                <version>1.0.304.v200706112015</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.user</name>
-                <version>1.1.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.core</name>
-                <version>1.1.101.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui</name>
-                <version>1.0.201.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.infopop</name>
-                <version>1.0.2.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtdeditor.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core</name>
-                <version>1.1.101.v200706120811</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.tests.encoding</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui</name>
-                <version>1.0.201.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.infopop</name>
-                <version>1.0.2.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests.performance</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache</name>
-                <version>1.0.201.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.core</name>
-                <version>1.0.203.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui</name>
-                <version>1.0.203.v20070608</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.core</name>
-                <version>1.0.101.v200706071955</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui</name>
-                <version>1.0.101.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui.infopop</name>
-                <version>1.0.2.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core</name>
-                <version>1.0.204.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core.tests</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.http.core</name>
-                <version>1.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.http.core.tests</name>
-                <version>1.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.http.ui</name>
-                <version>1.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.preview</name>
-                <version>1.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.preview.adapter</name>
-                <version>1.0.0.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.tests.performance</name>
-                <version>1.0.200.v20070611</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui</name>
-                <version>1.0.204.v20070619</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.doc.user</name>
-                <version>1.0.303.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.infopop</name>
-                <version>1.0.5.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.tests</name>
-                <version>1.0.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-2-CL8s733G3E4B2862
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-77-CQ9vCXBjvZGTVARHF8DBA
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core</name>
-                <version>1.1.201.v200706212223</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui</name>
-                <version>1.0.302.v200706192034</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.infopop</name>
-                <version>1.0.102.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests.performance</name>
-                <version>1.0.100.v200706071955</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.standard.schemas</name>
-                <version>1.0.1.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.infopop</name>
-                <version>1.0.202.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.ui</name>
-                <version>1.1.102.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui</name>
-                <version>1.1.101.v200706071630</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui.infopop</name>
-                <version>1.0.202.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-42CI_kE77Y7TAMAVHH
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-7A0EAeCiWfEJsCcbAj88SKfRX
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.webtools.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws</name>
-                <version>1.0.202.v200705311823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.explorer</name>
-                <version>1.0.204.v200706061845</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.infopop</name>
-                <version>1.0.203.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.parser</name>
-                <version>1.0.201.v200706061845</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.tests</name>
-                <version>1.0.200.v200705311823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.ui</name>
-                <version>1.0.202.v200705311823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>
-                    2.0.0.v200706210215-7E7KE_QEC3wSU4TpiAiQ0r
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-791ECBAufYO8_EaomWE4Fe3uXjR1
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl</name>
-                <version>1.1.0.v200706062140</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests</name>
-                <version>1.0.2.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.performance</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.ui</name>
-                <version>1.0.1.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui</name>
-                <version>1.2.0.v200706062140</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation</name>
-                <version>1.1.201.v200706062140</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation.tests</name>
-                <version>1.0.203</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi</name>
-                <version>1.0.105.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui</name>
-                <version>1.0.300.v200706062140</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui.doc.user</name>
-                <version>1.0.203.v200706120315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core</name>
-                <version>1.1.200.v200706120811</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core.tests</name>
-                <version>1.0.100.v200706120811</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.tests.encoding</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.infopop</name>
-                <version>1.0.2.v200706110217</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests.performance</name>
-                <version>1.0.100.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.validation.tests</name>
-                <version>1.0.302.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>
-                    2.0.0.v200706041905-787BE9zCYQCCz-CnUGLYQV
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>
-                    2.0.0.v200706182145-7A1ECBCnbckz0bZu9wHqAKN3mYpZ
-                </version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xmleditor.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.core</name>
-                <version>1.1.200.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.tests.performance</name>
-                <version>1.0.101.v200706110300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.ui</name>
-                <version>1.2.0.v200706131840</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.validation.tests</name>
-                <version>1.0.301.v200706071955</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsdeditor.doc.user</name>
-                <version>1.0.300.v200705302225</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tools</name>
-                <version>1.0.0.v200706111751</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.cheatsheets</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.converter</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.exporter</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.importer</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.edit</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.mapping</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.mapping.editor</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.3.0.v200706200000</version>
-            </entry>
-            <entry>
-                <name>org.junit</name>
-                <version>3.8.2.v200706111738</version>
-            </entry>
-            <entry>
-                <name>org.junit.source</name>
-                <version>3.8.2.v200706111738</version>
-            </entry>
-            <entry>
-                <name>org.junit4</name>
-                <version>4.3.1</version>
-            </entry>
-            <entry>
-                <name>org.mortbay.jetty</name>
-                <version>5.1.11.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.mortbay.jetty.source</name>
-                <version>5.1.11.v200706111724</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j</name>
-                <version>2.0.5.v200706111329</version>
-            </entry>
-        </bundleData>
-    </referenceData>
-    <referenceData id="WTP1.5.5">
-        <featureData>
-            <!-- Number of features: 117 -->
-
-            <entry>
-                <name>org.apache.axis.feature</name>
-                <version>1.3.0.v200606071530--0842282_383A68</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons_logging.feature</name>
-                <version>1.0.4.v200606152055--0842282_233879</version>
-            </entry>
-            <entry>
-                <name>org.apache.jakarta_log4j.feature</name>
-                <version>1.2.8.v200605300321--0842282939426_</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j.feature</name>
-                <version>1.0.0.v200606071530--0842282_383A68</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces.feature</name>
-                <version>2.8.0.v200605151647--08422828353873</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.sdk</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.sdk</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.sdk</name>
-                <version>1.2.4.v200704140333-GIHlkYKbOQv_rA7</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.source</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.1.v200704181020--1G955I5C7K7595</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.5.5.v200708010505-kW-NuzKF-rhzo7p</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_sdk.feature</name>
-                <version>1.5.3.v200701251934-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv.feature</name>
-                <version>1.5.4.v200704150226--08422926384332</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_core.feature</name>
-                <version>1.5.5.v200707311635--2PD88S8V_KASA8</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_core.feature.source
-                </name>
-                <version>1.5.5.v200707311635--2PD88S8V_KASA8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_sdk.feature</name>
-                <version>1.5.5.v200707311635-842292953385702</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_tests.feature</name>
-                <version>1.5.3.v200701251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_ui.feature</name>
-                <version>1.5.5.v200707311635-pEBqMgr5s5Phpf6</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_ui.feature.source
-                </name>
-                <version>1.5.5.v200707311635-pEBqMgr5s5Phpf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-                <version>1.5.3.v200701251934--4hNDDhDwMTJbWt</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.feature</name>
-                <version>0.5.0.v20060829------1G955G5K9M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.feature</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.tests.feature</name>
-                <version>0.5.0.v20060829------1G955G5K9M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature</name>
-                <version>0.5.1.v20060829-fX45f_dlc_3ccM8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.sdk</name>
-                <version>1.5.5.v200708010505-dnUU6pHGgdx1fTE</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.feature</name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server_adapters.feature.source
-                </name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_sdk.feature</name>
-                <version>1.5.4.v200704150241-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_tests.feature</name>
-                <version>1.5.3.v200701251934------4hNDDhEjIZ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_userdoc.feature</name>
-                <version>1.5.3.v200701251934--0842282A44386A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.tests</name>
-                <version>1.5.5.v200708020120--6vVLTtuzmXno3W</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature</name>
-                <version>1.5.5.v200707311635--87cMNBNGQrRqXY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>1.5.5.v200707311635--87cMNBNGQrRqXY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_sdk.feature</name>
-                <version>1.5.5.v200707311635-842292_242342--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_tests.feature</name>
-                <version>1.5.5.v200708020120--4hNDDkFUGUGcTb</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature</name>
-                <version>1.5.5.v200708020120--2PD88Q8T9FAIAH</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>1.5.5.v200708020120--2PD88Q8T9FAIAH</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_userdoc.feature</name>
-                <version>1.5.3.v200701251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.2.2.r322_v20070104-dCGKm0Ln38lm-8s</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.5.5.v200708010400-X7zzDJPbqKHocRq</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature</name>
-                <version>1.5.5.v200708010505--AXrVWgWbmEdPjw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>1.5.5.v200708010505--AXrVWgWbmEdPjw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_sdk.feature</name>
-                <version>1.5.5.v200707311635-842292953385703</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_tests.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature</name>
-                <version>1.5.5.v200707311635-qKHiZIRPOkpEay9</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>1.5.5.v200707311635-qKHiZIRPOkpEay9</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_userdoc.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv.feature</name>
-                <version>1.5.4.v200704150123--08422926384332</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature</name>
-                <version>1.5.5.v200707310733--Cq0bd1d6h2psH4</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-                <version>1.5.5.v200707310733--Cq0bd1d6h2psH4</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature</name>
-                <version>1.5.5.v200707310733--3YIAAcAeAcDZIa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature.source</name>
-                <version>1.5.5.v200707310733--3YIAAcAeAcDZIa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_sdk.feature</name>
-                <version>1.5.5.v200707310733-PD88S8SGA8SGG-N</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_tests.feature</name>
-                <version>1.5.3.v200702061839--0842292428435A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature</name>
-                <version>1.5.5.v200707310733-FTMk5TyVyjcqsoh</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature.source</name>
-                <version>1.5.5.v200707310733-FTMk5TyVyjcqsoh</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_userdoc.feature</name>
-                <version>1.5.5.v200708010515--4hNDDhDrSIDSDf</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sdk</name>
-                <version>1.5.5.v200708010400-O75KtRAskgrrj_t</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature</name>
-                <version>1.5.5.v200707311635--1G955H5K5K2629</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>1.5.5.v200707311635--1G955H5K5K2629</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_sdk.feature</name>
-                <version>1.5.5.v200707311635-8422929533857-X</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_tests.feature</name>
-                <version>1.5.3.v200701251933------3YIAAYAgFQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature</name>
-                <version>1.5.5.v200707311635-PKiQdL4P86hHMCU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>1.5.5.v200707311635-PKiQdL4P86hHMCU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_userdoc.feature</name>
-                <version>1.5.3.v200701251933--0842282A44386A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.tests.feature</name>
-                <version>1.5.4.v200704200440--X12DMMzwm2jPVW</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature</name>
-                <version>1.5.5.v200708090518--4hNDDiEnJWDdRQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>1.5.5.v200708090518--4hNDDiEnJWDdRQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_sdk.feature</name>
-                <version>1.5.5.v200708090518-842292_2A273_0B</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_tests.feature</name>
-                <version>1.5.4.v200704150136--87cMN_RYPtSpec</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature</name>
-                <version>1.5.5.v200708090518-zjf2UqDvH24Ditw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>1.5.5.v200708090518-zjf2UqDvH24Ditw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_userdoc.feature</name>
-                <version>1.5.3.v200701251933--1G955G5L9_7IAE</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature</name>
-                <version>1.5.5.v200708010505--4hNDDlDbFXJYRa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>1.5.5.v200708010505--4hNDDlDbFXJYRa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_sdk.feature</name>
-                <version>1.5.5.v200708010505-842292_232727-v</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_tests.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature</name>
-                <version>1.5.5.v200708010505-hai7Hn8y95M5W3I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>1.5.5.v200708010505-hai7Hn8y95M5W3I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_userdoc.feature</name>
-                <version>1.5.3.v200701251933--2PD88P8XECCNKM</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature</name>
-                <version>1.5.5.v200708020450--3YIAAbAWGEFQHU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>1.5.5.v200708020450--3YIAAbAWGEFQHU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_sdk.feature</name>
-                <version>1.5.5.v200707311635-L2zO3Eg5URld5Cm</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_tests.feature</name>
-                <version>1.5.3.v200701251933--AXrVWZeaa1YD3a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature</name>
-                <version>1.5.5.v200707311635-zkiCfzO-IFUOjzR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>1.5.5.v200707311635-zkiCfzO-IFUOjzR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_userdoc.feature</name>
-                <version>1.5.3.v200701251933--3YIAAYAjJGDUPb</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests.feature</name>
-                <version>1.0.0.v200612102113</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j.feature</name>
-                <version>2.0.5.v200609140515--0842282_453764</version>
-            </entry>
-            <entry>
-                <name>org.wsdl4j.feature</name>
-                <version>1.4.0.v200606071500--0842292428384A</version>
-            </entry>
-        </featureData>
-        <bundleData>
-            <!-- Number of bundles: 464 -->
-
-            <entry>
-                <name>com.ibm.etools.emf.event</name>
-                <version>3.0.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu</name>
-                <version>3.4.5.20061213</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu.source</name>
-                <version>3.4.5.20061213</version>
-            </entry>
-            <entry>
-                <name>com.jcraft.jsch</name>
-                <version>0.1.28</version>
-            </entry>
-            <entry>
-                <name>org.apache.ant</name>
-                <version>1.6.5</version>
-            </entry>
-            <entry>
-                <name>org.apache.axis</name>
-                <version>1.3.0.v200608161946</version>
-            </entry>
-            <entry>
-                <name>org.apache.cactus</name>
-                <version>1.7.2.v200606181221</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons_logging</name>
-                <version>1.0.4.v200608011657</version>
-            </entry>
-            <entry>
-                <name>org.apache.jakarta_log4j</name>
-                <version>1.2.8.v200607172048</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene</name>
-                <version>1.4.103.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j</name>
-                <version>1.0.0.v200608161946</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces</name>
-                <version>2.8.0.v200606131651</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.core</name>
-                <version>3.1.100.v20060531</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.optional.junit</name>
-                <version>3.2.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.ui</name>
-                <version>3.2.1.r321_v20060828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.compare</name>
-                <version>3.2.1.M20060711</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.boot</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.commands</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.contenttype</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.expressions</name>
-                <version>3.2.2.r322_v20070109a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filebuffers</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filesystem</name>
-                <version>1.0.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.jobs</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources</name>
-                <version>3.2.2.R32x_v20061218</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources.compatibility</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility.auth</name>
-                <version>3.2.0.v20060601</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.core.runtime.compatibility.registry
-                </name>
-                <version>3.2.1.R32x_v20060907</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.variables</name>
-                <version>3.1.100.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.core</name>
-                <version>3.2.1.v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.ui</name>
-                <version>3.2.2.r322_v20070202</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d.doc.isv</name>
-                <version>3.2.0.v20060626</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ant</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.cheatsheets</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore.ui</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ui</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common.ui</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.commonj.sdo</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.converter</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change.edit</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.edit</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.edit</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.xmi</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit</name>
-                <version>2.2.3.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit.ui</name>
-                <version>2.2.3.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.exporter</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.ecore</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.java</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.rose</name>
-                <version>2.2.3.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ui</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.common</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.preferences</name>
-                <version>3.2.1.R32x_v20060717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.registry</name>
-                <version>3.2.1.R32x_v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.servlet.api</name>
-                <version>1.0.0.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.doc.isv</name>
-                <version>3.2.0.v20060626</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help</name>
-                <version>3.2.2.R322_v20061213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.appserver</name>
-                <version>3.1.100.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.base</name>
-                <version>3.2.2.R322_v20061207</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.ui</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.webapp</name>
-                <version>3.2.2.R322_v20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.core</name>
-                <version>3.2.1.R32x_v20060822-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.ui</name>
-                <version>3.2.1.R32x_v20060822-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core</name>
-                <version>3.2.3.v_686_R32x</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core.manipulation</name>
-                <version>1.0.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug</name>
-                <version>3.2.2.r322_v20070130</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug.ui</name>
-                <version>3.2.2.r322_v20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.isv</name>
-                <version>3.2.1.r322_v20070109</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.user</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit</name>
-                <version>3.2.1.r321_v20060810</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit.runtime</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit4.runtime</name>
-                <version>1.0.1.r321_v20060905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.launching</name>
-                <version>3.2.2.r322_v20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.ui</name>
-                <version>3.2.2.r322_v20070124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>1.2.1.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.beaninfo</name>
-                <version>1.2.2.v20061027_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.proxy</name>
-                <version>1.2.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.sdk</name>
-                <version>1.2.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.source</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.2.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests.source</name>
-                <version>1.2.1.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.ui</name>
-                <version>1.2.1.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.util</name>
-                <version>1.2.1.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.workbench</name>
-                <version>1.2.4.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface</name>
-                <version>3.2.2.M20061214-1200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.databinding</name>
-                <version>1.0.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.text</name>
-                <version>3.2.2.r322_v20070104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.0.1.v200605040115</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.common.annotations.controller
-                </name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.core</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.frameworks</name>
-                <version>1.1.4.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.project.facet.core</name>
-                <version>1.1.0.v200608141517</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv</name>
-                <version>1.0.202.v200704162110</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_core.feature.source
-                </name>
-                <version>1.5.5.v200707311635--2PD88S8V_KASA8</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_ui.feature.source
-                </name>
-                <version>1.5.5.v200707311635-pEBqMgr5s5Phpf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee</name>
-                <version>1.1.5.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core</name>
-                <version>1.1.54.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests</name>
-                <version>1.1.0.v200701311831</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.doc.user</name>
-                <version>1.0.203.v200609182036</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb</name>
-                <version>1.1.5.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.j2ee.ejb.annotations.emitter
-                </name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-                <version>1.1.1.v200609070230</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-                </name>
-                <version>1.1.1.v200609141515</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.infopop</name>
-                <version>1.0.202.v200609150300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca</name>
-                <version>1.1.5.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.navigator.ui</name>
-                <version>1.1.2.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests</name>
-                <version>1.1.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ui</name>
-                <version>1.1.4.v200708072300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.web</name>
-                <version>1.1.4.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice</name>
-                <version>1.1.5.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice.ui</name>
-                <version>1.1.4.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.contentmodel.annotations
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.resolver</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.context.resolver.structureddocument
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.context.structureddocument
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.symbol</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.designtime</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.dev</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.user</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.common</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.edit</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadata.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.metadataprocessingtests2
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadataprocessors</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.taglibprocessing</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.test.util</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.validation.el</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core</name>
-                <version>1.1.105.v200708090647</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core.tests</name>
-                <version>1.0.3.v200708090647</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.tests.encoding</name>
-                <version>1.0.0.v200610030446</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui</name>
-                <version>1.1.101.v200708011901</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.infopop</name>
-                <version>1.0.2.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests</name>
-                <version>1.0.1.v200708012314</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-                <version>1.0.0.v200610030446</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core</name>
-                <version>1.0.106.v20070412</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core.tests</name>
-                <version>1.0.102.v20061013</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.core</name>
-                <version>1.0.101.v200608301011</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jboss</name>
-                <version>1.5.2.v200702030302</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jonas</name>
-                <version>1.5.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.oc4j</name>
-                <version>1.5.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.ui</name>
-                <version>1.0.100.v200608221634</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.weblogic</name>
-                <version>1.5.1.v200609141504</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.installable</name>
-                <version>1.5.2.v20061018</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core</name>
-                <version>1.0.104.v20070202b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core.tests</name>
-                <version>1.0.100.v20060817</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server.tomcat.tests.performance
-                </name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui</name>
-                <version>1.0.103.v20060906</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui</name>
-                <version>1.0.104.v20070401b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.infopop</name>
-                <version>1.0.2.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.websphere.core</name>
-                <version>1.0.101.v200609140551</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server_adapters.feature.source
-                </name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui</name>
-                <version>1.1.2.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui.infopop</name>
-                <version>1.0.201.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.sample</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.test</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>1.5.5.v200707311635--87cMNBNGQrRqXY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>1.5.5.v200708020120--2PD88Q8T9FAIAH</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws</name>
-                <version>1.0.105.v200707251734</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.core</name>
-                <version>1.0.104.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-                <version>1.0.103.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.creation.ui</name>
-                <version>1.0.105.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.infopop</name>
-                <version>1.0.201.v200605152241</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption</name>
-                <version>1.0.105.v200707132051</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.infopop</name>
-                <version>1.0.202.v20070131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui</name>
-                <version>1.0.106.v200707251734</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-                <version>1.0.202.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-                <version>1.0.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ui</name>
-                <version>1.0.105.v200704041932</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.infopop</name>
-                <version>1.0.201.v200605162034</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests</name>
-                <version>1.0.101</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests.performance</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.uddiregistry</name>
-                <version>1.0.100.v200608221651</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.ui</name>
-                <version>1.0.102.v200704041932</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.core.refactoring</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.ui.refactoring</name>
-                <version>3.2.2.r322_v20070124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi</name>
-                <version>3.2.2.R32x_v20070118</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.services</name>
-                <version>3.1.100.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.util</name>
-                <version>3.1.100.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.2.1.v20060810-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.build</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.core</name>
-                <version>3.2.1.v20060915-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.doc.user</name>
-                <version>3.2.1.v20060816-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.junit.runtime</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.runtime</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.ui</name>
-                <version>3.2.1.v20060816-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.perfmsr.core</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.2.2.r322_v20070117b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.isv</name>
-                <version>3.2.2.R32x_v20070115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.user</name>
-                <version>3.2.1.R32x_v200608101155</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.2.2.r322_v20070212</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.search</name>
-                <version>3.2.1.r321_v20060726</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt</name>
-                <version>3.2.2.v3236b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt.gtk.linux.ppc</name>
-                <version>3.2.2.v3236</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.core</name>
-                <version>3.2.2.M20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.core</name>
-                <version>3.2.2.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh</name>
-                <version>3.2.1.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh2</name>
-                <version>3.2.1.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ui</name>
-                <version>3.2.2.M20061121</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.ui</name>
-                <version>3.2.1.M200608151725</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance.win32</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.source</name>
-                <version>3.2.0.v20061124_r32x</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.text</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.tomcat</name>
-                <version>4.1.130.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui</name>
-                <version>3.2.1.M20061108</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.browser</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.cheatsheets</name>
-                <version>3.2.1.R321_v20060720</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.console</name>
-                <version>3.1.100.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.editors</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.externaltools</name>
-                <version>3.1.101.r321_v20060802</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.forms</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.ide</name>
-                <version>3.2.1.M20060915-1030</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro</name>
-                <version>3.2.2.R322_v20061214</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro.universal</name>
-                <version>3.2.1.R321_v20060905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator</name>
-                <version>3.2.1.M20060913-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator.resources</name>
-                <version>3.2.1.M20060906-0800b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.presentations.r21</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views</name>
-                <version>3.2.1.M20060906-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views.properties.tabbed</name>
-                <version>3.2.1.M20060830-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench</name>
-                <version>3.2.2.M20070119-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.compatibility</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.texteditor</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.configurator</name>
-                <version>3.2.2.R32x_v20070111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core</name>
-                <version>3.2.3.R32x_v20070118</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core.linux</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.scheduler</name>
-                <version>3.2.2.R32x_v20061214</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.ui</name>
-                <version>3.2.2.R32x_v20070111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.0.1.v200605040144</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env</name>
-                <version>1.0.104.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.core</name>
-                <version>1.0.103.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.doc.user</name>
-                <version>1.5.0.v20060831345</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.infopop</name>
-                <version>1.0.2.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.ui</name>
-                <version>1.0.103.v200703212342</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.core</name>
-                <version>1.1.100.v200608220540</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.emf</name>
-                <version>1.1.4.v200708072300</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.emfworkbench.integration
-                </name>
-                <version>1.1.5.v200708090518</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.environment</name>
-                <version>1.0.100.v200608251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks</name>
-                <version>1.1.4.v200704191600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks.ui</name>
-                <version>1.1.2.v200702071605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.infopop</name>
-                <version>1.0.1.v200605270041</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.modulecore</name>
-                <version>1.1.54.v200707260530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.core</name>
-                <version>1.1.2.v200705311507</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.project.facet.core.tests
-                </name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.ui</name>
-                <version>1.1.2.v200701192142</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets</name>
-                <version>1.1.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.collector</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.ui</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui</name>
-                <version>1.1.101.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui.properties</name>
-                <version>1.0.101.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.uriresolver</name>
-                <version>1.1.102.v200706271908</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>1.5.5.v200708010505--AXrVWgWbmEdPjw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>1.5.5.v200707311635-qKHiZIRPOkpEay9</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core</name>
-                <version>1.1.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core.tests</name>
-                <version>1.0.1.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.tests.encoding</name>
-                <version>1.0.100.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui</name>
-                <version>1.0.101.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests.performance</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.datatools.connection.ui.doc.user
-                </name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.datatools.server.ui.doc.user
-                </name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv</name>
-                <version>1.0.204.v200704162110</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.user</name>
-                <version>1.0.203.v200608231821</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.core</name>
-                <version>1.1.1.v200609210600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui</name>
-                <version>1.0.102.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtdeditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core</name>
-                <version>1.1.2.v200612200820</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core.tests</name>
-                <version>1.0.1.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.standard.dtds</name>
-                <version>1.0.1.v200608220315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.tests.encoding</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui</name>
-                <version>1.0.102.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests.performance</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache</name>
-                <version>1.0.103.v200612070353</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.core</name>
-                <version>1.0.103.v20060809</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui</name>
-                <version>1.0.103.v20060809</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.proxy</name>
-                <version>1.0.101.v200702021949</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.proxy.infopop</name>
-                <version>1.0.0.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.core</name>
-                <version>1.0.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui</name>
-                <version>1.0.2.v200701250230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.connection.ui</name>
-                <version>1.0.109.v200707271817</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.core</name>
-                <version>1.1.128.v200708081848</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.core.ui</name>
-                <version>1.0.112.v200708071732</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.data.core</name>
-                <version>1.0.109.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.data.ui</name>
-                <version>1.0.112.v200706050104</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.rdb.dbdefinition.db2.iseries
-                </name>
-                <version>1.0.110.v200708081840</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-                <version>1.0.111.v200708081749</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.rdb.dbdefinition.db2.zseries
-                </name>
-                <version>1.0.114.v200708161736</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-                <version>1.0.105.v200708081749</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-                </name>
-                <version>1.0.102.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-                <version>1.0.109.v200708081759</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-                <version>1.0.102.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-                <version>1.0.106.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-                <version>1.0.107.v200708081828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-                <version>1.0.107.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.derby</name>
-                <version>1.0.109.v200707271739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.derby.ui</name>
-                <version>1.0.104.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui</name>
-                <version>1.0.105.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-                <version>1.0.104.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-                <version>1.0.106.v200708081828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.sql</name>
-                <version>1.0.107.v200708071826</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.sql.edit</name>
-                <version>1.0.105.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.mysql</name>
-                <version>1.0.105.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.outputview</name>
-                <version>1.0.108.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.outputview.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.extensions</name>
-                <version>1.0.106.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.ui</name>
-                <version>1.0.116.v200708081828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqleditor</name>
-                <version>1.0.108.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-                <version>1.0.103.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.tests.dbdefinition</name>
-                <version>1.0.1.v200702062139</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-                <version>1.5.5.v200707310733--Cq0bd1d6h2psH4</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature.source</name>
-                <version>1.5.5.v200707310733--3YIAAcAeAcDZIa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature.source</name>
-                <version>1.5.5.v200707310733-FTMk5TyVyjcqsoh</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core</name>
-                <version>1.0.108.v200708070407</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core.tests</name>
-                <version>1.0.100.v20060824</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.tests.performance</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui</name>
-                <version>1.0.107.v20070530b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.infopop</name>
-                <version>1.0.3.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>1.5.5.v200707311635--1G955H5K5K2629</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>1.5.5.v200707311635-PKiQdL4P86hHMCU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sqleditor.doc.user</name>
-                <version>1.0.2.v200608310308</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core</name>
-                <version>1.1.102.v200708012314</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.doc.user</name>
-                <version>1.0.203.v200608300230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui</name>
-                <version>1.0.203.v200708012314</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.infopop</name>
-                <version>1.0.101.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests.performance</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation</name>
-                <version>1.1.5.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.infopop</name>
-                <version>1.0.201.v200606130645</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.ui</name>
-                <version>1.1.3.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web</name>
-                <version>1.1.3.v200708090518</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui.infopop</name>
-                <version>1.0.201.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>1.5.5.v200708090518--4hNDDiEnJWDdRQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>1.5.5.v200708090518-zjf2UqDvH24Ditw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.webtools.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws</name>
-                <version>1.0.102.v200702021949</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.explorer</name>
-                <version>1.0.105.v200704182024</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.infopop</name>
-                <version>1.0.202.v20070131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.parser</name>
-                <version>1.0.101.v200609062128</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.ui</name>
-                <version>1.0.104.v200707181927</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>1.5.5.v200708010505--4hNDDlDbFXJYRa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>1.5.5.v200708010505-hai7Hn8y95M5W3I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl</name>
-                <version>1.0.105.v200707191400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.performance</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.ui</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui</name>
-                <version>1.1.102.v200704192000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation</name>
-                <version>1.1.102.v200704111356</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation.tests</name>
-                <version>1.0.203</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi</name>
-                <version>1.0.104.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui</name>
-                <version>1.0.101.v20060850312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui.doc.user</name>
-                <version>1.0.202.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core</name>
-                <version>1.1.101.v200704111417</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core.tests</name>
-                <version>1.0.0.v200610030650</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.tests.encoding</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui</name>
-                <version>1.0.201.v200702021717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests.performance</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.validation.tests</name>
-                <version>1.0.202.v200701251230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>1.5.5.v200708020450--3YIAAbAWGEFQHU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>1.5.5.v200707311635-zkiCfzO-IFUOjzR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xmleditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.core</name>
-                <version>1.1.101.v200701312359</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.tests.performance</name>
-                <version>1.0.1.v200704211535</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.ui</name>
-                <version>1.1.104.v200708160440</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.validation.tests</name>
-                <version>1.0.201.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsdeditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.cheatsheets</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.exporter</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.importer</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.edit</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.junit</name>
-                <version>3.8.1</version>
-            </entry>
-            <entry>
-                <name>org.junit4</name>
-                <version>4.1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j</name>
-                <version>2.0.5.v200608231542</version>
-            </entry>
-            <entry>
-                <name>org.wsdl4j</name>
-                <version>1.4.0.v200702061629</version>
-            </entry>
-        </bundleData>
-    </referenceData>
-
-    <referenceData id="WTP154Plus1Patch">
-        <featureData>
-            <!-- Number of features: 117 -->
-
-            <entry>
-                <name>org.apache.axis.feature</name>
-                <version>1.3.0.v200606071530--0842282_383A68</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons_logging.feature</name>
-                <version>1.0.4.v200606152055--0842282_233879</version>
-            </entry>
-            <entry>
-                <name>org.apache.jakarta_log4j.feature</name>
-                <version>1.2.8.v200605300321--0842282939426_</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j.feature</name>
-                <version>1.0.0.v200606071530--0842282_383A68</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces.feature</name>
-                <version>2.8.0.v200605151647--08422828353873</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.sdk</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.sdk</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.sdk</name>
-                <version>1.2.4.v200704140333-GIHlkYKbOQv_rA7</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.source</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.1.v200704181020--1G955I5C7K7595</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.5.4.v200704150219-kW-NuyxHh4-w7-n</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_sdk.feature</name>
-                <version>1.5.3.v200701251934-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv.feature</name>
-                <version>1.5.4.v200704150226--08422926384332</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_core.feature</name>
-                <version>1.5.4.v200704150248--2PD88S8JBPAV88</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_core.feature.source
-                </name>
-                <version>1.5.4.v200704150248--2PD88S8JBPAV88</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_sdk.feature</name>
-                <version>1.5.4.v200704150248-842292637246_02</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_tests.feature</name>
-                <version>1.5.3.v200701251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_ui.feature</name>
-                <version>1.5.4.v200704150248-pEBqMgZ8x5Uamf6</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_ui.feature.source
-                </name>
-                <version>1.5.4.v200704150248-pEBqMgZ8x5Uamf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-                <version>1.5.3.v200701251934--4hNDDhDwMTJbWt</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.feature</name>
-                <version>0.5.0.v20060829------1G955G5K9M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.feature</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.tests.feature</name>
-                <version>0.5.0.v20060829------1G955G5K9M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature</name>
-                <version>0.5.1.v20060829-fX45f_dlc_3ccM8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.sdk</name>
-                <version>1.5.4.v200704150219-dnUU6nyMbgExb_A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.feature</name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server_adapters.feature.source
-                </name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_sdk.feature</name>
-                <version>1.5.4.v200704150241-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_tests.feature</name>
-                <version>1.5.3.v200701251934------4hNDDhEjIZ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_userdoc.feature</name>
-                <version>1.5.3.v200701251934--0842282A44386A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.tests</name>
-                <version>1.5.4.v200704150219--6vVLTsvonbpc4K</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature</name>
-                <version>1.5.4.v200704150236--87cMNBMzUxToUV</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>1.5.4.v200704150236--87cMNBMzUxToUV</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_sdk.feature</name>
-                <version>1.5.4.v200704150236-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_tests.feature</name>
-                <version>1.5.4.v200704150236--4hNDDjGJHYIWUV</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature</name>
-                <version>1.5.3.v200701251934--2PD88P8T_IB_EI</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>1.5.3.v200701251934--2PD88P8T_IB_EI</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_userdoc.feature</name>
-                <version>1.5.3.v200701251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.2.2.r322_v20070104-dCGKm0Ln38lm-8s</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.5.4.v200704200440-X3TmzmK-W-vP-Fs</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature</name>
-                <version>1.5.4.v200704150119--AXrVWeXJj6fQls</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>1.5.4.v200704150119--AXrVWeXJj6fQls</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_sdk.feature</name>
-                <version>1.5.4.v200704150119-842292637233A03</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_tests.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature</name>
-                <version>1.5.4.v200704150119-qKHiYJJQ6hbGi-5</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>1.5.4.v200704150119-qKHiYJJQ6hbGi-5</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_userdoc.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv.feature</name>
-                <version>1.5.4.v200704150123--08422926384332</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature</name>
-                <version>1.5.4.v200704150211--Cq0bcvi1pRqizT</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-                <version>1.5.4.v200704150211--Cq0bcvi1pRqizT</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature</name>
-                <version>1.5.4.v200704150216--3YIAAbBLDOFLJX</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature.source</name>
-                <version>1.5.4.v200704150216--3YIAAbBLDOFLJX</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_sdk.feature</name>
-                <version>1.5.4.v200704150216-PD88S8JAM8DAK-N</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_tests.feature</name>
-                <version>1.5.3.v200702061839--0842292428435A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature</name>
-                <version>1.5.4.v200704150216-FTMk0YJe4t-wUpY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature.source</name>
-                <version>1.5.4.v200704150216-FTMk0YJe4t-wUpY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_userdoc.feature</name>
-                <version>1.5.3.v200701251933--4hNDDhDrSIDSDf</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sdk</name>
-                <version>1.5.4.v200704200440-O2U9jyC-ZDAHEgs</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature</name>
-                <version>1.5.4.v200704150133-----1G955H5G5Ep</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>1.5.4.v200704150133-----1G955H5G5Ep</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_sdk.feature</name>
-                <version>1.5.4.v200704150133-8422926372355-X</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_tests.feature</name>
-                <version>1.5.3.v200701251933------3YIAAYAgFQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature</name>
-                <version>1.5.4.v200704150133-PGIEZcpNsOLcLWL</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150133-PGIEZcpNsOLcLWL</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_userdoc.feature</name>
-                <version>1.5.3.v200701251933--0842282A44386A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.tests.feature</name>
-                <version>1.5.4.v200704200440--X12DMMzwm2jPVW</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature</name>
-                <version>1.5.3.v200701251933--4hNDDhFfKVFaSL</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>1.5.3.v200701251933--4hNDDhFfKVFaSL</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_sdk.feature</name>
-                <version>1.5.3.v200701251933-8422923473A550B</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_tests.feature</name>
-                <version>1.5.4.v200704150136--87cMN_RYPtSpec</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature</name>
-                <version>1.5.3.v200701251933-zjf2UqCw_33Ffur</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>1.5.3.v200701251933-zjf2UqCw_33Ffur</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_userdoc.feature</name>
-                <version>1.5.3.v200701251933--1G955G5L9_7IAE</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature</name>
-                <version>1.5.4.v200704111430--4hNDDlDYFPJXWg</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>1.5.4.v200704111430--4hNDDlDYFPJXWg</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_sdk.feature</name>
-                <version>1.5.4.v200704150140-8422926372362-v</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_tests.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature</name>
-                <version>1.5.4.v200704150140-hai7Hn5wx666U8O</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>1.5.4.v200704150140-hai7Hn5wx666U8O</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_userdoc.feature</name>
-                <version>1.5.3.v200701251933--2PD88P8XECCNKM</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature</name>
-                <version>1.5.4.v200704111425--3YIAAaBPIEDNIR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>1.5.4.v200704111425--3YIAAaBPIEDNIR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_sdk.feature</name>
-                <version>1.5.4.v200704150112-L2zO3ER9VSfb00j</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_tests.feature</name>
-                <version>1.5.3.v200701251933--AXrVWZeaa1YD3a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature</name>
-                <version>1.5.4.v200704150112-zkiCfzC3FHTOi-O</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>1.5.4.v200704150112-zkiCfzC3FHTOi-O</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_userdoc.feature</name>
-                <version>1.5.3.v200701251933--3YIAAYAjJGDUPb</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests.feature</name>
-                <version>1.0.0.v200612102113</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j.feature</name>
-                <version>2.0.5.v200609140515--0842282_453764</version>
-            </entry>
-            <entry>
-                <name>org.wsdl4j.feature</name>
-                <version>1.4.0.v200606071500--0842292428384A</version>
-            </entry>
-        </featureData>
-        <bundleData>
-            <!-- Number of bundles: 464 -->
-
-            <entry>
-                <name>com.ibm.etools.emf.event</name>
-                <version>3.0.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu</name>
-                <version>3.4.5.20061213</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu.source</name>
-                <version>3.4.5.20061213</version>
-            </entry>
-            <entry>
-                <name>com.jcraft.jsch</name>
-                <version>0.1.28</version>
-            </entry>
-            <entry>
-                <name>org.apache.ant</name>
-                <version>1.6.5</version>
-            </entry>
-            <entry>
-                <name>org.apache.axis</name>
-                <version>1.3.0.v200608161946</version>
-            </entry>
-            <entry>
-                <name>org.apache.cactus</name>
-                <version>1.7.2.v200606181221</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons_logging</name>
-                <version>1.0.4.v200608011657</version>
-            </entry>
-            <entry>
-                <name>org.apache.jakarta_log4j</name>
-                <version>1.2.8.v200607172048</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene</name>
-                <version>1.4.103.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j</name>
-                <version>1.0.0.v200608161946</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces</name>
-                <version>2.8.0.v200606131651</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.core</name>
-                <version>3.1.100.v20060531</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.optional.junit</name>
-                <version>3.2.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.ui</name>
-                <version>3.2.1.r321_v20060828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.compare</name>
-                <version>3.2.1.M20060711</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.boot</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.commands</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.contenttype</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.expressions</name>
-                <version>3.2.2.r322_v20070109a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filebuffers</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filesystem</name>
-                <version>1.0.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.jobs</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources</name>
-                <version>3.2.2.R32x_v20061218</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources.compatibility</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility.auth</name>
-                <version>3.2.0.v20060601</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.core.runtime.compatibility.registry
-                </name>
-                <version>3.2.1.R32x_v20060907</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.variables</name>
-                <version>3.1.100.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.core</name>
-                <version>3.2.1.v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.ui</name>
-                <version>3.2.2.r322_v20070202</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d.doc.isv</name>
-                <version>3.2.0.v20060626</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ant</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.cheatsheets</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore.ui</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ui</name>
-                <version>2.1.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common.ui</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.commonj.sdo</name>
-                <version>2.1.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.converter</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change.edit</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.edit</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.editor</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.edit</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.editor</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.xmi</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit.ui</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.exporter</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.ecore</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.java</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.rose</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ui</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore</name>
-                <version>2.1.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-                <version>2.1.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.common</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.preferences</name>
-                <version>3.2.1.R32x_v20060717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.registry</name>
-                <version>3.2.1.R32x_v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.servlet.api</name>
-                <version>1.0.0.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.doc.isv</name>
-                <version>3.2.0.v20060626</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help</name>
-                <version>3.2.2.R322_v20061213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.appserver</name>
-                <version>3.1.100.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.base</name>
-                <version>3.2.2.R322_v20061207</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.ui</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.webapp</name>
-                <version>3.2.2.R322_v20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.core</name>
-                <version>3.2.1.R32x_v20060822-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.ui</name>
-                <version>3.2.1.R32x_v20060822-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core</name>
-                <version>3.2.3.v_686_R32x</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core.manipulation</name>
-                <version>1.0.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug</name>
-                <version>3.2.2.r322_v20070130</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug.ui</name>
-                <version>3.2.2.r322_v20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.isv</name>
-                <version>3.2.1.r322_v20070109</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.user</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit</name>
-                <version>3.2.1.r321_v20060810</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit.runtime</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit4.runtime</name>
-                <version>1.0.1.r321_v20060905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.launching</name>
-                <version>3.2.2.r322_v20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.ui</name>
-                <version>3.2.2.r322_v20070124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>1.2.1.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.beaninfo</name>
-                <version>1.2.2.v20061027_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.proxy</name>
-                <version>1.2.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.sdk</name>
-                <version>1.2.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.source</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.2.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests.source</name>
-                <version>1.2.1.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.ui</name>
-                <version>1.2.1.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.util</name>
-                <version>1.2.1.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.workbench</name>
-                <version>1.2.4.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface</name>
-                <version>3.2.2.M20061214-1200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.databinding</name>
-                <version>1.0.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.text</name>
-                <version>3.2.2.r322_v20070104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.0.1.v200605040115</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.common.annotations.controller
-                </name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.core</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.frameworks</name>
-                <version>1.1.4.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.project.facet.core</name>
-                <version>1.1.0.v200608141517</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv</name>
-                <version>1.0.202.v200704162110</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_core.feature.source
-                </name>
-                <version>1.5.4.v200704150248--2PD88S8JBPAV88</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.enterprise_ui.feature.source
-                </name>
-                <version>1.5.4.v200704150248-pEBqMgZ8x5Uamf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee</name>
-                <version>1.1.4.v200704261800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core</name>
-                <version>1.1.53.v200704191600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests</name>
-                <version>1.1.0.v200701311831</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.doc.user</name>
-                <version>1.0.203.v200609182036</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb</name>
-                <version>1.1.4.v200704261800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.j2ee.ejb.annotations.emitter
-                </name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-                <version>1.1.1.v200609070230</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.j2ee.ejb.annotations.xdoclet
-                </name>
-                <version>1.1.1.v200609141515</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.infopop</name>
-                <version>1.0.202.v200609150300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca</name>
-                <version>1.1.4.v200704161800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.navigator.ui</name>
-                <version>1.1.2.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests</name>
-                <version>1.1.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ui</name>
-                <version>1.1.3.v200704261800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.web</name>
-                <version>1.1.3.v200701242244</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice</name>
-                <version>1.1.4.v200704161800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice.ui</name>
-                <version>1.1.3.v200704161800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.contentmodel.annotations
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.resolver</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.context.resolver.structureddocument
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.context.structureddocument
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.symbol</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.designtime</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.dev</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.user</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.common</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.edit</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadata.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.jsf.metadataprocessingtests2
-                </name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadataprocessors</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.taglibprocessing</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.test.util</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.validation.el</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core</name>
-                <version>1.1.104.v200704191900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core.tests</name>
-                <version>1.0.2.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.tests.encoding</name>
-                <version>1.0.0.v200610030446</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui</name>
-                <version>1.1.100.v200608142042</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.infopop</name>
-                <version>1.0.2.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests</name>
-                <version>1.0.0.v200611082053</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-                <version>1.0.0.v200610030446</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core</name>
-                <version>1.0.106.v20070412</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core.tests</name>
-                <version>1.0.102.v20061013</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.core</name>
-                <version>1.0.101.v200608301011</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jboss</name>
-                <version>1.5.2.v200702030302</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jonas</name>
-                <version>1.5.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.oc4j</name>
-                <version>1.5.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.ui</name>
-                <version>1.0.100.v200608221634</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.weblogic</name>
-                <version>1.5.1.v200609141504</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.installable</name>
-                <version>1.5.2.v20061018</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core</name>
-                <version>1.0.104.v20070202b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core.tests</name>
-                <version>1.0.100.v20060817</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server.tomcat.tests.performance
-                </name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui</name>
-                <version>1.0.103.v20060906</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui</name>
-                <version>1.0.104.v20070401b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.infopop</name>
-                <version>1.0.2.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.websphere.core</name>
-                <version>1.0.101.v200609140551</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.jst.server_adapters.feature.source
-                </name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui</name>
-                <version>1.1.2.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui.infopop</name>
-                <version>1.0.201.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.sample</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.test</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>1.5.4.v200704150236--87cMNBMzUxToUV</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>1.5.3.v200701251934--2PD88P8T_IB_EI</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws</name>
-                <version>1.0.104.v200703212342</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.core</name>
-                <version>1.0.104.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-                <version>1.0.103.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.creation.ui</name>
-                <version>1.0.105.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.infopop</name>
-                <version>1.0.201.v200605152241</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption</name>
-                <version>1.0.104.v200704182024</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.infopop</name>
-                <version>1.0.202.v20070131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui</name>
-                <version>1.0.105.v200704251610</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-                <version>1.0.202.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-                <version>1.0.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ui</name>
-                <version>1.0.105.v200704041932</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.infopop</name>
-                <version>1.0.201.v200605162034</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests</name>
-                <version>1.0.101</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests.performance</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.uddiregistry</name>
-                <version>1.0.100.v200608221651</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.ui</name>
-                <version>1.0.102.v200704041932</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.core.refactoring</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.ui.refactoring</name>
-                <version>3.2.2.r322_v20070124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi</name>
-                <version>3.2.2.R32x_v20070118</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.services</name>
-                <version>3.1.100.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.util</name>
-                <version>3.1.100.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.2.1.v20060810-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.build</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.core</name>
-                <version>3.2.1.v20060915-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.doc.user</name>
-                <version>3.2.1.v20060816-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.junit.runtime</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.runtime</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.ui</name>
-                <version>3.2.1.v20060816-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.perfmsr.core</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.2.2.r322_v20070117b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.isv</name>
-                <version>3.2.2.R32x_v20070115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.user</name>
-                <version>3.2.1.R32x_v200608101155</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.2.2.r322_v20070212</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.search</name>
-                <version>3.2.1.r321_v20060726</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt</name>
-                <version>3.2.2.v3236b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt.gtk.linux.ppc</name>
-                <version>3.2.2.v3236</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.core</name>
-                <version>3.2.2.M20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.core</name>
-                <version>3.2.2.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh</name>
-                <version>3.2.1.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh2</name>
-                <version>3.2.1.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ui</name>
-                <version>3.2.2.M20061121</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.ui</name>
-                <version>3.2.1.M200608151725</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance.win32</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.source</name>
-                <version>3.2.0.v20061124_r32x</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.text</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.tomcat</name>
-                <version>4.1.130.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui</name>
-                <version>3.2.1.M20061108</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.browser</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.cheatsheets</name>
-                <version>3.2.1.R321_v20060720</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.console</name>
-                <version>3.1.100.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.editors</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.externaltools</name>
-                <version>3.1.101.r321_v20060802</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.forms</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.ide</name>
-                <version>3.2.1.M20060915-1030</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro</name>
-                <version>3.2.2.R322_v20061214</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro.universal</name>
-                <version>3.2.1.R321_v20060905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator</name>
-                <version>3.2.1.M20060913-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator.resources</name>
-                <version>3.2.1.M20060906-0800b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.presentations.r21</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views</name>
-                <version>3.2.1.M20060906-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views.properties.tabbed</name>
-                <version>3.2.1.M20060830-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench</name>
-                <version>3.2.2.M20070119-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.compatibility</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.texteditor</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.configurator</name>
-                <version>3.2.2.R32x_v20070111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core</name>
-                <version>3.2.3.R32x_v20070118</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core.linux</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.scheduler</name>
-                <version>3.2.2.R32x_v20061214</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.ui</name>
-                <version>3.2.2.R32x_v20070111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.0.1.v200605040144</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env</name>
-                <version>1.0.104.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.core</name>
-                <version>1.0.103.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.doc.user</name>
-                <version>1.5.0.v20060831345</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.infopop</name>
-                <version>1.0.2.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.ui</name>
-                <version>1.0.103.v200703212342</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.core</name>
-                <version>1.1.100.v200608220540</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.emf</name>
-                <version>1.1.3.v200612061436</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.emfworkbench.integration
-                </name>
-                <version>1.1.4.v200704111300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.environment</name>
-                <version>1.0.100.v200608251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks</name>
-                <version>1.1.4.v200704191600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks.ui</name>
-                <version>1.1.2.v200702071605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.infopop</name>
-                <version>1.0.1.v200605270041</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.modulecore</name>
-                <version>1.1.53.v200704161800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.core</name>
-                <version>1.1.1.v200608112156</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.common.project.facet.core.tests
-                </name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.ui</name>
-                <version>1.1.2.v200701192142</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets</name>
-                <version>1.1.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.collector</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.ui</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui</name>
-                <version>1.1.101.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui.properties</name>
-                <version>1.0.101.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.uriresolver</name>
-                <version>1.1.101.v200702021717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>1.5.4.v200704150119--AXrVWeXJj6fQls</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>1.5.4.v200704150119-qKHiYJJQ6hbGi-5</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core</name>
-                <version>1.1.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core.tests</name>
-                <version>1.0.1.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.tests.encoding</name>
-                <version>1.0.100.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui</name>
-                <version>1.0.101.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests.performance</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.datatools.connection.ui.doc.user
-                </name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.datatools.server.ui.doc.user
-                </name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv</name>
-                <version>1.0.204.v200704162110</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.user</name>
-                <version>1.0.203.v200608231821</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.core</name>
-                <version>1.1.1.v200609210600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui</name>
-                <version>1.0.102.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtdeditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core</name>
-                <version>1.1.2.v200612200820</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core.tests</name>
-                <version>1.0.1.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.standard.dtds</name>
-                <version>1.0.1.v200608220315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.tests.encoding</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui</name>
-                <version>1.0.102.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests.performance</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache</name>
-                <version>1.0.103.v200612070353</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.core</name>
-                <version>1.0.103.v20060809</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui</name>
-                <version>1.0.103.v20060809</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.proxy</name>
-                <version>1.0.101.v200702021949</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.proxy.infopop</name>
-                <version>1.0.0.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.core</name>
-                <version>1.0.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui</name>
-                <version>1.0.2.v200701250230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.connection.ui</name>
-                <version>1.0.107.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.core</name>
-                <version>1.1.121.v200704131847</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.core.ui</name>
-                <version>1.0.109.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.data.core</name>
-                <version>1.0.108.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.data.ui</name>
-                <version>1.0.111.v200703122014</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.rdb.dbdefinition.db2.iseries
-                </name>
-                <version>1.0.106.v200704191851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-                <version>1.0.107.v200702021852</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.rdb.dbdefinition.db2.zseries
-                </name>
-                <version>1.0.107.v200704121755</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-                <version>1.0.104.v200610161905</version>
-            </entry>
-            <entry>
-                <name>
-                    org.eclipse.wst.rdb.dbdefinition.generic.jdbc
-                </name>
-                <version>1.0.101.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-                <version>1.0.104.v200610261819</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-                <version>1.0.101.v200610161905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-                <version>1.0.104.v200704102203</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-                <version>1.0.105.v200610161905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-                <version>1.0.106.v200610261819</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.derby</name>
-                <version>1.0.107.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.derby.ui</name>
-                <version>1.0.103.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui</name>
-                <version>1.0.104.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-                <version>1.0.103.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-                <version>1.0.103.v200702062139</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.sql</name>
-                <version>1.0.104.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.sql.edit</name>
-                <version>1.0.103.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.mysql</name>
-                <version>1.0.105.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.outputview</name>
-                <version>1.0.107.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.outputview.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.extensions</name>
-                <version>1.0.105.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.ui</name>
-                <version>1.0.111.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqleditor</name>
-                <version>1.0.107.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-                <version>1.0.103.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.tests.dbdefinition</name>
-                <version>1.0.1.v200702062139</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-                <version>1.5.4.v200704150211--Cq0bcvi1pRqizT</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature.source</name>
-                <version>1.5.4.v200704150216--3YIAAbBLDOFLJX</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature.source</name>
-                <version>1.5.4.v200704150216-FTMk0YJe4t-wUpY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core</name>
-                <version>1.0.107.v2007052405241910</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core.tests</name>
-                <version>1.0.100.v20060824</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.tests.performance</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui</name>
-                <version>1.0.106.v20070425b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.infopop</name>
-                <version>1.0.3.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>1.5.4.v200704150133-----1G955H5G5Ep</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150133-PGIEZcpNsOLcLWL</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sqleditor.doc.user</name>
-                <version>1.0.2.v200608310308</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core</name>
-                <version>1.1.101.v200611210021</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.doc.user</name>
-                <version>1.0.203.v200608300230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui</name>
-                <version>1.0.202.v200701252330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.infopop</name>
-                <version>1.0.101.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests.performance</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation</name>
-                <version>1.1.4.v200704161800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.infopop</name>
-                <version>1.0.201.v200606130645</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.ui</name>
-                <version>1.1.2.v200612061436</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web</name>
-                <version>1.1.2.v200610182223</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui.infopop</name>
-                <version>1.0.201.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>1.5.3.v200701251933--4hNDDhFfKVFaSL</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>1.5.3.v200701251933-zjf2UqCw_33Ffur</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.webtools.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws</name>
-                <version>1.0.102.v200702021949</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.explorer</name>
-                <version>1.0.105.v200704182024</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.infopop</name>
-                <version>1.0.202.v20070131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.parser</name>
-                <version>1.0.101.v200609062128</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.ui</name>
-                <version>1.0.103.v200704042036</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>1.5.4.v200704111430--4hNDDlDYFPJXWg</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>1.5.4.v200704150140-hai7Hn5wx666U8O</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl</name>
-                <version>1.0.104.v200704111356</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.performance</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.ui</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui</name>
-                <version>1.1.102.v200704192000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation</name>
-                <version>1.1.102.v200704111356</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation.tests</name>
-                <version>1.0.203</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi</name>
-                <version>1.0.104.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui</name>
-                <version>1.0.101.v20060850312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui.doc.user</name>
-                <version>1.0.202.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core</name>
-                <version>1.1.101.v200704111417</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core.tests</name>
-                <version>1.0.0.v200610030650</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.tests.encoding</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui</name>
-                <version>1.0.201.v200702021717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests.performance</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.validation.tests</name>
-                <version>1.0.202.v200701251230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>1.5.4.v200704111425--3YIAAaBPIEDNIR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>1.5.4.v200704150112-zkiCfzC3FHTOi-O</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xmleditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.core</name>
-                <version>1.1.101.v200701312359</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.tests.performance</name>
-                <version>1.0.1.v200704211535</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.ui</name>
-                <version>1.1.103.v200704260345</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.validation.tests</name>
-                <version>1.0.201.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsdeditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.cheatsheets</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.exporter</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.importer</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.edit</name>
-                <version>2.2.1.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.editor</name>
-                <version>2.2.0.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.2.2.v200702131851</version>
-            </entry>
-            <entry>
-                <name>org.junit</name>
-                <version>3.8.1</version>
-            </entry>
-            <entry>
-                <name>org.junit4</name>
-                <version>4.1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j</name>
-                <version>2.0.5.v200608231542</version>
-            </entry>
-            <entry>
-                <name>org.wsdl4j</name>
-                <version>1.4.0.v200702061629</version>
-            </entry>
-        </bundleData>
-    </referenceData>
-</versioningData>
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_1.5.5.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_1.5.5.xml
deleted file mode 100644
index fd46bf7..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_1.5.5.xml
+++ /dev/null
@@ -1,2337 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<versioningData>
-    <referenceData id="1.5.5">
-        <featureData>
-            <!-- Number of features: 117 -->
-
-            <entry>
-                <name>org.apache.axis.feature</name>
-                <version>1.3.0.v200606071530--0842282_383A68</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons_logging.feature</name>
-                <version>1.0.4.v200606152055--0842282_233879</version>
-            </entry>
-            <entry>
-                <name>org.apache.jakarta_log4j.feature</name>
-                <version>1.2.8.v200605300321--0842282939426_</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j.feature</name>
-                <version>1.0.0.v200606071530--0842282_383A68</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces.feature</name>
-                <version>2.8.0.v200605151647--08422828353873</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.sdk</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.sdk</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.sdk</name>
-                <version>1.2.4.v200704140333-GIHlkYKbOQv_rA7</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.source</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.1.v200704181020--1G955I5C7K7595</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.5.5.v200708010505-kW-NuzKF-rhzo7p</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_sdk.feature</name>
-                <version>1.5.3.v200701251934-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv.feature</name>
-                <version>1.5.4.v200704150226--08422926384332</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_core.feature</name>
-                <version>1.5.5.v200707311635--2PD88S8V_KASA8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_core.feature.source</name>
-                <version>1.5.5.v200707311635--2PD88S8V_KASA8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_sdk.feature</name>
-                <version>1.5.5.v200707311635-842292953385702</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_tests.feature</name>
-                <version>1.5.3.v200701251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_ui.feature</name>
-                <version>1.5.5.v200707311635-pEBqMgr5s5Phpf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-                <version>1.5.5.v200707311635-pEBqMgr5s5Phpf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-                <version>1.5.3.v200701251934--4hNDDhDwMTJbWt</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.feature</name>
-                <version>0.5.0.v20060829------1G955G5K9M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.feature</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.tests.feature</name>
-                <version>0.5.0.v20060829------1G955G5K9M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature</name>
-                <version>0.5.1.v20060829-fX45f_dlc_3ccM8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.sdk</name>
-                <version>1.5.5.v200708010505-dnUU6pHGgdx1fTE</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.feature</name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.feature.source</name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_sdk.feature</name>
-                <version>1.5.4.v200704150241-8422923473A56--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_tests.feature</name>
-                <version>1.5.3.v200701251934------4hNDDhEjIZ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_userdoc.feature</name>
-                <version>1.5.3.v200701251934--0842282A44386A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.tests</name>
-                <version>1.5.5.v200708020120--6vVLTtuzmXno3W</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature</name>
-                <version>1.5.5.v200707311635--87cMNBNGQrRqXY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>1.5.5.v200707311635--87cMNBNGQrRqXY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_sdk.feature</name>
-                <version>1.5.5.v200707311635-842292_242342--</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_tests.feature</name>
-                <version>1.5.5.v200708020120--4hNDDkFUGUGcTb</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature</name>
-                <version>1.5.5.v200708020120--2PD88Q8T9FAIAH</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>1.5.5.v200708020120--2PD88Q8T9FAIAH</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_userdoc.feature</name>
-                <version>1.5.3.v200701251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.2.2.r322_v20070104-dCGKm0Ln38lm-8s</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.5.5.v200708010400-X7zzDJPbqKHocRq</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature</name>
-                <version>1.5.5.v200708010505--AXrVWgWbmEdPjw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>1.5.5.v200708010505--AXrVWgWbmEdPjw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_sdk.feature</name>
-                <version>1.5.5.v200707311635-842292953385703</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_tests.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature</name>
-                <version>1.5.5.v200707311635-qKHiZIRPOkpEay9</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>1.5.5.v200707311635-qKHiZIRPOkpEay9</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_userdoc.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv.feature</name>
-                <version>1.5.4.v200704150123--08422926384332</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature</name>
-                <version>1.5.5.v200707310733--Cq0bd1d6h2psH4</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-                <version>1.5.5.v200707310733--Cq0bd1d6h2psH4</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature</name>
-                <version>1.5.5.v200707310733--3YIAAcAeAcDZIa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature.source</name>
-                <version>1.5.5.v200707310733--3YIAAcAeAcDZIa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_sdk.feature</name>
-                <version>1.5.5.v200707310733-PD88S8SGA8SGG-N</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_tests.feature</name>
-                <version>1.5.3.v200702061839--0842292428435A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature</name>
-                <version>1.5.5.v200707310733-FTMk5TyVyjcqsoh</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature.source</name>
-                <version>1.5.5.v200707310733-FTMk5TyVyjcqsoh</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_userdoc.feature</name>
-                <version>1.5.5.v200708010515--4hNDDhDrSIDSDf</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sdk</name>
-                <version>1.5.5.v200708010400-O75KtRAskgrrj_t</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature</name>
-                <version>1.5.5.v200707311635--1G955H5K5K2629</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>1.5.5.v200707311635--1G955H5K5K2629</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_sdk.feature</name>
-                <version>1.5.5.v200707311635-8422929533857-X</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_tests.feature</name>
-                <version>1.5.3.v200701251933------3YIAAYAgFQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature</name>
-                <version>1.5.5.v200707311635-PKiQdL4P86hHMCU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>1.5.5.v200707311635-PKiQdL4P86hHMCU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_userdoc.feature</name>
-                <version>1.5.3.v200701251933--0842282A44386A</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.tests.feature</name>
-                <version>1.5.4.v200704200440--X12DMMzwm2jPVW</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature</name>
-                <version>1.5.5.v200708090518--4hNDDiEnJWDdRQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>1.5.5.v200708090518--4hNDDiEnJWDdRQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_sdk.feature</name>
-                <version>1.5.5.v200708090518-842292_2A273_0B</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_tests.feature</name>
-                <version>1.5.4.v200704150136--87cMN_RYPtSpec</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature</name>
-                <version>1.5.5.v200708090518-zjf2UqDvH24Ditw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>1.5.5.v200708090518-zjf2UqDvH24Ditw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_userdoc.feature</name>
-                <version>1.5.3.v200701251933--1G955G5L9_7IAE</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature</name>
-                <version>1.5.5.v200708010505--4hNDDlDbFXJYRa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>1.5.5.v200708010505--4hNDDlDbFXJYRa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_sdk.feature</name>
-                <version>1.5.5.v200708010505-842292_232727-v</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_tests.feature</name>
-                <version>1.5.3.v200701251933</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature</name>
-                <version>1.5.5.v200708010505-hai7Hn8y95M5W3I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>1.5.5.v200708010505-hai7Hn8y95M5W3I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_userdoc.feature</name>
-                <version>1.5.3.v200701251933--2PD88P8XECCNKM</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature</name>
-                <version>1.5.5.v200708020450--3YIAAbAWGEFQHU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>1.5.5.v200708020450--3YIAAbAWGEFQHU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_sdk.feature</name>
-                <version>1.5.5.v200707311635-L2zO3Eg5URld5Cm</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_tests.feature</name>
-                <version>1.5.3.v200701251933--AXrVWZeaa1YD3a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature</name>
-                <version>1.5.5.v200707311635-zkiCfzO-IFUOjzR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>1.5.5.v200707311635-zkiCfzO-IFUOjzR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_userdoc.feature</name>
-                <version>1.5.3.v200701251933--3YIAAYAjJGDUPb</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests.feature</name>
-                <version>1.0.0.v200612102113</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j.feature</name>
-                <version>2.0.5.v200609140515--0842282_453764</version>
-            </entry>
-            <entry>
-                <name>org.wsdl4j.feature</name>
-                <version>1.4.0.v200606071500--0842292428384A</version>
-            </entry>
-        </featureData>
-        <bundleData>
-            <!-- Number of bundles: 464 -->
-
-            <entry>
-                <name>com.ibm.etools.emf.event</name>
-                <version>3.0.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu</name>
-                <version>3.4.5.20061213</version>
-            </entry>
-            <entry>
-                <name>com.ibm.icu.source</name>
-                <version>3.4.5.20061213</version>
-            </entry>
-            <entry>
-                <name>com.jcraft.jsch</name>
-                <version>0.1.28</version>
-            </entry>
-            <entry>
-                <name>org.apache.ant</name>
-                <version>1.6.5</version>
-            </entry>
-            <entry>
-                <name>org.apache.axis</name>
-                <version>1.3.0.v200608161946</version>
-            </entry>
-            <entry>
-                <name>org.apache.cactus</name>
-                <version>1.7.2.v200606181221</version>
-            </entry>
-            <entry>
-                <name>org.apache.commons_logging</name>
-                <version>1.0.4.v200608011657</version>
-            </entry>
-            <entry>
-                <name>org.apache.jakarta_log4j</name>
-                <version>1.2.8.v200607172048</version>
-            </entry>
-            <entry>
-                <name>org.apache.lucene</name>
-                <version>1.4.103.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.apache.wsil4j</name>
-                <version>1.0.0.v200608161946</version>
-            </entry>
-            <entry>
-                <name>org.apache.xerces</name>
-                <version>2.8.0.v200606131651</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.core</name>
-                <version>3.1.100.v20060531</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.optional.junit</name>
-                <version>3.2.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ant.ui</name>
-                <version>3.2.1.r321_v20060828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.compare</name>
-                <version>3.2.1.M20060711</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.boot</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.commands</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.contenttype</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.expressions</name>
-                <version>3.2.2.r322_v20070109a</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filebuffers</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.filesystem</name>
-                <version>1.0.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.jobs</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources</name>
-                <version>3.2.2.R32x_v20061218</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.resources.compatibility</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility</name>
-                <version>3.1.100.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility.auth</name>
-                <version>3.2.0.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.runtime.compatibility.registry</name>
-                <version>3.2.1.R32x_v20060907</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.core.variables</name>
-                <version>3.1.100.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.core</name>
-                <version>3.2.1.v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.debug.ui</name>
-                <version>3.2.2.r322_v20070202</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.draw2d.doc.isv</name>
-                <version>3.2.0.v20060626</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ant</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.cheatsheets</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ecore.ui</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.codegen.ui</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.common.ui</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.commonj.sdo</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.converter</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.doc</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.change.edit</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.edit</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.edit</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.sdo.source</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.ecore.xmi</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit</name>
-                <version>2.2.3.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.edit.ui</name>
-                <version>2.2.3.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.exporter</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer</name>
-                <version>2.2.2.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.ecore</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.java</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.importer.rose</name>
-                <version>2.2.3.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.ui</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-                <version>2.1.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.emf.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.common</name>
-                <version>3.2.0.v20060603</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.preferences</name>
-                <version>3.2.1.R32x_v20060717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.registry</name>
-                <version>3.2.1.R32x_v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.equinox.servlet.api</name>
-                <version>1.0.0.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.doc.isv</name>
-                <version>3.2.0.v20060626</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.gef.source</name>
-                <version>3.2.2.v20070208</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help</name>
-                <version>3.2.2.R322_v20061213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.appserver</name>
-                <version>3.1.100.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.base</name>
-                <version>3.2.2.R322_v20061207</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.ui</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.help.webapp</name>
-                <version>3.2.2.R322_v20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.core</name>
-                <version>3.2.1.R32x_v20060822-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.apt.ui</name>
-                <version>3.2.1.R32x_v20060822-2100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core</name>
-                <version>3.2.3.v_686_R32x</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.core.manipulation</name>
-                <version>1.0.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug</name>
-                <version>3.2.2.r322_v20070130</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.debug.ui</name>
-                <version>3.2.2.r322_v20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.isv</name>
-                <version>3.2.1.r322_v20070109</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.doc.user</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit</name>
-                <version>3.2.1.r321_v20060810</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit.runtime</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.junit4.runtime</name>
-                <version>1.0.1.r321_v20060905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.launching</name>
-                <version>3.2.2.r322_v20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.source</name>
-                <version>3.2.2.r322_v20070104-R4CR0Znkvtfjv9-</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jdt.ui</name>
-                <version>3.2.2.r322_v20070124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem</name>
-                <version>1.2.1.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.beaninfo</name>
-                <version>1.2.2.v20061027_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.proxy</name>
-                <version>1.2.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.sdk</name>
-                <version>1.2.0.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.source</name>
-                <version>1.2.4.v200704181020--6zXJK0L0SE3a95</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests</name>
-                <version>1.2.2.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.tests.source</name>
-                <version>1.2.1.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.ui</name>
-                <version>1.2.1.v20060918_M</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.util</name>
-                <version>1.2.1.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jem.workbench</name>
-                <version>1.2.4.v200704181020</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface</name>
-                <version>3.2.2.M20061214-1200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.databinding</name>
-                <version>1.0.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jface.text</name>
-                <version>3.2.2.r322_v20070104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst</name>
-                <version>1.0.1.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.controller</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.core</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.annotations.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.frameworks</name>
-                <version>1.1.4.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common.project.facet.core</name>
-                <version>1.1.0.v200608141517</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.common_core.feature.source</name>
-                <version>1.5.3.v200701251934--0842282_363739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.doc.isv</name>
-                <version>1.0.202.v200704162110</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ejb.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_core.feature.source</name>
-                <version>1.5.5.v200707311635--2PD88S8V_KASA8</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-                <version>1.5.5.v200707311635-pEBqMgr5s5Phpf6</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee</name>
-                <version>1.1.5.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core</name>
-                <version>1.1.54.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests</name>
-                <version>1.1.0.v200701311831</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.doc.user</name>
-                <version>1.0.203.v200609182036</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb</name>
-                <version>1.1.5.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-                <version>1.1.1.v200609070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-                <version>1.1.1.v200609141515</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.infopop</name>
-                <version>1.0.202.v200609150300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca</name>
-                <version>1.1.5.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.jca.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.navigator.ui</name>
-                <version>1.1.2.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests</name>
-                <version>1.1.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.tests.performance</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.ui</name>
-                <version>1.1.4.v200708072300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.web</name>
-                <version>1.1.4.v200708161900</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice</name>
-                <version>1.1.5.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.webservice.ui</name>
-                <version>1.1.4.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-                <version>1.1.1.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentassist.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.contentmodel.annotations</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.resolver</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.resolver.structureddocument</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.structureddocument</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.context.symbol</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.core.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.designtime</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.dev</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.doc.user</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.common</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.edit</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadata.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.metadataprocessors</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.taglibprocessing</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.test.util</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.ui.tests</name>
-                <version>0.5.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf.validation.el</name>
-                <version>0.5.0.v20060829</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsf_sdk.feature.source</name>
-                <version>0.5.1.v20060829-OJnpNuKYI7O7SAU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core</name>
-                <version>1.1.105.v200708090647</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.core.tests</name>
-                <version>1.0.3.v200708090647</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.tests.encoding</name>
-                <version>1.0.0.v200610030446</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui</name>
-                <version>1.1.101.v200708011901</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.infopop</name>
-                <version>1.0.2.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests</name>
-                <version>1.0.1.v200708012314</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-                <version>1.0.0.v200610030446</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core</name>
-                <version>1.0.106.v20070412</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.core.tests</name>
-                <version>1.0.102.v20061013</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.core</name>
-                <version>1.0.101.v200608301011</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jboss</name>
-                <version>1.5.2.v200702030302</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.jonas</name>
-                <version>1.5.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.oc4j</name>
-                <version>1.5.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.ui</name>
-                <version>1.0.100.v200608221634</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.generic.weblogic</name>
-                <version>1.5.1.v200609141504</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.installable</name>
-                <version>1.5.2.v20061018</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core</name>
-                <version>1.0.104.v20070202b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.core.tests</name>
-                <version>1.0.100.v20060817</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.tests.performance</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui</name>
-                <version>1.0.103.v20060906</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui</name>
-                <version>1.0.104.v20070401b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.infopop</name>
-                <version>1.0.2.v200605040115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server.websphere.core</name>
-                <version>1.0.101.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_adapters.feature.source</name>
-                <version>1.5.3.v200701251934--87cMN9O2Ru4WKU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_core.feature.source</name>
-                <version>1.5.4.v200704150241--2PD88Q8PCH7787</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.server_ui.feature.source</name>
-                <version>1.5.4.v200704150241-PGIEVCZEZ2IEO8I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui</name>
-                <version>1.1.2.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.servlet.ui.infopop</name>
-                <version>1.0.201.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.sample</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.validation.test</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_core.feature.source</name>
-                <version>1.5.5.v200707311635--87cMNBNGQrRqXY</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.web_ui.feature.source</name>
-                <version>1.5.5.v200708020120--2PD88Q8T9FAIAH</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws</name>
-                <version>1.0.105.v200707251734</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.core</name>
-                <version>1.0.104.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-                <version>1.0.103.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.creation.ui</name>
-                <version>1.0.105.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.infopop</name>
-                <version>1.0.201.v200605152241</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption</name>
-                <version>1.0.105.v200707132051</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.infopop</name>
-                <version>1.0.202.v20070131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui</name>
-                <version>1.0.106.v200707251734</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-                <version>1.0.202.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-                <version>1.0.0.v200606130315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.creation.ui</name>
-                <version>1.0.105.v200704041932</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.infopop</name>
-                <version>1.0.201.v200605162034</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests</name>
-                <version>1.0.101</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.tests.performance</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.uddiregistry</name>
-                <version>1.0.100.v200608221651</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.jst.ws.ui</name>
-                <version>1.0.102.v200704041932</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.core.refactoring</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ltk.ui.refactoring</name>
-                <version>3.2.2.r322_v20070124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi</name>
-                <version>3.2.2.R32x_v20070118</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.services</name>
-                <version>3.1.100.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.osgi.util</name>
-                <version>3.1.100.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde</name>
-                <version>3.2.1.v20060810-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.build</name>
-                <version>3.2.1.r321_v20060823</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.core</name>
-                <version>3.2.1.v20060915-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.doc.user</name>
-                <version>3.2.1.v20060816-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.junit.runtime</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.runtime</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.source</name>
-                <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.pde.ui</name>
-                <version>3.2.1.v20060816-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.perfmsr.core</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform</name>
-                <version>3.2.2.r322_v20070117b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.isv</name>
-                <version>3.2.2.R32x_v20070115</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.doc.user</name>
-                <version>3.2.1.R32x_v200608101155</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-                <version>3.2.2.r322_v20070119-RQghndJN8IM0MsK</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-                <version>3.2.2.r322_v20070104-8pcviKVqd8J7C1U</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.sdk</name>
-                <version>3.2.2.r322_v20070212</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.search</name>
-                <version>3.2.1.r321_v20060726</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt</name>
-                <version>3.2.2.v3236b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.swt.gtk.linux.ppc</name>
-                <version>3.2.2.v3236</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.core</name>
-                <version>3.2.2.M20061114</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.core</name>
-                <version>3.2.2.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh</name>
-                <version>3.2.1.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ssh2</name>
-                <version>3.2.1.M20061205</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.cvs.ui</name>
-                <version>3.2.2.M20061121</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.team.ui</name>
-                <version>3.2.1.M200608151725</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.performance.win32</name>
-                <version>3.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.test.source</name>
-                <version>3.2.0.v20061124_r32x</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.text</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.tomcat</name>
-                <version>4.1.130.v20060601</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui</name>
-                <version>3.2.1.M20061108</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.browser</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.cheatsheets</name>
-                <version>3.2.1.R321_v20060720</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.console</name>
-                <version>3.1.100.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.editors</name>
-                <version>3.2.1.r321_v20060721</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.externaltools</name>
-                <version>3.1.101.r321_v20060802</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.forms</name>
-                <version>3.2.0.v20060602</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.ide</name>
-                <version>3.2.1.M20060915-1030</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro</name>
-                <version>3.2.2.R322_v20061214</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.intro.universal</name>
-                <version>3.2.1.R321_v20060905</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator</name>
-                <version>3.2.1.M20060913-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.navigator.resources</name>
-                <version>3.2.1.M20060906-0800b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.presentations.r21</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views</name>
-                <version>3.2.1.M20060906-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.views.properties.tabbed</name>
-                <version>3.2.1.M20060830-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench</name>
-                <version>3.2.2.M20070119-0800</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.compatibility</name>
-                <version>3.2.0.I20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.ui.workbench.texteditor</name>
-                <version>3.2.0.v20060605-1400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.configurator</name>
-                <version>3.2.2.R32x_v20070111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core</name>
-                <version>3.2.3.R32x_v20070118</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.core.linux</name>
-                <version>3.2.0.v20060605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.scheduler</name>
-                <version>3.2.2.R32x_v20061214</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.update.ui</name>
-                <version>3.2.2.R32x_v20070111</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst</name>
-                <version>1.0.1.v200605040144</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env</name>
-                <version>1.0.104.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.core</name>
-                <version>1.0.103.v200704200400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.doc.user</name>
-                <version>1.5.0.v20060831345</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.infopop</name>
-                <version>1.0.2.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.command.env.ui</name>
-                <version>1.0.103.v200703212342</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.core</name>
-                <version>1.1.100.v200608220540</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.emf</name>
-                <version>1.1.4.v200708072300</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.emfworkbench.integration</name>
-                <version>1.1.5.v200708090518</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.environment</name>
-                <version>1.0.100.v200608251934</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks</name>
-                <version>1.1.4.v200704191600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.frameworks.ui</name>
-                <version>1.1.2.v200702071605</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.infopop</name>
-                <version>1.0.1.v200605270041</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.modulecore</name>
-                <version>1.1.54.v200707260530</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.core</name>
-                <version>1.1.2.v200705311507</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.core.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.project.facet.ui</name>
-                <version>1.1.2.v200701192142</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets</name>
-                <version>1.1.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.snippets.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.collector</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.tests.ui</name>
-                <version>1.1.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui</name>
-                <version>1.1.101.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.ui.properties</name>
-                <version>1.0.101.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common.uriresolver</name>
-                <version>1.1.102.v200706271908</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_core.feature.source</name>
-                <version>1.5.5.v200708010505--AXrVWgWbmEdPjw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.common_ui.feature.source</name>
-                <version>1.5.5.v200707311635-qKHiZIRPOkpEay9</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core</name>
-                <version>1.1.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.core.tests</name>
-                <version>1.0.1.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.tests.encoding</name>
-                <version>1.0.100.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui</name>
-                <version>1.0.101.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.css.ui.tests.performance</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.connection.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.datatools.server.ui.doc.user</name>
-                <version>1.0.203.v200608310305</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.isv</name>
-                <version>1.0.204.v200704162110</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.doc.user</name>
-                <version>1.0.203.v200608231821</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.core</name>
-                <version>1.1.1.v200609210600</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui</name>
-                <version>1.0.102.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtd.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.dtdeditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core</name>
-                <version>1.1.2.v200612200820</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.core.tests</name>
-                <version>1.0.1.v200704162312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.standard.dtds</name>
-                <version>1.0.1.v200608220315</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.tests.encoding</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui</name>
-                <version>1.0.102.v200702021750</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.html.ui.tests.performance</name>
-                <version>1.0.0.v200610030432</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache</name>
-                <version>1.0.103.v200612070353</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.cache.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.core</name>
-                <version>1.0.103.v20060809</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui</name>
-                <version>1.0.103.v20060809</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.proxy</name>
-                <version>1.0.101.v200702021949</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.internet.proxy.infopop</name>
-                <version>1.0.0.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.core</name>
-                <version>1.0.1.v200609140550</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui</name>
-                <version>1.0.2.v200701250230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.javascript.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.connection.ui</name>
-                <version>1.0.109.v200707271817</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.core</name>
-                <version>1.1.128.v200708081848</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.core.ui</name>
-                <version>1.0.112.v200708071732</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.data.core</name>
-                <version>1.0.109.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.data.ui</name>
-                <version>1.0.112.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.db2.iseries</name>
-                <version>1.0.110.v200708081840</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-                <version>1.0.111.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.db2.zseries</name>
-                <version>1.0.114.v200708161736</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-                <version>1.0.105.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.generic.jdbc</name>
-                <version>1.0.102.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-                <version>1.0.109.v200708081759</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-                <version>1.0.102.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-                <version>1.0.106.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-                <version>1.0.107.v200708081828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-                <version>1.0.107.v200708081749</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.derby</name>
-                <version>1.0.109.v200707271739</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.derby.ui</name>
-                <version>1.0.104.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui</name>
-                <version>1.0.105.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-                <version>1.0.104.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-                <version>1.0.106.v200708081828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.sql</name>
-                <version>1.0.107.v200708071826</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.models.sql.edit</name>
-                <version>1.0.105.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.mysql</name>
-                <version>1.0.105.v200703122014</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.outputview</name>
-                <version>1.0.108.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.outputview.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.extensions</name>
-                <version>1.0.106.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.ui</name>
-                <version>1.0.116.v200708081828</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqleditor</name>
-                <version>1.0.108.v200706050104</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-                <version>1.0.0.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-                <version>1.0.103.v200612130213</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.tests.dbdefinition</name>
-                <version>1.0.1.v200702062139</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb.tests.performance</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-                <version>1.5.5.v200707310733--Cq0bd1d6h2psH4</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_core.feature.source</name>
-                <version>1.5.5.v200707310733--3YIAAcAeAcDZIa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.rdb_ui.feature.source</name>
-                <version>1.5.5.v200707310733-FTMk5TyVyjcqsoh</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core</name>
-                <version>1.0.108.v200708070407</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.core.tests</name>
-                <version>1.0.100.v20060824</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.tests.performance</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui</name>
-                <version>1.0.107.v20070530b</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.infopop</name>
-                <version>1.0.3.v200609140551</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server.ui.tests</name>
-                <version>1.0.100.v20060814</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_core.feature.source</name>
-                <version>1.5.5.v200707311635--1G955H5K5K2629</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.server_ui.feature.source</name>
-                <version>1.5.5.v200707311635-PKiQdL4P86hHMCU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sqleditor.doc.user</name>
-                <version>1.0.2.v200608310308</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core</name>
-                <version>1.1.102.v200708012314</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.core.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.doc.user</name>
-                <version>1.0.203.v200608300230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui</name>
-                <version>1.0.203.v200708012314</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.infopop</name>
-                <version>1.0.101.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.sse.ui.tests.performance</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation</name>
-                <version>1.1.5.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.infopop</name>
-                <version>1.0.201.v200606130645</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.validation.ui</name>
-                <version>1.1.3.v200708011330</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web</name>
-                <version>1.1.3.v200708090518</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui</name>
-                <version>1.1.1.v200609132124</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web.ui.infopop</name>
-                <version>1.0.201.v200605070230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_core.feature.source</name>
-                <version>1.5.5.v200708090518--4hNDDiEnJWDdRQ</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.web_ui.feature.source</name>
-                <version>1.5.5.v200708090518-zjf2UqDvH24Ditw</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.webtools.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws</name>
-                <version>1.0.102.v200702021949</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.explorer</name>
-                <version>1.0.105.v200704182024</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.infopop</name>
-                <version>1.0.202.v20070131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.parser</name>
-                <version>1.0.101.v200609062128</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.tests</name>
-                <version>1.0.100</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws.ui</name>
-                <version>1.0.104.v200707181927</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_core.feature.source</name>
-                <version>1.5.5.v200708010505--4hNDDlDbFXJYRa</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.ws_ui.feature.source</name>
-                <version>1.5.5.v200708010505-hai7Hn8y95M5W3I</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl</name>
-                <version>1.0.105.v200707191400</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.performance</name>
-                <version>1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.tests.ui</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui</name>
-                <version>1.1.102.v200704192000</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation</name>
-                <version>1.1.102.v200704111356</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsdl.validation.tests</name>
-                <version>1.0.203</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi</name>
-                <version>1.0.104.v200702021430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui</name>
-                <version>1.0.101.v20060850312</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.wsi.ui.doc.user</name>
-                <version>1.0.202.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core</name>
-                <version>1.1.101.v200704111417</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.core.tests</name>
-                <version>1.0.0.v200610030650</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.tests.encoding</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui</name>
-                <version>1.0.201.v200702021717</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.infopop</name>
-                <version>1.0.1.v200605040131</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.ui.tests.performance</name>
-                <version>1.0.0.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml.validation.tests</name>
-                <version>1.0.202.v200701251230</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_core.feature.source</name>
-                <version>1.5.5.v200708020450--3YIAAbAWGEFQHU</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xml_ui.feature.source</name>
-                <version>1.5.5.v200707311635-zkiCfzO-IFUOjzR</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xmleditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.core</name>
-                <version>1.1.101.v200701312359</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.tests.performance</name>
-                <version>1.0.1.v200704211535</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.ui</name>
-                <version>1.1.104.v200708160440</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsd.validation.tests</name>
-                <version>1.0.201.v200610030430</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wst.xsdeditor.doc.user</name>
-                <version>1.0.203.v200609221649</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.wtp.releng.tests</name>
-                <version>1.0.0</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.cheatsheets</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.doc</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.exporter</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.ecore.importer</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.edit</name>
-                <version>2.2.1.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.editor</name>
-                <version>2.2.0.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.eclipse.xsd.source</name>
-                <version>2.2.4.v200708142200</version>
-            </entry>
-            <entry>
-                <name>org.junit</name>
-                <version>3.8.1</version>
-            </entry>
-            <entry>
-                <name>org.junit4</name>
-                <version>4.1.0.1</version>
-            </entry>
-            <entry>
-                <name>org.uddi4j</name>
-                <version>2.0.5.v200608231542</version>
-            </entry>
-            <entry>
-                <name>org.wsdl4j</name>
-                <version>1.4.0.v200702061629</version>
-            </entry>
-        </bundleData>
-    </referenceData>
-</versioningData>
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.1.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.1.xml
deleted file mode 100644
index d4ada9d..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.1.xml
+++ /dev/null
@@ -1,2933 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<versioningData>
-<referenceData id="2.0.1">
-<featureData>
-<!-- Number of features: 154 -->
-
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-  <version>1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdbc.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sdk.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.data.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqldevtools.results.feature</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.sdk</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.source</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.sdk</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.sdk</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature</name>
-  <version>1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.sdk</name>
-  <version>1.0.1.v200709140000-2-18-44ADEDBTefJM13HAObNFLUa</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests</name>
-  <version>1.0.1.v200709140000-1-0301</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.tests.feature</name>
-  <version>1.0.1.v200709130000-2-0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt_sdk.feature</name>
-  <version>1.0.1.v200709130000-2-184B28MbcGJ02G_NaMEKTZRDDz</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_sdk.feature</name>
-  <version>2.0.0.v200706041905-4--7z53A46_4E5I5A38598x42292</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.doc.isv.feature</name>
-  <version>2.0.1.v200709111122-1-Ai7w3118193_1724</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature</name>
-  <version>2.0.1.v200709130705-42Aq_kE77Y7gBHDE77</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>2.0.1.v200709130705-42Aq_kE77Y7gBHDE77</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_sdk.feature</name>
-  <version>2.0.1.v200709110523-4-184g_COv2Ia9KaSOEb9UKHMEEn</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_tests.feature</name>
-  <version>2.0.1.v200707111738-773Dr9oA55P5Q8_8NER</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature</name>
-  <version>2.0.1.v200709130705-7b7_ErsEU6AXKM4z-H2OSyjeRYcY</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>2.0.1.v200709130705-7b7_ErsEU6AXKM4z-H2OSyjeRYcY</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-  <version>2.0.0.v200706041905-5-ELQAgI99h9ZJAGSOP</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.sdk</name>
-  <version>2.0.1.v200709110510-7F-788fNWpoJCFladAFBfkeXa3lR</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature</name>
-  <version>2.0.1.v200709110550-787KE8gDUUEF6F_KxpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>2.0.1.v200709110550-787KE8gDUUEF6F_KxpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.sdk.feature</name>
-  <version>2.0.1.v200709110550-4-184C_NOAsHYXMN9HJW6AZQ8EVV</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature</name>
-  <version>2.0.1.v200709110550-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>2.0.1.v200709110550-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_sdk.feature</name>
-  <version>2.0.1.v200709110550-4-184B2FbC8NbHt0lMfoT65ypqsi</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_tests.feature</name>
-  <version>2.0.1.v200709110550-6-EFCAgI99h9XN9IIIX</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature</name>
-  <version>2.0.1.v200709110550-77-CR9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110550-77-CR9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_userdoc.feature</name>
-  <version>2.0.1.v200709110550-1-Ah7w311819272_4_</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.tests</name>
-  <version>2.0.1.v200709120100-77-37WRRyCfppSJIsbs37bySgTU</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature</name>
-  <version>2.0.200.v200709122200-7Q7AE7BEHhHegvh89ftNyC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>2.0.200.v200709122200-7Q7AE7BEHhHegvh89ftNyC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_sdk.feature</name>
-  <version>2.0.1.v200709110605-5-290K6HhI6-VdIUPh49p_dAU4bI</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_tests.feature</name>
-  <version>2.0.1.v200709110605-7F4E_AED-z0UWCWUoKQfST</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature</name>
-  <version>2.0.1.v200709110605-7B1COCkuNa_RHevwkwAwi9_guOz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>2.0.1.v200709110605-7B1COCkuNa_RHevwkwAwi9_guOz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_userdoc.feature</name>
-  <version>2.0.1.v200709110605-1-07w31181_23</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-  <version>1.0.1.v200709110605-2-18045ByDG9T8eAI0403_pB66Q6</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.3.1.R33x_r20070802-7M7J78_mu1mnlRa7A4Ns52XeZ6D0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature</name>
-  <version>2.0.1.v200709110622-7C78EKGE_EkMNfNleyerlz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>2.0.1.v200709110622-7C78EKGE_EkMNfNleyerlz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_sdk.feature</name>
-  <version>2.0.1.v200709110622-4-184H8HR5QCVycasku6-5r2Ho_L</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_tests.feature</name>
-  <version>2.0.1.v200709110622-7848a_kE77Y7UEAAPEI</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature</name>
-  <version>2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-  <version>2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.isv.feature</name>
-  <version>2.0.1.v200709120100-1-Al7w3118193_2361</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sdk</name>
-  <version>2.0.1.v200709110510-7E-788aNUivSRfjWLEcbxlUXG72x</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_adapters.feature</name>
-  <version>2.0.1.v200709110637-4-0_kE77Y7TGAoAAJ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature</name>
-  <version>2.0.1.v200709110637-2-CM8s733G3G5Jc</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>2.0.1.v200709110637-2-CM8s733G3G5Jc</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_sdk.feature</name>
-  <version>2.0.1.v200709110637-4-184B2FeC5GbFt-nJVGCjqaeJeM</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_tests.feature</name>
-  <version>2.0.1.v200709110637-5-EAUAgI99h9YL_EEEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature</name>
-  <version>2.0.1.v200709110637-77-CU9vCXCjvdHL7ATINi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110637-77-CU9vCXCjvdHL7ATINi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_userdoc.feature</name>
-  <version>2.0.1.v200709110637-1-Aj7w311816413336</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.tests.feature</name>
-  <version>2.0.1.v200709111138-7_-47eXdHwO_NFj1G3APvz0AKqq4</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature</name>
-  <version>2.0.1.v200709111200-42CK_kE77Y7ZBNCQGG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>2.0.1.v200709111200-42CK_kE77Y7ZBNCQGG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_sdk.feature</name>
-  <version>2.0.1.v200709111200-4-184F3HKlOmajLMvLjz-Dz-Sok7</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_tests.feature</name>
-  <version>2.0.1.v200709111200-78-EC4DUUEF6ExXURcZn</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature</name>
-  <version>2.0.1.v200709111200-7A0EAiCiWfGJsJZlAhE3TMaQW</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>2.0.1.v200709111200-7A0EAiCiWfGJsJZlAhE3TMaQW</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_userdoc.feature</name>
-  <version>2.0.1.v200709111200-20Ag8s733G3C93777C</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature</name>
-  <version>2.0.1.v200709051445-7E7KEB0EC3wSU4Tuh9iKz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>2.0.1.v200709051445-7E7KEB0EC3wSU4Tuh9iKz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_sdk.feature</name>
-  <version>2.0.1.v200709051445-4-184D4HMIMxncVEJ-9mo4aURBKk</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_tests.feature</name>
-  <version>2.0.1.v200709120100-6-CN9oA55P5Q8B8B8M</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature</name>
-  <version>2.0.1.v200709051445-791ECFAufYO8Az-ajoKBCFe8tVjL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>2.0.1.v200709051445-791ECFAufYO8Az-ajoKBCFe8tVjL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_userdoc.feature</name>
-  <version>2.0.0.v200706041905-34Ds9oA55P5L_97C9J</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature</name>
-  <version>2.0.1.v200709110650-787BE_1CYQCCz-CvRQLQSV</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>2.0.1.v200709110650-787BE_1CYQCCz-CvRQLQSV</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_sdk.feature</name>
-  <version>2.0.1.v200709110650-4-184F4HMJOrffu53dy3_BT7O_0r</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_tests.feature</name>
-  <version>2.0.1.v200709110650-7A-EN3E9IgKLWLHhdbz0p3</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature</name>
-  <version>2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_userdoc.feature</name>
-  <version>2.0.1.v200709110650-4-EGk_kE77Y7QI7EEEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests.feature</name>
-  <version>1.0.1.v200709120100-6--7w311817222862</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.sdk</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 576 -->
-
-<entry>
-  <name>com.ibm.icu</name>
-  <version>3.6.1.v20070906</version>
-</entry>
-<entry>
-  <name>com.ibm.icu.source</name>
-  <version>3.6.1.v20070906</version>
-</entry>
-<entry>
-  <name>com.jcraft.jsch</name>
-  <version>0.1.31</version>
-</entry>
-<entry>
-  <name>javax.servlet</name>
-  <version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-  <name>javax.servlet.jsp</name>
-  <version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-  <name>javax.servlet.jsp.source</name>
-  <version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-  <name>javax.servlet.source</name>
-  <version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-  <name>javax.wsdl</name>
-  <version>1.4.0.v200706111329</version>
-</entry>
-<entry>
-  <name>javax.wsdl15</name>
-  <version>1.5.1.v200705290614</version>
-</entry>
-<entry>
-  <name>javax.xml.rpc</name>
-  <version>1.1.0.v200706111329</version>
-</entry>
-<entry>
-  <name>javax.xml.soap</name>
-  <version>1.2.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.ant</name>
-  <version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-  <name>org.apache.ant.source</name>
-  <version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-  <name>org.apache.axis</name>
-  <version>1.4.0.v200706191647</version>
-</entry>
-<entry>
-  <name>org.apache.cactus</name>
-  <version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-  <name>org.apache.commons.discovery</name>
-  <version>0.2.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el</name>
-  <version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.el.source</name>
-  <version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging</name>
-  <version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.commons.logging.source</name>
-  <version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.jasper</name>
-  <version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.jasper.source</name>
-  <version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.log4j</name>
-  <version>1.2.13.v200706111418</version>
-</entry>
-<entry>
-  <name>org.apache.lucene</name>
-  <version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.analysis</name>
-  <version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.analysis.source</name>
-  <version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-  <name>org.apache.lucene.source</name>
-  <version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-  <name>org.apache.wsil4j</name>
-  <version>1.0.0.v200706111329</version>
-</entry>
-<entry>
-  <name>org.apache.xerces</name>
-  <version>2.8.0.v200705301630</version>
-</entry>
-<entry>
-  <name>org.apache.xml.resolver</name>
-  <version>1.1.0.v200705310020</version>
-</entry>
-<entry>
-  <name>org.dbunit</name>
-  <version>2.2.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.core</name>
-  <version>3.1.200.v20070522</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.optional.junit</name>
-  <version>3.2.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.ant.ui</name>
-  <version>3.2.200.v20070825_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.compare</name>
-  <version>3.3.1.r33x_20070906</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.boot</name>
-  <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.commands</name>
-  <version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.contenttype</name>
-  <version>3.2.100.v20070319</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding</name>
-  <version>1.0.1.M20070822-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.databinding.beans</name>
-  <version>1.0.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.expressions</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filebuffers</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem</name>
-  <version>1.1.0.v20070606</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.filesystem.linux.ppc</name>
-  <version>1.0.100.v20070430</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.jobs</name>
-  <version>3.3.1.R33x_v20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.net</name>
-  <version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources</name>
-  <version>3.3.0.v20070604</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.resources.compatibility</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime</name>
-  <version>3.3.100.v20070530</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility</name>
-  <version>3.1.200.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.auth</name>
-  <version>3.2.100.v20070502</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.runtime.compatibility.registry</name>
-  <version>3.2.100.v20070316</version>
-</entry>
-<entry>
-  <name>org.eclipse.core.variables</name>
-  <version>3.2.0.v20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs</name>
-  <version>1.0.0.v20070606</version>
-</entry>
-<entry>
-  <name>org.eclipse.cvs.source</name>
-  <version>1.0.1.R33x_r20070802-7C79_9_KKG-mDM9e3H5D</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity</name>
-  <version>1.0.1.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-  <version>1.0.1.200708201</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.dbdefinition.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.derby.ui</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda</name>
-  <version>3.1.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.consumer</name>
-  <version>3.1.1.200708221</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design</name>
-  <version>3.0.5.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-  <version>3.0.5.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-  <version>3.0.4.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-  <version>3.0.5.200707301</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.profile</name>
-  <version>3.0.5.200708131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-  <version>3.0.5.200707301</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core</name>
-  <version>1.0.1.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-  <version>1.0.1.200708201</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.fe.ui</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.fe.ui.actions</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui</name>
-  <version>1.0.1.200708231</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.connectivity.ui.dse</name>
-  <version>1.0.1.200709171</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.isv</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.doc.user</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.finfo</name>
-  <version>1.5.1.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.hsqldb</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.iseries.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.luw.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.db2.zseries.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.ibm.informix.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.classpath</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.jdt.dbunit</name>
-  <version>1.0.0.200706072</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.msft.sqlserver.profile</name>
-  <version>1.0.1.200709041</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-  <version>1.0.1.200709181</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.mysql.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws</name>
-  <version>1.0.1.200709111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-  <version>1.0.1.200709111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml</name>
-  <version>1.0.2.200709101</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-  <version>1.0.2.200709071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.oracle.profile</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.postgresql.profile</name>
-  <version>1.0.1.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase</name>
-  <version>1.0.1.200707131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.enablement.sybase.ase.profile</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.help</name>
-  <version>1.5.0.200706181</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.intro</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.lpg</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.dbdefinition</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.edit</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.oda.cshelp</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.source</name>
-  <version>1.5.1.200709211</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.common.ui</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.core</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.data.ui</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.derby</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.db.generic</name>
-  <version>1.0.0.200706131</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.debugger.core</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.editor.core</name>
-  <version>1.0.0.200708141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-  <version>1.0.0.200706161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-  <version>1.0.0.200706161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-  <version>1.0.0.200706162</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-  <version>1.0.0.200706151</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.plan</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.result</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.routineeditor</name>
-  <version>1.0.0.200708161</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sql</name>
-  <version>1.0.0.200706111</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqleditor</name>
-  <version>1.0.0.200709061</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-  <version>1.0.0.200709141</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.datatools.sqltools.tablewizard</name>
-  <version>1.0.0.200706071</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.core</name>
-  <version>3.3.1.v20070731_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.debug.ui</name>
-  <version>3.3.1.v20070731_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.draw2d.doc.isv</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ant</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.cheatsheets</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ecore.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.codegen.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.common.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.commonj.sdo</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.converter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.change.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.editor</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.sdo.source</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.ecore.xmi</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.edit.ui</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.exporter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.ecore</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.java</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.importer.rose</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.ui</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.emf.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.app</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.common</name>
-  <version>3.3.0.v20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.jetty</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.registry</name>
-  <version>1.0.0.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.http.servlet</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper</name>
-  <version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.jsp.jasper.registry</name>
-  <version>1.0.0.v20070607</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-  <version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.preferences</name>
-  <version>3.2.100.v20070522</version>
-</entry>
-<entry>
-  <name>org.eclipse.equinox.registry</name>
-  <version>3.3.1.R33x_v20070802</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef</name>
-  <version>3.2.101.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.doc.isv</name>
-  <version>3.2.100.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.examples.ui.pde</name>
-  <version>3.3.0.v20070529</version>
-</entry>
-<entry>
-  <name>org.eclipse.gef.source</name>
-  <version>3.3.1.v20070814</version>
-</entry>
-<entry>
-  <name>org.eclipse.help</name>
-  <version>3.3.1.v20070726_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.appserver</name>
-  <version>3.1.200.v20070510</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.base</name>
-  <version>3.3.1.v20070813_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.ui</name>
-  <version>3.3.1.v20070726_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.help.webapp</name>
-  <version>3.3.1.v20070823_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt</name>
-  <version>3.3.0.v20070607-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.core</name>
-  <version>3.3.1.R33x_v20070831-0435</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.pluggable.core</name>
-  <version>1.0.1.R33x_v20070831-0435</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.apt.ui</name>
-  <version>3.3.1.R33x_v20070801-1930</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.apt</name>
-  <version>1.0.1.R33x_v20070831-0435</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.compiler.tool</name>
-  <version>1.0.1.v_780_R33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core</name>
-  <version>3.3.1.v_780_R33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.core.manipulation</name>
-  <version>1.1.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug</name>
-  <version>3.3.1.v20070719_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.debug.ui</name>
-  <version>3.2.101.v20070718_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.isv</name>
-  <version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.doc.user</name>
-  <version>3.3.1.r331_v20070912a</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit.runtime</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.junit4.runtime</name>
-  <version>1.0.100.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.launching</name>
-  <version>3.3.1.v20070808_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.source</name>
-  <version>3.3.1.r331_v20070629-7o7jE72EDlXAbqAcnbmyg1rf8RIL</version>
-</entry>
-<entry>
-  <name>org.eclipse.jdt.ui</name>
-  <version>3.3.1.r331_v20070906</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem</name>
-  <version>2.0.100.v200709051030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.beaninfo</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.proxy</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.tests</name>
-  <version>1.2.3.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.ui</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.util</name>
-  <version>2.0.1.v200709051030</version>
-</entry>
-<entry>
-  <name>org.eclipse.jem.workbench</name>
-  <version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface</name>
-  <version>3.3.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.databinding</name>
-  <version>1.1.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jface.text</name>
-  <version>3.3.1.r331_v20070629</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt</name>
-  <version>1.0.1.v200709140000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core</name>
-  <version>1.0.1.v200709180000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.core.tests</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db</name>
-  <version>1.0.1.v200709100000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.db.ui</name>
-  <version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.doc.user</name>
-  <version>1.0.1.v200709120000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.feature.source</name>
-  <version>1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.gen</name>
-  <version>1.0.1.v200709100000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.ui</name>
-  <version>1.0.1.v200709100000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility</name>
-  <version>1.0.1.v200709140000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jpt.utility.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.core</name>
-  <version>1.0.0.I20070426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jsch.ui</name>
-  <version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst</name>
-  <version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.controller</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.core</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.annotations.ui</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.frameworks</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common.project.facet.core</name>
-  <version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.common_core.feature.source</name>
-  <version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.doc.isv</name>
-  <version>1.0.302.v200708290613</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ejb.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_core.feature.source</name>
-  <version>2.0.1.v200709130705-42Aq_kE77Y7gBHDE77</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-  <version>2.0.1.v200709130705-7b7_ErsEU6AXKM4z-H2OSyjeRYcY</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee</name>
-  <version>1.1.105.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core</name>
-  <version>1.1.103.v200709191000</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests</name>
-  <version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.core.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-  <version>1.1.2.v200706191638</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-  <version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.jca.ui</name>
-  <version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.navigator.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.tests.performance</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.web</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.webservice.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-  <version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee</name>
-  <version>1.0.1.v200709251200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ejb</name>
-  <version>1.0.1.v200709251200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.ui</name>
-  <version>1.0.1.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jee.web</name>
-  <version>1.0.1.v200709251200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.common.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.contentassist.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.context.symbol.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core</name>
-  <version>1.0.1.v20070921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.core.tests</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.designtime.tests</name>
-  <version>1.0.1.v20070921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.dev</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.doc.user</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.facesconfig.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadata.tests</name>
-  <version>1.0.1.v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.standard.tagsupport</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.test.util</name>
-  <version>1.0.1.v20070918</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsf.ui.tests</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core</name>
-  <version>1.2.1.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.core.tests</name>
-  <version>1.0.101.v200709062330</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui</name>
-  <version>1.1.201.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests</name>
-  <version>1.0.101.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.jsp.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.pagedesigner.jsp.core</name>
-  <version>1.0.1.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core</name>
-  <version>1.0.205.v20070829b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.core.tests</name>
-  <version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.core</name>
-  <version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jboss</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.jonas</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.oc4j</name>
-  <version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.tests</name>
-  <version>1.0.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.generic.ui</name>
-  <version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.installable</name>
-  <version>1.5.102.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.preview.adapter</name>
-  <version>1.0.1.v20070814b</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core</name>
-  <version>1.1.1.v20070827</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.core.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.tests.performance</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui</name>
-  <version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.tomcat.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui</name>
-  <version>1.0.203.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.doc.user</name>
-  <version>1.0.301.v200708161939</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server.websphere.core</name>
-  <version>1.0.201.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_adapters.feature.source</name>
-  <version>2.0.1.v200709110550-787KE8gDUUEF6F_KxpHEQ</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_core.feature.source</name>
-  <version>2.0.1.v200709110550-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110550-77-CR9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.tests</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.servlet.ui.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.standard.schemas</name>
-  <version>1.0.0.v200706221355</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.sample</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.validation.test</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_core.feature.source</name>
-  <version>2.0.200.v200709122200-7Q7AE7BEHhHegvh89ftNyC</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.web_ui.feature.source</name>
-  <version>2.0.1.v200709110605-7B1COCkuNa_RHevwkwAwi9_guOz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.webpageeditor.feature.source</name>
-  <version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws</name>
-  <version>1.0.204.v200707251745</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core</name>
-  <version>1.0.204.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.core.tests</name>
-  <version>1.0.101.v200707111738</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-  <version>1.0.203.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.creation.ui</name>
-  <version>1.0.205.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.infopop</name>
-  <version>1.0.203.v200708222303</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-  <version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.core</name>
-  <version>1.0.1.v200708241921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-  <version>1.0.1.v200709121418</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.core</name>
-  <version>1.0.1.v200709191532</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.core</name>
-  <version>1.0.1.v200708241921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.creation.ui</name>
-  <version>1.0.1.v200708241921</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.axis2.ui</name>
-  <version>1.0.1.v200708282350</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption</name>
-  <version>1.0.203.v200705311743</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui</name>
-  <version>1.0.205.v200708202218</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-  <version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-  <version>1.0.100.v200706030600</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.creation.ui</name>
-  <version>1.0.205.v200708151945</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.infopop</name>
-  <version>1.0.203.v200709190403</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests</name>
-  <version>1.0.201.v200707111738</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.tests.performance</name>
-  <version>1.0.201.v200708131547</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.uddiregistry</name>
-  <version>1.0.200.v200705311743</version>
-</entry>
-<entry>
-  <name>org.eclipse.jst.ws.ui</name>
-  <version>1.0.202.v200708202218</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.core.refactoring</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.ltk.ui.refactoring</name>
-  <version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi</name>
-  <version>3.3.1.R33x_v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.services</name>
-  <version>3.1.200.v20070605</version>
-</entry>
-<entry>
-  <name>org.eclipse.osgi.util</name>
-  <version>3.1.200.v20070605</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde</name>
-  <version>3.3.1.R33x_r20070920</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.build</name>
-  <version>3.3.1.v20070828</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.core</name>
-  <version>3.3.1.v20070912-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.doc.user</name>
-  <version>3.3.0.v20070614-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.junit.runtime</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.runtime</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.source</name>
-  <version>3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui</name>
-  <version>3.3.1.v20070912-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.pde.ui.templates</name>
-  <version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform</name>
-  <version>3.3.1.M20070725</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.isv</name>
-  <version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.doc.user</name>
-  <version>3.3.0.M20070913-1400</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.platform.source.linux.gtk.ppc</name>
-  <version>3.3.1.R33x_r20070911-_19UEkpF-B7Uh2hKy75y</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp</name>
-  <version>3.2.0.v20070612</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-  <version>3.3.1.R33x_r20070802-8y8eE8sEV3Fz0z0GlHJrXvTAUS</version>
-</entry>
-<entry>
-  <name>org.eclipse.sdk</name>
-  <version>3.3.1.r331_v20070904</version>
-</entry>
-<entry>
-  <name>org.eclipse.search</name>
-  <version>3.3.1.r331_v20070831-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt</name>
-  <version>3.3.1.v3346j</version>
-</entry>
-<entry>
-  <name>org.eclipse.swt.gtk.linux.ppc</name>
-  <version>3.3.1.v3346i</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.core</name>
-  <version>3.3.1.r33x_20070807</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.core</name>
-  <version>3.3.1.r33x_20070724</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh</name>
-  <version>3.2.100.I20061208</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ssh2</name>
-  <version>3.2.100.I20070604</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.cvs.ui</name>
-  <version>3.3.1.r33x_20070807</version>
-</entry>
-<entry>
-  <name>org.eclipse.team.ui</name>
-  <version>3.3.1.r33x_20070730</version>
-</entry>
-<entry>
-  <name>org.eclipse.test</name>
-  <version>3.2.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance</name>
-  <version>3.3.0.v20070515</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.performance.win32</name>
-  <version>3.1.100</version>
-</entry>
-<entry>
-  <name>org.eclipse.test.source</name>
-  <version>3.3.0.v20070411</version>
-</entry>
-<entry>
-  <name>org.eclipse.text</name>
-  <version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.tomcat</name>
-  <version>4.1.230.v20070531</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui</name>
-  <version>3.3.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.browser</name>
-  <version>3.2.100.v20070524A</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.cheatsheets</name>
-  <version>3.3.0.v20070507</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.console</name>
-  <version>3.2.1.v20070824_r331</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.editors</name>
-  <version>3.3.1.r331_v20070629</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.externaltools</name>
-  <version>3.1.200.v20070416</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.forms</name>
-  <version>3.3.0.v20070511</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide</name>
-  <version>3.3.1.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.ide.application</name>
-  <version>1.0.0.I20070530-0100</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro</name>
-  <version>3.2.101.v20070827_33x</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.intro.universal</name>
-  <version>3.2.100.v20070530A</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator</name>
-  <version>3.3.1.M20070831-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.navigator.resources</name>
-  <version>3.3.1.M20070831-2000</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.net</name>
-  <version>1.0.0.I20070516</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.presentations.r21</name>
-  <version>3.2.100.I20070605-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views</name>
-  <version>3.2.101.M20070910-0800b</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.views.properties.tabbed</name>
-  <version>3.3.1.M20070831-0800</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench</name>
-  <version>3.3.1.M20070921-1200</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.compatibility</name>
-  <version>3.2.0.I20070319-0010</version>
-</entry>
-<entry>
-  <name>org.eclipse.ui.workbench.texteditor</name>
-  <version>3.3.1.r331_v20070806</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.configurator</name>
-  <version>3.2.101.R33x_v20070810</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core</name>
-  <version>3.2.101.R33x_v20070911</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.core.linux</name>
-  <version>3.2.0.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.scheduler</name>
-  <version>3.2.100.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.update.ui</name>
-  <version>3.2.100.v20070615</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst</name>
-  <version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env</name>
-  <version>1.0.204.v200708202226</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.core</name>
-  <version>1.0.203.v200707302047</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.doc.user</name>
-  <version>1.5.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.infopop</name>
-  <version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.command.env.ui</name>
-  <version>1.0.203.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.core</name>
-  <version>1.1.101.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emf</name>
-  <version>1.1.104.v200709131115</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.emfworkbench.integration</name>
-  <version>1.1.104.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.environment</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks</name>
-  <version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.frameworks.ui</name>
-  <version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.modulecore</name>
-  <version>1.1.103.v200709192345</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core</name>
-  <version>1.2.1.v200708281831</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.core.tests</name>
-  <version>1.2.1.v200707311701</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui</name>
-  <version>1.2.1.v200708232226</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.project.facet.ui.tests</name>
-  <version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.snippets.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.collector</name>
-  <version>1.1.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.performance</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.tests.ui</name>
-  <version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.ui</name>
-  <version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.ui.properties</name>
-  <version>1.0.102.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common.uriresolver</name>
-  <version>1.1.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_core.feature.source</name>
-  <version>2.0.1.v200709110622-7C78EKGE_EkMNfNleyerlz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.common_ui.feature.source</name>
-  <version>2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.core.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.tests.encoding</name>
-  <version>1.0.200.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.css.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.isv</name>
-  <version>1.0.305.v200708291250</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.doc.user</name>
-  <version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.core</name>
-  <version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtd.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.dtdeditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core</name>
-  <version>1.1.102.v200709181730</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.core.tests</name>
-  <version>1.0.101.v200709190340</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui</name>
-  <version>1.0.202.v200708292012</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.html.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache</name>
-  <version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.cache.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.core</name>
-  <version>1.0.203.v20070608</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui</name>
-  <version>1.0.204.v20070716b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.internet.monitor.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.core</name>
-  <version>1.0.101.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui</name>
-  <version>1.0.102.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.javascript.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core</name>
-  <version>1.0.205.v20070829b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.core.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.core.tests</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.http.ui</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview</name>
-  <version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.preview.adapter</name>
-  <version>1.0.1.v20070814b</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.tests.performance</name>
-  <version>1.0.200.v20070611</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui</name>
-  <version>1.0.205.v20070912</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.doc.user</name>
-  <version>1.0.303.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.infopop</name>
-  <version>1.0.5.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server.ui.tests</name>
-  <version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_core.feature.source</name>
-  <version>2.0.1.v200709110637-2-CM8s733G3G5Jc</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.server_ui.feature.source</name>
-  <version>2.0.1.v200709110637-77-CU9vCXCjvdHL7ATINi447</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core</name>
-  <version>1.1.202.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.core.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui</name>
-  <version>1.0.303.v200709061102</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.infopop</name>
-  <version>1.0.102.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.sse.ui.tests.performance</name>
-  <version>1.0.100.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.standard.schemas</name>
-  <version>1.0.1.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.validation.ui</name>
-  <version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web</name>
-  <version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui</name>
-  <version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web.ui.infopop</name>
-  <version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_core.feature.source</name>
-  <version>2.0.1.v200709111200-42CK_kE77Y7ZBNCQGG</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.web_ui.feature.source</name>
-  <version>2.0.1.v200709111200-7A0EAiCiWfGJsJZlAhE3TMaQW</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.webtools.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws</name>
-  <version>1.0.203.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.explorer</name>
-  <version>1.0.205.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.infopop</name>
-  <version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.parser</name>
-  <version>1.0.201.v200706061845</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.tests</name>
-  <version>1.0.201.v200709052219</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws.ui</name>
-  <version>1.0.203.v200708222126</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_core.feature.source</name>
-  <version>2.0.1.v200709051445-7E7KEB0EC3wSU4Tuh9iKz</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.ws_ui.feature.source</name>
-  <version>2.0.1.v200709051445-791ECFAufYO8Az-ajoKBCFe8tVjL</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl</name>
-  <version>1.1.100.v200707201214</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests</name>
-  <version>1.0.3.v200707201214</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.performance</name>
-  <version>1.0.1</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.tests.ui</name>
-  <version>1.0.1.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui</name>
-  <version>1.2.1.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation</name>
-  <version>1.1.201.v200706062140</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsdl.validation.tests</name>
-  <version>1.0.203</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi</name>
-  <version>1.0.105.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui</name>
-  <version>1.0.300.v200706062140</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.wsi.ui.doc.user</name>
-  <version>1.0.203.v200706120315</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core</name>
-  <version>1.1.201.v200709201331</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.core.tests</name>
-  <version>1.0.100.v200706120811</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.tests.encoding</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui</name>
-  <version>1.0.301.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.infopop</name>
-  <version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.ui.tests.performance</name>
-  <version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml.validation.tests</name>
-  <version>1.0.302.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_core.feature.source</name>
-  <version>2.0.1.v200709110650-787BE_1CYQCCz-CvRQLQSV</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xml_ui.feature.source</name>
-  <version>2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xmleditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.core</name>
-  <version>1.1.201.v200707172046</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.tests.performance</name>
-  <version>1.0.201.v200709131251</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.ui</name>
-  <version>1.2.1.v200709112242</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsd.validation.tests</name>
-  <version>1.0.301.v200706071955</version>
-</entry>
-<entry>
-  <name>org.eclipse.wst.xsdeditor.doc.user</name>
-  <version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tests</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools</name>
-  <version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.core</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.tools.component.ui</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.wtp.releng.wtpbuilder</name>
-  <version>1.0.0</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.cheatsheets</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.doc</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.converter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.exporter</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.ecore.importer</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.edit</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.mapping.editor</name>
-  <version>2.3.0.v200709252135</version>
-</entry>
-<entry>
-  <name>org.eclipse.xsd.source</name>
-  <version>2.3.1.v200709252135</version>
-</entry>
-<entry>
-  <name>org.junit</name>
-  <version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-  <name>org.junit.source</name>
-  <version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-  <name>org.junit4</name>
-  <version>4.3.1</version>
-</entry>
-<entry>
-  <name>org.mortbay.jetty</name>
-  <version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-  <name>org.mortbay.jetty.source</name>
-  <version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-  <name>org.uddi4j</name>
-  <version>2.0.5.v200706111329</version>
-</entry>
-</bundleData>
-</referenceData>
-</versioningData>
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.2.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.2.xml
deleted file mode 100644
index 688b3c2..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.2.xml
+++ /dev/null
@@ -1,2933 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<versioningData>
-<referenceData id="2.0.2">
-<featureData>
-<!-- Number of features: 154 -->
-
-<entry>
-	<name>org.eclipse.cvs</name>
-	<version>1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs.source</name>
-	<version>1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.user</name>
-	<version>1.5.1.200710161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdbc.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.intro</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sdk.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.data.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.results.feature</name>
-	<version>1.5.1.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.converter</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.doc</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.edit</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.editor</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.doc</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.edit</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.editor</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.sdk</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.source</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore.editor</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.sdk</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.source</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef</name>
-	<version>3.3.2.v20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.sdk</name>
-	<version>3.3.2.v20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.source</name>
-	<version>3.3.2.v20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt</name>
-	<version>3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.source</name>
-	<version>3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature</name>
-	<version>1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature.source</name>
-	<version>1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.sdk</name>
-	<version>1.0.2.v200802140100-2-38-46AEE7DRIhXMH7GeOjNKNRE</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.tests</name>
-	<version>1.0.2.v200802140100-1-1302</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.tests.feature</name>
-	<version>1.0.2.v200802140100-2-1</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt_sdk.feature</name>
-	<version>1.0.2.v200802140100-2-384B2_KFdUJG6FdNiMJMQDZRDE</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst</name>
-	<version>2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature</name>
-	<version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature.source</name>
-	<version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--7z53A46_4E5I5A38598x42292</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.doc.isv.feature</name>
-	<version>2.0.2.v200802150100-1-Aj7w311913312746</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature</name>
-	<version>2.0.2.v200802150100-42Au_kE77c7EAgE7I7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature.source</name>
-	<version>2.0.2.v200802150100-42Au_kE77c7EAgE7I7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384g_CPvCIc9EaRXJ3VWlXq8Yb</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_tests.feature</name>
-	<version>2.0.2.v200802150100-773Ds9oA55Q5L8A8KER</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature</name>
-	<version>2.0.2.v200802150100-7b7_Es8EU6AXOV9QLJSees1SQoYQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7b7_Es8EU6AXOV9QLJSees1SQoYQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_userdoc.feature</name>
-	<version>2.0.0.v200706041905-5-ELQAgI99h9ZJAGSOP</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.sdk</name>
-	<version>2.0.2.v200802150100-7F-7D8fNerpqc2VheGP-mWEPz-u9</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature</name>
-	<version>2.0.2.v200802150100-787KE8iDUUEF6GwKwpHEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature.source</name>
-	<version>2.0.2.v200802150100-787KE8iDUUEF6GwKwpHEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384C_NPAnHcXII9J4W5AZQ_EVV</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature</name>
-	<version>2.0.2.v200802150100-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature.source</name>
-	<version>2.0.2.v200802150100-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384B2FeC1NfHoxlMfoT67ypqsi</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_tests.feature</name>
-	<version>2.0.2.v200802150100-6-EFCAgI99h9XN9IIIX</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature</name>
-	<version>2.0.2.v200802150100-77-CT9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature.source</name>
-	<version>2.0.2.v200802150100-77-CT9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_userdoc.feature</name>
-	<version>2.0.2.v200802150100-1-Ah7w311819272_4_</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.tests</name>
-	<version>2.0.2.v200802150100-77-67WRRyDippSJJsWv3ra4WbaW</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature</name>
-	<version>2.0.300.v200802200333-7Q7AE7JEHhHeh0hI5y-QGB</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature.source</name>
-	<version>2.0.300.v200802200333-7Q7AE7JEHhHeh0hI5y-QGB</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_sdk.feature</name>
-	<version>2.0.2.v200802150100-5-490K6JGI--ZdDUSh49pBBHUEXa</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_tests.feature</name>
-	<version>2.0.2.v200802150100-7F4E_DED-z0UWFWCpSUaZV</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature</name>
-	<version>2.0.2.v200802150100-7B1DzCkuNa_RPevwkwB1iJ6z-0RH</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7B1DzCkuNa_RPevwkwB1iJ6z-0RH</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_userdoc.feature</name>
-	<version>2.0.2.v200802150100-1-07w31181_23</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature</name>
-	<version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature.source</name>
-	<version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-	<version>1.0.1.v200709110605-2-18045ByDG9T8eAI0403_pB66Q6</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde</name>
-	<version>3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.source</name>
-	<version>3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform</name>
-	<version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source</name>
-	<version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp</name>
-	<version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source</name>
-	<version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-</entry>
-<entry>
-	<name>org.eclipse.sdk</name>
-	<version>3.3.3.r33x_r20080129-7M7J7LB-u3aphGW6o3_VmiVfGXWO</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst</name>
-	<version>2.0.2.v200802150100-7C-7C8k0JWR293WFMOOObjNnnqho</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature</name>
-	<version>2.0.2.v200802150100-7C78EKOE_EkMNlO6f7cjpz0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature.source</name>
-	<version>2.0.2.v200802150100-7C78EKOE_EkMNlO6f7cjpz0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384H8HS6JCZyXYql06-5r3HoFL</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_tests.feature</name>
-	<version>2.0.2.v200802150100-7848bAgI99i9YHLERJK</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature</name>
-	<version>2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.isv.feature</name>
-	<version>2.0.2.v200802150100-1-Am7w311913312746</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sdk</name>
-	<version>2.0.2.v200802150100-7E-7E8aNek-SRfrjr6TqAZAYKdiU</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_adapters.feature</name>
-	<version>2.0.2.v200802150100-4-0_kE77Y7TGAoAAJ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature</name>
-	<version>2.0.2.v200802150100-2-CN8s733H3_3Ic</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature.source</name>
-	<version>2.0.2.v200802150100-2-CN8s733H3_3Ic</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384B2FiBz0GfGoyZIZvCcrZeJe</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_tests.feature</name>
-	<version>2.0.2.v200802150100-5-EAUAgI99h9YL_EEEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature</name>
-	<version>2.0.2.v200802150100-77-CX9vCXDkvWGPlAMGMi447</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature.source</name>
-	<version>2.0.2.v200802150100-77-CX9vCXDkvWGPlAMGMi447</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_userdoc.feature</name>
-	<version>2.0.2.v200802150100-1-Aj7w311816413336</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.tests.feature</name>
-	<version>2.0.2.v200802150100-7_-797eXdIxR6RHmAC8DW-3LGi3</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature</name>
-	<version>2.0.2.v200802150100-42CN_kE77a8F9XCOEL</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature.source</name>
-	<version>2.0.2.v200802150100-42CN_kE77a8F9XCOEL</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384F3HLoHmeiNNvEk0Fz08lGMx</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_tests.feature</name>
-	<version>2.0.2.v200802150100-78-EC5DUUEF6FsVWQiXq</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature</name>
-	<version>2.0.2.v200802150100-7A0EAlCiWfJKsCZoChvz0dMYOb</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7A0EAlCiWfJKsCZoChvz0dMYOb</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_userdoc.feature</name>
-	<version>2.0.2.v200802150100-20Ag8s733G3C93777C</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature</name>
-	<version>2.0.2.v200802150100-7E7KEB2EC3wSU5UghChM0v</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature.source</name>
-	<version>2.0.2.v200802150100-7E7KEB2EC3wSU5UghChM0v</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384D4HNLFynbSBEnl1rhSbVadT</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_tests.feature</name>
-	<version>2.0.2.v200802150100-6-CO9oA55Q5K7G9A_K</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature</name>
-	<version>2.0.2.v200802150100-791ECIAufYO9BlarnPCFGewtZiN1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature.source</name>
-	<version>2.0.2.v200802150100-791ECIAufYO9BlarnPCFGewtZiN1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_userdoc.feature</name>
-	<version>2.0.0.v200706041905-34Ds9oA55P5L_97C9J</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature</name>
-	<version>2.0.2.v200802150100-787BE_4CYQCD-DaQMIfPd</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature.source</name>
-	<version>2.0.2.v200802150100-787BE_4CYQCD-DaQMIfPd</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_sdk.feature</name>
-	<version>2.0.2.v200802150100-4-384F4HNPHrjfp4eY0Myg0ZqZLI</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_tests.feature</name>
-	<version>2.0.2.v200802150100-7A-EN4E9IgKLXLDhfdur2</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature</name>
-	<version>2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_userdoc.feature</name>
-	<version>2.0.2.v200802150100-4-EGk_kE77Y7QI7EEEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tests.feature</name>
-	<version>1.0.1.v200709120100-6--7w311817222862</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.doc</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.converter</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.edit</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.sdk</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.source</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 576 -->
-
-<entry>
-	<name>com.ibm.icu</name>
-	<version>3.6.1.v20070906</version>
-</entry>
-<entry>
-	<name>com.ibm.icu.source</name>
-	<version>3.6.1.v20070906</version>
-</entry>
-<entry>
-	<name>com.jcraft.jsch</name>
-	<version>0.1.31</version>
-</entry>
-<entry>
-	<name>javax.servlet</name>
-	<version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-	<name>javax.servlet.jsp</name>
-	<version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-	<name>javax.servlet.jsp.source</name>
-	<version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-	<name>javax.servlet.source</name>
-	<version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-	<name>javax.wsdl</name>
-	<version>1.4.0.v200706111329</version>
-</entry>
-<entry>
-	<name>javax.wsdl15</name>
-	<version>1.5.1.v200705290614</version>
-</entry>
-<entry>
-	<name>javax.xml.rpc</name>
-	<version>1.1.0.v200706111329</version>
-</entry>
-<entry>
-	<name>javax.xml.soap</name>
-	<version>1.2.0.v200706111329</version>
-</entry>
-<entry>
-	<name>org.apache.ant</name>
-	<version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-	<name>org.apache.ant.source</name>
-	<version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-	<name>org.apache.axis</name>
-	<version>1.4.0.v200706191647</version>
-</entry>
-<entry>
-	<name>org.apache.cactus</name>
-	<version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-	<name>org.apache.commons.discovery</name>
-	<version>0.2.0.v200706111329</version>
-</entry>
-<entry>
-	<name>org.apache.commons.el</name>
-	<version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.commons.el.source</name>
-	<version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.commons.logging</name>
-	<version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.commons.logging.source</name>
-	<version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.jasper</name>
-	<version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.jasper.source</name>
-	<version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.log4j</name>
-	<version>1.2.13.v200706111418</version>
-</entry>
-<entry>
-	<name>org.apache.lucene</name>
-	<version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.analysis</name>
-	<version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.analysis.source</name>
-	<version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.source</name>
-	<version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.wsil4j</name>
-	<version>1.0.0.v200706111329</version>
-</entry>
-<entry>
-	<name>org.apache.xerces</name>
-	<version>2.8.0.v200705301630</version>
-</entry>
-<entry>
-	<name>org.apache.xml.resolver</name>
-	<version>1.1.0.v200705310020</version>
-</entry>
-<entry>
-	<name>org.dbunit</name>
-	<version>2.2.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.core</name>
-	<version>3.1.200.v20070522</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.optional.junit</name>
-	<version>3.2.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.ui</name>
-	<version>3.2.200.v20070825_r331</version>
-</entry>
-<entry>
-	<name>org.eclipse.compare</name>
-	<version>3.3.2.r33x_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.boot</name>
-	<version>3.1.100.v20060603</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.commands</name>
-	<version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.contenttype</name>
-	<version>3.2.100.v20070319</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.databinding</name>
-	<version>1.0.1.M20070822-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.databinding.beans</name>
-	<version>1.0.1.M20070910-0800b</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.expressions</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filebuffers</name>
-	<version>3.3.1.r331_v20070829</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filesystem</name>
-	<version>1.1.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filesystem.linux.ppc</name>
-	<version>1.0.100.v20070430</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.jobs</name>
-	<version>3.3.1.R33x_v20070709</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.net</name>
-	<version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.resources</name>
-	<version>3.3.1.R33x_v20080205</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.resources.compatibility</name>
-	<version>3.2.100.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime</name>
-	<version>3.3.100.v20070530</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility</name>
-	<version>3.1.200.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility.auth</name>
-	<version>3.2.100.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility.registry</name>
-	<version>3.2.100.v20070316</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.variables</name>
-	<version>3.2.0.v20070426</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs</name>
-	<version>1.0.2.r33x_r20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs.source</name>
-	<version>1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity</name>
-	<version>1.0.1.200709061</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.generic</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-	<version>1.0.1.200708201</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.dbdefinition.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.derby.ui</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda</name>
-	<version>3.1.0.200708161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.consumer</name>
-	<version>3.1.1.200708221</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.design</name>
-	<version>3.0.5.200709071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-	<version>3.0.5.200709071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-	<version>3.0.4.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-	<version>3.0.5.200707301</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.profile</name>
-	<version>3.0.5.200708131</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-	<version>3.0.5.200707301</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.core</name>
-	<version>1.0.1.200709071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-	<version>1.0.1.200708201</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.fe.ui</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.fe.ui.actions</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-	<version>1.0.0.200709141</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui</name>
-	<version>1.0.1.200708231</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui.dse</name>
-	<version>1.0.1.200709171</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.isv</name>
-	<version>1.5.1.200709211</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.user</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.finfo</name>
-	<version>1.5.1.200708161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.classpath</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.dbunit</name>
-	<version>1.0.0.200706072</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver.profile</name>
-	<version>1.0.1.200709041</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-	<version>1.0.1.200709181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.ws</name>
-	<version>1.0.1.200709111</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-	<version>1.0.1.200709111</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.xml</name>
-	<version>1.0.2.200709101</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-	<version>1.0.2.200709071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.profile</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.profile</name>
-	<version>1.0.1.200709061</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase</name>
-	<version>1.0.1.200707131</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.help</name>
-	<version>1.5.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.intro</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.lpg</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql</name>
-	<version>1.0.0.200708161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.edit</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.query</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.oda.cshelp</name>
-	<version>1.0.0.200708161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.source</name>
-	<version>1.5.1.200709251</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.common.ui</name>
-	<version>1.0.0.200708161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.data.core</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.data.ui</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.db.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.db.generic</name>
-	<version>1.0.0.200706131</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.debugger.core</name>
-	<version>1.0.0.200709251</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.editor.core</name>
-	<version>1.0.0.200709261</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql</name>
-	<version>1.0.0.200706161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-	<version>1.0.0.200706161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-	<version>1.0.0.200706162</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.plan</name>
-	<version>1.0.0.200709061</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.result</name>
-	<version>1.0.0.200709061</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.routineeditor</name>
-	<version>1.0.0.200708161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sql</name>
-	<version>1.0.0.200706111</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqleditor</name>
-	<version>1.0.0.200709061</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-	<version>1.0.0.200709141</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.tablewizard</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.debug.core</name>
-	<version>3.3.2.v20080117_r332</version>
-</entry>
-<entry>
-	<name>org.eclipse.debug.ui</name>
-	<version>3.3.2.v20080117_r332</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d</name>
-	<version>3.2.100.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d.doc.isv</name>
-	<version>3.2.100.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ant</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.cheatsheets</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore.ui</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ui</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.commonj.sdo</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.converter</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.doc</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.change</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.change.edit</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.edit</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.editor</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.doc</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.edit</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.source</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.xmi</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit.ui</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.exporter</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.ecore</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.java</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.rose</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2ecore</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2xml</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ui</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.xsd2ecore</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.source</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.app</name>
-	<version>1.0.1.R33x_v20070828</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.common</name>
-	<version>3.3.0.v20070426</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.jetty</name>
-	<version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.registry</name>
-	<version>1.0.1.R33x_v20071231</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.servlet</name>
-	<version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.jsp.jasper</name>
-	<version>1.0.1.R33x_v20070816</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.jsp.jasper.registry</name>
-	<version>1.0.0.v20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.launcher</name>
-	<version>1.0.1.R33x_v20080118</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-	<version>1.0.3.R33x_v20080118</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.preferences</name>
-	<version>3.2.101.R33x_v20080117</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.registry</name>
-	<version>3.3.1.R33x_v20070802</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef</name>
-	<version>3.2.102.v20080116</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.doc.isv</name>
-	<version>3.2.100.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.examples.ui.pde</name>
-	<version>3.3.0.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.source</name>
-	<version>3.3.2.v20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.help</name>
-	<version>3.3.2.v20071126_33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.appserver</name>
-	<version>3.1.200.v20070510</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.base</name>
-	<version>3.3.1.v20070813_33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.ui</name>
-	<version>3.3.2.v20071126_33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.webapp</name>
-	<version>3.3.2.v20071102_33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt</name>
-	<version>3.3.1.r332_v20080131</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.core</name>
-	<version>3.3.1.R33x_v20071112-2330</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.pluggable.core</name>
-	<version>1.0.1.R33x_v20071002-2100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.ui</name>
-	<version>3.3.1.R33x_v20071002-2100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.compiler.apt</name>
-	<version>1.0.1.R33x_v20071002-2100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.compiler.tool</name>
-	<version>1.0.1.v_793_R33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.core</name>
-	<version>3.3.3.v_793_R33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.core.manipulation</name>
-	<version>1.1.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.debug</name>
-	<version>3.3.1.v20070719_r331</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.debug.ui</name>
-	<version>3.2.102.v20071002_r332</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.doc.isv</name>
-	<version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.doc.user</name>
-	<version>3.3.2.r332_20080116-0900</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit</name>
-	<version>3.3.2.r332_20080109-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit.runtime</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit4.runtime</name>
-	<version>1.0.100.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.launching</name>
-	<version>3.3.2.v20080115_r332</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.source</name>
-	<version>3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.ui</name>
-	<version>3.3.2.r332_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem</name>
-	<version>2.0.100.v200709051030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.beaninfo</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.proxy</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.tests</name>
-	<version>1.2.3.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.ui</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.util</name>
-	<version>2.0.2.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.workbench</name>
-	<version>2.0.1.v200710051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface</name>
-	<version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface.databinding</name>
-	<version>1.1.1.M20080207-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface.text</name>
-	<version>3.3.2.r332_20071017-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt</name>
-	<version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core</name>
-	<version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core.tests</name>
-	<version>1.0.1</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.db</name>
-	<version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.db.ui</name>
-	<version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.doc.user</name>
-	<version>1.0.1.v200709120000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature.source</name>
-	<version>1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.gen</name>
-	<version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.ui</name>
-	<version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.utility</name>
-	<version>1.0.2.v200802140100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.utility.tests</name>
-	<version>1.0.1</version>
-</entry>
-<entry>
-	<name>org.eclipse.jsch.core</name>
-	<version>1.0.0.I20070426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jsch.ui</name>
-	<version>1.0.1.r33x_20070709</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst</name>
-	<version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.controller</name>
-	<version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.core</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.ui</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.frameworks</name>
-	<version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.project.facet.core</name>
-	<version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature.source</name>
-	<version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.doc.isv</name>
-	<version>1.0.303.v200802201635</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.ui</name>
-	<version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature.source</name>
-	<version>2.0.2.v200802150100-42Au_kE77c7EAgE7I7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7b7_Es8EU6AXOV9QLJSees1SQoYQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee</name>
-	<version>1.1.106.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core</name>
-	<version>1.1.104.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core.tests</name>
-	<version>1.1.102.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core.tests.performance</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb</name>
-	<version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-	<version>1.1.2.v200708301745</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-	<version>1.1.2.v200706191638</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-	<version>1.1.3.v200802201934</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.infopop</name>
-	<version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.jca</name>
-	<version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.jca.ui</name>
-	<version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.navigator.ui</name>
-	<version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.tests</name>
-	<version>1.1.102.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.tests.performance</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ui</name>
-	<version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.web</name>
-	<version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.webservice</name>
-	<version>1.1.102.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.webservice.ui</name>
-	<version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee</name>
-	<version>1.0.2.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.ejb</name>
-	<version>1.0.2.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.ui</name>
-	<version>1.0.2.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.web</name>
-	<version>1.0.2.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common</name>
-	<version>1.0.2.v200802201120</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common.ui</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.contentassist.tests</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.context.symbol.tests</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.core</name>
-	<version>1.0.2.v200802201120</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.core.tests</name>
-	<version>1.0.1.v20070918</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.designtime.tests</name>
-	<version>1.0.2.v200802201120</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.doc.dev</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.doc.user</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig.ui</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.metadata.tests</name>
-	<version>1.0.1.v20070913</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.standard.tagsupport</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.test.util</name>
-	<version>1.0.1.v20070918</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.ui</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.ui.tests</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.core</name>
-	<version>1.2.1.v200709181730</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.core.tests</name>
-	<version>1.0.101.v200709062330</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.tests.encoding</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui</name>
-	<version>1.1.201.v200709061102</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.infopop</name>
-	<version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.tests</name>
-	<version>1.0.101.v200709181730</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.jsp.core</name>
-	<version>1.0.1.v20070912</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.core</name>
-	<version>1.0.205.v20070829b</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.core.tests</name>
-	<version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.core</name>
-	<version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.jboss</name>
-	<version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.jonas</name>
-	<version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.oc4j</name>
-	<version>1.5.105.v200709061325</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.tests</name>
-	<version>1.0.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<version>1.0.205.v200709061325</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.installable</name>
-	<version>1.5.102.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.preview.adapter</name>
-	<version>1.0.2.v20071017b</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.core</name>
-	<version>1.1.2.v20071023</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.core.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.tests.performance</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.ui</name>
-	<version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui</name>
-	<version>1.0.203.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.doc.user</name>
-	<version>1.0.301.v200708161939</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.infopop</name>
-	<version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.websphere.core</name>
-	<version>1.0.201.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature.source</name>
-	<version>2.0.2.v200802150100-787KE8iDUUEF6GwKwpHEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature.source</name>
-	<version>2.0.2.v200802150100-56CQ9rC7EK_UAblGAD2537</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature.source</name>
-	<version>2.0.2.v200802150100-77-CT9yJXEkuiKVeQrclqTHQ3648</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.tests</name>
-	<version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.ui</name>
-	<version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.ui.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.standard.schemas</name>
-	<version>1.0.0.v200706221355</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.validation.sample</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.validation.test</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature.source</name>
-	<version>2.0.300.v200802200333-7Q7AE7JEHhHeh0hI5y-QGB</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7B1DzCkuNa_RPevwkwB1iJ6z-0RH</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature.source</name>
-	<version>1.0.1.v200709110605-3-29oA55P5V8A</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws</name>
-	<version>1.0.205.v200801222138</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.core</name>
-	<version>1.0.204.v200708151945</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.core.tests</name>
-	<version>1.0.101.v200707111738</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.ui</name>
-	<version>1.0.204.v200801222138</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.creation.ui</name>
-	<version>1.0.206.v200711281741</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.infopop</name>
-	<version>1.0.203.v200708222303</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-	<version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.consumption.core</name>
-	<version>1.0.2.v200801310215</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-	<version>1.0.1.v200709121418</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.core</name>
-	<version>1.0.2.v200711232023</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.creation.core</name>
-	<version>1.0.2.v200710311655</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.creation.ui</name>
-	<version>1.0.2.v200801292016</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.ui</name>
-	<version>1.0.1.v200708282350</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption</name>
-	<version>1.0.205.v200711222108</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.infopop</name>
-	<version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.ui</name>
-	<version>1.0.206.v200712220541</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-	<version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.creation.ejb.ui</name>
-	<version>1.0.100.v200706030600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.creation.ui</name>
-	<version>1.0.206.v200712220541</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.infopop</name>
-	<version>1.0.203.v200709190403</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.tests</name>
-	<version>1.0.202.v200802121438</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.tests.performance</name>
-	<version>1.0.201.v200708131547</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.uddiregistry</name>
-	<version>1.0.200.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.ui</name>
-	<version>1.0.202.v200708202218</version>
-</entry>
-<entry>
-	<name>org.eclipse.ltk.core.refactoring</name>
-	<version>3.3.1.r332_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.ltk.ui.refactoring</name>
-	<version>3.3.1.r332_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi</name>
-	<version>3.3.2.R33x_v20080105</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi.services</name>
-	<version>3.1.200.v20070605</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi.util</name>
-	<version>3.1.200.v20070605</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde</name>
-	<version>3.3.1.r33x_r20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.build</name>
-	<version>3.3.2.v20071019</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.core</name>
-	<version>3.3.2.v20071121-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.doc.user</name>
-	<version>3.3.0.v20070614-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.junit.runtime</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.runtime</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.source</name>
-	<version>3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.ui</name>
-	<version>3.3.1.v20070912-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.ui.templates</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform</name>
-	<version>3.3.3.r33x_r20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.doc.isv</name>
-	<version>3.3.1.r331_v20070913</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.doc.user</name>
-	<version>3.3.0.M20070913-1400</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source</name>
-	<version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source.linux.gtk.ppc</name>
-	<version>3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp</name>
-	<version>3.2.1.r33x_r20080131</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source</name>
-	<version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-	<version>3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc</version>
-</entry>
-<entry>
-	<name>org.eclipse.sdk</name>
-	<version>3.3.3.r33x_r20080129</version>
-</entry>
-<entry>
-	<name>org.eclipse.search</name>
-	<version>3.3.1.r331_v20070831-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.swt</name>
-	<version>3.3.2.v3349d</version>
-</entry>
-<entry>
-	<name>org.eclipse.swt.gtk.linux.ppc</name>
-	<version>3.3.2.v3349</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.core</name>
-	<version>3.3.1.r33x_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.core</name>
-	<version>3.3.2.r33x_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ssh</name>
-	<version>3.2.100.I20061208</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ssh2</name>
-	<version>3.2.100.I20070604</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ui</name>
-	<version>3.3.1.r33x_20070807</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.ui</name>
-	<version>3.3.2.r33x_20080128</version>
-</entry>
-<entry>
-	<name>org.eclipse.test</name>
-	<version>3.2.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.performance</name>
-	<version>3.3.0.r332_v20080204</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.performance.win32</name>
-	<version>3.1.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.source</name>
-	<version>3.3.0.v20070411</version>
-</entry>
-<entry>
-	<name>org.eclipse.text</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.tomcat</name>
-	<version>4.1.230.v20070531</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui</name>
-	<version>3.3.1.M20071128-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.browser</name>
-	<version>3.2.100.v20070524A</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.cheatsheets</name>
-	<version>3.3.1.v20080125_33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.console</name>
-	<version>3.2.2.v20071031_r332</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.editors</name>
-	<version>3.3.2.r332_20080109-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.externaltools</name>
-	<version>3.1.200.v20070416</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.forms</name>
-	<version>3.3.0.v20070511</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.ide</name>
-	<version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.ide.application</name>
-	<version>1.0.0.I20070530-0100</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.intro</name>
-	<version>3.2.101.v20070827_33x</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.intro.universal</name>
-	<version>3.2.100.v20070530A</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.navigator</name>
-	<version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.navigator.resources</name>
-	<version>3.3.1.M20070831-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.net</name>
-	<version>1.0.0.I20070516</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.presentations.r21</name>
-	<version>3.2.100.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views</name>
-	<version>3.2.101.M20080207-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views.properties.tabbed</name>
-	<version>3.3.1.M20070831-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench</name>
-	<version>3.3.2.M20080207-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench.compatibility</name>
-	<version>3.2.0.I20070319-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench.texteditor</name>
-	<version>3.3.2.r332_20080109-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.configurator</name>
-	<version>3.2.101.R33x_v20070810</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.core</name>
-	<version>3.2.101.R33x_v20070911</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.core.linux</name>
-	<version>3.2.0.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.scheduler</name>
-	<version>3.2.100.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.ui</name>
-	<version>3.2.100.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst</name>
-	<version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env</name>
-	<version>1.0.205.v200710161954</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.core</name>
-	<version>1.0.203.v200707302047</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.doc.user</name>
-	<version>1.5.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.infopop</name>
-	<version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.ui</name>
-	<version>1.0.203.v200709052219</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.core</name>
-	<version>1.1.101.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.emf</name>
-	<version>1.1.104.v200709131115</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.emfworkbench.integration</name>
-	<version>1.1.105.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.environment</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.frameworks</name>
-	<version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.frameworks.ui</name>
-	<version>1.1.101.v200709122200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.modulecore</name>
-	<version>1.1.104.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.core</name>
-	<version>1.2.2.v200802200327</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.core.tests</name>
-	<version>1.2.1.v200707311701</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.ui</name>
-	<version>1.2.1.v200708232226</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.ui.tests</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.snippets</name>
-	<version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.snippets.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests</name>
-	<version>1.1.1.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.collector</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.performance</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.ui</name>
-	<version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.ui</name>
-	<version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.ui.properties</name>
-	<version>1.0.102.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.uriresolver</name>
-	<version>1.1.203.v200802200327</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature.source</name>
-	<version>2.0.2.v200802150100-7C78EKOE_EkMNlO6f7cjpz0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.core</name>
-	<version>1.1.102.v200710121808</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.core.tests</name>
-	<version>1.0.101.v200710121808</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.tests.encoding</name>
-	<version>1.0.200.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.isv</name>
-	<version>1.0.306.v200802201635</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.user</name>
-	<version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.core</name>
-	<version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtdeditor.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.core</name>
-	<version>1.1.103.v200801092102</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.core.tests</name>
-	<version>1.0.101.v200709190340</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.tests.encoding</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui</name>
-	<version>1.0.202.v200708292012</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.cache</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.cache.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.core</name>
-	<version>1.0.203.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.ui</name>
-	<version>1.0.204.v20070716b</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.core</name>
-	<version>1.0.101.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.ui</name>
-	<version>1.0.103.v200802142230</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.core</name>
-	<version>1.0.206.v20080108b</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.core.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.core</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.core.tests</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.ui</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.preview</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.preview.adapter</name>
-	<version>1.0.1.v20070814b</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.tests.performance</name>
-	<version>1.0.200.v20070611</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui</name>
-	<version>1.0.206.v20080206b</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.doc.user</name>
-	<version>1.0.303.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.infopop</name>
-	<version>1.0.5.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature.source</name>
-	<version>2.0.2.v200802150100-2-CN8s733H3_3Ic</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature.source</name>
-	<version>2.0.2.v200802150100-77-CX9vCXDkvWGPlAMGMi447</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.core</name>
-	<version>1.1.203.v200802140626</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.core.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui</name>
-	<version>1.0.305.v200802142230</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.infopop</name>
-	<version>1.0.102.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.tests.performance</name>
-	<version>1.0.100.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.standard.schemas</name>
-	<version>1.0.1.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation</name>
-	<version>1.1.102.v200709122200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.ui</name>
-	<version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web</name>
-	<version>1.1.103.v200802192030</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web.ui</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web.ui.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature.source</name>
-	<version>2.0.2.v200802150100-42CN_kE77a8F9XCOEL</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7A0EAlCiWfJKsCZoChvz0dMYOb</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.webtools.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws</name>
-	<version>1.0.204.v200711140435</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.explorer</name>
-	<version>1.0.206.v200802072125</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.infopop</name>
-	<version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.parser</name>
-	<version>1.0.201.v200706061845</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.tests</name>
-	<version>1.0.201.v200709052219</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.ui</name>
-	<version>1.0.203.v200708222126</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature.source</name>
-	<version>2.0.2.v200802150100-7E7KEB2EC3wSU5UghChM0v</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature.source</name>
-	<version>2.0.2.v200802150100-791ECIAufYO9BlarnPCFGewtZiN1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl</name>
-	<version>1.1.101.v200801152132</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests</name>
-	<version>1.0.4.v200801152132</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests.performance</name>
-	<version>1.0.1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests.ui</name>
-	<version>1.0.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.ui</name>
-	<version>1.2.2.v200710171849</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.ui.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.validation</name>
-	<version>1.1.201.v200706062140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.validation.tests</name>
-	<version>1.0.203</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi</name>
-	<version>1.0.105.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.ui</name>
-	<version>1.0.300.v200706062140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.ui.doc.user</name>
-	<version>1.0.203.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.core</name>
-	<version>1.1.202.v200802140626</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.core.tests</name>
-	<version>1.0.101.v200802142230</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.tests.encoding</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui</name>
-	<version>1.0.302.v200802140626</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.validation.tests</name>
-	<version>1.0.302.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature.source</name>
-	<version>2.0.2.v200802150100-787BE_4CYQCD-DaQMIfPd</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature.source</name>
-	<version>2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xmleditor.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.core</name>
-	<version>1.1.202.v200710011705</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.tests.performance</name>
-	<version>1.0.201.v200709131251</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.ui</name>
-	<version>1.2.2.v200802141800</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.validation.tests</name>
-	<version>1.0.301.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsdeditor.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools.component.core</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools.component.ui</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.wtpbuilder</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.cheatsheets</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.doc</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.converter</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.exporter</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.importer</name>
-	<version>2.3.1.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.edit</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping.editor</name>
-	<version>2.3.0.v200802051830</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.source</name>
-	<version>2.3.2.v200802051830</version>
-</entry>
-<entry>
-	<name>org.junit</name>
-	<version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-	<name>org.junit.source</name>
-	<version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-	<name>org.junit4</name>
-	<version>4.3.1</version>
-</entry>
-<entry>
-	<name>org.mortbay.jetty</name>
-	<version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-	<name>org.mortbay.jetty.source</name>
-	<version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-	<name>org.uddi4j</name>
-	<version>2.0.5.v200706111329</version>
-</entry>
-</bundleData>
-</referenceData>
-</versioningData>
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.xml
deleted file mode 100644
index cb9acc2..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_2.0.xml
+++ /dev/null
@@ -1,2917 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<versioningData>
-<referenceData id="WTP-2.0">
-<featureData>
-<!-- Number of features: 154 -->
-
-<entry>
-	<name>org.eclipse.cvs</name>
-	<version>1.0.0.v20070606-7C79_79EI99g_Y9e</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs.source</name>
-	<version>1.0.0.v20070606-7C79_79EI99g_Y9e</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.user</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdbc.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.intro</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sdk.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.data.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.results.feature</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.converter</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.doc</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.doc</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.sdk</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.source</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.sdk</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.source</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef</name>
-	<version>3.3.0.v20070620</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.sdk</name>
-	<version>3.3.0.v20070620</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.source</name>
-	<version>3.3.0.v20070620</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt</name>
-	<version>3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.source</name>
-	<version>3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature</name>
-	<version>1.0.0.v200706250000-77--CYQCCz-CoRPCCCH</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature.source</name>
-	<version>1.0.0.v200706250000-77--CYQCCz-CoRPCCCH</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.sdk</name>
-	<version>1.0.0.v200706040001-2--8-42ADE_8PecKP13GsUaNFFYa</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.tests</name>
-	<version>1.0.0.v200706040001-1--3</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.tests.feature</name>
-	<version>1.0.0.v200706040001-2</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt_sdk.feature</name>
-	<version>1.0.0.v200706040001-2--84B22MbZHL02FrTZMEEXZRDDz</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst</name>
-	<version>2.0.0.v200706110805-7B-18dDQISlz0z0cc-oasolrW8jP</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature</name>
-	<version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature.source</name>
-	<version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--7z53A46_4E5I5A38598x42292</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.doc.isv.feature</name>
-	<version>2.0.0.v200706041905-1-Ah7w311816413336</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature</name>
-	<version>2.0.0.v200706041905-42Am_kE77Y7U9NAPH8</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature.source</name>
-	<version>2.0.0.v200706041905-42Am_kE77Y7U9NAPH8</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84g_COudJX9FaJODeRmVGe4FX</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_tests.feature</name>
-	<version>2.0.0.v200706041905-63CE8s733G3D844C9B</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature</name>
-	<version>2.0.0.v200706200200-7b7_ErUEU6AXGM40HZCO6nkOjnZQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature.source</name>
-	<version>2.0.0.v200706200200-7b7_ErUEU6AXGM40HZCO6nkOjnZQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_userdoc.feature</name>
-	<version>2.0.0.v200706041905-5-ELQAgI99h9ZJAGSOP</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.sdk</name>
-	<version>2.0.0.v200706182155-7F-19TGyLUvmmsTUGNsmx6ckArUQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature</name>
-	<version>2.0.0.v200706041905-787KE8RDUUEF6ExNsAAAJ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature.source</name>
-	<version>2.0.0.v200706041905-787KE8RDUUEF6ExNsAAAJ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84C_NOAaGbYQIDH5Z0YSLoEVV</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature</name>
-	<version>2.0.0.v200706041905-56CL9rC7EK_PAQ7G_92537</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature.source</name>
-	<version>2.0.0.v200706041905-56CL9rC7EK_PAQ7G_92537</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84B2DyC5MeCwxmPZpRyThBjqT</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_tests.feature</name>
-	<version>2.0.0.v200706041905-6-EFCAgI99h9XN9IIIX</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature</name>
-	<version>2.0.0.v200706041905-77-Ao9yJX9kueNPfPjeUCMFH3648</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature.source</name>
-	<version>2.0.0.v200706041905-77-Ao9yJX9kueNPfPjeUCMFH3648</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_userdoc.feature</name>
-	<version>2.0.0.v200706041905-1-Ag7w311816413336</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.tests</name>
-	<version>2.0.0.v200706111751-77-07SNbyWA8hQUz--InycLbz0fZ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature</name>
-	<version>2.0.0.v200706080101-7Q7ACQEHhHegvgW6ZtkAS</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature.source</name>
-	<version>2.0.0.v200706080101-7Q7ACQEHhHegvgW6ZtkAS</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_sdk.feature</name>
-	<version>2.0.0.v200706080001-5--90K6EUI-z0idAoBmLn8_EqTSX</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_tests.feature</name>
-	<version>2.0.0.v200706080001-7F4E_-ED-z0UWCVvn2PeYk</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature</name>
-	<version>2.0.0.v200706080001-7B1_BCkuMa8l8kBY3z0ZhX7aulBT</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature.source</name>
-	<version>2.0.0.v200706080001-7B1_BCkuMa8l8kBY3z0ZhX7aulBT</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_userdoc.feature</name>
-	<version>2.0.0.v200706071147-1--7w3118172_</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature</name>
-	<version>1.0.0.v200706110802-3--9oA55P5M98</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature.source</name>
-	<version>1.0.0.v200706110802-3--9oA55P5M98</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-	<version>1.0.0.qualifer</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde</name>
-	<version>3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.source</name>
-	<version>3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform</name>
-	<version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source</name>
-	<version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp</name>
-	<version>3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source</name>
-	<version>3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG</version>
-</entry>
-<entry>
-	<name>org.eclipse.sdk</name>
-	<version>3.3.0.v20070607-7M7J-BIolz-OcxWxvWAPSfLPqevO</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst</name>
-	<version>2.0.0.v200706041905-7C-18k0IWJZ93WDDJlQ60nUjTdJp</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature</name>
-	<version>2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature.source</name>
-	<version>2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84H8HR0NBYz-fYvkd633z04ls</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_tests.feature</name>
-	<version>2.0.0.v200706041905-7848Z_kE77Y7TCAAPJI</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature</name>
-	<version>2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature.source</name>
-	<version>2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.isv.feature</name>
-	<version>2.0.0.v200706041905-1-Ak7w311817223126</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sdk</name>
-	<version>2.0.0.v200706041905-7E-18aNKbx2jys2HTkz0_f_9fLWx</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_adapters.feature</name>
-	<version>2.0.0.v200706041905-4--_kE77Y7QI7EEEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature</name>
-	<version>2.0.0.v200706041905-2-CL8s733G3E4B2862</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature.source</name>
-	<version>2.0.0.v200706041905-2-CL8s733G3E4B2862</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84B2FaC2FeFvyhIdfChlS4TmP</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_tests.feature</name>
-	<version>2.0.0.v200706041905-5-EAUAgI99h9YL_EEEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature</name>
-	<version>2.0.0.v200706041905-77-CQ9vCXBjvZGTVARHF8DBA</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature.source</name>
-	<version>2.0.0.v200706041905-77-CQ9vCXBjvZGTVARHF8DBA</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_userdoc.feature</name>
-	<version>2.0.0.v200706041905-1-Aj7w311816413336</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.tests.feature</name>
-	<version>2.0.0.v200706041905-7_--7eXdFtp_NFj1B43Mu-9Ld3</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature</name>
-	<version>2.0.0.v200706041905-42CI_kE77Y7TAMAVHH</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature.source</name>
-	<version>2.0.0.v200706041905-42CI_kE77Y7TAMAVHH</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84F3HKhLldjQMz0EmpE-Lpj5D</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_tests.feature</name>
-	<version>2.0.0.v200706041905-78-EC3DUUEF6EtZLTbXs</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature</name>
-	<version>2.0.0.v200706041905-7A0EAeCiWfEJsCcbAj88SKfRX</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature.source</name>
-	<version>2.0.0.v200706041905-7A0EAeCiWfEJsCcbAj88SKfRX</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_userdoc.feature</name>
-	<version>2.0.0.v200706041905-20Ag8s733G3C93777C</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature</name>
-	<version>2.0.0.v200706210215-7E7KE_QEC3wSU4TpiAiQ0r</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature.source</name>
-	<version>2.0.0.v200706210215-7E7KE_QEC3wSU4TpiAiQ0r</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84D4HMEJxmcaAHGkz0qoUIUZm</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_tests.feature</name>
-	<version>2.0.0.v200706041905-6-CL9oA55P5L__6I9H</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature</name>
-	<version>2.0.0.v200706041905-791ECBAufYO8_EaomWE4Fe3uXjR1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature.source</name>
-	<version>2.0.0.v200706041905-791ECBAufYO8_EaomWE4Fe3uXjR1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_userdoc.feature</name>
-	<version>2.0.0.v200706041905-34Ds9oA55P5L_97C9J</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature</name>
-	<version>2.0.0.v200706041905-787BE9zCYQCCz-CnUGLYQV</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature.source</name>
-	<version>2.0.0.v200706041905-787BE9zCYQCCz-CnUGLYQV</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_sdk.feature</name>
-	<version>2.0.0.v200706041905-4--84F4HMELrmhp48dk6DBY3R_0j</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_tests.feature</name>
-	<version>2.0.0.v200706041905-7A-ELUE9IgKLWLEhbb-k2</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature</name>
-	<version>2.0.0.v200706182145-7A1ECBCnbckz0bZu9wHqAKN3mYpZ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature.source</name>
-	<version>2.0.0.v200706182145-7A1ECBCnbckz0bZu9wHqAKN3mYpZ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_userdoc.feature</name>
-	<version>2.0.0.v200706041905-4-EGk_kE77Y7QI7EEEQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tests.feature</name>
-	<version>1.0.1.v200706110805-3--7w311817222862</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.doc</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.converter</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.sdk</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.source</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 572 -->
-
-<entry>
-	<name>com.ibm.icu</name>
-	<version>3.6.1.v20070417</version>
-</entry>
-<entry>
-	<name>com.ibm.icu.source</name>
-	<version>3.6.1.v20070417</version>
-</entry>
-<entry>
-	<name>com.jcraft.jsch</name>
-	<version>0.1.31</version>
-</entry>
-<entry>
-	<name>javax.servlet</name>
-	<version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-	<name>javax.servlet.jsp</name>
-	<version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-	<name>javax.servlet.jsp.source</name>
-	<version>2.0.0.v200706191603</version>
-</entry>
-<entry>
-	<name>javax.servlet.source</name>
-	<version>2.4.0.v200706111738</version>
-</entry>
-<entry>
-	<name>javax.wsdl</name>
-	<version>1.4.0.v200706111329</version>
-</entry>
-<entry>
-	<name>javax.wsdl15</name>
-	<version>1.5.1.v200705290614</version>
-</entry>
-<entry>
-	<name>javax.xml.rpc</name>
-	<version>1.1.0.v200706111329</version>
-</entry>
-<entry>
-	<name>javax.xml.soap</name>
-	<version>1.2.0.v200706111329</version>
-</entry>
-<entry>
-	<name>org.apache.ant</name>
-	<version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-	<name>org.apache.ant.source</name>
-	<version>1.7.0.v200706080842</version>
-</entry>
-<entry>
-	<name>org.apache.axis</name>
-	<version>1.4.0.v200706191647</version>
-</entry>
-<entry>
-	<name>org.apache.cactus</name>
-	<version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-	<name>org.apache.commons.discovery</name>
-	<version>0.2.0.v200706111329</version>
-</entry>
-<entry>
-	<name>org.apache.commons.el</name>
-	<version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.commons.el.source</name>
-	<version>1.0.0.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.commons.logging</name>
-	<version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.commons.logging.source</name>
-	<version>1.0.4.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.jasper</name>
-	<version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.jasper.source</name>
-	<version>5.5.17.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.log4j</name>
-	<version>1.2.13.v200706111418</version>
-</entry>
-<entry>
-	<name>org.apache.lucene</name>
-	<version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.analysis</name>
-	<version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.analysis.source</name>
-	<version>1.9.1.v200706181610</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.source</name>
-	<version>1.9.1.v200706111724</version>
-</entry>
-<entry>
-	<name>org.apache.wsil4j</name>
-	<version>1.0.0.v200706111329</version>
-</entry>
-<entry>
-	<name>org.apache.xerces</name>
-	<version>2.8.0.v200705301630</version>
-</entry>
-<entry>
-	<name>org.apache.xml.resolver</name>
-	<version>1.1.0.v200705310020</version>
-</entry>
-<entry>
-	<name>org.dbunit</name>
-	<version>2.2.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.core</name>
-	<version>3.1.200.v20070522</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.optional.junit</name>
-	<version>3.2.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.ui</name>
-	<version>3.2.100.v20070511</version>
-</entry>
-<entry>
-	<name>org.eclipse.compare</name>
-	<version>3.3.0.I20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.boot</name>
-	<version>3.1.100.v20060603</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.commands</name>
-	<version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.contenttype</name>
-	<version>3.2.100.v20070319</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.databinding</name>
-	<version>1.0.0.I20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.databinding.beans</name>
-	<version>1.0.0.I20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.expressions</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filebuffers</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filesystem</name>
-	<version>1.1.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filesystem.linux.ppc</name>
-	<version>1.0.100.v20070430</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.jobs</name>
-	<version>3.3.0.v20070423</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.net</name>
-	<version>1.0.0.I20070531</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.resources</name>
-	<version>3.3.0.v20070604</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.resources.compatibility</name>
-	<version>3.2.100.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime</name>
-	<version>3.3.100.v20070530</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility</name>
-	<version>3.1.200.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility.auth</name>
-	<version>3.2.100.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility.registry</name>
-	<version>3.2.100.v20070316</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.variables</name>
-	<version>3.2.0.v20070426</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs</name>
-	<version>1.0.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs.source</name>
-	<version>1.0.0.v20070606-7C79_79EI99g_Y9e</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.generic</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.dbdefinition.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.derby.ui</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda</name>
-	<version>3.1.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.consumer</name>
-	<version>3.1.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.design</name>
-	<version>3.0.4.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-	<version>3.0.4.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-	<version>3.0.4.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-	<version>3.0.4.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.profile</name>
-	<version>3.0.4.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-	<version>3.0.4.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.core</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.fe.ui</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.fe.ui.actions</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-	<version>1.0.0.200706121</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui.dse</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.isv</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.user</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.finfo</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.classpath</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.dbunit</name>
-	<version>1.0.0.200706072</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver.profile</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.ws</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.xml</name>
-	<version>1.0.1.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-	<version>1.0.1.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.profile</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.profile</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.help</name>
-	<version>1.5.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.intro</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.lpg</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.dbdefinition</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.edit</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.query</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.oda.cshelp</name>
-	<version>1.0.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.source</name>
-	<version>1.5.0.200706191</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.common.ui</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.data.core</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.data.ui</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.db.derby</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.db.generic</name>
-	<version>1.0.0.200706131</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.debugger.core</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.editor.core</name>
-	<version>1.0.0.200706131</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql</name>
-	<version>1.0.0.200706161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-	<version>1.0.0.200706161</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-	<version>1.0.0.200706162</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-	<version>1.0.0.200706151</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.plan</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.result</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.routineeditor</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sql</name>
-	<version>1.0.0.200706111</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqleditor</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-	<version>1.0.0.200706181</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.tablewizard</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.debug.core</name>
-	<version>3.3.0.v20070607-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.debug.ui</name>
-	<version>3.3.0.v20070607-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d</name>
-	<version>3.2.100.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d.doc.isv</name>
-	<version>3.2.100.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ant</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.cheatsheets</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.commonj.sdo</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.converter</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.doc</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.change</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.change.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.doc</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.sdo.source</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.xmi</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.exporter</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.java</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.rose</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2xml</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ui</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.xsd2ecore</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.source</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.app</name>
-	<version>1.0.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.common</name>
-	<version>3.3.0.v20070426</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.jetty</name>
-	<version>1.0.0.v20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.registry</name>
-	<version>1.0.0.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.servlet</name>
-	<version>1.0.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.jsp.jasper</name>
-	<version>1.0.0.v20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.jsp.jasper.registry</name>
-	<version>1.0.0.v20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.launcher</name>
-	<version>1.0.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-	<version>1.0.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.preferences</name>
-	<version>3.2.100.v20070522</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.registry</name>
-	<version>3.3.0.v20070522</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef</name>
-	<version>3.2.100.v20070620</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.doc.isv</name>
-	<version>3.2.100.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.examples.ui.pde</name>
-	<version>3.3.0.v20070529</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.source</name>
-	<version>3.3.0.v20070620</version>
-</entry>
-<entry>
-	<name>org.eclipse.help</name>
-	<version>3.3.0.v20070524</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.appserver</name>
-	<version>3.1.200.v20070510</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.base</name>
-	<version>3.3.0.v20070606</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.ui</name>
-	<version>3.3.0.v20070530</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.webapp</name>
-	<version>3.3.0.v20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt</name>
-	<version>3.3.0.v20070607-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.core</name>
-	<version>3.3.0.v20070607-1200</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.pluggable.core</name>
-	<version>1.0.0.v20070529-2100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.ui</name>
-	<version>3.3.0.v20070430-1135</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.compiler.apt</name>
-	<version>1.0.0.v20070510-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.compiler.tool</name>
-	<version>1.0.0.v_771</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.core</name>
-	<version>3.3.0.v_771</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.core.manipulation</name>
-	<version>1.1.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.debug</name>
-	<version>3.3.0.v20070530a</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.debug.ui</name>
-	<version>3.2.100.v20070531-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.doc.isv</name>
-	<version>3.3.0.v20070613</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.doc.user</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit.runtime</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit4.runtime</name>
-	<version>1.0.100.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.launching</name>
-	<version>3.3.0.v20070510</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.source</name>
-	<version>3.3.0.v20070606-0010-7o7jCHEFpPoqQYvnXqejeR</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.ui</name>
-	<version>3.3.0.v20070607-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.beaninfo</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.proxy</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.tests</name>
-	<version>1.2.3.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.ui</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.util</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.workbench</name>
-	<version>2.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface</name>
-	<version>3.3.0.I20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface.databinding</name>
-	<version>1.1.0.I20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface.text</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt</name>
-	<version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core</name>
-	<version>1.0.0.v200706180000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.db</name>
-	<version>1.0.0.v200706130000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.db.ui</name>
-	<version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.doc.user</name>
-	<version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature.source</name>
-	<version>1.0.0.v200706250000-77--CYQCCz-CoRPCCCH</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.gen</name>
-	<version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.ui</name>
-	<version>1.0.0.v200706120001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.utility</name>
-	<version>1.0.0.v200705300001</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.utility.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jsch.core</name>
-	<version>1.0.0.I20070426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jsch.ui</name>
-	<version>1.0.0.I20070525</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst</name>
-	<version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.controller</name>
-	<version>1.1.1.v200706030115</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.core</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.ui</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.frameworks</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.project.facet.core</name>
-	<version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature.source</name>
-	<version>2.0.0.v200706041905-1007w311817231426</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.doc.isv</name>
-	<version>1.0.301.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.ui</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature.source</name>
-	<version>2.0.0.v200706041905-42Am_kE77Y7U9NAPH8</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature.source</name>
-	<version>2.0.0.v200706200200-7b7_ErUEU6AXGM40HZCO6nkOjnZQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee</name>
-	<version>1.1.103.v200706121630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core</name>
-	<version>1.1.102.v200706111630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core.tests</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core.tests.performance</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb</name>
-	<version>1.1.103.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-	<version>1.1.1.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-	<version>1.1.2.v200706191638</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-	<version>1.1.1.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.infopop</name>
-	<version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.jca</name>
-	<version>1.1.103.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.jca.ui</name>
-	<version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.navigator.ui</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.tests</name>
-	<version>1.1.100.v200706181357</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.tests.performance</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ui</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.web</name>
-	<version>1.1.103.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.webservice</name>
-	<version>1.1.100.v200706121000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.webservice.ui</name>
-	<version>1.1.101.v200706121000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-	<version>1.1.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee</name>
-	<version>1.0.0.v200706121000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.ejb</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.ui</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.web</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common</name>
-	<version>1.0.0.v20070619</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common.ui</name>
-	<version>1.0.0.v20070601</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.contentassist.tests</name>
-	<version>1.0.0.v20070604</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.context.symbol.tests</name>
-	<version>1.0.0.v20070611</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.core</name>
-	<version>1.0.0.v20070619</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.core.tests</name>
-	<version>1.0.0.v20070611</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.designtime.tests</name>
-	<version>1.0.0.v20070611</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.doc.dev</name>
-	<version>1.0.0.v20070619</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.doc.user</name>
-	<version>1.0.0.v20070619</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig</name>
-	<version>1.0.0.v200705302227</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig.ui</name>
-	<version>1.0.0.v20070611</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.metadata.tests</name>
-	<version>1.0.0.v20070612</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-	<version>1.0.0.v20070601</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.standard.tagsupport</name>
-	<version>1.0.0.v20070612</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.test.util</name>
-	<version>1.0.0.v20070601</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.ui</name>
-	<version>1.0.0.v20070613</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.ui.tests</name>
-	<version>1.0.0.v20070601</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.core</name>
-	<version>1.2.0.v200706120811</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.core.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.tests.encoding</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui</name>
-	<version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.infopop</name>
-	<version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner</name>
-	<version>1.0.0.v20070621</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-	<version>1.0.0.v20070601</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.jsp.core</name>
-	<version>1.0.0.v20070621</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.core</name>
-	<version>1.0.204.v20070612</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.core.tests</name>
-	<version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.core</name>
-	<version>1.0.201.v200706120310</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.jboss</name>
-	<version>1.5.102.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.jonas</name>
-	<version>1.5.100.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.oc4j</name>
-	<version>1.5.100.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.tests</name>
-	<version>1.0.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<version>1.0.102.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.installable</name>
-	<version>1.5.102.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.preview.adapter</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.core</name>
-	<version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.core.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.tests.performance</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.ui</name>
-	<version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui</name>
-	<version>1.0.203.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.infopop</name>
-	<version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.websphere.core</name>
-	<version>1.0.201.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature.source</name>
-	<version>2.0.0.v200706041905-787KE8RDUUEF6ExNsAAAJ</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature.source</name>
-	<version>2.0.0.v200706041905-56CL9rC7EK_PAQ7G_92537</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature.source</name>
-	<version>2.0.0.v200706041905-77-Ao9yJX9kueNPfPjeUCMFH3648</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.tests</name>
-	<version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.ui</name>
-	<version>1.1.101.v200706201330</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.ui.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.standard.schemas</name>
-	<version>1.0.0.v200706221355</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.validation.sample</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.validation.test</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature.source</name>
-	<version>2.0.0.v200706080101-7Q7ACQEHhHegvgW6ZtkAS</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature.source</name>
-	<version>2.0.0.v200706080001-7B1_BCkuMa8l8kBY3z0ZhX7aulBT</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature.source</name>
-	<version>1.0.0.v200706110802-3--9oA55P5M98</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws</name>
-	<version>1.0.203.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.core</name>
-	<version>1.0.203.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.ui</name>
-	<version>1.0.202.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.creation.ui</name>
-	<version>1.0.204.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-	<version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.consumption.core</name>
-	<version>1.0.0.v200706130319</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.core</name>
-	<version>1.0.0.v200706130319</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.creation.core</name>
-	<version>1.0.0.v200706141828</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.creation.ui</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.ui</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption</name>
-	<version>1.0.203.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.infopop</name>
-	<version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.ui</name>
-	<version>1.0.204.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-	<version>1.0.300.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.creation.ejb.ui</name>
-	<version>1.0.100.v200706030600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.creation.ui</name>
-	<version>1.0.204.v200706030115</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.tests</name>
-	<version>1.0.200.v200705311834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.tests.performance</name>
-	<version>1.0.200.v200706200235</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.uddiregistry</name>
-	<version>1.0.200.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.ui</name>
-	<version>1.0.201.v200705311743</version>
-</entry>
-<entry>
-	<name>org.eclipse.ltk.core.refactoring</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ltk.ui.refactoring</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi</name>
-	<version>3.3.0.v20070530</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi.services</name>
-	<version>3.1.200.v20070605</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi.util</name>
-	<version>3.1.200.v20070605</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.build</name>
-	<version>3.3.0.v20070612</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.core</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.doc.user</name>
-	<version>3.3.0.v20070614-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.junit.runtime</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.runtime</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.source</name>
-	<version>3.3.0.v20070607-7N7M-DUUEF6Ez0H46IcCC</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.ui</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.ui.templates</name>
-	<version>3.3.0.v20070608-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform</name>
-	<version>3.3.0.v20070613</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.doc.isv</name>
-	<version>3.3.0.v20070621</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.doc.user</name>
-	<version>3.3.0.I20070615-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source</name>
-	<version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source.linux.gtk.ppc</name>
-	<version>3.3.0.v20070612-_19UEkLEzwsdF9jSqQ-G</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp</name>
-	<version>3.2.0.v20070612</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source</name>
-	<version>3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source.linux.gtk.ppc</name>
-	<version>3.3.0.v20070607-8y8eE8NEbsN3X6PjWS8HPNG</version>
-</entry>
-<entry>
-	<name>org.eclipse.sdk</name>
-	<version>3.3.0.v20070613</version>
-</entry>
-<entry>
-	<name>org.eclipse.search</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.swt</name>
-	<version>3.3.0.v3345g</version>
-</entry>
-<entry>
-	<name>org.eclipse.swt.gtk.linux.ppc</name>
-	<version>3.3.0.v3345f</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.core</name>
-	<version>3.3.0.I20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.core</name>
-	<version>3.3.0.I20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ssh</name>
-	<version>3.2.100.I20061208</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ssh2</name>
-	<version>3.2.100.I20070604</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ui</name>
-	<version>3.3.0.I20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.ui</name>
-	<version>3.3.0.I20070607</version>
-</entry>
-<entry>
-	<name>org.eclipse.test</name>
-	<version>3.2.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.performance</name>
-	<version>3.3.0.v20070515</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.performance.win32</name>
-	<version>3.1.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.source</name>
-	<version>3.3.0.v20070411</version>
-</entry>
-<entry>
-	<name>org.eclipse.text</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.tomcat</name>
-	<version>4.1.230.v20070531</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui</name>
-	<version>3.3.0.I20070614-0800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.browser</name>
-	<version>3.2.100.v20070524A</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.cheatsheets</name>
-	<version>3.3.0.v20070507</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.console</name>
-	<version>3.2.0.v20070530</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.editors</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.externaltools</name>
-	<version>3.1.200.v20070416</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.forms</name>
-	<version>3.3.0.v20070511</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.ide</name>
-	<version>3.3.0.I20070620</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.ide.application</name>
-	<version>1.0.0.I20070530-0100</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.intro</name>
-	<version>3.2.100.v20070530</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.intro.universal</name>
-	<version>3.2.100.v20070530A</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.navigator</name>
-	<version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.navigator.resources</name>
-	<version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.net</name>
-	<version>1.0.0.I20070516</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.presentations.r21</name>
-	<version>3.2.100.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views</name>
-	<version>3.2.100.I20070319-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views.properties.tabbed</name>
-	<version>3.3.0.I20070605-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench</name>
-	<version>3.3.0.I20070608-1100</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench.compatibility</name>
-	<version>3.2.0.I20070319-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench.texteditor</name>
-	<version>3.3.0.v20070606-0010</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.configurator</name>
-	<version>3.2.100.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.core</name>
-	<version>3.2.100.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.core.linux</name>
-	<version>3.2.0.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.scheduler</name>
-	<version>3.2.100.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.ui</name>
-	<version>3.2.100.v20070615</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst</name>
-	<version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env</name>
-	<version>1.0.203.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.core</name>
-	<version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.doc.user</name>
-	<version>1.5.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.infopop</name>
-	<version>1.0.3.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.ui</name>
-	<version>1.0.202.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.core</name>
-	<version>1.1.101.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.emf</name>
-	<version>1.1.103.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.emfworkbench.integration</name>
-	<version>1.1.103.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.environment</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.frameworks</name>
-	<version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.frameworks.ui</name>
-	<version>1.1.100.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.modulecore</name>
-	<version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.core</name>
-	<version>1.2.0.v200706071740</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.core.tests</name>
-	<version>1.2.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.ui</name>
-	<version>1.2.0.v200706071742</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.ui.tests</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.snippets</name>
-	<version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.snippets.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.collector</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.performance</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.ui</name>
-	<version>1.1.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.ui</name>
-	<version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.ui.properties</name>
-	<version>1.0.102.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.uriresolver</name>
-	<version>1.1.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature.source</name>
-	<version>2.0.0.v200706041905-7C78EK9E_EkMNfNOd2d8qq</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature.source</name>
-	<version>2.0.0.v200706041905-7C5EGzE9RvTVniSrwnf4TgOPe3e9</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.core</name>
-	<version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.core.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.tests.encoding</name>
-	<version>1.0.200.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.isv</name>
-	<version>1.0.304.v200706112015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.user</name>
-	<version>1.1.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.core</name>
-	<version>1.1.101.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtdeditor.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.core</name>
-	<version>1.1.101.v200706120811</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.core.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.tests.encoding</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.cache</name>
-	<version>1.0.201.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.cache.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.core</name>
-	<version>1.0.203.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.ui</name>
-	<version>1.0.203.v20070608</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.core</name>
-	<version>1.0.101.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.ui</name>
-	<version>1.0.101.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.core</name>
-	<version>1.0.204.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.core.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.core</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.core.tests</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.ui</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.preview</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.preview.adapter</name>
-	<version>1.0.0.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.tests.performance</name>
-	<version>1.0.200.v20070611</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui</name>
-	<version>1.0.204.v20070619</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.doc.user</name>
-	<version>1.0.303.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.infopop</name>
-	<version>1.0.5.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.tests</name>
-	<version>1.0.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature.source</name>
-	<version>2.0.0.v200706041905-2-CL8s733G3E4B2862</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature.source</name>
-	<version>2.0.0.v200706041905-77-CQ9vCXBjvZGTVARHF8DBA</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.core</name>
-	<version>1.1.201.v200706212223</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.core.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui</name>
-	<version>1.0.302.v200706192034</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.infopop</name>
-	<version>1.0.102.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.tests.performance</name>
-	<version>1.0.100.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.standard.schemas</name>
-	<version>1.0.1.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.ui</name>
-	<version>1.1.102.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web.ui</name>
-	<version>1.1.101.v200706071630</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web.ui.infopop</name>
-	<version>1.0.202.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature.source</name>
-	<version>2.0.0.v200706041905-42CI_kE77Y7TAMAVHH</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature.source</name>
-	<version>2.0.0.v200706041905-7A0EAeCiWfEJsCcbAj88SKfRX</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.webtools.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws</name>
-	<version>1.0.202.v200705311823</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.explorer</name>
-	<version>1.0.204.v200706061845</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.infopop</name>
-	<version>1.0.203.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.parser</name>
-	<version>1.0.201.v200706061845</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.tests</name>
-	<version>1.0.200.v200705311823</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.ui</name>
-	<version>1.0.202.v200705311823</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature.source</name>
-	<version>2.0.0.v200706210215-7E7KE_QEC3wSU4TpiAiQ0r</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature.source</name>
-	<version>2.0.0.v200706041905-791ECBAufYO8_EaomWE4Fe3uXjR1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl</name>
-	<version>1.1.0.v200706062140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests</name>
-	<version>1.0.2.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests.performance</name>
-	<version>1.0.1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests.ui</name>
-	<version>1.0.1.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.ui</name>
-	<version>1.2.0.v200706062140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.ui.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.validation</name>
-	<version>1.1.201.v200706062140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.validation.tests</name>
-	<version>1.0.203</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi</name>
-	<version>1.0.105.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.ui</name>
-	<version>1.0.300.v200706062140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.ui.doc.user</name>
-	<version>1.0.203.v200706120315</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.core</name>
-	<version>1.1.200.v200706120811</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.core.tests</name>
-	<version>1.0.100.v200706120811</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.tests.encoding</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.infopop</name>
-	<version>1.0.2.v200706110217</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.tests</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.tests.performance</name>
-	<version>1.0.100.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.validation.tests</name>
-	<version>1.0.302.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature.source</name>
-	<version>2.0.0.v200706041905-787BE9zCYQCCz-CnUGLYQV</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature.source</name>
-	<version>2.0.0.v200706182145-7A1ECBCnbckz0bZu9wHqAKN3mYpZ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xmleditor.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.core</name>
-	<version>1.1.200.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.tests.performance</name>
-	<version>1.0.101.v200706110300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.ui</name>
-	<version>1.2.0.v200706131840</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.validation.tests</name>
-	<version>1.0.301.v200706071955</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsdeditor.doc.user</name>
-	<version>1.0.300.v200705302225</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools</name>
-	<version>1.0.0.v200706111751</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.cheatsheets</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.doc</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.converter</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.exporter</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.importer</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.edit</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping.editor</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.source</name>
-	<version>2.3.0.v200706200000</version>
-</entry>
-<entry>
-	<name>org.junit</name>
-	<version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-	<name>org.junit.source</name>
-	<version>3.8.2.v200706111738</version>
-</entry>
-<entry>
-	<name>org.junit4</name>
-	<version>4.3.1</version>
-</entry>
-<entry>
-	<name>org.mortbay.jetty</name>
-	<version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-	<name>org.mortbay.jetty.source</name>
-	<version>5.1.11.v200706111724</version>
-</entry>
-<entry>
-	<name>org.uddi4j</name>
-	<version>2.0.5.v200706111329</version>
-</entry>
-</bundleData>
-</referenceData>
-</versioningData>
diff --git a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_3.0.xml b/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_3.0.xml
deleted file mode 100644
index f2d588f..0000000
--- a/org.eclipse.callisto.tools.versionchecker/referenceData/versioningReference_3.0.xml
+++ /dev/null
@@ -1,3209 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<versioningData>
-<referenceData id="WTP-3.0">
-<featureData>
-<!-- Number of features: 173 -->
-
-<entry>
-	<name>org.eclipse.cvs</name>
-	<version>1.1.0.v20080603-7C79E8M9EI99m9c9S</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs.source</name>
-	<version>1.1.0.v20080603-7C79E8M9EI99m9c9S</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.feature</name>
-	<version>1.6.0.v200805151245-7_7K0Dn-QXuj8_GoX7JfPiBEG</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.designer.feature</name>
-	<version>1.6.0.v200804260945-7C67HCYQCD4CnIkMYha</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.feature</name>
-	<version>1.6.0.v200804021-7F27KBcMAAwAeIeHbVf</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.user</name>
-	<version>1.6.0.v200804021-34-8w95BKAEDF79CC</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.apache.derby.feature</name>
-	<version>1.6.0.v200804021-650AlJAKaLeL1NnfvBEKK</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.feature</name>
-	<version>1.6.0.v200804021-7D8H09FSoK_ZabCz-1W1i5cHpTui</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb.feature</name>
-	<version>1.6.0.v200804021-57_0_pF9IQJXHvLeamBEKK</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.feature</name>
-	<version>1.6.0.v200804021-7D40EB7sQS9RVfbjIOd</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdbc.feature</name>
-	<version>1.6.0.v200805301340-3-09oA55S5J8JADJJ</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.feature</name>
-	<version>1.6.0.v200804021-1-07w311916263466</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.feature</name>
-	<version>1.6.0.v200804021-441_kE77c7QARCMOS</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.feature</name>
-	<version>1.6.0.v200804021-441_kE77c7QASCMPN</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.designer.feature</name>
-	<version>1.6.0.v200804021-21-8s733I3C7F4K63</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.feature</name>
-	<version>1.6.0.v200804021-797P4CYQCD4CjOxEpNI</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.feature</name>
-	<version>1.6.0.v200804021-440_kE77c7QBPCFPL</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.feature</name>
-	<version>1.6.0.v200804021-441_kE77c7R_RCIOP</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sap.feature</name>
-	<version>1.6.0.v200804021-440_kE77c7QAQEIQQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.feature</name>
-	<version>1.6.0.v200805310538-7A-5E9IgKLhLCdtRvz0F</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.intro</name>
-	<version>1.6.0.v200804021-1--311817182</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.feature</name>
-	<version>1.6.0.v200804021-6-0BcMAAwAfFgKSbi</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sdk.feature</name>
-	<version>1.6.0.v200804021-67S-9KdPQ18QQav9Rpo-sh4sd-fY</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sdk.feature.source</name>
-	<version>1.6.0.v200804021</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.data.feature</name>
-	<version>1.6.0.v200804021-30-9oA55S5JAE7F__</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.ddl.feature</name>
-	<version>1.6.0.v200804021-25-84B22NbYGL9ItRmRYmm</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.ddlgen.feature</name>
-	<version>1.6.0.v200804021-77--CYQCD4ClJlQXll</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.feature</name>
-	<version>1.6.0.v200805301340-7F7d-E8yz-SHrDBONwUwXwIyxYSZ</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.parsers.feature</name>
-	<version>1.6.0.v200804021-502AgI99m9VCYHTTS</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.results.feature</name>
-	<version>1.6.0.v200804021-30-9oA55S5J_F8CBQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqldevtools.sqlbuilder.feature</name>
-	<version>1.6.0.v200805301340-6--BcMAAwAfFgKUZZ</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d</name>
-	<version>3.4.0.v20080115-33-7w3119163_</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d.sdk</name>
-	<version>3.4.0.v20080115-677-8082A5655G3B9B8x422_274A</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d.source</name>
-	<version>3.4.0.v20080115-33-7w3119163_</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.converter</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.databinding</name>
-	<version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.databinding.edit</name>
-	<version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.user.ui</name>
-	<version>1.0.0.v20080516-7d--ETu637E5sXQQHdi</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.user.ui.source</name>
-	<version>1.0.0.v20080516-7d--ETu637E5sXQQHdi</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef</name>
-	<version>3.4.0.v20080115-677-8082A5696H274A</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.sdk</name>
-	<version>3.4.0.v20080115-7B7E-97OK5c7PDdDMPMcHNPTM3CD</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.source</name>
-	<version>3.4.0.v20080115-677-8082A5696H274A</version>
-</entry>
-<entry>
-	<name>org.eclipse.help</name>
-	<version>1.0.0.v20080603-7r7xEHJEJkZu5mE6Q7QrtvtcHYLL</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.source</name>
-	<version>1.0.0.v20080603-7r7xEHJEJkZu5mE6Q7QrtvtcHYLL</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt</name>
-	<version>3.4.0.v20080603-2000-7o7tEAXEFpPqqkXxfeBhgev</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.source</name>
-	<version>3.4.0.v20080603-2000-7o7tEAXEFpPqqkXxfeBhgev</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink.feature</name>
-	<version>2.0.0.v200806090000-3--8s733I3D683333</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink.feature.source</name>
-	<version>2.0.0.v200806090000-3--8s733I3D683333</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink_sdk.feature</name>
-	<version>2.0.0.v200805220000-4--8042B1_B6U6G9A59559t844J4</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature</name>
-	<version>2.0.0.v200806090000-7938aCYQCD4CmHbCCCC</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.feature.source</name>
-	<version>2.0.0.v200806090000-7938aCYQCD4CmHbCCCC</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.sdk</name>
-	<version>2.0.0.v200804240000-6--8853LCQGU5X3j0RSU3RxWQakO</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.tests</name>
-	<version>2.0.0.v200802060000-2--77208x422_27242222</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.tests.feature</name>
-	<version>2.0.0.v200804220000-61-7w311916131111</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt_sdk.feature</name>
-	<version>2.0.0.v200805060000-5--90H8CvHoXSI9HrJlOINqDZRDE</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst</name>
-	<version>3.0.0.v200806111800-7U-8Y9LIrwYBUV7sHGjhtz0LTrMd</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature</name>
-	<version>3.0.0.v200806092130-25-8s733I3C4G6D37</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_core.feature.source</name>
-	<version>3.0.0.v200806092130-25-8s733I3C4G6D37</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common_sdk.feature</name>
-	<version>3.0.0.v200712031330-6--8-_2B1_B6U8G_J8IA99t844J4</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature</name>
-	<version>3.0.0.v200806092130-42E9w_kE77c7S9O_JE7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_core.feature.source</name>
-	<version>3.0.0.v200806092130-42E9w_kE77c7S9O_JE7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_sdk.feature</name>
-	<version>3.0.0.v200802280700-6--84d_EQVQHbTz0WNyVBCEffltt</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_tests.feature</name>
-	<version>3.0.0.v200802240543-773E8R9oA55S5J8G5AD5</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature</name>
-	<version>3.0.0.v200806092130-7Y7BFSHEPOwQKwKc30M_QbQ2Uifl</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_ui.feature.source</name>
-	<version>3.0.0.v200806092130-7Y7BFSHEPOwQKwKc30M_QbQ2Uifl</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.enterprise_userdoc.feature</name>
-	<version>3.0.0.v200712031330-52EAUAgI99m9YDcHLNb</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature</name>
-	<version>2.0.0.v20080605-1--7w31191716</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature.source</name>
-	<version>2.0.0.v20080605-1--7w31191716</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.apache.trinidad.tagsupport_sdk.feature</name>
-	<version>2.0.0.v20080602-4--7z42A56_4G3A388x422_2827</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.tests.feature</name>
-	<version>2.0.0.v20080509-7C7_-EAAoOQ-POQ02753</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.sdk</name>
-	<version>3.0.0.v200806111800-7X-8Y9RHFdm-LOHlz0MFwKFbZAK7</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature</name>
-	<version>3.0.0.v200806092130-787KEK_DUUEFDEsNoCJel</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.feature.source</name>
-	<version>3.0.0.v200806092130-787KEK_DUUEFDEsNoCJel</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_adapters.sdk.feature</name>
-	<version>3.0.0.v200712031330-6--84C_NPNIGgZILGH0Yyac0yEVV</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature</name>
-	<version>3.0.0.v200806092130-377An9oA55S5J9K35AC</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_core.feature.source</name>
-	<version>3.0.0.v200806092130-377An9oA55S5J9K35AC</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_sdk.feature</name>
-	<version>3.0.0.v200802280645-6--84D2HOnHz-WXdVFEXcOxnUULV</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_tests.feature</name>
-	<version>3.0.0.v200712031330-6-EN1AgI99m9XDS9DSX</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature</name>
-	<version>3.0.0.v200806092130-79-EDk9wKSZPCCNQMfVjHO8BHD</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_ui.feature.source</name>
-	<version>3.0.0.v200806092130-79-EDk9wKSZPCCNQMfVjHO8BHD</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server_userdoc.feature</name>
-	<version>3.0.0.v200712031330-1-CE7w311916261244</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.tests</name>
-	<version>3.0.0.v200805191452-7B-07gmjYg8rMz-EtBJH2Vboef</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature</name>
-	<version>3.0.0.v200806092130-7M7AERgEFp_acwcEhxa_fS</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_core.feature.source</name>
-	<version>3.0.0.v200806092130-7M7AERgEFp_acwcEhxa_fS</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_sdk.feature</name>
-	<version>3.0.0.v200802280700-770-90N9JSTToETgWrhrJE45iCLC</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_tests.feature</name>
-	<version>3.0.0.v200712270647-784EJxDUUEFDEyHgIVOS</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature</name>
-	<version>3.0.0.v200806092130-7E4E8ODgvOcQofh27nwFxdFiybAg</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_ui.feature.source</name>
-	<version>3.0.0.v200806092130-7E4E8ODgvOcQofh27nwFxdFiybAg</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.web_userdoc.feature</name>
-	<version>3.0.0.v200712031330-10-7w31191639</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature</name>
-	<version>2.0.0.v200805191452-32-9oA55S5M5J</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor.feature.source</name>
-	<version>2.0.0.v200805191452-32-9oA55S5M5J</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.webpageeditor_sdk.feature</name>
-	<version>2.0.0.v200805230650-4--8072Bz-DC9e9TCO0430_pB66T</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2tools.feature</name>
-	<version>1.0.0.v200805191452-77-E_5CYQCD4ClWDK1Wj</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2tools.feature.source</name>
-	<version>1.0.0.v200805191452-77-E_5CYQCD4ClWDK1Wj</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2tools_sdk.feature</name>
-	<version>1.0.0.v200805191452-2--84B2HK8KccGKBHngNMIjrDZRD</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde</name>
-	<version>3.4.0.v20080603-7T7U-E_EkMNrNKa89WcKH</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.p2</name>
-	<version>1.0.0.v20080522-1--7w3119171503111</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.p2.source</name>
-	<version>1.0.0.v20080522-1--7w3119171503111</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.source</name>
-	<version>3.4.0.v20080603-7T7U-E_EkMNrNKa89WcKH</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform</name>
-	<version>3.4.0.v20080606-9I96EhtEm-T_5LxHpAb07LaiZlo_suwudIZMM</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.source</name>
-	<version>3.4.0.v20080606-9I96EhtEm-T_5LxHpAb07LaiZlo_suwudIZMM</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp</name>
-	<version>3.4.0.v20080324a-989JERhEk-jWncbGXKK6sjxB</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp.source</name>
-	<version>3.4.0.v20080324a-989JERhEk-jWncbGXKK6sjxB</version>
-</entry>
-<entry>
-	<name>org.eclipse.sdk</name>
-	<version>3.4.0.v20080522-7O7S-CHEp2gcoErlIGpiL1YNL9ZuBz-hwBrutLz-wGust</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst</name>
-	<version>3.0.0.v200806092130-7A-8Y8QqN2lf4VSWrI2ek5Pf4k7s</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature</name>
-	<version>3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_core.feature.source</name>
-	<version>3.0.0.v200806092130-7C7_EV-E_EkMNrNKXCPneT</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_sdk.feature</name>
-	<version>3.0.0.v200806092130-791-_tTFGtUxSTkAdqr-Lz0Cz02S</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_tests.feature</name>
-	<version>3.0.0.v200806092130-7_79AhAgI99m9ZBM9ME9</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature</name>
-	<version>3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common_ui.feature.source</name>
-	<version>3.0.0.v200806092130-7C78ELSE8VrRVor6q2hez07sOLYD</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.feature</name>
-	<version>1.0.0.v200806092130-6--BcMAAwAbQRLQLo</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.feature.source</name>
-	<version>1.0.0.v200806092130-6--BcMAAwAbQRLQLo</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt_sdk.feature</name>
-	<version>1.0.0.v200806040130-2--8342EnPJE6FfWUNZNqCdNBBxB</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt_tests.feature</name>
-	<version>1.0.0.v200806092130-2--8s733I3B76776B</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sdk</name>
-	<version>3.0.0.v200806110645-7A-8Y8Pj5N752THM_Pk62dwkDiRH</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_adapters.feature</name>
-	<version>3.0.0.v200806092130-4-CE_kE77c7QAM7AMQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_adapters.feature.source</name>
-	<version>3.0.0.v200806092130-4-CE_kE77c7QAM7AMQ</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_adapters.sdk.feature</name>
-	<version>3.0.0.v200712031330-6--814FHKnN_IhAWDODCciAlF88d</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature</name>
-	<version>3.0.0.v200806092130-20Aj8s733I3C771256</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_core.feature.source</name>
-	<version>3.0.0.v200806092130-20Aj8s733I3C771256</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_sdk.feature</name>
-	<version>3.0.0.v200806092130-6--84D4DvC2HV24f5XPjUWEg7NVB</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_tests.feature</name>
-	<version>3.0.0.v200806092130-5-EIIAgI99m9XDS9DSX</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature</name>
-	<version>3.0.0.v200806092130-791Ak9vEIz0Z2VFXQHTTA69B7</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_ui.feature.source</name>
-	<version>3.0.0.v200806092130-791Ak9vEIz0Z2VFXQHTTA69B7</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server_userdoc.feature</name>
-	<version>3.0.0.v200712031330-10-7w311916261244</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.tests.feature</name>
-	<version>3.0.0.v200805191452-7F--7idjNc0J1ahNxea00UrAOk</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature</name>
-	<version>3.0.0.v200806110525-7G2EAWAM1n8CSCEz0VT3I8upg0SG</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_core.feature.source</name>
-	<version>3.0.0.v200806110525-7G2EAWAM1n8CSCEz0VT3I8upg0SG</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_sdk.feature</name>
-	<version>3.0.0.v200806111800-7F--8Xt7e20X3s5q5K6ZCiA-O-tU</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_tests.feature</name>
-	<version>3.0.0.v200805040310-78-EOYDUUEFDEyGYEIKi</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature</name>
-	<version>3.0.0.v200806110525-7R0ELQE8Krvy5z-NjIludKQn86QP</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_ui.feature.source</name>
-	<version>3.0.0.v200806110525-7R0ELQE8Krvy5z-NjIludKQn86QP</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web_userdoc.feature</name>
-	<version>3.0.0.v200805040310-21CE8s733I3D4C56AA</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature</name>
-	<version>3.0.0.v200806092130-7H7QECXED69XqKfwlnda1q7C5J</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_core.feature.source</name>
-	<version>3.0.0.v200806092130-7H7QECXED69XqKfwlnda1q7C5J</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_sdk.feature</name>
-	<version>3.0.0.v200805221406-78--9xR9LkMa9JqOqxKp6Khh1h_H</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_tests.feature</name>
-	<version>3.0.0.v200712031330-6-E_59oA55S5J8G5D55</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature</name>
-	<version>3.0.0.v200806092130-7E2EFFC-2f8feIeqFPNkR8BSyLPX</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_ui.feature.source</name>
-	<version>3.0.0.v200806092130-7E2EFFC-2f8feIeqFPNkR8BSyLPX</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_userdoc.feature</name>
-	<version>3.0.0.v200712031330-34EC39oA55S5K9I8BEN</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_wsdl14.feature</name>
-	<version>1.4.0.v200802280619-13-7w311917141518</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws_wsdl15.feature</name>
-	<version>1.5.1.v200802280619-1407w311917141519</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature</name>
-	<version>3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_core.feature.source</name>
-	<version>3.0.0.v200806092130-7A7NEGqE7QYGHNH2NqKrSP</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_sdk.feature</name>
-	<version>3.0.0.v200806092130-79--8CV8IkysFNkgPdQ0aB-Yt6RK</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_tests.feature</name>
-	<version>3.0.0.v200806092130-7D-EeAEB7sQS9RYdJVtUj</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature</name>
-	<version>3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_ui.feature.source</name>
-	<version>3.0.0.v200806092130-7F2EN0Cwum5M5u64RsGoSUMYCSXS</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml_userdoc.feature</name>
-	<version>3.0.0.v200805040310-40EGk_kE77c7QCI9GGM</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tests.feature</name>
-	<version>1.0.1.v200801091632-7C7Q4DUUEFDEwGdHqQI</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.converter</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 626 -->
-
-<entry>
-	<name>com.ibm.icu</name>
-	<version>3.8.1.v20080530</version>
-</entry>
-<entry>
-	<name>com.jcraft.jsch</name>
-	<version>0.1.37.v200803061811</version>
-</entry>
-<entry>
-	<name>javax.activation</name>
-	<version>1.1.0.v200806101325</version>
-</entry>
-<entry>
-	<name>javax.mail</name>
-	<version>1.4.0.v200804091730</version>
-</entry>
-<entry>
-	<name>javax.servlet</name>
-	<version>2.4.0.v200806031604</version>
-</entry>
-<entry>
-	<name>javax.servlet.jsp</name>
-	<version>2.0.0.v200806031607</version>
-</entry>
-<entry>
-	<name>javax.wsdl</name>
-	<version>1.5.1.v200806030408</version>
-</entry>
-<entry>
-	<name>javax.xml</name>
-	<version>1.3.4.v200806030440</version>
-</entry>
-<entry>
-	<name>javax.xml.rpc</name>
-	<version>1.1.0.v200806030420</version>
-</entry>
-<entry>
-	<name>javax.xml.soap</name>
-	<version>1.2.0.v200806030421</version>
-</entry>
-<entry>
-	<name>net.sourceforge.lpg.lpgjavaruntime</name>
-	<version>1.1.0.v200803061910</version>
-</entry>
-<entry>
-	<name>org.apache.ant</name>
-	<version>1.7.0.v200803061910</version>
-</entry>
-<entry>
-	<name>org.apache.axis</name>
-	<version>1.4.0.v200806030120</version>
-</entry>
-<entry>
-	<name>org.apache.cactus</name>
-	<version>1.7.2.v200805140145</version>
-</entry>
-<entry>
-	<name>org.apache.commons.discovery</name>
-	<version>0.2.0.v200806030120</version>
-</entry>
-<entry>
-	<name>org.apache.commons.el</name>
-	<version>1.0.0.v200806031608</version>
-</entry>
-<entry>
-	<name>org.apache.commons.logging</name>
-	<version>1.0.4.v20080605-1930</version>
-</entry>
-<entry>
-	<name>org.apache.jasper</name>
-	<version>5.5.17.v200806031609</version>
-</entry>
-<entry>
-	<name>org.apache.log4j</name>
-	<version>1.2.13.v200806030600</version>
-</entry>
-<entry>
-	<name>org.apache.lucene</name>
-	<version>1.9.1.v20080530-1600</version>
-</entry>
-<entry>
-	<name>org.apache.lucene.analysis</name>
-	<version>1.9.1.v20080530-1600</version>
-</entry>
-<entry>
-	<name>org.apache.wsil4j</name>
-	<version>1.0.0.v200806040330</version>
-</entry>
-<entry>
-	<name>org.apache.xerces</name>
-	<version>2.9.0.v200805270400</version>
-</entry>
-<entry>
-	<name>org.apache.xml.resolver</name>
-	<version>1.2.0.v200806030312</version>
-</entry>
-<entry>
-	<name>org.apache.xml.serializer</name>
-	<version>2.7.1.v200806030322</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.core</name>
-	<version>3.2.0.v20080529</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.optional.junit</name>
-	<version>3.2.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.ant.ui</name>
-	<version>3.3.0.v20080529</version>
-</entry>
-<entry>
-	<name>org.eclipse.compare</name>
-	<version>3.4.0.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.boot</name>
-	<version>3.1.100.v20080218</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.commands</name>
-	<version>3.4.0.I20080509-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.contenttype</name>
-	<version>3.3.0.v20080604-1400</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.databinding</name>
-	<version>1.1.0.I20080527-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.databinding.beans</name>
-	<version>1.1.0.I20080508-2000a</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.expressions</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filebuffers</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filesystem</name>
-	<version>1.2.0.v20080604-1400</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.filesystem.linux.ppc</name>
-	<version>1.0.100.v20080604-1400</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.jobs</name>
-	<version>3.4.0.v20080512</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.net</name>
-	<version>1.1.0.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.resources</name>
-	<version>3.4.0.v20080604-1400</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.resources.compatibility</name>
-	<version>3.4.0.v20080604-1400</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime</name>
-	<version>3.4.0.v20080512</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility</name>
-	<version>3.2.0.v20071008</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility.auth</name>
-	<version>3.2.100.v20070502</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.runtime.compatibility.registry</name>
-	<version>3.2.200.v20070717</version>
-</entry>
-<entry>
-	<name>org.eclipse.core.variables</name>
-	<version>3.2.100.v20080529-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.cvs</name>
-	<version>1.0.100.v20080603</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity</name>
-	<version>1.1.0.v200805160228</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.apache.derby</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.apache.derby.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.apache.derby.ui</name>
-	<version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.console.profile</name>
-	<version>1.0.0.v200805231345</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.generic</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.db.generic.ui</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.dbdefinition.genericJDBC</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda</name>
-	<version>3.1.2.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.consumer</name>
-	<version>3.1.2.v200805230718</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.design</name>
-	<version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.design.ui</name>
-	<version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-	<version>3.0.6.v200805261930</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.flatfile.ui</name>
-	<version>3.0.6.v200805261930</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.profile</name>
-	<version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.oda.template.ui</name>
-	<version>3.0.6.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.core</name>
-	<version>1.0.1.v200806041052</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-	<version>1.1.0.v200806070326</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.sqm.server.ui</name>
-	<version>1.1.0.v200806050117</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui</name>
-	<version>1.1.0.v200806040132</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui.dse</name>
-	<version>1.1.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.connectivity.ui.templates</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.isv</name>
-	<version>1.6.0.200709271</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.doc.user</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.finfo</name>
-	<version>1.5.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.hsqldb.ui</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition</name>
-	<version>1.0.0.v200805170155</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.iseries.ui</name>
-	<version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.luw.ui</name>
-	<version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.db2.zseries.ui</name>
-	<version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.informix.ui</name>
-	<version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.ibm.ui</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.jdt.classpath</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.msft.sqlserver.ui</name>
-	<version>1.0.0.v200805160737</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.dbdefinition</name>
-	<version>1.0.1.v200805170742</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.mysql.ui</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.ws</name>
-	<version>1.1.0.v200805261930</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.ws.ui</name>
-	<version>1.1.0.v200805261930</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.xml</name>
-	<version>1.1.0.v200805270900</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oda.xml.ui</name>
-	<version>1.1.0.v200805270900</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.oracle.ui</name>
-	<version>1.0.0.v200805240040</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.postgresql.ui</name>
-	<version>1.0.0.v200806060334</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sap.maxdb</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sap.maxdb.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sap.maxdb.ui</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase</name>
-	<version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa</name>
-	<version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa.dbdefinition</name>
-	<version>1.0.0.v200805240040</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa.models</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.asa.ui</name>
-	<version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase</name>
-	<version>1.0.1.v200806040735</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.dbdefinition</name>
-	<version>1.0.0.v200805240040</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.models</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ase.ui</name>
-	<version>1.0.1.v200805310538</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.models</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.enablement.sybase.ui</name>
-	<version>1.0.0.v200806041138</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.help</name>
-	<version>1.5.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.intro</name>
-	<version>1.0.0.200706071</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.dbdefinition</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.derby</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.edit</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.query</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.query.edit</name>
-	<version>1.0.0.v200806070329</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.oda.cshelp</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sdk.feature.source</name>
-	<version>1.6.0.v200804021</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.common.ui</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.data.core</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.data.ui</name>
-	<version>1.1.0.v200805310400</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.db.derby</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.db.generic</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.ddlgen.ui</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.debugger.core</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.editor.core</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.lexer</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.query</name>
-	<version>1.0.1.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.parsers.sql.xml.query</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.plan</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.result</name>
-	<version>1.0.0.v200805301309</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.routineeditor</name>
-	<version>1.0.0.v200805261703</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sql</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqlbuilder</name>
-	<version>1.0.0.v200806070500</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqleditor</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-	<version>1.0.0.v200806021003</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.tabledataeditor</name>
-	<version>1.0.0.v200805240400</version>
-</entry>
-<entry>
-	<name>org.eclipse.datatools.sqltools.tablewizard</name>
-	<version>1.0.0.v200805152355</version>
-</entry>
-<entry>
-	<name>org.eclipse.debug.core</name>
-	<version>3.4.0.v20080603</version>
-</entry>
-<entry>
-	<name>org.eclipse.debug.ui</name>
-	<version>3.4.0.v20080529-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d</name>
-	<version>3.4.0.v20080529</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d.doc.isv</name>
-	<version>3.4.0.v20080606</version>
-</entry>
-<entry>
-	<name>org.eclipse.draw2d.source</name>
-	<version>3.4.0.v20080115-33-7w3119163_</version>
-</entry>
-<entry>
-	<name>org.eclipse.ecf</name>
-	<version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-	<name>org.eclipse.ecf.filetransfer</name>
-	<version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-	<name>org.eclipse.ecf.identity</name>
-	<version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-	<name>org.eclipse.ecf.provider.filetransfer</name>
-	<version>2.0.0.v20080605-1013</version>
-</entry>
-<entry>
-	<name>org.eclipse.ecf.provider.filetransfer.ssl</name>
-	<version>1.0.0.v20080605-1013</version>
-</entry>
-<entry>
-	<name>org.eclipse.ecf.ssl</name>
-	<version>1.0.0.v20080605-1013</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ant</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ecore.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.codegen.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.common.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.converter</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.databinding</name>
-	<version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.databinding.edit</name>
-	<version>1.0.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.change</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.change.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.ecore.xmi</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.edit.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.exporter</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.java</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.importer.rose</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2xml</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.ui</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.xsd2ecore</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.app</name>
-	<version>1.1.0.v20080421-2006</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.common</name>
-	<version>3.4.0.v20080421-2006</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.frameworkadmin</name>
-	<version>1.0.0.v20080430-1750</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.frameworkadmin.equinox</name>
-	<version>1.0.0.v20080529-1225</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.jetty</name>
-	<version>1.1.0.v20080425</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.registry</name>
-	<version>1.0.100.v20080427-0830</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.http.servlet</name>
-	<version>1.0.100.v20080427-0830</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.jsp.jasper</name>
-	<version>1.0.100.v20080427-0830</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.jsp.jasper.registry</name>
-	<version>1.0.0.v20080427-0830</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.launcher</name>
-	<version>1.0.100.v20080509-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.launcher.gtk.linux.ppc</name>
-	<version>1.0.100.v20080606</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.artifact.repository</name>
-	<version>1.0.0.v20080609-0850</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.console</name>
-	<version>1.0.0.v20080514-1900</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.core</name>
-	<version>1.0.0.v20080530-1237</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.director</name>
-	<version>1.0.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.director.app</name>
-	<version>1.0.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.directorywatcher</name>
-	<version>1.0.0.v20080505-1850</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.engine</name>
-	<version>1.0.0.v20080522-1735</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.exemplarysetup</name>
-	<version>1.0.0.v20080427-2136</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.extensionlocation</name>
-	<version>1.0.0.v20080523-0001</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.garbagecollector</name>
-	<version>1.0.0.v20080506-1939</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.jarprocessor</name>
-	<version>1.0.0.v20080514-1900</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.metadata</name>
-	<version>1.0.0.v20080514-1900</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.metadata.generator</name>
-	<version>1.0.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.metadata.repository</name>
-	<version>1.0.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.reconciler.dropins</name>
-	<version>1.0.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.touchpoint.eclipse</name>
-	<version>1.0.0.v20080529-1225</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.touchpoint.natives</name>
-	<version>1.0.0.v20080505-1850</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.ui</name>
-	<version>1.0.0.v20080530-1237</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.ui.sdk</name>
-	<version>1.0.0.v20080605-1731</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.updatechecker</name>
-	<version>1.0.0.v20080427-2136</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.p2.updatesite</name>
-	<version>1.0.0.v20080529-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.preferences</name>
-	<version>3.2.200.v20080421-2006</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.registry</name>
-	<version>3.4.0.v20080516-0950</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.security</name>
-	<version>1.0.0.v20080512-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.security.ui</name>
-	<version>1.0.0.v20080603-1810</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.simpleconfigurator</name>
-	<version>1.0.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.equinox.simpleconfigurator.manipulator</name>
-	<version>1.0.0.v20080427-2136</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef</name>
-	<version>3.4.0.v20080526</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.doc.isv</name>
-	<version>3.4.0.v20080606</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.examples.ui.pde</name>
-	<version>3.4.0.v20080226</version>
-</entry>
-<entry>
-	<name>org.eclipse.gef.source</name>
-	<version>3.4.0.v20080115-677-8082A5696H274A</version>
-</entry>
-<entry>
-	<name>org.eclipse.help</name>
-	<version>3.3.100.v20080515</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.appserver</name>
-	<version>3.1.300.v20080507</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.base</name>
-	<version>3.3.100.v20080603</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.ui</name>
-	<version>3.3.100.v20080521</version>
-</entry>
-<entry>
-	<name>org.eclipse.help.webapp</name>
-	<version>3.3.100.v20080528</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.core</name>
-	<version>3.3.100.v20080513-1235</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.pluggable.core</name>
-	<version>1.0.100.v20080407-1345</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.apt.ui</name>
-	<version>3.3.100.v20080407-1345</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.compiler.apt</name>
-	<version>1.0.100.v20080513-1235</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.compiler.tool</name>
-	<version>1.0.100.v_872</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.core</name>
-	<version>3.4.0.v_872</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.core.manipulation</name>
-	<version>1.2.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.debug</name>
-	<version>3.4.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.debug.ui</name>
-	<version>3.3.0.v20080603</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.doc.isv</name>
-	<version>3.4.0.v20080606-1215</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.doc.user</name>
-	<version>3.4.0.v20080606-1215</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit.runtime</name>
-	<version>3.3.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.junit4.runtime</name>
-	<version>1.0.200.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.launching</name>
-	<version>3.4.0.v20080529-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.jdt.ui</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem</name>
-	<version>2.0.200.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.beaninfo</name>
-	<version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.proxy</name>
-	<version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.tests</name>
-	<version>1.2.4.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.ui</name>
-	<version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.util</name>
-	<version>2.0.100.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jem.workbench</name>
-	<version>2.0.100.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface</name>
-	<version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface.databinding</name>
-	<version>1.2.0.I20080515-2000a</version>
-</entry>
-<entry>
-	<name>org.eclipse.jface.text</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt</name>
-	<version>2.0.0.v200802060000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core</name>
-	<version>2.0.0.v200805220000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core.tests</name>
-	<version>2.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.core.tests.extension.resource</name>
-	<version>2.0.0.v200805020000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.db</name>
-	<version>1.1.1.v200805020000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.db.ui</name>
-	<version>1.0.1.v200805020000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.doc.isv</name>
-	<version>1.0.0.v200805220000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.doc.user</name>
-	<version>1.0.100.v200805280000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink.core</name>
-	<version>1.0.0.v200806050000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink.core.ddlgen</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink.core.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.eclipselink.ui</name>
-	<version>1.0.0.v200805300000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.gen</name>
-	<version>1.1.0.v200805020000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.ui</name>
-	<version>2.0.0.v200806050000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.utility</name>
-	<version>1.2.0.v200805140000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jpt.utility.tests</name>
-	<version>1.2.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jsch.core</name>
-	<version>1.1.100.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.jsch.ui</name>
-	<version>1.1.100.I20080415</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst</name>
-	<version>1.0.100.v200805140017</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.controller</name>
-	<version>1.1.100.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.core</name>
-	<version>1.1.100.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.annotations.ui</name>
-	<version>1.1.102.v200806010600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.frameworks</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.project.facet.core</name>
-	<version>1.3.0.v200805151903</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.common.project.facet.ui</name>
-	<version>1.3.0.v200805092201</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.doc.user</name>
-	<version>1.1.0.v200805152320</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.ui</name>
-	<version>1.1.200.v200805292155</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ejb.ui.infopop</name>
-	<version>1.0.100.v200805222207</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee</name>
-	<version>1.1.200.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core</name>
-	<version>1.1.200.v200806052000</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core.tests</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.core.tests.performance</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.doc.user</name>
-	<version>1.1.0.v200805281506</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb</name>
-	<version>1.1.200.v200806041500</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-	<version>1.1.102.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-	<version>1.1.102.v200805140135</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-	<version>1.1.102.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-	<version>1.2.0.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.infopop</name>
-	<version>1.0.300.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.jca</name>
-	<version>1.1.200.v200806041500</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.jca.ui</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.navigator.ui</name>
-	<version>1.1.200.v200805221242</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.tests</name>
-	<version>1.1.200.v200806121400</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.tests.performance</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.ui</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.web</name>
-	<version>1.1.200.v200806051600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.webservice</name>
-	<version>1.1.200.v200805150230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.webservice.ui</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-	<version>1.1.102.v200805140135</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee</name>
-	<version>1.0.100.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.ejb</name>
-	<version>1.0.100.v200805151150</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.ui</name>
-	<version>1.0.100.v200805221242</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jee.web</name>
-	<version>1.0.100.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.apache.trinidad.tagsupport</name>
-	<version>1.0.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common.runtime</name>
-	<version>1.0.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common.runtime.tests</name>
-	<version>1.0.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.common.ui</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.contentassist.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.context.symbol.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.core</name>
-	<version>1.1.0.v20080606</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.core.tests</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.designtime.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.doc.dev</name>
-	<version>1.1.0.v20080528</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.doc.user</name>
-	<version>1.1.0.v20080528</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig.ui</name>
-	<version>1.1.0.v20080610</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.facesconfig.ui.test</name>
-	<version>1.0.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.metadata.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.metadataprocessingtests2</name>
-	<version>1.1.0.v200804011642</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.standard.tagsupport</name>
-	<version>1.1.0.v20080515</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.test.util</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.ui</name>
-	<version>1.1.0.v20080606</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.ui.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsf.validation.el.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.core</name>
-	<version>1.2.100.v200806050300</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.core.tests</name>
-	<version>1.0.200.v200806091100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.tests.encoding</name>
-	<version>1.0.200.v200806012359</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui</name>
-	<version>1.1.300.v200805152207</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.infopop</name>
-	<version>1.0.100.v200805301545</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.tests</name>
-	<version>1.0.200.v200806050300</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.jsp.ui.tests.performance</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.jsf.ui</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.jsp.core</name>
-	<version>1.1.0.v20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.pagedesigner.tests</name>
-	<version>1.1.0.v20080509</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.core</name>
-	<version>1.1.0.v20080528</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.core.tests</name>
-	<version>1.0.302.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.core</name>
-	<version>1.0.305.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.jboss</name>
-	<version>1.5.205.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.jonas</name>
-	<version>1.5.205.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.oc4j</name>
-	<version>1.5.205.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.tests</name>
-	<version>1.0.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<version>1.0.305.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.installable</name>
-	<version>1.5.202.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.preview.adapter</name>
-	<version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.core</name>
-	<version>1.1.101.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.core.tests</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.tests.performance</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.ui</name>
-	<version>1.1.100.v20080528</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.tomcat.ui.tests</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui</name>
-	<version>1.0.303.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.doc.user</name>
-	<version>1.0.400.v200805150133</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.infopop</name>
-	<version>1.0.400.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.ui.tests</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.server.websphere.core</name>
-	<version>1.0.301.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.tests</name>
-	<version>1.1.201.v200806010600</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.ui</name>
-	<version>1.1.200.v200805150230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.servlet.ui.infopop</name>
-	<version>1.0.300.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.standard.schemas</name>
-	<version>1.0.100.v200806021952</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.validation.sample</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.validation.test</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws</name>
-	<version>1.0.304.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.core</name>
-	<version>1.0.304.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.core.tests</name>
-	<version>1.0.102.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.consumption.ui</name>
-	<version>1.0.303.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.creation.ui</name>
-	<version>1.0.305.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.infopop</name>
-	<version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-	<version>1.1.0.v200806092139</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.consumption.core</name>
-	<version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.consumption.ui</name>
-	<version>1.0.101.v200805301834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.core</name>
-	<version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.creation.core</name>
-	<version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.creation.ui</name>
-	<version>1.0.102.v200805301834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.ui</name>
-	<version>1.0.201.v200805301834</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.axis2.ui.doc.user</name>
-	<version>1.0.0.v200805211529</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption</name>
-	<version>1.0.304.v200805140330</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.infopop</name>
-	<version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.ui</name>
-	<version>1.1.0.v200806050222</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-	<version>1.0.400.v200805142257</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.creation.ejb.ui</name>
-	<version>1.0.200.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.creation.ui</name>
-	<version>1.0.305.v200805281530</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.doc.user</name>
-	<version>1.0.400.v200805142257</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.infopop</name>
-	<version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.tests</name>
-	<version>1.0.301.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.tests.performance</name>
-	<version>1.0.202.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.uddiregistry</name>
-	<version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.jst.ws.ui</name>
-	<version>1.0.302.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.ltk.core.refactoring</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ltk.ui.refactoring</name>
-	<version>3.4.0.v20080605-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi</name>
-	<version>3.4.0.v20080605-1900</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi.services</name>
-	<version>3.1.200.v20071203</version>
-</entry>
-<entry>
-	<name>org.eclipse.osgi.util</name>
-	<version>3.1.300.v20080303</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde</name>
-	<version>3.4.0.v20080603</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.api.tools</name>
-	<version>1.0.0.v20080529-1150</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.api.tools.ui</name>
-	<version>1.0.0.v20080603</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.build</name>
-	<version>3.4.0.v20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.core</name>
-	<version>3.4.0.v20080604-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.doc.user</name>
-	<version>3.3.0.v20080606-1515</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.junit.runtime</name>
-	<version>3.4.0.v20080529-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.p2.ui</name>
-	<version>1.0.0.v20080604-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.runtime</name>
-	<version>3.4.0.v20080530-1200</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.ui</name>
-	<version>3.4.0.v20080530</version>
-</entry>
-<entry>
-	<name>org.eclipse.pde.ui.templates</name>
-	<version>3.4.0.v20080514-1500</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform</name>
-	<version>3.3.100.v200806091311</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.doc.isv</name>
-	<version>3.4.0.v20080606-1625</version>
-</entry>
-<entry>
-	<name>org.eclipse.platform.doc.user</name>
-	<version>3.4.0.v20080606-1625</version>
-</entry>
-<entry>
-	<name>org.eclipse.rcp</name>
-	<version>3.4.0.v20080507</version>
-</entry>
-<entry>
-	<name>org.eclipse.sdk</name>
-	<version>3.4.0.v200806091311</version>
-</entry>
-<entry>
-	<name>org.eclipse.search</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.swt</name>
-	<version>3.4.0.v3448d</version>
-</entry>
-<entry>
-	<name>org.eclipse.swt.gtk.linux.ppc</name>
-	<version>3.4.0.v3448d</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.core</name>
-	<version>3.4.0.I20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.core</name>
-	<version>3.3.100.I20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ssh</name>
-	<version>3.2.100.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ssh2</name>
-	<version>3.2.200.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.cvs.ui</name>
-	<version>3.3.100.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.team.ui</name>
-	<version>3.4.0.I20080604</version>
-</entry>
-<entry>
-	<name>org.eclipse.test</name>
-	<version>3.2.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.performance</name>
-	<version>3.4.0.v20080204</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.performance.win32</name>
-	<version>3.1.100</version>
-</entry>
-<entry>
-	<name>org.eclipse.test.source</name>
-	<version>3.3.0.v20080507</version>
-</entry>
-<entry>
-	<name>org.eclipse.text</name>
-	<version>3.4.0.v20080605-1800</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui</name>
-	<version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.browser</name>
-	<version>3.2.200.v20080507</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.cheatsheets</name>
-	<version>3.3.100.v20080508</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.console</name>
-	<version>3.3.0.v20080529-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.editors</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.externaltools</name>
-	<version>3.2.0.v20080514-1542</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.forms</name>
-	<version>3.3.100.v20080521</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.ide</name>
-	<version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.ide.application</name>
-	<version>1.0.0.I20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.intro</name>
-	<version>3.2.200.v20080508</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.intro.universal</name>
-	<version>3.2.200.v20080508</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.navigator</name>
-	<version>3.3.100.I20080606-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.navigator.resources</name>
-	<version>3.3.100.I20080606-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.net</name>
-	<version>1.0.0.I20080605</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.presentations.r21</name>
-	<version>3.2.100.I20080512-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views</name>
-	<version>3.3.0.I20080509-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views.log</name>
-	<version>1.0.0.v20080522-2200</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.views.properties.tabbed</name>
-	<version>3.4.0.I20080527-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench</name>
-	<version>3.4.0.I20080606-1300</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench.compatibility</name>
-	<version>3.2.0.I20080509-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.ui.workbench.texteditor</name>
-	<version>3.4.0.v20080603-2000</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.configurator</name>
-	<version>3.2.200.v20080417</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.core</name>
-	<version>3.2.200.v20080515</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.core.linux</name>
-	<version>3.2.0.v20080422</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.scheduler</name>
-	<version>3.2.100.v20080404</version>
-</entry>
-<entry>
-	<name>org.eclipse.update.ui</name>
-	<version>3.2.100.v20080318</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst</name>
-	<version>1.0.100.v200805140017</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env</name>
-	<version>1.0.305.v200805281530</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.core</name>
-	<version>1.0.204.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.doc.user</name>
-	<version>1.5.200.v200806092138</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.infopop</name>
-	<version>1.0.100.v200805301544</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.command.env.ui</name>
-	<version>1.1.0.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.api.doc</name>
-	<version>1.0.0.v200806021506</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.core</name>
-	<version>1.1.201.v200806010600</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.emf</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.emfworkbench.integration</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.environment</name>
-	<version>1.0.201.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.frameworks</name>
-	<version>1.1.200.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.frameworks.ui</name>
-	<version>1.1.200.v200805221400</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.infopop</name>
-	<version>1.0.100.v200805301550</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.modulecore</name>
-	<version>1.1.200.v200806091800</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.core</name>
-	<version>1.3.0.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.core.tests</name>
-	<version>1.3.0.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.doc.api</name>
-	<version>1.0.0.v200805301505</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.ui</name>
-	<version>1.3.0.v200805281731</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.project.facet.ui.tests</name>
-	<version>1.3.0.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.snippets</name>
-	<version>1.1.200.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.snippets.tests</name>
-	<version>1.0.200.v200806010700</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests</name>
-	<version>1.2.0.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.collector</name>
-	<version>1.1.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.performance</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.ui</name>
-	<version>1.1.101.v200806010700</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.validation</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.tests.validation.guard</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.ui</name>
-	<version>1.1.301.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.common.uriresolver</name>
-	<version>1.1.301.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.core</name>
-	<version>1.1.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.core.tests</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.tests.encoding</name>
-	<version>1.0.300.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui</name>
-	<version>1.0.300.v200805152207</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui.tests</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.css.ui.tests.performance</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.doc.user</name>
-	<version>1.2.0.v200806052254</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.core</name>
-	<version>1.1.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.core.tests</name>
-	<version>1.0.0.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui</name>
-	<version>1.0.300.v200805152207</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui.infopop</name>
-	<version>1.0.300.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtd.ui.tests</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.dtdeditor.doc.user</name>
-	<version>1.0.400.v200805150028</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.core</name>
-	<version>1.1.200.v200806050300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.core.tests</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.tests.encoding</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui</name>
-	<version>1.0.300.v200805152207</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.infopop</name>
-	<version>1.0.100.v200805301545</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.tests</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.html.ui.tests.performance</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.cache</name>
-	<version>1.0.301.v200805140020</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.cache.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.core</name>
-	<version>1.0.303.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.ui</name>
-	<version>1.0.304.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.internet.monitor.ui.tests</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.core</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.ui</name>
-	<version>1.0.200.v200805160650</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.javascript.ui.infopop</name>
-	<version>1.0.100.v200805301545</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.core</name>
-	<version>1.0.0.v200805291857</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.core.tests.compiler</name>
-	<version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.core.tests.model</name>
-	<version>1.0.0.v200805132221</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.doc</name>
-	<version>1.0.0.v200805302104</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.manipulation</name>
-	<version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.support.firefox</name>
-	<version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.support.ie</name>
-	<version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.ui</name>
-	<version>1.0.0.v200805282135</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.web.core</name>
-	<version>1.0.0.v200805221604</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.web.support.jsp</name>
-	<version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.jsdt.web.ui</name>
-	<version>1.0.0.v200804302218</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.core</name>
-	<version>1.1.0.v20080530</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.core.tests</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.core</name>
-	<version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.core.tests</name>
-	<version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.http.ui</name>
-	<version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.preview</name>
-	<version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.preview.adapter</name>
-	<version>1.0.100.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.tests.performance</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui</name>
-	<version>1.1.0.v20080515</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.doc.user</name>
-	<version>1.1.0.v200805150133</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.infopop</name>
-	<version>1.1.0.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.server.ui.tests</name>
-	<version>1.0.300.v200805140145</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.core</name>
-	<version>1.1.300.v200805221633</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.core.tests</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.doc.user</name>
-	<version>1.1.0.v200805211530</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui</name>
-	<version>1.1.0.v200806041847</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.infopop</name>
-	<version>1.0.200.v200805301545</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.tests</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.sse.ui.tests.performance</name>
-	<version>1.0.200.v200806020015</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.standard.schemas</name>
-	<version>1.0.101.v200806010600</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation</name>
-	<version>1.2.0.v200806051402</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.doc.isv</name>
-	<version>1.2.0.v200805221201</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.infopop</name>
-	<version>1.0.300.v200806041506</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.validation.ui</name>
-	<version>1.2.0.v200805262011</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web</name>
-	<version>1.1.202.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web.ui</name>
-	<version>1.1.200.v200805281530</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.web.ui.infopop</name>
-	<version>1.0.300.v200805140415</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.webtools.doc.user</name>
-	<version>1.0.400.v200805150134</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws</name>
-	<version>1.1.0.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.api.doc</name>
-	<version>1.0.0.v200806021503</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.explorer</name>
-	<version>1.0.305.v200806041425</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.infopop</name>
-	<version>1.0.300.v200805140230</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.parser</name>
-	<version>1.0.202.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.service.policy</name>
-	<version>1.0.0.v200805221441</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.service.policy.ui</name>
-	<version>1.0.0.v200806031937</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.tests</name>
-	<version>1.0.301.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.ws.ui</name>
-	<version>1.1.0.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl</name>
-	<version>1.1.200.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.doc.isv</name>
-	<version>1.0.0.v200805301419</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests</name>
-	<version>1.0.104.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests.performance</name>
-	<version>1.0.1</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.tests.ui</name>
-	<version>1.0.101.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.ui</name>
-	<version>1.2.100.v200806051913</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.ui.doc.user</name>
-	<version>1.0.400.v200805150135</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.validation</name>
-	<version>1.1.301.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsdl.validation.tests</name>
-	<version>1.0.203</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi</name>
-	<version>1.0.205.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.tests</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.ui</name>
-	<version>1.0.400.v200805140300</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.wsi.ui.doc.user</name>
-	<version>1.0.300.v200805301546</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.catalog.tests</name>
-	<version>1.0.0.v200806051910</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.core</name>
-	<version>1.1.300.v200806051910</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.core.tests</name>
-	<version>1.0.200.v200805152207</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.tests.encoding</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui</name>
-	<version>1.0.400.v200806051910</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.infopop</name>
-	<version>1.0.300.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.tests</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.ui.tests.performance</name>
-	<version>1.0.200.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xml.validation.tests</name>
-	<version>1.0.400.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xmleditor.doc.user</name>
-	<version>1.0.400.v200805211530</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.core</name>
-	<version>1.1.300.v200805282012</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.core.tests</name>
-	<version>1.0.0.v200805282012</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.tests.performance</name>
-	<version>1.0.300.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.ui</name>
-	<version>1.2.101.v200806051910</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsd.validation.tests</name>
-	<version>1.0.400.v200805140200</version>
-</entry>
-<entry>
-	<name>org.eclipse.wst.xsdeditor.doc.user</name>
-	<version>1.0.400.v200805150028</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tests</name>
-	<version>1.0.0.v200806012140</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools</name>
-	<version>1.0.0.v200806010700</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools.component.core</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.tools.component.ui</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.wtp.releng.wtpbuilder</name>
-	<version>1.0.0</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.converter</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.exporter</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.ecore.importer</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.edit</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.eclipse.xsd.mapping.editor</name>
-	<version>2.4.0.v200806091234</version>
-</entry>
-<entry>
-	<name>org.junit</name>
-	<version>3.8.2.v20080602-1318</version>
-</entry>
-<entry>
-	<name>org.junit4</name>
-	<version>4.3.1</version>
-</entry>
-<entry>
-	<name>org.mortbay.jetty</name>
-	<version>5.1.14.v200806031611</version>
-</entry>
-<entry>
-	<name>org.objectweb.asm</name>
-	<version>3.1.0.v200803061910</version>
-</entry>
-<entry>
-	<name>org.sat4j.core</name>
-	<version>2.0.0.v20080602</version>
-</entry>
-<entry>
-	<name>org.sat4j.pb</name>
-	<version>2.0.0.v20080602</version>
-</entry>
-<entry>
-	<name>org.uddi4j</name>
-	<version>2.0.5.v200805270300</version>
-</entry>
-</bundleData>
-</referenceData>
-</versioningData>
diff --git a/org.eclipse.callisto.tools.versionchecker/runVersionLister.bat b/org.eclipse.callisto.tools.versionchecker/runVersionLister.bat
deleted file mode 100644
index 63fbff2..0000000
--- a/org.eclipse.callisto.tools.versionchecker/runVersionLister.bat
+++ /dev/null
@@ -1,35 +0,0 @@
-@echo off
-
-rem specify devworkspace and JRE to use to runEclipse
-
-set devworkspace=%1
-if %devworkspace%. == . set devworkspace=./workspace
-
-rem this is a SUN 1.4.2 JRE
-set devJRE=\JDKs\j2sdk1.4.2_11\bin\javaw.exe
-
-rem IBM's 1.4.2 JRE
-rem set devJRE=\JDKs\ibm-sdk-n142p-win32-x86\bin\java.exe
-
-rem Sun's 1.5 JRE
-rem set devJRE=\JDKs\jdk1.5.0_07\bin\java.exe
-rem set devJRE=\JDKs\jdk1.5.0_05\bin\java.exe
-
-rem IBM's 1.5 JRE
-rem set devJRE=\JDKs\ibm-java2-sdk-50\bin\java.exe
-
-
-
-echo dev:          %0
-echo.
-echo devworkspace: %devworkspace%
-echo.
-echo devJRE:       %devJRE%
-%devJRE% -version
-echo.
-
-rem set versionListerCommands=-listToReferenceFile 
-set versionListerCommands=-testToReference WTPSDK151
-
-eclipse -application org.eclipse.callisto.tools.versionchecker.listVersions -clean -nosplash -showlocation -refresh  -data %devworkspace%  %versionListerCommands% -vm %devjre% -vmargs  -showversion -Xmx256M 1>versionCheckerOutput.txt
-
diff --git a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/ClassPathResolver.java b/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/ClassPathResolver.java
deleted file mode 100644
index a86709c..0000000
--- a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/ClassPathResolver.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.callisto.tools.versionchecker;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * ClassPathResolver
- */
-
-public class ClassPathResolver implements EntityResolver {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
-
-		String id = systemId;
-		if (id.startsWith("file:///")) {
-			id = id.substring("file:///".length()); 
-		}
-		InputStream stream = getClass().getResourceAsStream(id);
-		if (stream == null) {
-			return null;
-		}
-		else {
-			return new InputSource(stream);
-		}
-	}
-
-}
diff --git a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/DependencyChecker.java b/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/DependencyChecker.java
deleted file mode 100644
index cec8c2f..0000000
--- a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/DependencyChecker.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *      Pascal Rapicault, IBM - Initial implementation
- *      David Williams, IBM, - added 
- *          'conservative' directive
- *          'workpaceRoot' directive
- *          maintained some other attributes in pre-req'd bundles
- *          made output "ready to paste", if desired. 
- *      
- *******************************************************************************/
-package org.eclipse.callisto.tools.versionchecker;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.BundleSpecification;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * A simple, unsupported, little-tested utility to help convert from using
- * unconstrained pre-req'd bundles, to ones constrained to be within a certain
- * range.
- * 
- * For example, if a plugin's manifest.mf file specifies
- * 
- * <p>
- * <code>Require-Bundle: org.eclipse.core.runtime</code>
- * </p>
- * <p>
- * this utility will write
- * </p>
- * <p>
- * <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;</code>
- * </p>
- * <p>
- * or
- * </p>
- * <p>
- * <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;</code>
- * </p>
- * <p>
- * if <i>-conservative</i> is specified. In all case the lower bound is
- * determined by the version found as this utility actually runs.
- * 
- * </pre>
- * 
- * <p>
- * Directives:
- * </p>
- * <p>
- * -filter "some regx expression"
- * </p>
- * <p>
- * Will write/check manifest only for those plugins matching regx expression.
- * </p>
- * <p>
- * -conservative
- * </p>
- * <p>
- * Will increment 'minor' code, instead of 'major' code in upper bound of the
- * range. This is required for those using another plugin's internal (non-API)
- * methods, and recommended if you do not know for sure you are using
- * API-only. The default is not-conservative, which increments the major
- * field.
- * </p>
- * <p>
- * -workspaceRoot "absolute file system path name to workspace"
- * </p>
- * <p>
- * If specified, the manifest.mf files found in the workspace will be
- * re-written with the results of this tool. Note. The workspace must "match"
- * the runtime the tool is running in, for this to make any sense. The default
- * is to simply write the recommended "Require-Bundle:" section the console
- * log.
- * </p>
- * <p>
- * Note: re-export visibility and optional resolution are maintained "as is"
- * in output (but other pre-req settings (e.g. vendor?) may be lost. The
- * intent is to provide "ready for pasting" content, if its happens to work
- * well for your cases.
- * </p>
- * <p>
- * Example invocation:
- * </p>
- * <p>
- * 
- * <pre>
- * 
- * java -jar startup.jar -clean -application
- * org.eclipse.callisto.tools.versionchecker.dependencyChecker
- * 
- * </pre>
- * 
- * </p>
- * 
- * <p>
- * Example output:
- * </p>
- * 
- * <pre>
- * 
- * bundle org.eclipse.wst.xml.core Require-Bundle:
- * org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- * org.eclipse.core.resources;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- * org.eclipse.wst.common.uriresolver;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.wst.sse.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.text;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- * org.eclipse.jem.util;resolution:=optional;bundle-version=&quot;[1.2.0,1.3.0)&quot;,
- * org.eclipse.wst.validation;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.emf.ecore.edit;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- * org.eclipse.wst.common.emf;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.emf.ecore.xmi;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- * org.eclipse.wst.common.emfworkbench.integration;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.wst.common.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * com.ibm.icu;bundle-version=&quot;[3.4.4,3.5.0)&quot;,
- * org.apache.xerces;visibility:=reexport;bundle-version=&quot;[2.8.0,2.9.0)&quot;
- * 
- * </pre>
- */
-public class DependencyChecker implements IPlatformRunnable {
-
-	private static final String CONSERVATIVE_DIRECTIVE = "-conservative";
-	private static final String FILTER_DIRECTIVE = "-filter";
-	private static final String WORKSPACEROOT_DIRECTIVE = "-workspaceRoot";
-
-	private static final String REQUIRE_BUNDLE = "Require-Bundle:";
-	private static final String EOL = System.getProperty("line.separator");
-	private boolean conservative = false;
-	private String workspaceroot;
-
-
-
-	public DependencyChecker() {
-	}
-
-	public Object run(Object o) throws Exception {
-		String args[] = Platform.getApplicationArgs();
-		String filter = null;
-		for (int nArgs = 0; nArgs < args.length; nArgs++) {
-			if (args[nArgs].equals(FILTER_DIRECTIVE) && (nArgs + 1 < args.length))
-				filter = args[nArgs + 1];
-			else if (args[nArgs].equals(CONSERVATIVE_DIRECTIVE)) {
-				conservative = true;
-			}
-			else if (args[nArgs].equals(WORKSPACEROOT_DIRECTIVE) && (nArgs + 1 < args.length))
-				workspaceroot = args[nArgs + 1];
-
-		}
-
-		BundleDescription bundles[] = Platform.getPlatformAdmin().getState().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			String bundleName = bundles[i].getSymbolicName();
-			if ((filter == null) || bundleName.matches(filter)) {
-				BundleSpecification req[] = bundles[i].getRequiredBundles();
-				ArrayList bundleSpecStrings = new ArrayList();
-				for (int j = 0; j < req.length; j++) {
-
-					BundleSpecification currentBundle = req[j];
-					VersionRange specifiedRange = currentBundle.getVersionRange();
-					if (specifiedRange == VersionRange.emptyRange) {
-
-						BundleDescription required = Platform.getPlatformAdmin().getState().getBundle(currentBundle.getName(), null);
-						if (required != null) {
-							Version reqVersion = required.getVersion();
-							Version minVersion = new Version(reqVersion.getMajor(), reqVersion.getMinor(), reqVersion.getMicro());
-							Version maxVersion = null;
-							if (conservative) {
-								maxVersion = new Version(minVersion.getMajor(), minVersion.getMinor() + 1, 0);
-							}
-							else {
-								maxVersion = new Version(minVersion.getMajor() + 1, 0, 0);
-
-							}
-
-							String name = currentBundle.getName();
-
-							String exported = "";
-							if (currentBundle.isExported()) {
-								exported = ";visibility:=reexport";
-							}
-
-							String optional = "";
-							if (currentBundle.isOptional()) {
-								exported = ";resolution:=optional";
-							}
-
-							String requiredRange = ";bundle-version=\"" + new VersionRange(minVersion, true, maxVersion, false) + "\"";
-
-							String spec = new String(" " + name + exported + optional + requiredRange);
-
-							bundleSpecStrings.add(spec);
-						}
-					}
-				}
-
-				// print
-				if (bundleSpecStrings.size() > 0) {
-					// header
-					System.out.println();
-					System.out.println("bundle " + bundleName);
-
-					StringBuffer sb = formStringBuffer(bundleSpecStrings);
-
-					System.out.println(sb);
-
-					if (workspaceroot != null) {
-						rewriteManifest(bundleName, sb);
-					}
-
-				}
-			}
-		}
-
-		return IPlatformRunnable.EXIT_OK;
-	}
-
-	private void rewriteManifest(String bundleName, StringBuffer sb) throws IOException {
-
-		try {
-			Reader reader = new FileReader(workspaceroot + bundleName + "/META-INF/MANIFEST.MF");
-
-			BufferedReader bufferedReader = new BufferedReader(reader);
-			ArrayList initialLines = new ArrayList();
-			ArrayList finalLines = new ArrayList();
-			String inline = null;
-			inline = bufferedReader.readLine();
-			while ((inline != null) && (!(inline.startsWith(REQUIRE_BUNDLE)))) {
-				initialLines.add(new String(inline));
-				inline = bufferedReader.readLine();
-			}
-
-			if (inline != null) {
-				inline = bufferedReader.readLine();
-				while (((inline != null) && (inline.startsWith(" ")))) {
-					inline = bufferedReader.readLine();
-				}
-			}
-
-			while (inline != null) {
-				finalLines.add(new String(inline));
-				inline = bufferedReader.readLine();
-			}
-			bufferedReader.close();
-
-			Writer writer = new FileWriter(workspaceroot + bundleName + "/META-INF/MANIFEST.MF");
-			BufferedWriter bufferedWriter = new BufferedWriter(writer);
-			for (int lines = 0; lines < initialLines.size(); lines++) {
-				bufferedWriter.write(initialLines.get(lines) + EOL);
-			}
-			bufferedWriter.write(sb.toString());
-			for (int lines = 0; lines < finalLines.size(); lines++) {
-				bufferedWriter.write(finalLines.get(lines) + EOL);
-			}
-			bufferedWriter.close();
-		}
-		catch (FileNotFoundException e) {
-			// if no manifest file, ignore, there's nothing to re-write
-		}
-	}
-
-	private StringBuffer formStringBuffer(ArrayList bundleSpecStrings) {
-		StringBuffer sb = new StringBuffer();
-
-		// spec section (note, print only, no EOL, no space)
-		sb.append(REQUIRE_BUNDLE);
-
-		for (int k = 0; k < bundleSpecStrings.size(); k++) {
-			sb.append(bundleSpecStrings.get(k));
-			String COMMA = "";
-			if (k < bundleSpecStrings.size() - 1) {
-				COMMA = ",";
-			}
-			sb.append(COMMA + EOL);
-		}
-
-		return sb;
-
-	}
-}
diff --git a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/VersionLister.java b/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/VersionLister.java
deleted file mode 100644
index 098eed1..0000000
--- a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/VersionLister.java
+++ /dev/null
@@ -1,885 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *      
- *******************************************************************************/
-package org.eclipse.callisto.tools.versionchecker;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Writer;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.update.configurator.ConfiguratorUtils;
-import org.eclipse.update.configurator.IPlatformConfiguration;
-import org.eclipse.update.configurator.IPlatformConfiguration.IFeatureEntry;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.Version;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * 
- * A simple, unsupported, little-tested utility to check version numbers of
- * currently installed plugins against a reference list that was previously
- * prepared by running this utility on some earlier installed stack.
- * 
- */
-public class VersionLister implements IPlatformRunnable {
-
-	private static final String REFERENCE_VERSIONING_DATA_XML = "referenceVersioningData.xml";
-
-	private static final String VERSION_CHECKER_BUNDLE_NAME = "org.eclipse.callisto.tools.versionchecker";
-
-	private static final String EOL = System.getProperty("line.separator");
-
-	private static final String[] alwaysExclude = new String[]{"org.eclipse.releng.tools", "org.tigris.mm.ui", "org.eclipse.core.resources.spysupport", "com.yourkit.profiler", "org.eclipse.core.tools.resources", "org.eclipse.core.tools", "org.eclipse.callisto.tools.versionchecker"};
-	private static final String[] alwaysExcludeFeatures = new String[]{"org.eclipse.releng.tools", "org.eclipse.test"};
-	private static final String[] interestingPatterns = new String[]{"org.eclipse.wst", "org.eclipse.jst", "org.eclipse.jem", "org.eclipse.jpt", "org.eclipse.atf"};
-
-	private static final int HELP = 0;
-	private static final String HELP_ARG = "-help";
-
-	private static final int LIST_TO_CONSOLE = 1;
-	private static final String LIST_TO_CONSOLE_ARG = "-listToReferenceFile";
-
-	private static final int TEST_TO_REFERENCE = 2;
-	private static final String TEST_TO_REFERENCE_ARG = "-testToReference";
-
-	private static final int COUNT_QUALIFIER_ONLY_AS_ERROR_CODE = 3;
-
-	private static final int MAJOR = 0;
-	private static final int MINOR = 1;
-	private static final int SERVICE = 2;
-	private static final int QUALIFIER = 3;
-
-	private static final String BUNDLE_DATA = "bundleData";
-
-	private static final String FEATURE_DATA = "featureData";
-
-	private static final int ERROR_BASE_CODE = 90000;
-	private static final int ERROR_BUNDLE_DECREASE = 0x0001;
-	private static final int ERROR_FEATURE_DECREASE = 0x0010;
-	private static final int ERROR_EXCEPTION_OCCURRED = 0x0100;
-	private static final int ERROR_QUALIFIER_ONLY_INCREAASE = 0x1000;
-	private static final int TEST_TO_REFERENCE_ID_NOT_FOUND = 0x00010000;
-	private static final Object OK_EXIT = IPlatformRunnable.EXIT_OK;
-
-	private static final String COUNT_QUALIFIER_ONLY_AS_ERROR = "countQualifierIncreaseOnlyAsError";
-	private boolean countQualifierOnlyAsError;
-
-	public VersionLister() {
-	}
-
-	public static void main(String[] args) {
-		// for quick tests, only
-		VersionLister versionLister = new VersionLister();
-		versionLister.clean("M-testing-123");
-	}
-
-	public Object run(Object o) throws Exception {
-
-		int exitResult = ERROR_BASE_CODE;
-		String args[] = null;
-		if (o instanceof String[]) {
-			args = (String[]) o;
-		}
-		else {
-			doPrintHelp();
-			return OK_EXIT;
-		}
-
-		printArgs(args);
-		// printProperties();
-
-		if (args.length == 0) {
-			exitResult = exitResult | doPrintHelp();
-		}
-		else {
-			boolean someCommandExecuted = false;
-			for (int i = 0; i < args.length; i++) {
-				String arg = args[i].trim();
-				System.out.println("command: " + arg);
-				switch (getCommand(arg)) {
-					case LIST_TO_CONSOLE : {
-						// System.out.println(" executing list to console");
-						String xmlId = null;
-						int idPos = i + 1;
-						if (idPos < args.length) {
-							String possibleId = args[idPos];
-							// sanity check just not another command
-							if (!possibleId.startsWith("-")) {
-								xmlId = possibleId;
-							}
-							else {
-								xmlId = getDefaultID();
-							}
-						}
-						else {
-							xmlId = getDefaultID();
-						}
-
-						exitResult = exitResult | doListCurrentToConsole(xmlId);
-
-						someCommandExecuted = true;
-						break;
-					}
-					case TEST_TO_REFERENCE : {
-						// System.out.println(" executing test to reference");
-						String referenceId = "WTPSDK";
-						String referenceFilename = REFERENCE_VERSIONING_DATA_XML;
-						int idPos = i + 1;
-						if (idPos < args.length) {
-							String possibleId = args[idPos];
-							// sanity check just not another command
-							if (!possibleId.startsWith("-")) {
-								referenceId = possibleId;
-							}
-						}
-						idPos++;
-						if (idPos < args.length) {
-							String possibleFilename = args[idPos];
-							// sanity check just not another command
-							if (!possibleFilename.startsWith("-")) {
-								referenceFilename = possibleFilename;
-							}
-						}
-
-
-						String buildLabel = System.getProperty("buildLabel");
-						if (buildLabel != null && buildLabel.length() != 0) {
-							// leave buildLabel as found, for here (may adjust
-							// later)
-						}
-						else {
-							buildLabel = "NoBuildLabel";
-						}
-						someCommandExecuted = true;
-						exitResult = exitResult | doTestToReference(referenceId, referenceFilename, buildLabel);
-
-						// minor error in arguments
-						if (!someCommandExecuted) {
-							exitResult = exitResult | doPrintHelp();
-						}
-						break;
-					}
-					case COUNT_QUALIFIER_ONLY_AS_ERROR_CODE : {
-						countQualifierOnlyAsError = true;
-						break;
-					}
-					case HELP : {
-						exitResult = exitResult | doPrintHelp();
-						someCommandExecuted = true;
-						break;
-					}
-					default : {
-						/* do nothing, since in a loop */
-						break;
-					}
-				}
-			}
-			if (!someCommandExecuted) {
-				exitResult = exitResult | doPrintHelp();
-			}
-		}
-		Object result = IPlatformRunnable.EXIT_OK;
-		if (exitResult > ERROR_BASE_CODE) {
-			result = new Integer(exitResult);
-		}
-		return result;
-	}
-
-	void printArgs(String[] args) {
-		System.out.println("\t Program Arguments: ");
-		for (int i = 0; i < args.length; i++) {
-			System.out.println("\t\t" + args[i]);
-		}
-
-	}
-
-	void printProperties() {
-		Properties properties = System.getProperties();
-		properties.list(System.out);
-	}
-
-	private int doTestToReference(String id, String referenceFileName, String currentId) {
-		int exit_code = ERROR_BASE_CODE;
-
-
-		try {
-			Map refMap = getReferenceBundleMap(id, referenceFileName);
-			// will be null if no ID found.
-			if (refMap != null) {
-				String outputFileName = "versioningReport";
-				File outfile = createOutputFile(outputFileName);
-				Writer reportWriter = new FileWriter(outfile);
-				reportWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + EOL);
-
-				reportWriter.write("<versioningReport>" + EOL);
-				reportWriter.write("<versioningReportData id=\"" + id + "\"" + " current=\"" + clean(currentId) + "\"" + ">" + EOL);
-
-				Map currMap = makeBundleMap();
-				String checkingType = "bundle";
-				int bundle_return = _compareReferenceAndCurrent(currMap, refMap, checkingType, ERROR_BUNDLE_DECREASE, reportWriter);
-				exit_code = exit_code | bundle_return;
-
-				refMap = getReferenceFeatureMap(id, referenceFileName);
-				currMap = makeFeatureMap();
-				checkingType = "feature";
-				int feature_return = _compareReferenceAndCurrent(currMap, refMap, checkingType, ERROR_FEATURE_DECREASE, reportWriter);
-				exit_code = exit_code | feature_return;
-
-				reportWriter.write("</versioningReportData>" + EOL);
-				reportWriter.write("</versioningReport>" + EOL);
-
-				System.out.println("Note: versioning report written to " + outfile.getAbsolutePath());
-				reportWriter.close();
-
-
-			}
-			else {
-				System.out.println("No reference ID found named " + id);
-				exit_code = exit_code | TEST_TO_REFERENCE_ID_NOT_FOUND;
-			}
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-		catch (FileNotFoundException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-		catch (SAXException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-
-		catch (IOException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-
-		return exit_code;
-	}
-
-	private File createOutputFile(String outputFileName) throws IOException {
-		File outputDirectory = null;
-		String outputDirName = System.getProperty("buildDirectory");
-		String dirLabel = System.getProperty("buildLabel");
-		if (outputDirName != null && outputDirName.length() > 0) {
-			if (dirLabel != null && dirLabel.length() > 0) {
-				outputDirectory = new File(outputDirName + "/" + dirLabel);
-			}
-		}
-		String localOutputFilename = null;
-		String outputFileNameSuffix = System.getProperty("buildLabel");
-		if (outputFileNameSuffix != null) {
-			localOutputFilename = outputFileName + "_" + clean(outputFileNameSuffix) + ".xml";
-		}
-		else {
-			localOutputFilename = outputFileName + ".xml";
-		}
-		File outfile = new File(outputDirectory, localOutputFilename);
-
-		return outfile;
-	}
-
-	private int _compareReferenceAndCurrent(Map currMap, Map refMap, String checkingType, int errorExitCode, Writer reportWriter) throws IOException {
-
-		String reportExtraInCurrentResult = "extraInCurrent";
-		String reportExtraInReferenceResult = "extraInReference";
-
-
-		// return zero for success
-		int result = 0;
-		List extrasInCurrent = compareKeys(currMap, refMap);
-		if (extrasInCurrent.size() > 0) {
-			Object[] extras = extrasInCurrent.toArray();
-			for (int i = 0; i < extras.length; i++) {
-				String key = (String) extras[i];
-				if (isInteresting(key)) {
-					Version refVersion = (Version) refMap.get(key);
-					_printExtra(key, refVersion, checkingType, reportExtraInCurrentResult, reportWriter);
-				}
-			}
-		}
-		List extrasInReferences = compareKeys(refMap, currMap);
-		if (extrasInReferences.size() > 0) {
-			Object[] extras = extrasInReferences.toArray();
-			for (int i = 0; i < extras.length; i++) {
-				String key = (String) extras[i];
-				if (isInteresting(key)) {
-					Version curVersion = (Version) currMap.get(key);
-					_printExtra(key, curVersion, checkingType, reportExtraInReferenceResult, reportWriter);
-				}
-			}
-		}
-
-		// now for the version compares -- first, look for errors
-		Iterator currentIterator = currMap.keySet().iterator();
-		while (currentIterator.hasNext()) {
-			String key = (String) currentIterator.next();
-			if (isInteresting(key)) {
-				Version refVersion = (Version) refMap.get(key);
-				Version curVersion = (Version) currMap.get(key);
-				if ((refVersion != null) && (curVersion != null) && !curVersion.getQualifier().equals("HEAD")) {
-					int comp = refVersion.compareTo(curVersion);
-					if (comp > 0) {
-						/*
-						 * if wrong, always print as error in summary
-						 */
-						_printError(key, refVersion, curVersion, checkingType, reportWriter);
-						/*
-						 * but only count as error for return code (and hence
-						 * JUnit tests) if in our include list
-						 */
-						if (isInteresting(key)) {
-							result = errorExitCode;
-						}
-					}
-				}
-			}
-		}
-
-		// now for the version compares -- first for MAJOR changes
-		Iterator currentIterator2 = currMap.keySet().iterator();
-		while (currentIterator2.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2, MAJOR, checkingType, reportWriter);
-		}
-		Iterator currentIterator2a = currMap.keySet().iterator();
-		while (currentIterator2a.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2a, MINOR, checkingType, reportWriter);
-		}
-		Iterator currentIterator2b = currMap.keySet().iterator();
-		while (currentIterator2b.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2b, SERVICE, checkingType, reportWriter);
-		}
-		Iterator currentIterator2c = currMap.keySet().iterator();
-		while (currentIterator2c.hasNext()) {
-			int qualifierCount = 0;
-			qualifierCount = checkDifference(refMap, currMap, currentIterator2c, QUALIFIER, checkingType, reportWriter);
-			if (qualifierCount > 0 && countQaulifierOnlyAsError()) {
-				result = result + ERROR_QUALIFIER_ONLY_INCREAASE;
-			}
-		}
-
-		// just as well list unchanged ones for completeness!
-		Iterator currentIterator3 = currMap.keySet().iterator();
-		while (currentIterator3.hasNext()) {
-			String key = (String) currentIterator3.next();
-			if (isInteresting(key)) {
-
-				Version refVersion = (Version) refMap.get(key);
-				Version curVersion = (Version) currMap.get(key);
-				if ((refVersion != null) && (curVersion != null)) {
-					int comp = refVersion.compareTo(curVersion);
-					if (comp == 0) {
-						_printNoChange(key, refVersion, curVersion, checkingType, reportWriter);
-					}
-				}
-			}
-		}
-
-		return result;
-	}
-
-	private boolean countQaulifierOnlyAsError() {
-		boolean result = false;
-		// let system property rule, if it is defined, else use argument given
-		// us at start
-		String property = System.getProperty(COUNT_QUALIFIER_ONLY_AS_ERROR);
-		if (property != null && property.length() > 0) {
-			if ("true".equals(property)) {
-				result = true;
-			}
-		} else {
-			result = countQualifierOnlyAsError;
-		}
-		return result;
-	}
-
-	/**
-	 * @param key
-	 * @return
-	 */
-	private boolean isInteresting(String key) {
-		boolean result = false;
-
-		for (int i = 0; i < interestingPatterns.length; i++) {
-			if (key.startsWith(interestingPatterns[i])) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-	private int checkDifference(Map refMap, Map currMap, Iterator iterator, int fieldToCheck, String checkingType, Writer reportWriter) throws IOException {
-		int result = 0;
-		String key = (String) iterator.next();
-		if (isInteresting(key)) {
-
-			Version refVersion = (Version) refMap.get(key);
-			Version curVersion = (Version) currMap.get(key);
-			if ((refVersion != null) && (curVersion != null)) {
-				int comp = refVersion.compareTo(curVersion);
-				if (comp < 0) {
-					if (fieldToCheck == MAJOR) {
-						if (refVersion.getMajor() < curVersion.getMajor()) {
-							_printIncrease(key, refVersion, curVersion, "major", checkingType, reportWriter);
-							// if found, remove so no need to have complicated
-							// check for minor, service, etc.
-							iterator.remove();
-						}
-					}
-					else if (fieldToCheck == MINOR) {
-						if (refVersion.getMinor() < curVersion.getMinor()) {
-							_printIncrease(key, refVersion, curVersion, "minor", checkingType, reportWriter);
-							// if found, remove so no need to have complicated
-							// check for minor, service, etc.
-							iterator.remove();
-						}
-					}
-					else if (fieldToCheck == SERVICE) {
-						if (refVersion.getMicro() < curVersion.getMicro()) {
-							_printIncrease(key, refVersion, curVersion, "service", checkingType, reportWriter);
-							// if found, remove so no need to have complicated
-							// check for minor, service, etc.
-							iterator.remove();
-						}
-					}
-					else if (fieldToCheck == QUALIFIER) {
-						// skip test if doing "HEAD Build"
-						System.out.println("curVersion: " + curVersion.getQualifier());
-						if (!curVersion.getQualifier().equals("HEAD")) {
-							if (refVersion.compareTo(curVersion) < 0) {
-								result++;
-								_printIncrease(key, refVersion, curVersion, "qualifier", checkingType, reportWriter);
-							}
-						}
-						else {
-							System.out.println("curVersion qualifier was HEAD");
-						}
-						// not sure his last one has to be removed
-						iterator.remove();
-					}
-				}
-			}
-		}
-		return result;
-	}
-
-	private void _printIncrease(String key, Version refVersion, Version curVersion, String field, String codePackageType, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		String reportResult = "increase";
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\"" + " field=\"" + field + "\"" + " codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + refVersion + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("\t" + "<current>" + EOL + "\t\t" + curVersion + EOL + "\t" + "</current>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private void _printNoChange(String key, Version refVersion, Version curVersion, String codePackageType, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		String reportResult = "noChange";
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\"" + " codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + refVersion + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("\t" + "<current>" + EOL + "\t\t" + curVersion + EOL + "\t" + "</current>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private void _printError(String key, Version refVersion, Version curVersion, String codePackageType, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		String reportResult = "error";
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\" codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + refVersion + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("\t" + "<current>" + EOL + "\t\t" + curVersion + EOL + "\t" + "</current>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private void _printExtra(String key, Version version, String codePackageType, String reportResult, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\" codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + version + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private List compareKeys(Map baseMap, Map compareMap) {
-		List extras = new ArrayList();
-
-		Iterator iterator = compareMap.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			if (!baseMap.containsKey(key)) {
-				extras.add(key);
-			}
-		}
-		return extras;
-	}
-
-	private Map getReferenceBundleMap(String id, String referenceFileName) throws FactoryConfigurationError, ParserConfigurationException, FileNotFoundException, SAXException, IOException {
-
-		SortedMap refSortedMap = null;
-		Document dom = getReferenceDataDOM(referenceFileName);
-
-		Element refereneDataElement = dom.getElementById(id);
-		if (refereneDataElement != null) {
-			NodeList childNodes = refereneDataElement.getElementsByTagName(BUNDLE_DATA);
-			Element bundleElement = (Element) childNodes.item(0);
-
-			childNodes = bundleElement.getChildNodes();
-
-			refSortedMap = new TreeMap();
-			_extractEntryList(refSortedMap, childNodes);
-		}
-		else {
-			System.out.println("no ref id");
-		}
-		return refSortedMap;
-	}
-
-	private Map getReferenceFeatureMap(String id, String referenceFileName) throws FactoryConfigurationError, ParserConfigurationException, FileNotFoundException, SAXException, IOException {
-
-		Document dom = getReferenceDataDOM(referenceFileName);
-
-		Element refereneDataElement = dom.getElementById(id);
-		NodeList childNodes = refereneDataElement.getElementsByTagName(FEATURE_DATA);
-		Element bundleElement = (Element) childNodes.item(0);
-
-		childNodes = bundleElement.getChildNodes();
-
-		SortedMap refSortedMap = new TreeMap();
-		_extractEntryList(refSortedMap, childNodes);
-
-		return refSortedMap;
-	}
-
-	private Document getReferenceDataDOM(String referenceFileName) throws ParserConfigurationException, IOException, SAXException {
-		Document dom = null;
-		DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-		documentBuilderFactory.setValidating(true);
-		documentBuilderFactory.setIgnoringElementContentWhitespace(true);
-		documentBuilderFactory.setIgnoringComments(true);
-		DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
-		Bundle versionCheckerBundle = Platform.getBundle(VERSION_CHECKER_BUNDLE_NAME);
-		URL referenceDataURL = versionCheckerBundle.getResource(referenceFileName);
-		if (referenceDataURL != null) {
-			InputStream inStream = referenceDataURL.openStream();
-			InputSource is = new InputSource(inStream);
-			documentBuilder.setEntityResolver(new ClassPathResolver());
-			dom = documentBuilder.parse(is);
-		}
-		else {
-			System.out.println("Program Error: Could not find reference file: " + referenceFileName);
-		}
-		return dom;
-	}
-
-	private void _extractEntryList(SortedMap refSortedMap, NodeList childNodes) {
-		int nNodes = childNodes.getLength();
-
-
-		for (int i = 0; i < nNodes; i++) {
-			Element entry = (Element) childNodes.item(i);
-			Node name = entry.getElementsByTagName("name").item(0);
-			Node version = entry.getElementsByTagName("version").item(0);
-			String bundleName = getTextContent(name);
-			String versionString = getTextContent(version);
-
-			refSortedMap.put(bundleName, new Version(versionString));
-		}
-	}
-
-	/**
-	 * A convenience method for DOM2, that should behave as
-	 * node.getTextContent in DOM3.
-	 * 
-	 * @param node
-	 * @return the string of the text node, or consequtive text nodes, that
-	 *         are children of node. If there are no children, the empty
-	 *         string is returned.
-	 */
-	private String getTextContent(Node node) {
-		StringBuffer buffer = new StringBuffer();
-		NodeList childNodes = node.getChildNodes();
-		for (int i = 0; i < childNodes.getLength(); i++) {
-			Node textNode = childNodes.item(i);
-			if (textNode.getNodeType() == Node.TEXT_NODE) {
-				buffer.append(cleanWhiteSpace(textNode.getNodeValue()));
-			}
-			else {
-				// break out at first occurrence of non text node, if any
-				break;
-			}
-		}
-		return buffer.toString();
-	}
-
-	private int doPrintHelp() {
-		int exitCode = ERROR_BASE_CODE;
-		System.out.println();
-		System.out.println("\tto use VersionChecker, include one of the following commands: ");
-		System.out.println("\t\t" + LIST_TO_CONSOLE_ARG);
-		System.out.println("\t\t" + TEST_TO_REFERENCE_ARG + " refId " + "[referenceDataFilename]");
-		System.out.println();
-
-		return exitCode;
-
-
-	}
-
-	private int getCommand(String arg) {
-		int result = -1;
-
-		if (HELP_ARG.equalsIgnoreCase(arg)) {
-			result = HELP;
-		}
-		else if (LIST_TO_CONSOLE_ARG.equalsIgnoreCase(arg)) {
-			result = LIST_TO_CONSOLE;
-		}
-		else if (TEST_TO_REFERENCE_ARG.equalsIgnoreCase(arg)) {
-			result = TEST_TO_REFERENCE;
-		}
-		else if (COUNT_QUALIFIER_ONLY_AS_ERROR.equalsIgnoreCase(arg)) {
-			result = COUNT_QUALIFIER_ONLY_AS_ERROR_CODE;
-		}
-
-		return result;
-	}
-
-
-	private Map makeFeatureMap() {
-		IPlatformConfiguration config = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		IFeatureEntry[] features = config.getConfiguredFeatureEntries();
-
-
-		SortedMap sortedMap = new TreeMap();
-		for (int i = 0; i < features.length; i++) {
-			String name = features[i].getFeatureIdentifier();
-			name = name.trim();
-			String versionString = features[i].getFeatureVersion();
-			Version version = new Version(versionString);
-
-			if (!contains(name, alwaysExcludeFeatures)) {
-				sortedMap.put(name, version);
-
-
-				// in case it already contains one, we need to make sure we
-				// keep
-				// only the highest one, as it would be resolved at runtime.
-				Version possibleVersion = (Version) sortedMap.get(name);
-				// if none, we can simply put in what we have
-				if (possibleVersion == null) {
-					sortedMap.put(name, version);
-				}
-				else {
-					int comp = version.compareTo(possibleVersion);
-					if (comp > 0) {
-						// new one is higher, so put it in, else
-						// it's fine the way it is
-						sortedMap.put(name, possibleVersion);
-					}
-				}
-			}
-		}
-		return sortedMap;
-	}
-
-
-	private int doListCurrentToConsole(String xmlId) throws IOException {
-
-		int exitResult = ERROR_BASE_CODE;
-		String outputFileName = "versioningReference";
-		File outputFile = createOutputFile(outputFileName);
-		Writer referenceWriter = new FileWriter(outputFile);
-
-		// TODO: needs to really write UTF-8, or better, serialize DOM
-		referenceWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + EOL);
-
-		referenceWriter.write("<versioningData>" + EOL);
-
-		referenceWriter.write("<referenceData id=\"" + xmlId + "\">" + EOL);
-
-
-		Map featureMap = makeFeatureMap();
-		referenceWriter.write("<featureData>" + EOL);
-		referenceWriter.write("<!-- Number of features: " + featureMap.size() + " -->" + EOL);
-		referenceWriter.write(EOL);
-
-		_producePrintedPairs(featureMap, referenceWriter);
-
-		referenceWriter.write("</featureData>" + EOL);
-
-
-
-		Map bundleMap = makeBundleMap();
-
-		referenceWriter.write("<bundleData>" + EOL);
-		referenceWriter.write("<!-- Number of bundles: " + bundleMap.size() + " -->" + EOL);
-
-		referenceWriter.write(EOL);
-
-		_producePrintedPairs(bundleMap, referenceWriter);
-
-		referenceWriter.write("</bundleData>" + EOL);
-
-
-		referenceWriter.write("</referenceData>" + EOL);
-		referenceWriter.write("</versioningData>" + EOL);
-
-		System.out.println("Note: versioning reference data written to " + outputFile.getAbsolutePath());
-		referenceWriter.close();
-
-		return exitResult;
-	}
-
-	/**
-	 * @return
-	 */
-	private String getCurrentInstallPath() {
-		Location installLocation = Platform.getInstallLocation();
-		URL installLoc = installLocation.getURL();
-		String installLocationString = "no install location!?";
-		if (installLoc != null) {
-			installLocationString = installLoc.getPath();
-		}
-		return installLocationString;
-	}
-
-	private String getDefaultID() {
-		String defaultID = null;
-		String buildLabel = System.getProperty("buildLabel");
-		if (buildLabel != null && buildLabel.length() != 0) {
-			defaultID = clean(buildLabel);
-		}
-		else {
-			defaultID = getCurrentInstallPath();
-		}
-		return defaultID;
-	}
-
-	private void _producePrintedPairs(Map map, Writer referenceWriter) throws IOException {
-		Set referenceKeySet = map.keySet();
-		Iterator refIterator = referenceKeySet.iterator();
-		while (refIterator.hasNext()) {
-			String name = (String) refIterator.next();
-			Version version = (Version) map.get(name);
-			name = name.trim();
-			referenceWriter.write("<entry>" + EOL);
-			referenceWriter.write("\t" + "<name>" + name + "</name>" + EOL);
-			referenceWriter.write("\t" + "<version>" + version + "</version>" + EOL);
-			referenceWriter.write("</entry>" + EOL);
-		}
-		return;
-	}
-
-	private Map makeBundleMap() {
-		BundleDescription bundles[] = Platform.getPlatformAdmin().getState().getBundles();
-
-		SortedMap sortedMap = new TreeMap();
-		for (int i = 0; i < bundles.length; i++) {
-			String bundleName = bundles[i].getName();
-			Version bundleVersion = bundles[i].getVersion();
-			System.out.println(bundleName + "\t\t\t" + bundleVersion);
-			bundleName = bundleName.trim();
-			if (!contains(bundleName, alwaysExclude)) {
-				// in case it already contains one, we need to make sure we
-				// keep
-				// only the highest one, as it would be resolved at runtime.
-				Version possibleVersion = (Version) sortedMap.get(bundleName);
-				// if none, we can simply put in what we have
-				if (possibleVersion == null) {
-					sortedMap.put(bundleName, bundleVersion);
-				}
-				else {
-					int comp = bundleVersion.compareTo(possibleVersion);
-					if (comp > 0) {
-						// new one is higher, so put it in, else
-						// it's fine the way it is
-						sortedMap.put(bundleName, bundleVersion);
-					}
-				}
-			}
-		}
-		return sortedMap;
-	}
-
-	private boolean contains(String needle, String[] haystack) {
-		boolean result = false;
-
-		for (int i = 0; i < haystack.length; i++) {
-			if (needle.equals(haystack[i])) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * This method is entirely to shorten the (old) long, redundant form of a
-	 * build label, such as M-M200612071701-200612071701 to it's equivilant
-	 * short form such as M200612071701
-	 * 
-	 * @param label
-	 * @return
-	 */
-	private String clean(String label) {
-		String result = label;
-
-		String possibleResult = null;
-		int hPos = label.indexOf('-');
-		if (hPos > -1) {
-			possibleResult = label.substring(hPos + 1);
-			hPos = possibleResult.indexOf('-');
-			if (hPos > -1) {
-				possibleResult = possibleResult.substring(0, hPos);
-				result = possibleResult;
-			}
-		}
-
-
-		return result;
-	}
-
-	private String cleanWhiteSpace(String text) {
-		// trims all chars <= \\\\0020 so should handle CR LF TABs also
-		String result = text.trim();
-		return result;
-	}
-}
diff --git a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/versioningData.dtd b/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/versioningData.dtd
deleted file mode 100644
index 08786d1..0000000
--- a/org.eclipse.callisto.tools.versionchecker/src/org/eclipse/callisto/tools/versionchecker/versioningData.dtd
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-   <!ELEMENT versioningData (referenceData*)>
-   <!ELEMENT referenceData (featureData, bundleData)>
-   <!ATTLIST referenceData id ID #REQUIRED>
-   <!ELEMENT featureData (entry*)>
-   <!ELEMENT bundleData (entry*)>
-   <!ELEMENT entry (name, version)>
-   <!ELEMENT name (#PCDATA)>
-   <!ELEMENT version (#PCDATA)>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/.classpath b/org.eclipse.callisto.tools/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/org.eclipse.callisto.tools/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.callisto.tools/.cvsignore b/org.eclipse.callisto.tools/.cvsignore
deleted file mode 100644
index b11c6b3..0000000
--- a/org.eclipse.callisto.tools/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-@dot
-data
-temp.folder
-bin
diff --git a/org.eclipse.callisto.tools/.project b/org.eclipse.callisto.tools/.project
deleted file mode 100644
index 648b2d1..0000000
--- a/org.eclipse.callisto.tools/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.callisto.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.callisto.tools/.settings/org.eclipse.core.resources.prefs b/org.eclipse.callisto.tools/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 618098a..0000000
--- a/org.eclipse.callisto.tools/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 04 22:26:33 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.callisto.tools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.callisto.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index fc3993d..0000000
--- a/org.eclipse.callisto.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,58 +0,0 @@
-#Mon Sep 10 03:25:52 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
diff --git a/org.eclipse.callisto.tools/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.callisto.tools/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index c2726b3..0000000
--- a/org.eclipse.callisto.tools/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jun 22 22:58:23 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/org.eclipse.callisto.tools/.settings/org.eclipse.wst.sse.core.prefs b/org.eclipse.callisto.tools/.settings/org.eclipse.wst.sse.core.prefs
deleted file mode 100644
index 42b6328..0000000
--- a/org.eclipse.callisto.tools/.settings/org.eclipse.wst.sse.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Thu Jun 22 22:58:32 EDT 2006
-eclipse.preferences.version=1
-task-tags/enabled=true
-task-tags/ignored-contentTypes=org.eclipse.core.runtime.xml,org.eclipse.jst.jsp.core.jspsource,org.eclipse.wst.css.core.csssource,org.eclipse.wst.dtd.core.dtdsource,org.eclipse.wst.html.core.htmlsource
-task-tags/use-project-settings=true
diff --git a/org.eclipse.callisto.tools/.settings/org.eclipse.wst.validation.prefs b/org.eclipse.callisto.tools/.settings/org.eclipse.wst.validation.prefs
deleted file mode 100644
index f459310..0000000
--- a/org.eclipse.callisto.tools/.settings/org.eclipse.wst.validation.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Jun 22 22:58:33 EDT 2006
-DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;
-USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;
-USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;
-USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.1.0.v200606130645
-eclipse.preferences.version=1
diff --git a/org.eclipse.callisto.tools/META-INF/MANIFEST.MF b/org.eclipse.callisto.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index c4f61e5..0000000
--- a/org.eclipse.callisto.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.callisto.tools
-Bundle-Version: 0.0.1.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-LazyStart: true
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ClassPath: .
-Main-Class: org.eclipse.callisto.tools.GenerateMirrorTags
-
diff --git a/org.eclipse.callisto.tools/addNewPlugins.sh b/org.eclipse.callisto.tools/addNewPlugins.sh
deleted file mode 100644
index ef88109..0000000
--- a/org.eclipse.callisto.tools/addNewPlugins.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-
-if [ "$1" != "-doit" ] ; then
-   echo "    This is a dry run. Add -doit to actually remove"
-   doit="--dry-run" 
-else 
-   doit=""
-fi 
-
- stagingSite=$HOME/downloads/callisto/staging/
-releasesSite=$HOME/downloads/callisto/releases/
-
-
-rsync $doit --ignore-existing -rv $stagingSite/plugins $releasesSite
-
-rsync $doit --ignore-existing -rv $stagingSite/features $releasesSite
-
-if [ "$doit" == "--dry-run" ] ; then
-   echo ""
-   echo "    This was a dry run. Add -doit to actually remove"
-   echo ""
-fi
diff --git a/org.eclipse.callisto.tools/build-home/.cvsignore b/org.eclipse.callisto.tools/build-home/.cvsignore
deleted file mode 100644
index 3a4edf6..0000000
--- a/org.eclipse.callisto.tools/build-home/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.project
diff --git a/org.eclipse.callisto.tools/build-home/createDigests.xml b/org.eclipse.callisto.tools/build-home/createDigests.xml
deleted file mode 100644
index 5d209b3..0000000
--- a/org.eclipse.callisto.tools/build-home/createDigests.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project basedir="." default="createDigest">
-
-    <target name="createDigest" depends="checkArgs">
-
-        <property name="java15-home"
-                  value="/home/data/users/bfreeman/callisto/ibm-java2-ppc-50/jre" />
-        <property name="buildDirectory"
-                  value="${basedir}" />
-
-        <java jar="${eclipse.home}/startup.jar"
-              fork="true"
-              jvm="${java15-home}/bin/java"
-              failonerror="true"
-              maxmemory="128m"
-              dir="${buildDirectory}">
-            <arg line="-application org.eclipse.update.core.siteOptimizer" />
-            <arg line="-digestBuilder -digestOutputDir=${updateSite} -siteXML=${updateSite}/site.xml" />
-        </java>
-
-    </target>
-
-    <target name="checkArgs">
-        <fail message="eclipse.home and updateSite must be set.">
-            <condition>
-                <and>
-                    <not>
-                        <isset property="eclipse.home" />
-                    </not>
-                    <not>
-                        <isset property="updateSite" />
-                    </not>
-                </and>
-            </condition>
-        </fail>
-    </target>
-
-
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/createPack200s.xml b/org.eclipse.callisto.tools/build-home/createPack200s.xml
deleted file mode 100644
index 0382f68..0000000
--- a/org.eclipse.callisto.tools/build-home/createPack200s.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project basedir="." default="createPack200s">
-
-    <target name="createPack200s">
- 
-        <property name="java15-home"
-                  value="/home/data/users/bfreeman/callisto/ibm-java2-ppc-50/jre" />
-
-        <property name="buildDirectory"
-                  value="${basedir}" />
-
-        <java jar="${eclipse.home}/startup.jar"
-              fork="true"
-              jvm="${java15-home}/bin/java"
-              failonerror="true"
-              maxmemory="1024m"
-              dir="${buildDirectory}">
-            <arg line="-application org.eclipse.update.core.siteOptimizer" />
-            <arg line="-jarProcessor -verbose -outputDir ${updateSite} -pack ${updateSite}" />
-        </java>
-    </target>
-    
-    <target name="checkArgs">
-        <fail message="eclipse.home and updateSite must be set.">
-            <condition>
-                <and>
-                    <not>
-                        <isset property="eclipse.home" />
-                    </not>
-                    <not>
-                        <isset property="updateSite" />
-                    </not>
-                </and>
-            </condition>
-        </fail>
-    </target>
-
-
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/env.properties b/org.eclipse.callisto.tools/build-home/env.properties
deleted file mode 100644
index 4d9e7e0..0000000
--- a/org.eclipse.callisto.tools/build-home/env.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# doesn't work as desired ... specify on command line which invokes ant
-
-# directory where startup.jar is
-eclipseInstallLocation=/home/data/users/bfreeman/callisto
-
-# top of update site directory -- normally a peer of build-home
-# peer doesn't work for now ... assumed to be ${basedir}/localUpdateSitePath
-localUpdateSitePath=tempout
diff --git a/org.eclipse.callisto.tools/build-home/features-batik.xml b/org.eclipse.callisto.tools/build-home/features-batik.xml
deleted file mode 100755
index 9524498..0000000
--- a/org.eclipse.callisto.tools/build-home/features-batik.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/callisto/releases/site.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.apache.batik"  />
-            <property name="version"
-                      value="1.6.0.v20060613-1220-0842282835-3442" />
-        </ant>
-  
-    </target>
-</project>
-
-
diff --git a/org.eclipse.callisto.tools/build-home/features-birt.xml b/org.eclipse.callisto.tools/build-home/features-birt.xml
deleted file mode 100644
index f8f2a25..0000000
--- a/org.eclipse.callisto.tools/build-home/features-birt.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-    <target name="update">
-		<echo message="-------- Project: BIRT Responsible: wli" />
-        <property name="updateSite" value="file://${user.home}/downloads/birt/update-site/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="com.lowagie.itext" />
-            <property
-                name="version"
-                value="1.3.0.v20070205-1728" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.apache.commons.codec" />
-            <property
-                name="version"
-                value="1.3.0.v20070205-1728" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.mozilla.rhino" />
-            <property
-                name="version"
-                value="1.6.0.v20070205-1728" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.w3c.sac" />
-            <property
-                name="version"
-                value="1.3.0.v20070205-1728" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.apache.derby.core" />
-            <property
-                name="version"
-                value="10.1.2.1" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.birt" />
-            <property
-                name="version"
-                value="2.1.2.v20070205-1728" />
-        </ant>       
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/build-home/features-cdt.xml b/org.eclipse.callisto.tools/build-home/features-cdt.xml
deleted file mode 100644
index 2f4502a..0000000
--- a/org.eclipse.callisto.tools/build-home/features-cdt.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tools/cdt/releases/callisto/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.cdt" />
-            <property name="version"
-                      value="3.1.2.200702150621" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/features-dtp.xml b/org.eclipse.callisto.tools/build-home/features-dtp.xml
deleted file mode 100644
index 23ddeb0..0000000
--- a/org.eclipse.callisto.tools/build-home/features-dtp.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-	<target name="update">
-
-		<property name="updateSite"
-                  value="file://${user.home}/downloads/datatools/updates/site.xml" />
-		<echo message="   pulling update jars from ${updateSite}" />
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-                      value="org.eclipse.datatools.modelbase.feature" />
-			<property name="version"
-                      value="0.9.1.200609201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-                      value="org.eclipse.datatools.connectivity.feature" />
-			<property name="version"
-                      value="0.9.1.200609201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-    	              value="org.eclipse.datatools.connectivity.oda.feature" />
-			<property name="version"
-    	              value="0.9.1.200609201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-    	    	      value="org.eclipse.datatools.connectivity.oda.designer.feature" />
-			<property name="version"
-    	    	      value="0.9.1.200609201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-                      value="org.eclipse.datatools.sqldevtools.feature" />
-			<property name="version"
-                      value="0.9.1.200609201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.feature" />
-			<property name="version"
-		              value="0.9.1.200609201" />
-		</ant>
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/build-home/features-emf-emf.xml b/org.eclipse.callisto.tools/build-home/features-emf-emf.xml
deleted file mode 100644
index 25f0df8..0000000
--- a/org.eclipse.callisto.tools/build-home/features-emf-emf.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: emf-emf Responsible: nickb" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/emf/updates/site.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.ecore.sdo" />
-            <property name="version"
-                      value="2.2.1.v200705141058" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf" />
-            <property name="version"
-                      value="2.2.3.v200705141058" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.xsd" />
-            <property name="version"
-                      value="2.2.3.v200705141058" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.callisto.tools/build-home/features-ep.xml b/org.eclipse.callisto.tools/build-home/features-ep.xml
deleted file mode 100644
index 679e192..0000000
--- a/org.eclipse.callisto.tools/build-home/features-ep.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-	name="update"
-	default="update"
-	basedir=".">
-
-	<target
-		name="init"
-		unless="initialized">
-		<ant antfile="init.xml" />
-	</target>
-
-	<target
-		name="update"
-		depends="init">
-		<property
-			name="updateSite"
-			value="http://download.eclipse.org/eclipse/updates/testUpdates-3.2.2/site.xml" />
-		<echo message="   pulling update jars from ${updateSite}" />
-		
-		<ant antfile="updateMirrorProject.xml">
-             <property 
-             	name="featureId"
-                value="org.eclipse.platform" />
-             <property 
-               name="version"
-               value="3.2.2.r322_v20070119-RQghndJN8IM0MsK" />
-        </ant>		
-
-		<ant antfile="updateMirrorProject.xml">
-			<property
-				name="featureId"
-				value="org.eclipse.jdt" />
-			<property
-				name="version"
-				value="3.2.2.r322_v20070104-R4CR0Znkvtfjv9-" />
-		</ant>		
-		
-		<ant antfile="updateMirrorProject.xml">
-			<property
-				name="featureId"
-				value="org.eclipse.pde" />
-			<property
-				name="version"
-				value="3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG" />
-		</ant>
-		
-		<ant antfile="updateMirrorProject.xml">
-			<property
-				name="featureId"
-				value="org.eclipse.equinox" />
-				<property
-				name="version"
-			    value="3.2.2.r322_v20070104-A15rI75VboyEcIl" />
-		</ant>
-
-	</target>
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/features-gef.xml b/org.eclipse.callisto.tools/build-home/features-gef.xml
deleted file mode 100644
index e2b8ec9..0000000
--- a/org.eclipse.callisto.tools/build-home/features-gef.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tools/gef/update-site/releases/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.gef" />
-            <property name="version"
-                      value="3.2.2.v20070208" />
-        </ant>
-
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/build-home/features-gmf.xml b/org.eclipse.callisto.tools/build-home/features-gmf.xml
deleted file mode 100644
index 5c0ea8e..0000000
--- a/org.eclipse.callisto.tools/build-home/features-gmf.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
- 
-
-        
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/modeling/gmf/update-site/callisto/site.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-         <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.gmf.callisto"  />
-            <property name="version"
-                      value="1.0.3.v20070202-1200" />
-        </ant>
-   	
-    </target>
-</project>
-
-
diff --git a/org.eclipse.callisto.tools/build-home/features-tptp.xml b/org.eclipse.callisto.tools/build-home/features-tptp.xml
deleted file mode 100644
index a813d6c..0000000
--- a/org.eclipse.callisto.tools/build-home/features-tptp.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tptp/updates/callisto/site.xml" />
-                
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.monitoring.runtime" />
-            <property name="version"
-                      value="4.2.3.v200701141614--stCklylK6X1d7z" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.platform.runtime" />
-            <property name="version"
-                      value="4.2.4.v200701141614-ASlM32z5-7er47s" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.test.runtime" />
-            <property name="version"
-                      value="4.2.4.v200701141614--Hp5ghrhX2CNWNi" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.trace.runtime" />
-            <property name="version"
-                      value="4.2.1.v200607310100--3OA77O7P_m8I8L" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.wtp" />
-            <property name="version"
-                      value="4.2.1.v200609061117--7iSEEiEmPSGesk" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.birt" />
-            <property name="version"
-                      value="4.2.0.v200606121835--J3Fdf2f36X6t7Y" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.apache.batik.pdf" />
-            <property name="version"
-                      value="1.6.0.v20060613-1220-0842282835-3442" />
-        </ant>
-    	
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/build-home/features-ve.xml b/org.eclipse.callisto.tools/build-home/features-ve.xml
deleted file mode 100644
index 242d1de..0000000
--- a/org.eclipse.callisto.tools/build-home/features-ve.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update" basedir=".">
-    <target name="update">
-
-
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tools/ve/updates/1.0/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.ve" />
-            <property name="version"
-                      value="1.2.1.v20060817_M-zXJUB0fxM-0vSdc" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.jem" />
-            <property name="version"
-                      value="1.2.1.v20060815_M----6zXJJzKIRGVU" />
-        </ant>
-
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/build-home/features-wtp.xml b/org.eclipse.callisto.tools/build-home/features-wtp.xml
deleted file mode 100644
index 1053d85..0000000
--- a/org.eclipse.callisto.tools/build-home/features-wtp.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/webtools/stagedUpdates/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.wst" />
-            <property name="version"
-                      value="1.5.4.v200704200440-X3TmzmK-W-vP-Fs" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.jst" />
-            <property name="version"
-                      value="1.5.4.v200704150219-kW-NuyxHh4-w7-n" />
-        </ant>
-        <!-- 
-        technically, seems Xerces should not have to be listed here, 
-        since is mirrored by above ... but currently is required to get all other 
-        files (e.g. site.xml files) to be correctly updated). 
-        
-        Doesn't hurt, either, to have the redundancy, since other projects 
-        are dependent on it, so less likely to be forgotten and accidently 
-        removed in the future. 
-        -->
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.apache.commons_logging.feature" />
-            <property name="version"
-                      value="1.0.4.v200606152055--0842282_233879" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.apache.jakarta_log4j.feature" />
-            <property name="version"
-                      value="1.2.8.v200605300321--0842282939426_" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.apache.xerces.feature" />
-            <property name="version"
-                      value="2.8.0.v200605151647--08422828353873" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/generateMirrorTags.jar b/org.eclipse.callisto.tools/build-home/generateMirrorTags.jar
deleted file mode 100644
index 753abe4..0000000
--- a/org.eclipse.callisto.tools/build-home/generateMirrorTags.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.callisto.tools/build-home/incrementSite.sh b/org.eclipse.callisto.tools/build-home/incrementSite.sh
deleted file mode 100644
index 87fb1b5..0000000
--- a/org.eclipse.callisto.tools/build-home/incrementSite.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# script to run incremental update. Only new things in staging, 
-# will be copied to releases, so less work for those mirroring
-# releases with rsync
-
-stagingSite=file://$HOME/downloads/callisto/staging/site.xml
-
-releasesSite=$HOME/downloads/callisto/testUpdates
- 
-eclipseLocation=$HOME/eclipse-ppc-33M1
-
-ant  -f incrementSite.xml -DeclipseLocation=$eclipseLocation -DstagingSite=$stagingSite -DreleasesSite=$releasesSite -Dosgi.arch=ppc -Dosgi.clean -Dosgi.debug=true -Declipse.consoleLog=true -DcontinueOnError=true
-
-
diff --git a/org.eclipse.callisto.tools/build-home/incrementSite.xml b/org.eclipse.callisto.tools/build-home/incrementSite.xml
deleted file mode 100644
index c17b73e..0000000
--- a/org.eclipse.callisto.tools/build-home/incrementSite.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="increment" default="increment" basedir=".">
-    <!-- original example received from Richard Gronback from cross-project list (thanks Richard!) -->
-    <!-- see http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_standalone.html -->
-
-
-
-    <target name="increment">
-        <echo message="Updating ${featureId} ${version}" />
-        <java jar="${eclipseLocation}/startup.jar"
-              fork="true"
-              failonerror="false">
-            <jvmarg value="-DcontinueOnError=true" />
-            <arg value="-clean" />
-            <arg value="-nosplash" />
-            <arg value="-application" />
-            <arg value="org.eclipse.update.core.standaloneUpdate" />
-            <arg value="-data" />
-            <arg value="${basedir}/buildworkspace" />
-            <arg value="-debug" />
-            <arg value="-consolelog" />
-            <arg value="-command" />
-            <arg value="mirror" />
-            <arg value="-from" />
-            <arg value="${stagingSite}" />
-            <arg value="-to" />
-            <arg value="${releasesSite}" />
-            <arg value="-ignoreMissingPlugins" />
-            <arg value="true" />
-
-        </java>
-
-    </target>
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/indexer.xml b/org.eclipse.callisto.tools/build-home/indexer.xml
deleted file mode 100644
index 9de9484..0000000
--- a/org.eclipse.callisto.tools/build-home/indexer.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="index" default="index" basedir=".">
-
-    <!--
-		OSGi Indexer. See 
-		http://bundles.osgi.org/bindex.php
-	-->
-    <target name="init">
-        <property file="env.properties" />
-    </target>
-
-    <target name="index" depends="init">
-        
-        <echo message="Indexing ${localUpdateSitePath}/plugins/*.jar" />
-        
-        <java jar="bindex.jar"
-              fork="true"
-              failonerror="false">
-            <arg value="-t" />
-            <arg value="http://download.eclipse.org/callisto/releases/plugins/%f " />
-            <arg value="-q" />
-            <arg value="${localUpdateSitePath}/plugins/*.jar" />
-        </java>
-    </target>
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/init.xml b/org.eclipse.callisto.tools/build-home/init.xml
deleted file mode 100644
index cb313b1..0000000
--- a/org.eclipse.callisto.tools/build-home/init.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-	name="init"
-	default="init"
-	basedir=".">
-
-	<target name="init">
-		<echo message="Initilialized" />
-		<property
-			name="initialized"
-			value="true" />
-
-		<property file="env.properties" />
-
-		<property
-			name="eclipseLocation"
-			value="${eclipseInstallLocation}/eclipse-33M4" />
-
-		<echo message="eclipseLocation: ${eclipseLocation}" />
-		<echo message="localUpdateSitePath: ${localUpdateSitePath}" />
-
-		<!-- mkdir, just for first time, doesn't hurt to call each time -->
-		<mkdir dir="${localUpdateSitePath}" />
-
-		<!-- delete any previous build workspace. Only interesting thing it has is .metadata/.log -->
-	    <!-- since init runs each project, deletes too frequently 
-		<delete
-			dir="${basedir}/buildworkspace"
-			failonerror="false" />
-			-->
-	</target>
-</project>
diff --git a/org.eclipse.callisto.tools/build-home/runUpdateAllProjects.sh b/org.eclipse.callisto.tools/build-home/runUpdateAllProjects.sh
deleted file mode 100644
index 5f333cf..0000000
--- a/org.eclipse.callisto.tools/build-home/runUpdateAllProjects.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-
-# script to run update, setting properties, for all projects
-
-
-ulimit -n 2014 
-export JAVA_HIGH_ZIPFDS=500 
-
-updateSite=$HOME/downloads/callisto/staging
- 
-eclipseLocation=$HOME/callisto/eclipse-33M4
-
-
-
-if [ "$1" == "-clean" ] ; then
-
-	 echo "   Removing $updateSite/features/"
-	 rm -fr $updateSite/features/
-	
-	 echo "   Removing $updateSite/plugins/"
-	 rm -fr $updateSite/plugins/
-	
-	 echo "   Removing index and site xml files"
-	 rm -fr $updateSite/*
-	
-	 echo "   Updating index and web site files, but not site xml files (yet)"
-	    cp $HOME/callisto/org.eclipse.callisto.updatesite/WebContent/index.html  $updateSite
-	    cp $HOME/callisto/org.eclipse.callisto.updatesite/WebContent/*.jpg  $updateSite > /dev/null
-	    cp $HOME/callisto/org.eclipse.callisto.updatesite/WebContent/*.gif  $updateSite > /dev/null
-	    cp -r $HOME/callisto/org.eclipse.callisto.updatesite/WebContent/web $updateSite > /dev/null
-
-fi
-
-
-ant  -f updateMirrorAll.xml -DeclipseLocation=$eclipseLocation -DlocalUpdateSitePath=$updateSite
-
-# merge authored site.xml files with the most recent auto generated one
-$HOME/callisto/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFiles.sh
-
-
-ant  -f createPack200s.xml     -Declipse.home=$eclipseLocation -DupdateSite=$updateSite
-
-# be sure digest created after the zipped jars
-ant  -f createDigests.xml      -Declipse.home=$eclipseLocation -DupdateSite=$updateSite
-
-
-
-
-
diff --git a/org.eclipse.callisto.tools/build-home/runUpdateProjects.sh b/org.eclipse.callisto.tools/build-home/runUpdateProjects.sh
deleted file mode 100644
index cf026ef..0000000
--- a/org.eclipse.callisto.tools/build-home/runUpdateProjects.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# script to run update, setting properties, for an individual project
-
- updateSite=$HOME/downloads/callisto/staging
- 
- eclipseLocation=$HOME/eclipse-ppc-33M1
-
-
-project="$1"
-if [ "$project" !=  "" ] 
-then 
-  	
-     ant  -f features-$project.xml -DeclipseLocation=$eclipseLocation -DlocalUpdateSitePath=$updateSite -Dosgi.arch=ppc -Dosgi.clean -Dosgi.debug=true -Declipse.consoleLog=true -DcontinueOnError=true
-
-
-else 
-     echo "   Usage: $0 <project> (where project is ep, wtp, birt, emf, cdt, dtp, gef, gmf, tptp, ve, batik)"
-
-fi
diff --git a/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFile.sh b/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFile.sh
deleted file mode 100644
index fb53f9e..0000000
--- a/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFile.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# script to update site xml files, by merging new features from "mirror" command, with old "authored" content.
-
-main_name=$1
-
-in_authored=~/callisto/org.eclipse.callisto.updatesite/WebContent/$main_name
-# remember, this 'site.xml' is just the output of mirror command, when ran in context
-in_newFeatures=~/downloads/callisto/staging/.site.xml
-
-# merges newFeautes in to authored, back in original locaion
-java -jar siteFileUpdater.jar $in_authored $in_newFeatures
-
-#copy to discover site
-cp $in_authored  ~/downloads/callisto/staging/$main_name
-
-
diff --git a/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFiles.sh b/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFiles.sh
deleted file mode 100644
index 505e4d4..0000000
--- a/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFiles.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# save away a clean version of this site file with all the latest version numbers
-cp ~/downloads/callisto/staging/site.xml ~/downloads/callisto/staging/.site.xml
-
-
-# merge authored site.xml with the autogenerated one
-$HOME/callisto/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFile.sh site.xml
-
-# merge authored file with the autogenerated one
-$HOME/callisto/org.eclipse.callisto.tools/build-home/runUpdateSiteXmlFile.sh site-byProject.xml
diff --git a/org.eclipse.callisto.tools/build-home/siteFileUpdater.jar b/org.eclipse.callisto.tools/build-home/siteFileUpdater.jar
deleted file mode 100644
index b3813e3..0000000
--- a/org.eclipse.callisto.tools/build-home/siteFileUpdater.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.callisto.tools/build-home/updateDirs.properties b/org.eclipse.callisto.tools/build-home/updateDirs.properties
deleted file mode 100644
index 1893db1..0000000
--- a/org.eclipse.callisto.tools/build-home/updateDirs.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-
-# currently obsolete, though similar file may end up being needed
-
-# http://download.eclipse.org/eclipse/updates/3.2milestones
-updateDir.1=/home/data/httpd/download.eclipse.org/eclipse/updates/3.2milestones
-
-updateDir.2=/home/data/httpd/download.eclipse.org/tools/emf/updates
-
-# http://download.eclipse.org/tools/gef/milestones/update-site/
-updateDir.3=/home/data/httpd/download.eclipse.org/tools/gef/milestones/update-site/
-
-# http://download.eclipse.org/datatools/updates/site.xml
-updateDir.4=/home/data/httpd/download.eclipse.org/datatools/updates
-
-# http://download.eclipse.org/tools/cdt/releases/3.1.0/site.xml
-updateDir.5=/home/data/httpd/download.eclipse.org/tools/cdt/releases/3.1.0/
-
-# http://download.eclipse.org/tools/ve/updates/1.0/development
-updateDir.6=/home/data/httpd/download.eclipse.org/tools/ve/updates/1.0/development
-
-# WTP
-updateDir.7=/home/data/httpd/download.eclipse.org/webtools/milestones
-
-# http://download.eclipse.org/tptp/updates/4.2milestones/4.2.0M5/
-updateDir.8=/home/data/httpd/download.eclipse.org/tptp/updates/4.2milestones/4.2.0M5/
-# tptp/updates/4.2milestones/minimumSet
-
-# GMF
-#updateDir.12=/home/data/httpd/download.eclipse.org/technology/gmf/update-site
-
-#  http://download.eclipse.org/birt/update-site/
-#updateDir.7=/home/data/httpd/download.eclipse.org/birt/update-site
-
-# test on local windows machine
-#updateDir.10=\\testUpdates101\\updateSite
-
-# test on eclipse org
-#updateDir.11=/home/data/httpd/download.eclipse.org/webtools/testUpdates
-
-
diff --git a/org.eclipse.callisto.tools/build-home/updateMirrorAll.xml b/org.eclipse.callisto.tools/build-home/updateMirrorAll.xml
deleted file mode 100644
index 2873ff2..0000000
--- a/org.eclipse.callisto.tools/build-home/updateMirrorAll.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="updatesite" default="all" basedir=".">
-
-    <target name="init">
- 		<ant antfile="init.xml"/>
-    </target>
-
-    <target name="all" depends="init">
-        <ant antfile="features-birt.xml" />
-        <ant antfile="features-cdt.xml" />
-        <ant antfile="features-dtp.xml" />
-        <ant antfile="features-ep.xml" />
-        <ant antfile="features-emf-emf.xml" />
-        <ant antfile="features-gef.xml" />
-        <ant antfile="features-gmf.xml" />
-        <ant antfile="features-batik.xml"/>
-        <ant antfile="features-tptp.xml" />
-        <ant antfile="features-ve.xml" />
-        <ant antfile="features-wtp.xml" />
-
-       
-        
-        <!-- make sure all can "read" (important for quicker http access, esp. when Eclipse.org overloaded) -->
-        <chmod verbose="true" perm="o+rx" type="both">
-            <fileset dir="${localUpdateSitePath}" />
-        </chmod>
-
-        <!-- needs work .. indexer doesn't work well from this ant script (needs paths fixed up)
-        <ant antfile="indexer.xml">
-            <property name="pluginJarPath"
-                      location="${localUpdateSitePath}" />
-        </ant>
-		-->
-    </target>
-
-</project>
-
diff --git a/org.eclipse.callisto.tools/build-home/updateMirrorProject.xml b/org.eclipse.callisto.tools/build-home/updateMirrorProject.xml
deleted file mode 100644
index 94ff247..0000000
--- a/org.eclipse.callisto.tools/build-home/updateMirrorProject.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update" basedir=".">
-    <!-- original example received from Richard Gronback from cross-project list (thanks Richard!) -->
-    <!-- see http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_standalone.html -->
-
-    <target name="init" unless="initialized">
-        <ant antfile="init.xml" />
-    </target>
-
-    <target name="update" depends="init">
-        <echo message="Updating ${featureId} ${version}" />
-        <java jar="${eclipseLocation}/startup.jar"
-              fork="true"
-              failonerror="false">
-            <jvmarg value="-DcontinueOnError=true" />
-            <arg value="-clean" />
-            <arg value="-nosplash" />
-            <arg value="-application" />
-            <arg value="org.eclipse.update.core.standaloneUpdate" />
-            <arg value="-data" />
-            <arg value="${basedir}/buildworkspace" />
-            <arg value="-debug" />
-            <arg value="-consolelog" />
-            <arg value="-command" />
-            <arg value="mirror" />
-            <arg value="-featureId" />
-            <arg value="${featureId}" />
-            <arg value="-version" />
-            <arg value="${version}" />
-            <arg value="-from" />
-            <arg value="${updateSite}" />
-            <arg value="-to" />
-            <arg value="${localUpdateSitePath}" />
-            <arg value="-ignoreMissingPlugins" />
-            <arg value="true" />
-
-        </java>
-
-    </target>
-</project>
diff --git a/org.eclipse.callisto.tools/build.properties b/org.eclipse.callisto.tools/build.properties
deleted file mode 100644
index ad445df..0000000
--- a/org.eclipse.callisto.tools/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               instructions.txt,\
-               plugin.properties
-jars.compile.order = .
-source.. = src/
-output.. = bin/
diff --git a/org.eclipse.callisto.tools/copyProjectDirs.sh b/org.eclipse.callisto.tools/copyProjectDirs.sh
deleted file mode 100644
index 86c3147..0000000
--- a/org.eclipse.callisto.tools/copyProjectDirs.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh
-
-# script to copy Callisto update jars from their "drop" area  
-
-# obsolete - not to be used, will be deleted soon
-
-toDir=/home/data/users/david_williams/downloads/callisto/testUpdates
-
-
-
-fromDir=/home/data/httpd/download.eclipse.org/eclipse/updates/3.2milestones
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/emf/updates
-
-cp -r -v --update $fromDir/features/*_2.2.0.* --target-directory=$toDir/features/
-cp -r -v --update $fromDir/plugins/*_2.2.0.*  --target-directory=$toDir/plugins/
-cp -r -v --update $fromDirplugins/org.eclipse.emf.ecore.change.edit_2.1.0v20060224* --target-directory=$toDir/plugins/
-cp -r -v --update $fromDirplugins/org.eclipse.emf.codegen.ui_2.1.0v20060224*  --target-directory=$toDir/plugins/
-
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/gef/milestones/update-site/
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/datatools/updates
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/cdt/releases/3.1.0/
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/ve/updates/1.0/development
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/webtools/milestones
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-
-fromDir=/home/data/httpd/download.eclipse.org/tptp/updates/4.2milestones/4.2.0M5/
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-
-#fromDir=/home/data/httpd/download.eclipse.org/birt/update-site
-#
-#cp -r -v --update $fromDir/features --target-directory=$toDir
-#cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-#
-#fromDir=/home/data/httpd/download.eclipse.org/technology/gmf/update-site
-#
-#cp -r -v --update $fromDir/features --target-directory=$toDir
-#cp -r -v --update $fromDir/plugins  --target-directory=$toDir
diff --git a/org.eclipse.callisto.tools/copyToRelease-SiteFiles.sh b/org.eclipse.callisto.tools/copyToRelease-SiteFiles.sh
deleted file mode 100644
index ea0cb41..0000000
--- a/org.eclipse.callisto.tools/copyToRelease-SiteFiles.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# script to copy Callisto update jars from their staging to releases area
-
-toDir=~/downloads/callisto/releases
-fromDir=~/downloads/callisto/staging
-
-cp -f -p -r -v --update $fromDir/*html --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/*.gif  --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/web  --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/*.xml --target-directory=$toDir/
-
-perl -pi -e 's/callisto\/staging/callisto\/releases/g' ${toDir}/index.html
-perl -pi -e 's/callisto\/staging/callisto\/releases/g' ${toDir}/site.xml
-perl -pi -e 's/callisto\/staging/callisto\/releases/g' ${toDir}/site-byProject.xml
-
-# important to make sure digest is updated same time as site.xml's
-cp -f -p -r -v --update $fromDir/digest.zip --target-directory=$toDir/
-
-
-
-
diff --git a/org.eclipse.callisto.tools/copyToRelease-plugins.sh b/org.eclipse.callisto.tools/copyToRelease-plugins.sh
deleted file mode 100644
index 3f6e449..0000000
--- a/org.eclipse.callisto.tools/copyToRelease-plugins.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# script to copy Callisto update jars from their staging to releases area
-
-toDir=~/downloads/callisto/releases
-fromDir=~/downloads/callisto/staging
-
-cp -f -p -r -v --update $fromDir/features --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/plugins  --target-directory=$toDir/
-
diff --git a/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.jardesc b/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.jardesc
deleted file mode 100644
index 5e45d93..0000000
--- a/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.jardesc
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jardesc>
-    <jar path="D:/builds/Workspaces/pureHeadWTP/org.eclipse.callisto.tools/build-home/generateMirrorTags.jar"/>
-    <options overwrite="true" compress="false" exportErrors="false" exportWarnings="true" saveDescription="true" descriptionLocation="/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.jardesc" useSourceFolders="false" buildIfNeeded="true" includeDirectoryEntries="false" storeRefactorings="false"/>
-    <refactoring structuralOnly="true" deprecationInfo="true"/>
-    <selectedProjects>
-        <project name="org.eclipse.callisto.tools"/>
-    </selectedProjects>
-    <manifest manifestVersion="1.0" usesManifest="true" reuseManifest="true" saveManifest="true" generateManifest="false" manifestLocation="/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.mf" mainClassHandleIdentifier="=org.eclipse.callisto.tools/src&lt;org.eclipse.callisto.tools{GenerateMirrorTags.java[GenerateMirrorTags">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportOutputFolder="false" exportJavaFiles="false">
-        <folder path="/org.eclipse.callisto.tools/META-INF"/>
-        <javaElement handleIdentifier="=org.eclipse.callisto.tools/src"/>
-    </selectedElements>
-</jardesc>
diff --git a/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.mf b/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.mf
deleted file mode 100644
index a722705..0000000
--- a/org.eclipse.callisto.tools/generateMirrorTags/generateMirrorTags.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.callisto.tools.GenerateMirrorTags
-
diff --git a/org.eclipse.callisto.tools/getCallistoToolsFromCVS.sh b/org.eclipse.callisto.tools/getCallistoToolsFromCVS.sh
deleted file mode 100644
index fff964b..0000000
--- a/org.eclipse.callisto.tools/getCallistoToolsFromCVS.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# This script should be "copied up" and ran from a
-# directory "above" the main working directories of
-# org.eclipse.callisto.updatesite, and
-# org.eclipse.callisto.tools
-# this is typically the users $HOME directory
-
-echo "   "
-echo "   Removing old  org.eclipse.callisto.* and exporting fresh HEAD versions." 
-echo "   "
-
-echo "        Removing org.eclipse.callisto.updatesite."
-rm -fr org.eclipse.callisto.updatesite
-echo "        Removing org.eclipse.callisto.tools." 
-echo "   "
-rm -fr org.eclipse.callisto.tools
-
-# ISSUE: we should move away from using 'head' version
-# Note: we can use "local host" since we are running on the same cluser as the cvs server
-# otherwise, if running remotely, localhos should be changed to 'dev.eclpise.org'
-cvs -Q -f -d /cvsroot/callisto export -r HEAD org.eclipse.callisto.updatesite
-cvs -Q -f -d /cvsroot/callisto export -r HEAD org.eclipse.callisto.tools
-
-chmod -R +x org.eclipse.callisto.tools/*.sh
-chmod -R +x org.eclipse.callisto.tools/**/*.sh
-
-echo "    for complete refresh, use something similar to following"
-echo " " 
-echo "    cd org.eclipse.callisto.tools/build-home/"
-echo "    screen -x"
-echo "    ./runUpdateAllProjects.sh -clean 2>&1 | tee ~/callisto/out.txt"
-echo "  "
-echo "    When complete, be sure to inspect or at least grep the out.txt file for anomilies, e.g. "
-echo "        grep -i failed       out.txt"
-echo "        grep -i error        out.txt"
-echo "        grep -i exception    out.txt"
-echo "        grep -i "could not"  out.txt"
-echo " "
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/instructions.txt b/org.eclipse.callisto.tools/instructions.txt
deleted file mode 100644
index 9c73fd3..0000000
--- a/org.eclipse.callisto.tools/instructions.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-This build process works from an SSH console on build.eclipse.org. 
-
-The following is required setup on the committers login $HOME directory. 
-
-	Eclipse installed: 
-	
-		<$HOME>/eclipse-ppc-33M1
-	
-	Java 1.5 installed
-	
-		<$HOME>/ibm-java2-ppc-50
-	
-	Java 1.4 installed
-	
-		<$HOME>/IBMJava2-ppc-142
-	
-	OSGI Indexer (optional - need to be OSGI member to get a copy)
-
-		<$HOME>/osgiIndexer/bindex.jar
-	
-	
-The process can then be "boot strapped" by executing the following script. 
-(This just deletes any exising copies, and gets fresh copies of scripts 
-and property files from HEAD). 
-
-getCallistoToolsFromCVS.sh 
-
-A copy of this script is constained in 
-org.eclipse.callisto.tools\build-home\getCallistoToolsFromCVS.sh
-but, that copy should be moved to <$HOME> for execution. 
-That script itself constains some instructions on what to do next, the main 
-part of which 
-
-then 
-cd org.eclipse.callisto.tools/build-home/
-
-and finally -- the part that actually does the work -- something similar to 
-screen -R ./runUpdateAllProjects.sh -clean | tee out.txt
-
-NOTE: if you are doing a "local, developers test" of the runUpdateAllProjects 
-sript, you should grep through all scripts, and change the 'staging' 
-directory to your own test directory. 
-
-When done (about 20 minutes) be sure to check the console output 
-for 'error', 'exception', and 'failed'. 
-
-Final steps to "releases"
-
-Two more scripts need to be executed to move the 'staging' files 
-to the 'releases' directory. 
-
-copyToRelease-plugins.sh
-copyToRelease-SiteFiles.sh 
-
-Finally, (optionally) change to the releases directory and execute 
-runIndexer.sh to create the OSGI index. 
-
-
-
-
-
diff --git a/org.eclipse.callisto.tools/plugin.properties b/org.eclipse.callisto.tools/plugin.properties
deleted file mode 100644
index ea61e49..0000000
--- a/org.eclipse.callisto.tools/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.callisto.tools
-Bundle-Vendor.0 = Eclipse.org
-Bundle-Name.0 = Callisto Tools
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/removeOutOfSynch.sh b/org.eclipse.callisto.tools/removeOutOfSynch.sh
deleted file mode 100644
index c28c71a..0000000
--- a/org.eclipse.callisto.tools/removeOutOfSynch.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-
-if [ "$1" != "-doit" ] ; then
-   echo "    This is a dry run. Add -doit to actually remove"
-   doit="--dry-run"
-else
-   doit=""
-fi
-
-rsync $doit --delete --ignore-existing -rv ~/downloads/callisto/staging/plugins ~/downloads/callisto/releases/
-
-rsync $doit --delete --ignore-existing -rv ~/downloads/callisto/staging/features ~/downloads/callisto/releases/
-
-if [ "$doit" = "--dry-run" ] ; then
-   echo "    This was a dry run. Add -doit to actually remove"
-fi
diff --git a/org.eclipse.callisto.tools/runIndexer.sh b/org.eclipse.callisto.tools/runIndexer.sh
deleted file mode 100644
index 4a90048..0000000
--- a/org.eclipse.callisto.tools/runIndexer.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# OSGi Indexer. See
-# http://bundles.osgi.org/bindex.php
-
-# note: the bindex.jar must be obtained from OSGi member, it
-# is not part of Eclipse
-
-# must be ran literally from root of repository ... else file paths all off.
-# todo: fix this issue with paths, so can be ran from ~/
-
-java -jar ~/osgiIndexer/bindex.jar -name Eclipse -l http://www.eclipse.org/org/documents/epl-v10.php  -t http://download.eclipse.org/callisto/releases/plugins/%f -q plugins/*.jar -r repository.zip
-
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/GenerateMirrorTags.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/GenerateMirrorTags.java
deleted file mode 100644
index 91971b4..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/GenerateMirrorTags.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.callisto.tools;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Writer;
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Properties;
-
-import org.eclipse.callisto.tools.utils.FullJarNameParser;
-import org.eclipse.callisto.tools.utils.LineInfo;
-import org.eclipse.callisto.tools.utils.ProjectInfoPair;
-import org.eclipse.callisto.tools.utils.Version;
-
-public class GenerateMirrorTags {
-
-	private FullJarNameParser jarNameParser = new FullJarNameParser();
-
-	private static final String QUOTE = "\""; //$NON-NLS-1$
-
-	private static final String ARCHIVE_PATH = "<archive path="; //$NON-NLS-1$
-
-	private static final String SLASH = "/"; //$NON-NLS-1$
-
-	private static final char CHAR_BASKSLASH = '\\';
-
-	private static final char CHAR_SLASH = '/';
-
-	private static final String PLUGINS = "plugins"; //$NON-NLS-1$
-
-	private static final String FEATURES = "features"; //$NON-NLS-1$
-
-	private static final String IGNORE = "/home/data/httpd/download.eclipse.org/"; //$NON-NLS-1$
-
-	private static final boolean DEBUG = false;
-
-	private static final String urlCONST = " url=\""; //$NON-NLS-1$
-
-	private static final String nearestMirrorURL = "http://www.eclipse.org/downloads/download.php?r=1&amp;file=/"; //$NON-NLS-1$
-
-	private static final String relativeURL = "../../"; //$NON-NLS-1$
-
-	private static final String ENDTAG = "/>"; //$NON-NLS-1$
-
-	private static final String EOL = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	static final String PATH_SEPARATOR = System.getProperty("path.separator"); //$NON-NLS-1$
-
-	private static final String DATADIR = "data"; //$NON-NLS-1$
-
-	private static final boolean VERBOSE = true;
-
-	private Hashtable pluginTable = new Hashtable();
-
-	private Hashtable featureTable = new Hashtable();
-
-	private ArrayList featureList = new ArrayList();
-
-	private ArrayList pluginList = new ArrayList();
-
-	public static void main(String[] args) {
-
-		System.out.println();
-		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
-		System.out.println("\t" + dateFormat.format(new Date())); //$NON-NLS-1$
-		System.out.println();
-
-		System.out.println("\tSystem Properties for some interesting locations"); //$NON-NLS-1$
-		System.out.println();
-		System.out.println("\t\tuser.dir: \t\t" + System.getProperty("user.dir")); //$NON-NLS-1$ //$NON-NLS-2$
-		System.out.println("\t\tuser.home: \t\t" + System.getProperty("user.home")); //$NON-NLS-1$ //$NON-NLS-2$
-		System.out.println("\t\tjava.io.tmpdir: \t" + System.getProperty("java.io.tmpdir")); //$NON-NLS-1$ //$NON-NLS-2$
-		System.out.println();
-		System.out.println();
-
-		try {
-
-			String propertyFileName = null;
-			String[] filenames = null;
-
-			if (args.length == 0) {
-				propertyFileName = new String("updateDirs.properties"); //$NON-NLS-1$
-				Properties updateDirectories = new Properties();
-
-				String userDirectory = System.getProperty("user.dir"); //$NON-NLS-1$
-				File propertyDir = new File(userDirectory);
-				File file = new File(propertyDir, propertyFileName);
-				InputStream inProperties = null;
-				String propertiesSource = null;
-				if (file.exists()) {
-					inProperties = new FileInputStream(file);
-					propertiesSource = file.getAbsolutePath();
-				}
-				else {
-					inProperties = GenerateMirrorTags.class.getClassLoader().getResourceAsStream(propertyFileName);
-					propertiesSource = "jar: " + propertyFileName; //$NON-NLS-1$
-				}
-
-				System.out.println("\tUsing properties from " + EOL + "\t\t" + propertiesSource); //$NON-NLS-1$ //$NON-NLS-2$
-				updateDirectories.load(inProperties);
-
-
-				filenames = initFileNamesFromProperties(updateDirectories);
-
-			}
-			else {
-				filenames = args;
-			}
-			new GenerateMirrorTags().generateFromPathNames(filenames);
-
-
-		}
-		catch (FileNotFoundException e) {
-			e.printStackTrace();
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-
-	}
-
-	private static String[] initFileNamesFromProperties(Properties updateDirectories) {
-		String[] result = new String[0];
-		ArrayList nameProperties = new ArrayList();
-		Enumeration allProperties = updateDirectories.keys();
-		while (allProperties.hasMoreElements()) {
-			String propertyname = (String) allProperties.nextElement();
-			String dirname = null;
-			if (propertyname.startsWith("updateDir")) { //$NON-NLS-1$
-				dirname = updateDirectories.getProperty(propertyname);
-				nameProperties.add(dirname);
-			}
-		}
-		if (nameProperties.size() > 0) {
-			result = new String[nameProperties.size()];
-			for (int iProp = 0; iProp < nameProperties.size(); iProp++) {
-				result[iProp] = (String) nameProperties.get(iProp);
-			}
-		}
-		return result;
-	}
-
-	private int totalTags;
-
-	private String UNDERSCORE = "_"; //$NON-NLS-1$
-
-	private boolean doNearestMirror = false;
-
-	private boolean doRelativeURL = true;
-
-	private void generateFromPathNames(String[] pathnames) throws IOException {
-
-		int nPathNames = pathnames.length;
-		System.out.println();
-		System.out.print("\tTotal PathNames to be processed: " + nPathNames); //$NON-NLS-1$
-		System.out.println();
-
-		for (int iPath = 0; iPath < nPathNames; iPath++) {
-			String pathname = pathnames[iPath];
-
-			File mainDirectory = new File(pathname);
-			if (!mainDirectory.exists()) {
-				System.out.println("\n\tSkipping a path from property file, that did not exist: " + mainDirectory); //$NON-NLS-1$
-			}
-			else {
-				if (!mainDirectory.isDirectory()) {
-					System.err.println("We expect to get directory names as the input."); //$NON-NLS-1$
-				}
-				else {
-
-					pluginTable.clear();
-					featureTable.clear();
-					featureList.clear();
-					pluginList.clear();
-
-					String[] members = mainDirectory.list();
-
-					for (int jMember = 0; jMember < members.length; jMember++) {
-
-						String member = members[jMember];
-
-						if (DEBUG) {
-							System.out.println(member);
-						}
-
-						if (FEATURES.equals(member)) {
-							File featureDirectory = new File(mainDirectory, member);
-							String[] featureNames = featureDirectory.list();
-
-							for (int iFeatureName = 0; iFeatureName < featureNames.length; iFeatureName++) {
-								String featureName = featureNames[iFeatureName];
-
-								if (DEBUG) {
-									System.out.println(featureName);
-								}
-
-								jarNameParser.parse(featureName);
-								String projectId = jarNameParser.getProjectString();
-								String versionString = jarNameParser.getVersionString();
-								Version version = createVersionFromString(featureName, projectId, versionString);
-								if (version != null) {
-									storeInTable(featureTable, projectId, version, featureDirectory + SLASH + featureName);
-									storeInList(featureList, projectId, version, featureDirectory + SLASH + featureName);
-								}
-							}
-						}
-						else if (PLUGINS.equals(member)) {
-							File pluginDirectory = new File(mainDirectory, member);
-							String[] pluginNames = pluginDirectory.list();
-
-							for (int iPluginName = 0; iPluginName < pluginNames.length; iPluginName++) {
-								String pluginName = pluginNames[iPluginName];
-
-								if (DEBUG) {
-									System.out.println(pluginName);
-								}
-
-								jarNameParser.parse(pluginName);
-								String projectId = jarNameParser.getProjectString();
-								String versionString = jarNameParser.getVersionString();
-								Version version = createVersionFromString(pluginName, projectId, versionString);
-								if (version != null) {
-									storeInTable(pluginTable, projectId, version, pluginDirectory + SLASH + pluginName);
-									storeInList(pluginList, projectId, version, pluginDirectory + SLASH + pluginName);
-								}
-							}
-						}
-
-					}
-
-					String newFileName = newFileName(pathname);
-
-					createTagFileMR(newFileName + "-MR"); //$NON-NLS-1$
-					createTagFileALL(newFileName + "-All"); //$NON-NLS-1$
-
-				}
-
-			}
-		}
-
-	}
-
-	private Version createVersionFromString(String wholeName, String projectId, String versionString) {
-		Version result = null;
-		try {
-			result = new Version(versionString);
-		}
-		catch (NumberFormatException e) {
-			System.out.println();
-			System.out.println(" Number Format Exception creating Version"); //$NON-NLS-1$
-			System.out.println("featureName: " + wholeName); //$NON-NLS-1$
-			System.out.println("projectId: " + projectId); //$NON-NLS-1$
-			System.out.println("versionString: " + versionString); //$NON-NLS-1$
-			System.out.println();
-		}
-		return result;
-	}
-
-	private void createTagFileMR(String filename) throws IOException {
-
-		File dataDir = ensureDataDirectory();
-
-		File file = new File(dataDir, filename);
-		FileWriter writer = new FileWriter(file);
-
-		Enumeration features = featureTable.keys();
-		while (features.hasMoreElements()) {
-			String id = (String) features.nextElement();
-			LineInfo lineInfo = (LineInfo) featureTable.get(id);
-			createTag(writer, id, FEATURES, lineInfo.getLine());
-		}
-
-		Enumeration plugins = pluginTable.keys();
-		while (plugins.hasMoreElements()) {
-			String id = (String) plugins.nextElement();
-			LineInfo lineInfo = (LineInfo) pluginTable.get(id);
-			createTag(writer, id, PLUGINS, lineInfo.getLine());
-		}
-		writer.close();
-
-		printSummary(filename, featureTable.size(), pluginTable.size());
-	}
-
-	private void printSummary(String filename, int nFeatures, int nPlugins) {
-		if (VERBOSE) {
-			System.out.println();
-			System.out.println("\t\t" + filename); //$NON-NLS-1$
-			System.out.println("\t\t\t" + "number of features: " + nFeatures); //$NON-NLS-1$ //$NON-NLS-2$
-			System.out.println("\t\t\t" + " number of plugins: " + nPlugins); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	private void createTagFileALL(String filename) throws IOException {
-
-		File dataDir = ensureDataDirectory();
-
-		File file = new File(dataDir, filename);
-		FileWriter writer = new FileWriter(file);
-
-		Iterator features = featureList.iterator();
-		writeTags(writer, features, FEATURES);
-
-		Iterator plugins = pluginList.iterator();
-		writeTags(writer, plugins, PLUGINS);
-
-		writer.close();
-
-		printSummary(filename, featureList.size(), pluginList.size());
-
-	}
-
-	private File ensureDataDirectory() throws IOException {
-		String writeDirectory = System.getProperty("user.dir"); //$NON-NLS-1$
-		File writeDir = new File(writeDirectory);
-		File dataDir = new File(writeDir, DATADIR);
-		if (!dataDir.exists()) {
-			boolean success = dataDir.mkdirs();
-			if (!success) {
-				throw new IOException("Could not create directory: " + dataDir.getName()); //$NON-NLS-1$
-			}
-		}
-		return dataDir;
-	}
-
-	private void writeTags(FileWriter writer, Iterator iterator, String type) throws IOException {
-		while (iterator.hasNext()) {
-			ProjectInfoPair info = (ProjectInfoPair) iterator.next();
-			String id = info.getProjectId();
-			LineInfo lineInfo = info.getLineInfo();
-			createTag(writer, id, type, lineInfo.getLine());
-		}
-	}
-
-	private String newFileName(String filename) {
-		// System.out.println("pathname processed: " + filename);
-		String name = filename;
-		if (name.startsWith(IGNORE)) {
-			name = name.substring(IGNORE.length());
-		}
-		name = name.replace(CHAR_SLASH, '-');
-		name = name.replace(CHAR_BASKSLASH, '-');
-		if (name.startsWith("-")) { //$NON-NLS-1$
-			name = name.substring(1);
-		}
-		if (!name.endsWith("-")) { //$NON-NLS-1$
-			name = name + "-"; //$NON-NLS-1$
-		}
-		name = name + "Tags" + "." + "xmlinc"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		// System.out.println("filename created: " + name);
-		return name;
-	}
-
-	private void storeInTable(Hashtable table, String projectId, Version version, String lineParam) {
-
-		String lineToStore = lineParam.replace(CHAR_BASKSLASH, CHAR_SLASH);
-		if (lineToStore.startsWith(IGNORE)) {
-			lineToStore = lineToStore.substring(IGNORE.length());
-		}
-
-		if (notInSkipList(lineToStore)) {
-			// if see if project in table at all, if not store it. If so,
-			// update
-			// version and line, if higher.
-			Object data = table.get(projectId);
-			if (data == null) {
-				LineInfo lineInfo = new LineInfo(version, lineToStore);
-				table.put(projectId, lineInfo);
-			}
-			else {
-				LineInfo lineinfo = (LineInfo) data;
-				Version currentVersion = lineinfo.getVersion();
-				if (version.compareTo(currentVersion) > 0) {
-					LineInfo newlineInfo = new LineInfo(version, lineToStore);
-					table.put(projectId, newlineInfo);
-					if (DEBUG) {
-						System.out.println("\tVersion Replaced: " + projectId); //$NON-NLS-1$
-						System.out.println("\t\t" + version + " greater then " + currentVersion); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				}
-			}
-		}
-
-	}
-
-	private void storeInList(ArrayList list, String projectId, Version version, String lineParam) {
-
-		String lineToStore = lineParam.replace(CHAR_BASKSLASH, CHAR_SLASH);
-		if (lineToStore.startsWith(IGNORE)) {
-			lineToStore = lineToStore.substring(IGNORE.length());
-		}
-
-		if (notInSkipList(lineToStore)) {
-			LineInfo newlineInfo = new LineInfo(version, lineToStore);
-			ProjectInfoPair projectInfoPair = new ProjectInfoPair(projectId, newlineInfo);
-			list.add(projectInfoPair);
-		}
-
-	}
-
-	private boolean notInSkipList(String directory) {
-		boolean result = false;
-		if (directory != null && directory.length() > 0) {
-			if (contains(directory, ".tests_") || contains(directory, ".tests.") || contains(directory, "validation.test") || contains(directory, "validation.sample") || contains(directory, "tests.feature")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-				result = false;
-			}
-			else {
-				result = true;
-			}
-		}
-		return result;
-	}
-
-	private boolean contains(String directory, String string) {
-		return (-1 < directory.indexOf(string));
-	}
-
-	private void createTag(Writer writer, String directory, String type, String line) throws IOException {
-		jarNameParser.parse(line);
-		String versionString = jarNameParser.getVersionString();
-		String tagStart = ARCHIVE_PATH + QUOTE + type + SLASH + directory + UNDERSCORE + versionString + ".jar" + QUOTE; //$NON-NLS-1$
-
-		String urlAttrib = null;
-		String avoidDoubleSlashLine = line;
-		if (avoidDoubleSlashLine.startsWith(SLASH)) {
-			avoidDoubleSlashLine = avoidDoubleSlashLine.substring(1);
-		}
-		if (doNearestMirror) {
-			urlAttrib = urlCONST + nearestMirrorURL + avoidDoubleSlashLine + QUOTE + ENDTAG;
-		}
-		else if (doRelativeURL) {
-			urlAttrib = urlCONST + relativeURL + avoidDoubleSlashLine + QUOTE + ENDTAG;
-		}
-		else {
-			throw new IllegalStateException("url type is not specified correctly"); //$NON-NLS-1$
-		}
-
-		writer.write(EOL);
-		writer.write("\t" + tagStart + EOL); //$NON-NLS-1$
-		writer.write("\t\t" + urlAttrib + EOL); //$NON-NLS-1$
-		writer.write(EOL);
-		writer.flush();
-
-		totalTags++;
-
-	}
-}
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/Messages.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/Messages.java
deleted file mode 100644
index fe83c4b..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/Messages.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.callisto.tools;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
-	private static final String BUNDLE_NAME = "org.eclipse.callisto.tools.messages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private Messages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		}
-		catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/SiteFileUpdater.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/SiteFileUpdater.java
deleted file mode 100644
index 2c7c579..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/SiteFileUpdater.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.callisto.tools;
-
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-
-import org.eclipse.callisto.tools.utils.CommonXML;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * The purpose of this utility is to take a site.xml file that's automatically
- * created during the mirror command operations, and "merge" it with an
- * authored site.xml file that uses different categories or descriptions that
- * the automated one. The "merge" is only that any new URL's or version
- * numbers are mapped to their corresponding authored versions, so rest of
- * authored version is untouched, and can be used as "the" site.xml for the
- * mirrored site.
- */
-
-public class SiteFileUpdater {
-
-	public static void main(String[] args) {
-
-		if (args.length != 2) {
-			System.out.println();
-			System.out.println("    Usage: file-to-merge-into file-to-merge-from"); //$NON-NLS-1$
-			System.out.println("           The file-to-merge-into will be overwritten"); //$NON-NLS-1$
-			System.out.println();
-		}
-		else {
-			try {
-				String oldFileName = args[0];
-				String newFileName = args[1];
-				SiteFileUpdater siteFileUpdater = new SiteFileUpdater();
-				// old file is the authored file, with old feature versions
-				FileInputStream oldFile;
-				oldFile = new FileInputStream(oldFileName);
-				// new file has correct feature versions and url's from mirror
-				// command
-				FileInputStream newFile = new FileInputStream(newFileName);
-				Document mergedDom = siteFileUpdater.merge(oldFile, newFile);
-				oldFile.close();
-				newFile.close();
-
-				// outfile will contain "merge" xml files
-				FileOutputStream outfile = new FileOutputStream(oldFileName);
-				CommonXML.serialize(mergedDom, outfile);
-
-				outfile.close();
-				System.out.println("\tOutput to: " + oldFileName); //$NON-NLS-1$
-			}
-			catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-
-	}
-
-	private Document merge(FileInputStream oldFile, FileInputStream newFile) throws IOException {
-
-		DocumentBuilder documentBuilder = CommonXML.getDocumentBuilder();
-		Document mergedDom = null;
-		try {
-			Document oldDom = documentBuilder.parse(oldFile);
-
-			Document newDom = documentBuilder.parse(newFile);
-			mergedDom = merge(oldDom, newDom);
-		}
-		catch (SAXException e) {
-			e.printStackTrace();
-		}
-		return mergedDom;
-
-
-	}
-
-	private Document merge(Document oldDom, Document newDom) {
-
-		Document result = oldDom;
-		NodeList oldNodeList = oldDom.getElementsByTagName("feature"); //$NON-NLS-1$
-		NodeList newNodeList = newDom.getElementsByTagName("feature"); //$NON-NLS-1$
-
-		// go through each of the existing features, if there's a new one with
-		// same ID,
-		// then update old one with url and version.
-		int nNodes = oldNodeList.getLength();
-
-		for (int i = 0; i < nNodes; i++) {
-			Node node = oldNodeList.item(i);
-			NamedNodeMap attributeMap = node.getAttributes();
-			Node oldIdAttribute = attributeMap.getNamedItem("id"); //$NON-NLS-1$
-
-			Node matchingNode = findMatchingNodeById(newNodeList, oldIdAttribute);
-			if (matchingNode != null) {
-				// so, found match, update url and version
-				Node newurl = matchingNode.getAttributes().getNamedItem("url"); //$NON-NLS-1$
-				Node newversion = matchingNode.getAttributes().getNamedItem("version"); //$NON-NLS-1$
-				Attr newurlAttr = node.getOwnerDocument().createAttribute("url"); //$NON-NLS-1$
-				Attr newversionAttr = node.getOwnerDocument().createAttribute("version"); //$NON-NLS-1$
-				newurlAttr.setValue(newurl.getNodeValue());
-				newversionAttr.setNodeValue(newversion.getNodeValue());
-				attributeMap.setNamedItem(newurlAttr);
-				attributeMap.setNamedItem(newversionAttr);
-			}
-
-		}
-
-		return result;
-	}
-
-	private Node findMatchingNodeById(NodeList nodeList, Node attribute) {
-		Node result = null;
-		ArrayList matches = new ArrayList();
-		String idValue = attribute.getNodeValue();
-
-		for (int i = 0; i < nodeList.getLength(); i++) {
-			Node potentialnode = nodeList.item(i);
-			Node potentialMatch = potentialnode.getAttributes().getNamedItem(Messages.getString("SiteFileUpdater.10")); //$NON-NLS-1$
-			if (potentialMatch != null) {
-				String potentialIdValue = potentialMatch.getNodeValue();
-				if (idValue.equals(potentialIdValue)) {
-					matches.add(potentialnode);
-				}
-			}
-		}
-		if (matches.size() > 1) {
-			System.out.println(Messages.getString("SiteFileUpdater.11") + idValue); //$NON-NLS-1$
-			System.out.println("              The last one in list was used, but sites(s) should be cleaned up so only newest one included"); //$NON-NLS-1$
-			for (int i = 0; i < matches.size(); i++) {
-				Node match = (Node) matches.get(i);
-				Node version = match.getAttributes().getNamedItem("version"); //$NON-NLS-1$
-
-				System.out.println("        " + version.getNodeValue()); //$NON-NLS-1$
-			}
-
-		}
-		if (matches.size() > 0) {
-			result = (Node) matches.get(matches.size() - 1);
-		}
-		return result;
-	}
-}
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/messages.properties b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/messages.properties
deleted file mode 100644
index b536465..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/messages.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-SiteFileUpdater.10=id
-SiteFileUpdater.11=\ \ \ \ \ WARNING: there were mulitple matches for 
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/CommonXML.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/CommonXML.java
deleted file mode 100644
index 3029f1c..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/CommonXML.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.callisto.tools.utils;
-
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-
-/**
- */
-public class CommonXML {
-
-	/**
-	 * Provides a DocumentBuilder capable of creating a DOM Document from
-	 * input. Sets the desired characteristics for this instance, 
-	 * 	validating=false
-	 *  ignoringComments=false
-	 *  ignoringElementContentWhitespace=false
-	 * 
-	 * Example usage: Document document = null; try { DocumentBuilder builder =
-	 * CommonXML.getDocumentBuilder(); if (builder != null) { InputStream fis =
-	 * new FileInputStream(getFilename()); document = builder.parse(new
-	 * InputSource(fis)); } else { Logger.log(Logger.ERROR, "Couldn't obtain a
-	 * DocumentBuilder"); //$NON-NLS-1$ } } catch (FileNotFoundException e) { //
-	 * typical of new workspace, don't log it document = null; } catch
-	 * (IOException e) { Logger.logException("Could not load document", e);
-	 * //$NON-NLS-1$ return definitions; } catch (SAXException e) {
-	 * Logger.logException("Could not load document", e); //$NON-NLS-1$ return
-	 * definitions; }
-	 * 
-	 * @return DocumentBuilder
-	 */
-	public synchronized static DocumentBuilder getDocumentBuilder() {
-		DocumentBuilder result = null;
-		try {
-			DocumentBuilderFactory instance = DocumentBuilderFactory.newInstance();
-			instance.setValidating(false);
-			instance.setIgnoringComments(false);
-			instance.setIgnoringElementContentWhitespace(false);
-			
-			result = instance.newDocumentBuilder();
-			
-			
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	public synchronized static DocumentBuilder getDocumentBuilder(boolean validating) {
-		DocumentBuilder result = null;
-		try {
-			DocumentBuilderFactory instance = DocumentBuilderFactory.newInstance();
-			instance.setValidating(validating);
-			result = instance.newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	/**
-	 * Transforms a DOM document into a lightly-formatted UTF-16 represntation
-	 * and outputs it to an outputstream
-	 * 
-	 * @param document
-	 * @param ostream
-	 * @throws IOException
-	 */
-	public static void serialize(Document document, OutputStream ostream) throws IOException {
-		Source domSource = new DOMSource(document);
-		try {
-			Transformer serializer = TransformerFactory.newInstance().newTransformer();
-			try {
-				serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-				serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-				
-				//Properties prop = serializer.getOutputProperties();
-				//prop.list(System.out);
-			}
-			catch (IllegalArgumentException e) {
-				e.printStackTrace();
-			}
-			serializer.transform(domSource, new StreamResult(ostream));
-		}
-		catch (TransformerConfigurationException e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerFactoryConfigurationError e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerException e) {
-			throw new IOException(e.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/FullJarNameParser.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/FullJarNameParser.java
deleted file mode 100644
index a641ea5..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/FullJarNameParser.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.callisto.tools.utils;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class FullJarNameParser {
-
-	private static final boolean DEBUG = false; 
-	// simplified pattern: (ID) '_' (N '.' M '.' O '.' S) '.jar'
-	private String START_GROUP = "(";//$NON-NLS-1$
-	private String END_GROUP = ")"; //$NON-NLS-1$
-	private String UNDERSCORE = "_"; //$NON-NLS-1$
-	private String BACKSLASH = "\\"; //$NON-NLS-1$
-	private String LITERAL_PERIOD = BACKSLASH + "."; //$NON-NLS-1$
-	private String ANYDIGITS = BACKSLASH + "d" + "*"; //$NON-NLS-1$ //$NON-NLS-2$
-	private String ANY = ".*"; //$NON-NLS-1$
-	private Pattern pattern = Pattern.compile(START_GROUP + ANY + END_GROUP + UNDERSCORE + START_GROUP + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + START_GROUP + LITERAL_PERIOD + ANY + END_GROUP + "?" + END_GROUP + ".jar"); //$NON-NLS-1$ //$NON-NLS-2$
-
-	private String projectString;
-	private String versionString;
-
-
-
-	public FullJarNameParser() {
-		super();
-	}
-
-	public boolean parse(String line) {
-		boolean result = false;
-		projectString = ""; //$NON-NLS-1$
-		projectString = ""; //$NON-NLS-1$
-		Matcher matcher = pattern.matcher(line);
-
-		if (!matcher.matches()) {
-			System.out.println();
-			System.out.println("\tthe line did not match parse rule: "); //$NON-NLS-1$
-			System.out.println("\t" + line); //$NON-NLS-1$
-			System.out.println();
-			result = false;
-		}
-		else {
-
-			projectString = matcher.group(1);
-			versionString = matcher.group(2);
-			if (DEBUG) {
-				System.out.println(projectString);
-				System.out.println(versionString);
-				System.out.println();
-			}
-			result = true;
-		}
-		return result;
-	}
-
-
-
-	public String getProjectString() {
-		return projectString;
-	}
-
-
-
-	public String getVersionString() {
-		return versionString;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/LineInfo.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/LineInfo.java
deleted file mode 100644
index 3b75bf4..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/LineInfo.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.callisto.tools.utils;
-
-
-public class LineInfo {
-
-	private String lineInfo;
-	private Version version;
-	
-	public LineInfo(Version version, String line) {
-		this.version = version;
-		this.lineInfo = line;
-	}
-	
-	public Version getVersion() {
-		return version;
-	}
-	public String getLine() {
-		return lineInfo;
-	}
-}
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/ProjectInfoPair.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/ProjectInfoPair.java
deleted file mode 100644
index cad8bee..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/ProjectInfoPair.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.callisto.tools.utils;
-
-
-public class ProjectInfoPair {
-	private String projectId;
-	private LineInfo lineInfo;
-	public LineInfo getLineInfo() {
-		return lineInfo;
-	}
-	public String getProjectId() {
-		return projectId;
-	}
-	public ProjectInfoPair(String projectId, LineInfo lineInfo) {
-		this.projectId = projectId;
-		this.lineInfo = lineInfo;
-	}
-
-}
diff --git a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/Version.java b/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/Version.java
deleted file mode 100644
index f3b2c93..0000000
--- a/org.eclipse.callisto.tools/src/org/eclipse/callisto/tools/utils/Version.java
+++ /dev/null
@@ -1,356 +0,0 @@
-package org.eclipse.callisto.tools.utils;
-
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-
-/**
- * Temporary "copy" of class
- * 
- * Version identifier for bundles and packages.
- * 
- * <p>
- * Version identifiers have four components.
- * <ol>
- * <li>Major version. A non-negative integer.</li>
- * <li>Minor version. A non-negative integer.</li>
- * <li>Micro version. A non-negative integer.</li>
- * <li>Qualifier. A text string. See <code>Version(String)</code> for the
- * format of the qualifier string.</li>
- * </ol>
- * 
- * <p>
- * <code>Version</code> objects are immutable.
- * 
- * @version $Revision$
- * @since 1.3
- */
-
-public class Version implements Comparable {
-	private final int major;
-	private final int minor;
-	private final int micro;
-	private final String qualifier;
-	private static final String SEPARATOR = "."; //$NON-NLS-1$
-
-	/**
-	 * The empty version "0.0.0". Equivalent to calling
-	 * <code>new Version(0,0,0)</code>.
-	 */
-	public static final Version emptyVersion = new Version(0, 0, 0);
-
-	/**
-	 * Creates a version identifier from the specified numerical components.
-	 * 
-	 * <p>
-	 * The qualifier is set to the empty string.
-	 * 
-	 * @param major
-	 *            Major component of the version identifier.
-	 * @param minor
-	 *            Minor component of the version identifier.
-	 * @param micro
-	 *            Micro component of the version identifier.
-	 * @throws IllegalArgumentException
-	 *             If the numerical components are negative.
-	 */
-	public Version(int major, int minor, int micro) {
-		this(major, minor, micro, null);
-	}
-
-	/**
-	 * Creates a version identifier from the specifed components.
-	 * 
-	 * @param major
-	 *            Major component of the version identifier.
-	 * @param minor
-	 *            Minor component of the version identifier.
-	 * @param micro
-	 *            Micro component of the version identifier.
-	 * @param qualifier
-	 *            Qualifier component of the version identifier. If
-	 *            <code>null</code> is specified, then the qualifier will be
-	 *            set to the empty string.
-	 * @throws IllegalArgumentException
-	 *             If the numerical components are negative or the qualifier
-	 *             string is invalid.
-	 */
-	public Version(int major, int minor, int micro, String qualifier) {
-		if (qualifier == null) {
-			qualifier = ""; //$NON-NLS-1$
-		}
-
-		this.major = major;
-		this.minor = minor;
-		this.micro = micro;
-		this.qualifier = qualifier;
-		validate();
-	}
-
-	/**
-	 * Created a version identifier from the specified string.
-	 * 
-	 * <p>
-	 * Here is the grammar for version strings.
-	 * 
-	 * <pre>
-	 *  version ::= major('.'minor('.'micro('.'qualifier)?)?)?
-	 *  major ::= digit+
-	 *  minor ::= digit+
-	 *  micro ::= digit+
-	 *  qualifier ::= (alpha|digit|'_'|'-')+
-	 *  digit ::= [0..9]
-	 *  alpha ::= [a..zA..Z]
-	 * </pre>
-	 * 
-	 * There must be no whitespace in version.
-	 * 
-	 * @param version
-	 *            String representation of the version identifier.
-	 * @throws IllegalArgumentException
-	 *             If <code>version</code> is improperly formatted.
-	 */
-	public Version(String version) {
-		int major = 0;
-		int minor = 0;
-		int micro = 0;
-		String qualifier = ""; //$NON-NLS-1$
-
-		if (version == null) {
-			throw new IllegalArgumentException("version string can not be null"); //$NON-NLS-1$
-		}
-		if (version.length() == 0) {
-			throw new IllegalArgumentException("version string can not be empty"); //$NON-NLS-1$
-		}
-
-		try {
-			StringTokenizer st = new StringTokenizer(version, SEPARATOR, true);
-			major = Integer.parseInt(st.nextToken());
-
-			if (st.hasMoreTokens()) {
-				st.nextToken(); // consume delimiter
-				minor = Integer.parseInt(st.nextToken());
-
-				if (st.hasMoreTokens()) {
-					st.nextToken(); // consume delimiter
-					micro = Integer.parseInt(st.nextToken());
-
-					if (st.hasMoreTokens()) {
-						st.nextToken(); // consume delimiter
-						qualifier = st.nextToken();
-
-						if (st.hasMoreTokens()) {
-							throw new IllegalArgumentException("invalid format: " + version); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-		catch (NoSuchElementException e) {
-			throw new IllegalArgumentException("invalid format: " + version); //$NON-NLS-1$
-		}
-
-		this.major = major;
-		this.minor = minor;
-		this.micro = micro;
-		this.qualifier = qualifier;
-		validate();
-	}
-
-	/**
-	 * Called by the Version constructors to validate the version components.
-	 * 
-	 * @throws IllegalArgumentException
-	 *             If the numerical components are negative or the qualifier
-	 *             string is invalid.
-	 */
-	private void validate() {
-		if (major < 0) {
-			throw new IllegalArgumentException("negative major"); //$NON-NLS-1$
-		}
-		if (minor < 0) {
-			throw new IllegalArgumentException("negative minor"); //$NON-NLS-1$
-		}
-		if (micro < 0) {
-			throw new IllegalArgumentException("negative micro"); //$NON-NLS-1$
-		}
-		int length = qualifier.length();
-		for (int i = 0; i < length; i++) {
-			if ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-".indexOf(qualifier.charAt(i)) == -1) { //$NON-NLS-1$
-				throw new IllegalArgumentException("invalid qualifier"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Parses a version identifier from the specified string.
-	 * 
-	 * <p>
-	 * See <code>Version(String)</code> for the format of the version
-	 * string.
-	 * 
-	 * @param version
-	 *            String representation of the version identifier. Leading and
-	 *            trailing whitespace will be ignored.
-	 * @return A <code>Version</code> object representing the version
-	 *         identifier. If <code>version</code> is <code>null</code> or
-	 *         the empty string then <code>emptyVersion</code> will be
-	 *         returned.
-	 * @throws IllegalArgumentException
-	 *             If <code>version</code> is improperly formatted.
-	 */
-	public static Version parseVersion(String version) {
-		if (version == null) {
-			return emptyVersion;
-		}
-
-		version = version.trim();
-		if (version.length() == 0) {
-			return emptyVersion;
-		}
-
-		return new Version(version);
-	}
-
-	/**
-	 * Returns the major component of this version identifier.
-	 * 
-	 * @return The major component.
-	 */
-	public int getMajor() {
-		return major;
-	}
-
-	/**
-	 * Returns the minor component of this version identifier.
-	 * 
-	 * @return The minor component.
-	 */
-	public int getMinor() {
-		return minor;
-	}
-
-	/**
-	 * Returns the micro component of this version identifier.
-	 * 
-	 * @return The micro component.
-	 */
-	public int getMicro() {
-		return micro;
-	}
-
-	/**
-	 * Returns the qualifier component of this version identifier.
-	 * 
-	 * @return The qualifier component.
-	 */
-	public String getQualifier() {
-		return qualifier;
-	}
-
-	/**
-	 * Returns the string representation of this version identifier.
-	 * 
-	 * <p>
-	 * The format of the version string will be <code>major.minor.micro</code>
-	 * if qualifier is the empty string or
-	 * <code>major.minor.micro.qualifier</code> otherwise.
-	 * 
-	 * @return The string representation of this version identifier.
-	 */
-	public String toString() {
-		String base = major + SEPARATOR + minor + SEPARATOR + micro;
-		if (qualifier.length() == 0) {
-			return base;
-		}
-		else {
-			return base + SEPARATOR + qualifier;
-		}
-	}
-
-	/**
-	 * Returns a hash code value for the object.
-	 * 
-	 * @return An integer which is a hash code value for this object.
-	 */
-	public int hashCode() {
-		return (major << 24) + (minor << 16) + (micro << 8) + qualifier.hashCode();
-	}
-
-	/**
-	 * Compares this <code>Version</code> object to another object.
-	 * 
-	 * <p>
-	 * A version is considered to be <b>equal to </b> another version if the
-	 * major, minor and micro components are equal and the qualifier component
-	 * is equal (using <code>String.equals</code>).
-	 * 
-	 * @param object
-	 *            The <code>Version</code> object to be compared.
-	 * @return <code>true</code> if <code>object</code> is a
-	 *         <code>Version</code> and is equal to this object;
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean equals(Object object) {
-		if (object == this) { // quicktest
-			return true;
-		}
-
-		if (!(object instanceof Version)) {
-			return false;
-		}
-
-		Version other = (Version) object;
-		return (major == other.major) && (minor == other.minor) && (micro == other.micro) && qualifier.equals(other.qualifier);
-	}
-
-	/**
-	 * Compares this <code>Version</code> object to another object.
-	 * 
-	 * <p>
-	 * A version is considered to be <b>less than </b> another version if its
-	 * major component is less than the other version's major component, or
-	 * the major components are equal and its minor component is less than the
-	 * other version's minor component, or the major and minor components are
-	 * equal and its micro component is less than the other version's micro
-	 * component, or the major, minor and micro components are equal and it's
-	 * qualifier component is less than the other version's qualifier
-	 * component (using <code>String.compareTo</code>).
-	 * 
-	 * <p>
-	 * A version is considered to be <b>equal to</b> another version if the
-	 * major, minor and micro components are equal and the qualifier component
-	 * is equal (using <code>String.compareTo</code>).
-	 * 
-	 * @param object
-	 *            The <code>Version</code> object to be compared.
-	 * @return A negative integer, zero, or a positive integer if this object
-	 *         is less than, equal to, or greater than the specified
-	 *         <code>Version</code> object.
-	 * @throws ClassCastException
-	 *             If the specified object is not a <code>Version</code>.
-	 */
-	public int compareTo(Object object) {
-		if (object == this) { // quicktest
-			return 0;
-		}
-
-		Version other = (Version) object;
-
-		int result = major - other.major;
-		if (result != 0) {
-			return result;
-		}
-
-		result = minor - other.minor;
-		if (result != 0) {
-			return result;
-		}
-
-		result = micro - other.micro;
-		if (result != 0) {
-			return result;
-		}
-
-		return qualifier.compareTo(other.qualifier);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.callisto.tools/updateOnlyNew.sh b/org.eclipse.callisto.tools/updateOnlyNew.sh
deleted file mode 100644
index 54cefa2..0000000
--- a/org.eclipse.callisto.tools/updateOnlyNew.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-
-if [ "$1" != "-doit" ] ; then
-   echo "    This is a dry run. Add -doit to actually remove"
-   doit="--dry-run"
-else
-   doit=""
-fi
-
-rsync $doit  --ignore-existing -rv ~/downloads/callisto/staging/plugins ~/downloads/callisto/releases/
-
-rsync $doit  --ignore-existing -rv ~/downloads/callisto/staging/features ~/downloads/callisto/releases/
-
-if [ "$doit" = "--dry-run" ] ; then
-   echo "    This was a dry run. Add -doit to actually remove"
-fi
-
diff --git a/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc b/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc
deleted file mode 100644
index 18e6be0..0000000
--- a/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jardesc>
-    <jar path="D:/builds/Workspaces/pureHeadWTP/org.eclipse.callisto.tools/build-home/siteFileUpdater.jar"/>
-    <options overwrite="true" compress="false" exportErrors="false" exportWarnings="true" saveDescription="true" descriptionLocation="/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc" useSourceFolders="false" buildIfNeeded="true" includeDirectoryEntries="false" storeRefactorings="false"/>
-    <refactoring structuralOnly="true" deprecationInfo="true"/>
-    <selectedProjects>
-        <project name="org.eclipse.callisto.tools"/>
-    </selectedProjects>
-    <manifest manifestVersion="1.0" usesManifest="true" reuseManifest="false" saveManifest="true" generateManifest="false" manifestLocation="/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf" mainClassHandleIdentifier="=org.eclipse.callisto.tools/src&lt;org.eclipse.callisto.tools{SiteFileUpdater.java[SiteFileUpdater">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportOutputFolder="false" exportJavaFiles="false">
-        <folder path="/org.eclipse.callisto.tools/META-INF"/>
-        <javaElement handleIdentifier="=org.eclipse.callisto.tools/src"/>
-    </selectedElements>
-</jardesc>
diff --git a/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf b/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf
deleted file mode 100644
index f19fd33..0000000
--- a/org.eclipse.callisto.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.callisto.tools.SiteFileUpdater
-
diff --git a/org.eclipse.callisto.updatesite/.classpath b/org.eclipse.callisto.updatesite/.classpath
deleted file mode 100644
index d1e18f8..0000000
--- a/org.eclipse.callisto.updatesite/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="build/classes"/>
-</classpath>
diff --git a/org.eclipse.callisto.updatesite/.cvsignore b/org.eclipse.callisto.updatesite/.cvsignore
deleted file mode 100644
index bfac94c..0000000
--- a/org.eclipse.callisto.updatesite/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-.deployables
-bin
-.fbprefs
diff --git a/org.eclipse.callisto.updatesite/.project b/org.eclipse.callisto.updatesite/.project
deleted file mode 100644
index 57f7c1d..0000000
--- a/org.eclipse.callisto.updatesite/.project
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.callisto.updatesite</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.callisto.updatesite/.settings/.component b/org.eclipse.callisto.updatesite/.settings/.component
deleted file mode 100644
index 0d8e255..0000000
--- a/org.eclipse.callisto.updatesite/.settings/.component
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId">
-<wb-module deploy-name="org.eclipse.callisto.updatesite">
-<wb-resource deploy-path="/" source-path="/WebContent"/>
-<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
-<property name="context-root" value="org.eclipse.callisto.updatesite"/>
-<property name="java-output-path" value="build/classes"/>
-</wb-module>
-</project-modules>
diff --git a/org.eclipse.callisto.updatesite/.settings/org.eclipse.jst.common.project.facet.core.prefs b/org.eclipse.callisto.updatesite/.settings/org.eclipse.jst.common.project.facet.core.prefs
deleted file mode 100644
index b4c5a7e..0000000
--- a/org.eclipse.callisto.updatesite/.settings/org.eclipse.jst.common.project.facet.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Apr 09 02:32:02 EDT 2006
-classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:ibm-sdk-n142p-win32-x86/owners=jst.java\:1.4
-eclipse.preferences.version=1
diff --git a/org.eclipse.callisto.updatesite/.settings/org.eclipse.wst.common.project.facet.core.xml b/org.eclipse.callisto.updatesite/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index 2ce0c89..0000000
--- a/org.eclipse.callisto.updatesite/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <installed facet="jst.web" version="2.4"/>
-  <installed facet="jst.java" version="1.4"/>
-</faceted-project>
diff --git a/org.eclipse.callisto.updatesite/WebContent/250px-Callisto-t2.gif b/org.eclipse.callisto.updatesite/WebContent/250px-Callisto-t2.gif
deleted file mode 100644
index 6ef3a19..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/250px-Callisto-t2.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.callisto.updatesite/WebContent/META-INF/MANIFEST.MF b/org.eclipse.callisto.updatesite/WebContent/META-INF/MANIFEST.MF
deleted file mode 100644
index 254272e..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-
diff --git a/org.eclipse.callisto.updatesite/WebContent/WEB-INF/web.xml b/org.eclipse.callisto.updatesite/WebContent/WEB-INF/web.xml
deleted file mode 100644
index e06bde9..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/WEB-INF/web.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app
-	id="WebApp_ID"
-	version="2.4"
-	xmlns="http://java.sun.com/xml/ns/j2ee"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-	<display-name>org.eclipse.jst.webupdatesite</display-name>
-	<welcome-file-list>
-		<welcome-file>index.html</welcome-file>
-		<welcome-file>default.htm</welcome-file>
-		<welcome-file>index.jsp</welcome-file>
-		<welcome-file>index.htm</welcome-file>
-		<welcome-file>default.html</welcome-file>
-		<welcome-file>default.jsp</welcome-file>
-	</welcome-file-list>
-</web-app>
diff --git a/org.eclipse.callisto.updatesite/WebContent/index.html b/org.eclipse.callisto.updatesite/WebContent/index.html
deleted file mode 100644
index e747002..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Callisto Discovery Site</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<style type="">@import url("web/site.css");</style>
-</head>
-<body>
-
-<div align="right"><map name="moonmap">
-    <area shape="circle" coords="105,105,90"
-        href="http://en.wikipedia.org/wiki/Callisto_%28moon%29" />
-</map>
-<p><img src="250px-Callisto-t2.gif" alt="The Callisto Moon"
-    border="0" title="The Callisto Moon" usemap="#moonmap" /></p>
-
-</div>
-
-<h1 class="title">Callisto Discovery Site</h1>
-
-<h2>Just getting started?</h2>
-<p><b>See <a href="http://www.eclipse.org/callisto/">http://www.eclipse.org/callisto/</a>
-</b></p>
-
-
-<hr />
-
-<p>The following links are just reminders for those contributing to
-the Callisto Discovery site.</p>
-
-
-<p>Minimum starting platform: <a
-    href="http://download.eclipse.org/eclipse/downloads/drops/M20060609-1217/callisto.php">Platform
-Runtime Binary M0609</a></p>
-<p><a
-    href="http://wiki.eclipse.org/index.php/Callisto_Coordinated_Update_Sites">Callisto
-Coordinated Update Sites</a></p>
-
-<p><a href="http://www.eclipse.org/projects/callisto.php">Callisto
-Simultaneous Release Plan</a></p>
-
-<p><a href="http://wiki.eclipse.org/index.php/Callisto_Plan_Summary">Callisto
-Plan Summary</a></p>
-
-<p><a href="http://wiki.eclipse.org/index.php/Callisto_build">Callisto
-Build</a></p>
-
-<p><a
-    href="http://www.eclipse.org/projects/callisto-files/callisto-bug-contest.php">Great
-Bugs Contest</a></p>
-
-<p><a
-    href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=greatbug&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Great
-Bugs Query</a></p>
-
-<p><a
-    href="http://www.eclipse.org/downloads/download.php?file=/callisto/releases/site.xml&amp;format=html&amp;protocol=http">Callisto
-Mirror sites</a></p>
-
-
-<p>For most distributions of Eclipse, there should already be a
-"Callisto Discovery Site" defined in its Update Manager. But, if you do
-not see it you can try adding the following URL as a remote update site
-in your update manager.</p>
-<p>&nbsp;&nbsp;&nbsp;<code>http://download.eclipse.org/callisto/releases/</code></p>
-<p>Alternatively, if you would like to view the list or projects by
-their Eclipse Project (PMC) organization, you can define a new remote
-update site, and specify a site-byProject.xml file. In other words,</p>
-<p>&nbsp;&nbsp;&nbsp;<code>http://download.eclipse.org/callisto/releases/site-byProject.xml</code></p>
-
-
-<p>See <a
-    href="http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-34.htm">Eclipse
-Help</a> for general information about using Update Manager.</p>
-
-
-
-</body>
-</html>
-
-
diff --git a/org.eclipse.callisto.updatesite/WebContent/site-byProject.xml b/org.eclipse.callisto.updatesite/WebContent/site-byProject.xml
deleted file mode 100644
index 9d93373..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/site-byProject.xml
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site
-    digestURL="http://download.eclipse.org/callisto/staging/"
-    pack200="true">
-    <!--
-        mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/callisto/releases/site.xml&amp;format=xml&amp;protocol=http"
-    -->
-
-    <description url="http://www.eclipse.org/callisto/">
-        This Callisto Discovery Site contains number of Eclipse based projects released simultaneously, June, 2006.
-    </description>
-    <category-def
-        label="Web Tools Platform (WTP)"
-        name="Web Tools Platform (WTP)">
-        <description>This category contains the features of the Eclipse Web Tools Project (WTP).</description>
-    </category-def>
-    <category-def
-        label="The Eclipse Project"
-        name="The Eclipse Project">
-        <description>
-            This category contains the features of the the Eclipse Project: Platform, Java Developement Tools, and Plugin
-            Development Tools.
-        </description>
-    </category-def>
-    <category-def
-        label="The Data Tools Project (DTP)"
-        name="The Data Tools Project (DTP)">
-        <description>This category contains the features for the DTP Project.</description>
-    </category-def>
-    <category-def
-        label="The Eclipse Tools Project"
-        name="The Eclipse Tools Project">
-        <description>These are features from the Eclipse Tools Project</description>
-    </category-def>
-    <category-def
-        label="The Eclipse Technology Project"
-        name="The Eclipse Technology Project">
-        <description>These are features from the Eclipse Technology Project</description>
-    </category-def>
-    <category-def
-        label="Business Intelligence and Reporting Tools (BIRT)"
-        name="Business Intelligence and Reporting Tools (BIRT)">
-        <description>These are features from the Business Intelligence and Reporting Tools (BIRT) Project</description>
-    </category-def>
-    <category-def
-        label="Details"
-        name="The Test and Performance Tools Platform Project (TPTP)" />
-
-    <feature
-        id="org.eclipse.platform"
-        patch="false"
-        url="features/org.eclipse.platform_3.2.0.v20060609m-AgOexn6hlEUsvBO.jar"
-        version="3.2.0.v20060609m-AgOexn6hlEUsvBO">
-        <category name="The Eclipse Project" />
-    </feature>
-
-    <feature
-        id="org.eclipse.jdt"
-        patch="false"
-        url="features/org.eclipse.jdt_3.2.0.v20060609m-F7snq1fxia-Z4XP.jar"
-        version="3.2.0.v20060609m-F7snq1fxia-Z4XP">
-        <category name="The Eclipse Project" />
-    </feature>
-    <feature
-        id="org.eclipse.pde"
-        patch="false"
-        url="features/org.eclipse.pde_3.2.0.v20060609m------6zXJJzJzJq.jar"
-        version="3.2.0.v20060609m------6zXJJzJzJq">
-        <category name="The Eclipse Project" />
-    </feature>
-    <feature
-        id="org.eclipse.cdt"
-        url="features/org.eclipse.cdt_3.1.0.200606261600.jar"
-        version="3.1.0.200606261600">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.modelbase.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.modelbase.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="The Data Tools Project (DTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.connectivity.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="The Data Tools Project (DTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="The Data Tools Project (DTP)" />
-    </feature>
-
-    <feature
-        id="org.eclipse.datatools.connectivity.oda.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.oda.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="The Data Tools Project (DTP)" />
-    </feature>
-
-    <feature
-        id="org.eclipse.datatools.connectivity.oda.designer.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.oda.designer.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="The Data Tools Project (DTP)" />
-    </feature>
-
-    <feature
-        id="org.eclipse.datatools.enablement.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="The Data Tools Project (DTP)" />
-    </feature>
-
-    <feature
-        id="org.eclipse.emf"
-        patch="false"
-        url="features/org.eclipse.emf_2.2.0.v200606271057.jar"
-        version="2.2.0.v200606271057">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.xsd"
-        patch="false"
-        url="features/org.eclipse.xsd_2.2.0.v200606271057.jar"
-        version="2.2.0.v200606271057">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ecore.sdo"
-        patch="false"
-        url="features/org.eclipse.emf.ecore.sdo_2.2.0.v200606271057.jar"
-        version="2.2.0.v200606271057">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.birt"
-        patch="false"
-        url="features/org.eclipse.birt_2.1.0.N20060628-1351.jar"
-        version="2.1.0.N20060628-1351">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-    <feature
-        id="org.eclipse.gef"
-        patch="false"
-        url="features/org.eclipse.gef_3.2.0.v20060626.jar"
-        version="3.2.0.v20060626">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.ve"
-        patch="false"
-        url="features/org.eclipse.ve_1.2.0.v20060530_RC2-0-a2N7MMl7.jar"
-        version="1.2.0.v20060530_RC2-0-a2N7MMl7">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.jem"
-        patch="false"
-        url="features/org.eclipse.jem_1.2.0.v20060530_RC2--ZasJzJJez.jar"
-        version="1.2.0.v20060530_RC2--ZasJzJJez">
-        <category name="The Eclipse Tools Project" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.monitoring.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.monitoring.runtime_4.2.0.v200606121835--stCklslt2O-P0B.jar"
-        version="4.2.0.v200606121835--stCklslt2O-P0B">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.platform.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.platform.runtime_4.2.0.v200606121835-ASlM31q2nxqvxuN.jar"
-        version="4.2.0.v200606121835-ASlM31q2nxqvxuN">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.test.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.test.runtime_4.2.0.v200606121835--Hp5ghohoxExeyS.jar"
-        version="4.2.0.v200606121835--Hp5ghohoxExeyS">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.trace.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.trace.runtime_4.2.0.v200606121835--3OA77O7O9I9M9U.jar"
-        version="4.2.0.v200606121835--3OA77O7O9I9M9U">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-
-    <feature
-        id="org.apache.batik.pdf"
-        patch="false"
-        url="features/org.apache.batik.pdf_1.6.0.v20060613-1220-0842282835-3442.jar"
-        version="1.6.0.v20060613-1220-0842282835-3442">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-
-    <feature
-        id="org.eclipse.tptp.birt"
-        patch="false"
-        url="features/org.eclipse.tptp.birt_4.2.0.v200606121835--J3Fdf2f36X6t7Y.jar"
-        version="4.2.0.v200606121835--J3Fdf2f36X6t7Y">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-
-    <feature
-        id="org.eclipse.tptp.wtp"
-        patch="false"
-        url="features/org.eclipse.tptp.wtp_4.2.0.v200606121835--7iSEEiEiOWOeP-.jar"
-        version="4.2.0.v200606121835--7iSEEiEiOWOeP-">
-        <category name="The Test and Performance Tools Platform Project (TPTP)" />
-    </feature>
-
-
-
-    <feature
-        id="org.apache.xerces.feature"
-        patch="false"
-        url="features/org.apache.xerces.feature_2.8.0.v200605151647--08422828353873.jar"
-        version="2.8.0.v200605151647--08422828353873">
-        <category name="Web Tools Platform (WTP)" />
-    </feature>
-    <feature
-        id="org.apache.commons_logging.feature"
-        patch="false"
-        url="features/org.apache.commons_logging.feature_1.0.4.v200606152055--08422828353873.jar"
-        version="1.0.4.v200606152055--08422828353873">
-        <category name="Web Tools Platform (WTP)" />
-    </feature>
-
-    <feature
-        id="org.apache.jakarta_log4j.feature"
-        patch="false"
-        url="features/org.apache.jakarta_log4j.feature_1.2.8.v200605300321--08422828353873.jar"
-        version="1.2.8.v200605300321--08422828353873">
-        <category name="Web Tools Platform (WTP)" />
-    </feature>
-
-
-    <feature
-        id="org.eclipse.wst"
-        patch="false"
-        url="features/org.eclipse.wst_1.5.0.v200606092300-U4T922yjOWsGK5Y.jar"
-        version="1.5.0.v200606092300-U4T922yjOWsGK5Y">
-        <category name="Web Tools Platform (WTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.jst"
-        patch="false"
-        url="features/org.eclipse.jst_1.5.0.v200606092300-kW-O_ysCRLJsxJt.jar"
-        version="1.5.0.v200606092300-kW-O_ysCRLJsxJt">
-        <category name="Web Tools Platform (WTP)" />
-    </feature>
-    <feature
-        id="org.eclipse.gmf.callisto"
-        patch="false"
-        url="features/org.eclipse.gmf.callisto_1.0.0.v20060627-1200.jar"
-        version="1.0.0.v20060627-1200">
-        <category name="The Eclipse Technology Project" />
-    </feature>
-
-    <feature
-        id="org.apache.batik"
-        patch="false"
-        url="features/org.apache.batik_1.6.0.v20060613-1220-0842282835-3442.jar"
-        version="1.6.0.v20060613-1220-0842282835-3442">
-        <category name="The Eclipse Technology Project" />
-    </feature>
-
-    <feature
-        id="org.apache.derby.core"
-        url="features/org.apache.derby.core_10.1.2.1.jar"
-        version="10.1.2.1">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-
-    <feature
-        id="com.lowagie.itext"
-        url="features/com.lowagie.itext_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-
-    <feature
-        id="com.lowagie.itext"
-        url="features/com.lowagie.itext_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-    <feature
-        id="org.apache.commons.codec"
-        url="features/org.apache.commons.codec_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-    <feature
-        id="org.mozilla.rhino"
-        url="features/org.mozilla.rhino_1.6.0.N20060628-1351.jar"
-        version="1.6.0.N20060628-1351">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-    <feature
-        id="org.w3c.sac"
-        url="features/org.w3c.sac_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Business Intelligence and Reporting Tools (BIRT)" />
-    </feature>
-    <feature
-        id="org.eclipse.equinox"
-        patch="false"
-        url="features/org.eclipse.equinox_3.2.0.v20060609m-----Cq0bcpcpbus.jar"
-        version="3.2.0.v20060609m-----Cq0bcpcpbus">
-        <category name="The Eclipse Project" />
-    </feature>
-</site>
diff --git a/org.eclipse.callisto.updatesite/WebContent/site.dtd b/org.eclipse.callisto.updatesite/WebContent/site.dtd
deleted file mode 100644
index 85d6fa2..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/site.dtd
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml encoding="UTF-8"?>
-<!-- Note: this is a slight improved version that what appears in 
-	"the spec" for site dtd .
-	Current Doc: 
-	http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_sitemap.html
-	See bug: 
-	https://bugs.eclipse.org/bugs/show_bug.cgi?id=129451
-	
-	
-	
-	<!DOCTYPE site PUBLIC "-//Eclipse.org//DTD Eclipse Update 3.2.001//EN" "http://www.eclipse.org/update/core/site.dtd">
-	
-	
--->
-<!ELEMENT site (description?, category-def*, feature+, archive*)> 
-<!ATTLIST site 
-    type          CDATA #IMPLIED 
-    url           CDATA #IMPLIED 
-    mirrorsURL    CDATA #IMPLIED 
-    digestURL    CDATA #IMPLIED 
-    pack200   (false | true) "false"
->
-
-<!ELEMENT description (#PCDATA)> 
-<!ATTLIST description 
-    url           CDATA #IMPLIED 
->
-
-<!ELEMENT feature (category*)> 
-<!ATTLIST feature 
-    type          CDATA #IMPLIED 
-    id            CDATA #IMPLIED 
-    version       CDATA #IMPLIED 
-    url           CDATA #REQUIRED     
-    patch         (false | true) "false"
-    
-    os            CDATA #IMPLIED 
-    nl            CDATA #IMPLIED 
-    arch          CDATA #IMPLIED 
-    ws            CDATA #IMPLIED
->
-
-<!ELEMENT archive EMPTY> 
-<!ATTLIST archive 
-    path          CDATA #REQUIRED 
-    url           CDATA #REQUIRED 
->
-
-<!ELEMENT category EMPTY> 
-<!ATTLIST category 
-    name          CDATA #REQUIRED 
->
-
-<!ELEMENT category-def (description?)> 
-<!ATTLIST category-def 
-    name          CDATA #REQUIRED 
-    label         CDATA #REQUIRED 
->
-
diff --git a/org.eclipse.callisto.updatesite/WebContent/site.xml b/org.eclipse.callisto.updatesite/WebContent/site.xml
deleted file mode 100644
index 7797a14..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/site.xml
+++ /dev/null
@@ -1,338 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site
-    digestURL="http://download.eclipse.org/callisto/staging/"
-    pack200="true">
-    <!--
-        mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/callisto/releases/site.xml&amp;format=xml&amp;protocol=http"
-    -->
-
-    <description url="http://www.eclipse.org/callisto/">
-        This Callisto Discovery Site contains number of Eclipse based projects released simultaneously, June, 2006.
-    </description>
-
-    <feature
-        id="org.apache.batik.pdf"
-        patch="false"
-        url="features/org.apache.batik.pdf_1.6.0.v20060613-1220-0842282835-3442.jar"
-        version="1.6.0.v20060613-1220-0842282835-3442">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.apache.batik"
-        patch="false"
-        url="features/org.apache.batik_1.6.0.v20060613-1220-0842282835-3442.jar"
-        version="1.6.0.v20060613-1220-0842282835-3442">
-        <category name="Enabling Features" />
-    </feature>
-
-
-    <feature
-        id="org.apache.commons_logging.feature"
-        patch="false"
-        url="features/org.apache.commons_logging.feature_1.0.4.v200606152055--08422828353873.jar"
-        version="1.0.4.v200606152055--08422828353873">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.apache.jakarta_log4j.feature"
-        patch="false"
-        url="features/org.apache.jakarta_log4j.feature_1.2.8.v200605300321--08422828353873.jar"
-        version="1.2.8.v200605300321--08422828353873">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.apache.xerces.feature"
-        patch="false"
-        url="features/org.apache.xerces.feature_2.8.0.v200605151647--08422828353873.jar"
-        version="2.8.0.v200605151647--08422828353873">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.eclipse.platform"
-        patch="false"
-        url="features/org.eclipse.platform_3.2.0.v20060609m-AgOexn6hlEUsvBO.jar"
-        version="3.2.0.v20060609m-AgOexn6hlEUsvBO">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.eclipse.equinox"
-        patch="false"
-        url="features/org.eclipse.equinox_3.2.0.v20060609m-----Cq0bcpcpbus.jar"
-        version="3.2.0.v20060609m-----Cq0bcpcpbus">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.birt"
-        patch="false"
-        url="features/org.eclipse.birt_2.1.0.N20060628-1351.jar"
-        version="2.1.0.N20060628-1351">
-        <category name="Charting and Reporting" />
-    </feature>
-
-    <feature
-        id="org.apache.derby.core"
-        url="features/org.apache.derby.core_10.1.2.1.jar"
-        version="10.1.2.1">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="com.lowagie.itext"
-        url="features/com.lowagie.itext_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.apache.commons.codec"
-        url="features/org.apache.commons.codec_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.mozilla.rhino"
-        url="features/org.mozilla.rhino_1.6.0.N20060628-1351.jar"
-        version="1.6.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.w3c.sac"
-        url="features/org.w3c.sac_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.cdt"
-        patch="false"
-        url="features/org.eclipse.cdt_3.1.0.200606261600.jar"
-        version="3.1.0.200606261600">
-        <category name="C and C++ Developement" />
-    </feature>
-    <feature
-        id="org.eclipse.jdt"
-        patch="false"
-        url="features/org.eclipse.jdt_3.2.0.v20060609m-F7snq1fxia-Z4XP.jar"
-        version="3.2.0.v20060609m-F7snq1fxia-Z4XP">
-        <category name="Java Development" />
-    </feature>
-    <feature
-        id="org.eclipse.pde"
-        patch="false"
-        url="features/org.eclipse.pde_3.2.0.v20060609m------6zXJJzJzJq.jar"
-        version="3.2.0.v20060609m------6zXJJzJzJq">
-        <category name="Java Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf"
-        patch="false"
-        url="features/org.eclipse.emf_2.2.0.v200606271057.jar"
-        version="2.2.0.v200606271057">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.xsd"
-        patch="false"
-        url="features/org.eclipse.xsd_2.2.0.v200606271057.jar"
-        version="2.2.0.v200606271057">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ecore.sdo"
-        patch="false"
-        url="features/org.eclipse.emf.ecore.sdo_2.2.0.v200606271057.jar"
-        version="2.2.0.v200606271057">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.gmf.callisto"
-        patch="false"
-        url="features/org.eclipse.gmf.callisto_1.0.0.v20060627-1200.jar"
-        version="1.0.0.v20060627-1200">
-        <category name="Models and Model Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.tptp.birt"
-        patch="false"
-        url="features/org.eclipse.tptp.birt_4.2.0.v200606121835--J3Fdf2f36X6t7Y.jar"
-        version="4.2.0.v200606121835--J3Fdf2f36X6t7Y">
-        <category name="Testing and Performance" />
-    </feature>
-
-    <feature
-        id="org.eclipse.tptp.wtp"
-        patch="false"
-        url="features/org.eclipse.tptp.wtp_4.2.0.v200606121835--7iSEEiEiOWOeP-.jar"
-        version="4.2.0.v200606121835--7iSEEiEiOWOeP-">
-        <category name="Testing and Performance" />
-    </feature>
-
-
-    <feature
-        id="org.eclipse.tptp.monitoring.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.monitoring.runtime_4.2.0.v200606121835--stCklslt2O-P0B.jar"
-        version="4.2.0.v200606121835--stCklslt2O-P0B">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.platform.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.platform.runtime_4.2.0.v200606121835-ASlM31q2nxqvxuN.jar"
-        version="4.2.0.v200606121835-ASlM31q2nxqvxuN">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.test.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.test.runtime_4.2.0.v200606121835--Hp5ghohoxExeyS.jar"
-        version="4.2.0.v200606121835--Hp5ghohoxExeyS">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.trace.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.trace.runtime_4.2.0.v200606121835--3OA77O7O9I9M9U.jar"
-        version="4.2.0.v200606121835--3OA77O7O9I9M9U">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.ve"
-        patch="false"
-        url="features/org.eclipse.ve_1.2.0.v20060530_RC2-0-a2N7MMl7.jar"
-        version="1.2.0.v20060530_RC2-0-a2N7MMl7">
-        <category name="Java Development" />
-        <category name="Graphical Editors and Frameworks" />
-    </feature>
-    <feature
-        id="org.eclipse.jem"
-        patch="false"
-        url="features/org.eclipse.jem_1.2.0.v20060530_RC2--ZasJzJJez.jar"
-        version="1.2.0.v20060530_RC2--ZasJzJJez">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.wst"
-        patch="false"
-        url="features/org.eclipse.wst_1.5.0.v200606092300-U4T922yjOWsGK5Y.jar"
-        version="1.5.0.v200606092300-U4T922yjOWsGK5Y">
-        <category name="Web and J2EE Development" />
-    </feature>
-    <feature
-        id="org.eclipse.jst"
-        patch="false"
-        url="features/org.eclipse.jst_1.5.0.v200606092300-kW-O_ysCRLJsxJt.jar"
-        version="1.5.0.v200606092300-kW-O_ysCRLJsxJt">
-        <category name="Web and J2EE Development" />
-        <category name="Java Development" />
-    </feature>
-    <feature
-        id="org.eclipse.gef"
-        patch="false"
-        url="features/org.eclipse.gef_3.2.0.v20060626.jar"
-        version="3.2.0.v20060626">
-        <category name="Graphical Editors and Frameworks" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.modelbase.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.modelbase.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.connectivity.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="Database Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.datatools.connectivity.oda.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.oda.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="Database Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.datatools.connectivity.oda.designer.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.oda.designer.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.feature_0.9.0.200606161.jar"
-        version="0.9.0.200606161">
-        <category name="Database Development" />
-    </feature>
-
-
-    <category-def
-        label="Java Development"
-        name="Java Development">
-        <description>
-            Integrated development tools for Java Development, including plugin developement with Java, and J2EE applications.
-        </description>
-    </category-def>
-    <category-def
-        label="Charting and Reporting"
-        name="Charting and Reporting">
-        <description>Business Intelligence and Reporting Tools</description>
-    </category-def>
-    <category-def
-        label="C and C++ Developement"
-        name="C and C++ Developement">
-        <description>Integrated Developement for C and C++ programs.</description>
-    </category-def>
-    <category-def
-        label="Models and Model Development"
-        name="Models and Model Development">
-        <description>
-            Model creation and manipulation frameworks (e.g. EMF, GMF) and specific models (SDO, JEM, XSD Infoset).
-        </description>
-    </category-def>
-    <category-def
-        label="Database Development"
-        name="Database Development">
-        <description>Tools to allow integration with and easy use of Databases.</description>
-    </category-def>
-    <category-def
-        label="Graphical Editors and Frameworks"
-        name="Graphical Editors and Frameworks">
-        <description>A framework to create graphical editors.</description>
-    </category-def>
-    <category-def
-        label="Testing and Performance"
-        name="Testing and Performance">
-        <description>Tools and Frameworks to improve performance and automatic testing.</description>
-    </category-def>
-    <category-def
-        label="Enabling Features"
-        name="Enabling Features">
-        <description>
-            These features provide functionality required by one or more projects, but do not provide end-user functionality by
-            themselves.
-        </description>
-    </category-def>
-    <category-def
-        label="Web and J2EE Development"
-        name="Web and J2EE Development">
-        <description>A platform and tools for developing XML, WebServices, and J2EE Applications.</description>
-    </category-def>
-</site>
diff --git a/org.eclipse.callisto.updatesite/WebContent/web/site.css b/org.eclipse.callisto.updatesite/WebContent/web/site.css
deleted file mode 100644
index 425134e..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/web/site.css
+++ /dev/null
@@ -1,12 +0,0 @@
-<STYLE type="text/css">
-td.spacer {padding-bottom: 10px; padding-top: 10px;}
-.title { font-family: sans-serif; color: #99AACC;}
-.bodyText { font-family: sans-serif; font-size: 9pt; color:#000000;  }
-.sub-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white;}
-.log-text {font-family: sans-serif; font-style: normal; font-weight: lighter; font-size: 8pt; color:black;}
-.big-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white; border-top:10px solid white;}
-.light-row {background:#FFFFFF}
-.dark-row {background:#EEEEFF}
-.header {background:#99AADD}
-#indent {word-wrap : break-word;width :300px;text-indent:10px;}
-</STYLE>
diff --git a/org.eclipse.callisto.updatesite/WebContent/web/site.xsl b/org.eclipse.callisto.updatesite/WebContent/web/site.xsl
deleted file mode 100644
index ba413e7..0000000
--- a/org.eclipse.callisto.updatesite/WebContent/web/site.xsl
+++ /dev/null
@@ -1,495 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
-	version='1.0'
-	xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
-	xmlns:msxsl="urn:schemas-microsoft-com:xslt">
-	<xsl:output
-		method="html"
-		encoding="UTF-8" />
-	<xsl:key
-		name="cat"
-		match="category"
-		use="@name" />
-	<xsl:template match="/">
-		<xsl:for-each select="site">
-			<html>
-				<head>
-					<title>
-						Callisto Update Discovery Site
-					</title>
-					<style>@import url("web/site.css");</style>
-				</head>
-				<body>
-					<h2 class="title">Callisto Update Discovery Site</h2>
-					<p class="bodyText">
-						<xsl:value-of select="description" />
-					</p>
-					<table
-						width="100%"
-						border="0"
-						cellspacing="1"
-						cellpadding="2">
-						<xsl:for-each select="category-def">
-
-							<xsl:sort
-								select="@label"
-								order="ascending"
-								case-order="upper-first" />
-							<xsl:sort
-								select="@name"
-								order="ascending"
-								case-order="upper-first" />
-
-
-
-
-
-
-
-							<xsl:if
-								test="count(key('cat',@name)) != 0">
-
-
-								<tr class="header">
-									<td
-										class="sub-header"
-										width="30%">
-										<xsl:value-of select="@name" />
-									</td>
-									<td
-										class="sub-header"
-										width="70%">
-										<xsl:value-of select="@label" />
-									</td>
-								</tr>
-								<xsl:for-each
-									select="key('cat',@name)">
-									<xsl:sort
-										select="ancestor::feature//@version"
-										order="ascending" />
-									<xsl:sort
-										select="ancestor::feature//@id"
-										order="ascending"
-										case-order="upper-first" />
-									<tr>
-										<xsl:choose>
-											<xsl:when
-												test="(position() mod 2 = 1)">
-												<xsl:attribute
-													name="class">
-													dark-row
-												</xsl:attribute>
-											</xsl:when>
-											<xsl:otherwise>
-												<xsl:attribute
-													name="class">
-													light-row
-												</xsl:attribute>
-											</xsl:otherwise>
-										</xsl:choose>
-										<td
-											class="log-text"
-											id="indent">
-											<xsl:choose>
-												<xsl:when
-													test="ancestor::feature//@label">
-													<p
-														href="{ancestor::feature//@url}">
-														<xsl:value-of
-															select="ancestor::feature//@label" />
-													</p>
-													<br />
-													<div id="indent">
-														(
-														<xsl:value-of
-															select="ancestor::feature//@id" />
-														-
-														<xsl:value-of
-															select="ancestor::feature//@version" />
-														)
-													</div>
-												</xsl:when>
-												<xsl:otherwise>
-													<p
-														href="{ancestor::feature//@url}">
-														<xsl:value-of
-															select="ancestor::feature//@id" />
-														-
-														<xsl:value-of
-															select="ancestor::feature//@version" />
-													</p>
-												</xsl:otherwise>
-											</xsl:choose>
-											<br />
-										</td>
-										<td>
-											<table>
-												<xsl:if
-													test="ancestor::feature//@os">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Operating
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@os" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if
-													test="ancestor::feature//@ws">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Windows
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@ws" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if
-													test="ancestor::feature//@nl">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Languages:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@nl" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if
-													test="ancestor::feature//@arch">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Architecture:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@arch" />
-														</td>
-													</tr>
-												</xsl:if>
-											</table>
-										</td>
-									</tr>
-								</xsl:for-each>
-								<tr>
-									<td class="spacer">
-										<br />
-									</td>
-									<td class="spacer">
-										<br />
-									</td>
-								</tr>
-
-
-
-							</xsl:if>
-						</xsl:for-each>
-						<xsl:if
-							test="count(feature)  &gt; count(feature/category)">
-							<tr class="header">
-								<td
-									class="sub-header"
-									colspan="2">
-									Uncategorized
-								</td>
-							</tr>
-						</xsl:if>
-						<xsl:choose>
-							<xsl:when
-								test="function-available('msxsl:node-set')">
-								<xsl:variable name="rtf-nodes">
-									<xsl:for-each
-										select="feature[not(category)]">
-										<xsl:sort
-											select="@id"
-											order="ascending"
-											case-order="upper-first" />
-										<xsl:sort
-											select="@version"
-											order="ascending" />
-										<xsl:value-of select="." />
-										<xsl:copy-of select="." />
-									</xsl:for-each>
-								</xsl:variable>
-								<xsl:variable
-									name="myNodeSet"
-									select="msxsl:node-set($rtf-nodes)/*" />
-								<xsl:for-each select="$myNodeSet">
-									<tr>
-										<xsl:choose>
-											<xsl:when
-												test="position() mod 2 = 1">
-												<xsl:attribute
-													name="class">
-													dark-row
-												</xsl:attribute>
-											</xsl:when>
-											<xsl:otherwise>
-												<xsl:attribute
-													name="class">
-													light-row
-												</xsl:attribute>
-											</xsl:otherwise>
-										</xsl:choose>
-										<td
-											class="log-text"
-											id="indent">
-											<xsl:choose>
-												<xsl:when
-													test="@label">
-													<p href="{@url}">
-														<xsl:value-of
-															select="@label" />
-													</p>
-													<br />
-													<div id="indent">
-														(
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-														)
-													</div>
-												</xsl:when>
-												<xsl:otherwise>
-													<p href="{@url}">
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-													</p>
-												</xsl:otherwise>
-											</xsl:choose>
-											<br />
-											<br />
-										</td>
-										<td>
-											<table>
-												<xsl:if test="@os">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Operating
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@os" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@ws">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Windows
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@ws" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@nl">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Languages:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@nl" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@arch">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Architecture:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@arch" />
-														</td>
-													</tr>
-												</xsl:if>
-											</table>
-										</td>
-									</tr>
-								</xsl:for-each>
-							</xsl:when>
-							<xsl:otherwise>
-								<xsl:for-each
-									select="feature[not(category)]">
-									<xsl:sort
-										select="@id"
-										order="ascending"
-										case-order="upper-first" />
-									<xsl:sort
-										select="@version"
-										order="ascending" />
-									<tr>
-										<xsl:choose>
-											<xsl:when
-												test="count(preceding-sibling::feature[not(category)]) mod 2 = 1">
-												<xsl:attribute
-													name="class">
-													dark-row
-												</xsl:attribute>
-											</xsl:when>
-											<xsl:otherwise>
-												<xsl:attribute
-													name="class">
-													light-row
-												</xsl:attribute>
-											</xsl:otherwise>
-										</xsl:choose>
-										<td
-											class="log-text"
-											id="indent">
-											<xsl:choose>
-												<xsl:when
-													test="@label">
-													<p href="{@url}">
-														<xsl:value-of
-															select="@label" />
-													</p>
-													<br />
-													<div id="indent">
-														(
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-														)
-													</div>
-												</xsl:when>
-												<xsl:otherwise>
-													<p href="{@url}">
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-													</p>
-												</xsl:otherwise>
-											</xsl:choose>
-											<br />
-											<br />
-										</td>
-										<td>
-											<table>
-												<xsl:if test="@os">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Operating
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@os" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@ws">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Windows
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@ws" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@nl">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Languages:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@nl" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@arch">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Architecture:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@arch" />
-														</td>
-													</tr>
-												</xsl:if>
-											</table>
-										</td>
-									</tr>
-								</xsl:for-each>
-							</xsl:otherwise>
-						</xsl:choose>
-					</table>
-				</body>
-			</html>
-		</xsl:for-each>
-	</xsl:template>
-</xsl:stylesheet>
diff --git a/org.eclipse.europa.europamatic/.classpath b/org.eclipse.europa.europamatic/.classpath
deleted file mode 100644
index fb50116..0000000
--- a/org.eclipse.europa.europamatic/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.europa.europamatic/.project b/org.eclipse.europa.europamatic/.project
deleted file mode 100644
index 6bf07f9..0000000
--- a/org.eclipse.europa.europamatic/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.europa.europamatic</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.europa.europamatic/build/build.eclipse.org.local.properties b/org.eclipse.europa.europamatic/build/build.eclipse.org.local.properties
deleted file mode 100644
index 37648ad..0000000
--- a/org.eclipse.europa.europamatic/build/build.eclipse.org.local.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-downloads=file:///home/data/users/bfreeman/downloads
-jvm.location=/home/data/users/bfreeman/europa/ibm-java2-ppc-50
\ No newline at end of file
diff --git a/org.eclipse.europa.europamatic/build/build.xml b/org.eclipse.europa.europamatic/build/build.xml
deleted file mode 100644
index 692e1a1..0000000
--- a/org.eclipse.europa.europamatic/build/build.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0"?>
-<!--************************************************************************
- * Copyright (c) 2006-2007, Cloudsmith Inc and Eclipse Foundation Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ************************************************************************-->
-
-<project name="project">
-	<property file="local.properties" />
-
-	<!--Default properties intended to be overridden by entries in the
-		above property file.
-	-->
-	<property name="downloads" value="http://download.eclipse.org"/>
-	<property name="buckminster.version" value="1.0.0.v20070308" />
-	<property name="buckminster.external.zip" value="${downloads}/technology/buckminster/3.3/products/buckminster.europa_${buckminster.version}.zip"/>
-
-	<property name="site.contrib.dir" location="${basedir}"/>
-	<property name="top.project" value="org.eclipse.europa"/>
-	<property name="site.template" location="${site.contrib.dir}/site.xml"/>
-
-	<property name="output" location="${user.home}/europa/output" />
-	<property name="generated.folder" location="${output}/generated" />
-	<property name="buildtools" location="${output}/buildtools" />
-	<property name="mirror.site.location" location="${output}/${top.project}.mirror"/>
-	<property name="mirror.site.url" value="http://www.foo.fee/fum"/>
-
-	<!--Local properties
-	-->
-	<property name="buckminster.parent.dir" location="${buildtools}/buckminster/${buckminster.version}" />
-	<property name="buckminster.zip" location="${buckminster.parent.dir}/buckminster.zip" />
-	<property name="buckminster.home" location="${buckminster.parent.dir}/buckminster" />
-
-	<macrodef name="buckminster">
-		<attribute name="command" default="--scriptfile" />
-		<element name="globargs" optional="true" />
-		<element name="args" optional="true" />
-		<sequential>
-			<java 	fork="true"
-					jvm="${jvm.location}/bin/java"
-					jar="${buckminster.home}/startup.jar"
-					dir="${buckminster.home}" 
-					failonerror="true">
-				<!-- <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/> -->
-				<jvmarg value="-Xmx512m"/>
-				<arg value="--displaystacktrace"/>
-				<arg value="--loglevel"/>
-				<arg value="debug"/>
-				<globargs />
-				<arg value="@{command}" />
-				<args />
-			</java>
-		</sequential>
-	</macrodef>
-
-	<available file="${buckminster.zip}" property="buckminster.zip.exists" />
-	<target description="Fetch the preconfigured Buckminster product" name="get.buckminster" unless="buckminster.zip.exists">
-		<mkdir dir="${buckminster.parent.dir}" />
-		<get src="${buckminster.external.zip}" dest="${buckminster.zip}" />
-		<unzip src="${buckminster.zip}" dest="${buckminster.parent.dir}" />
-	</target>
-
-	<target name="generate.bm.artifacts" description="Generate the Buckminster artifacts from Site contributions" depends="get.buckminster">
-		<path id="site.contrib.files.path">
-			<fileset dir="${site.contrib.dir}" includes="*.sc" />
-		</path>
-		<pathconvert property="site.contrib.files" pathsep=" " refid="site.contrib.files.path" />
-		<buckminster command="generate">
-			<args>
-				<arg value="--outputdir" />
-				<arg value="${generated.folder}" />
-				<arg value="--templatesite" />
-				<arg value="${site.template}" />
-				<arg value="--project" />
-				<arg value="${top.project}" />
-				<arg line="${site.contrib.files}" />
-			</args>
-		</buckminster>
-	</target>
-
-	<target name="resolve.cquery" description="Run the component query" depends="generate.bm.artifacts">
-		<buckminster command="resolve">
-			<globargs>
-				<jvmarg value="-Ddownloads=${downloads}"/>
-				<jvmarg value="-Dmirror.site.location=${mirror.site.location}"/>
-				<jvmarg value="-Dmirror.site.url=${mirror.site.url}"/>
-			</globargs>
-			<args>
-				<arg value="--continueonerror"/>
-				<arg value="${generated.folder}/${top.project}.cquery" />
-			</args>
-		</buckminster>
-	</target>
-
-	<target name="clean" description="Clean the generated artifacts and site">
-		<delete dir="${output}/generated" />
-	</target>
-
-	<target name="really.clean" depends="clean" description="Clean out the barebone installation">
-		<delete dir="${output}/buildtools" />
-	</target>
-</project>
diff --git a/org.eclipse.europa.europamatic/build/datatools.sc b/org.eclipse.europa.europamatic/build/datatools.sc
deleted file mode 100644
index 47a59de..0000000
--- a/org.eclipse.europa.europamatic/build/datatools.sc
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version='1.0'?>
-<sc:siteContribution xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	rmapProviderURL="${downloads}/datatools/downloads/drops/updates/site.xml">
-	<sc:cspec name="org.eclipse.datatools">
-		<dependencies>
-			<dependency name="org.eclipse.datatools.modelbase.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.connectivity.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.connectivity.oda.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.connectivity.oda.designer.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.sqldevtools.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.enablement.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.enablement.oda.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.enablement.oda.designer.feature" versionDesignator="[1.5.0.200702141]" />
-			<dependency name="org.eclipse.datatools.doc.user" versionDesignator="[1.0.0.200702011]" />
-			<dependency name="org.eclipse.datatools.intro" versionDesignator="[1.0.0.200702011]" />
-			<dependency name="org.eclipse.datatools.sdk.feature" versionDesignator="[1.5.0.200702141]" />
-		</dependencies>
-		<groups>
-			<public name="Database Development">
-				<attribute component="org.eclipse.datatools.modelbase.feature"/>
-				<attribute component="org.eclipse.datatools.connectivity.feature"/>
-				<attribute component="org.eclipse.datatools.connectivity.oda.feature"/>
-				<attribute component="org.eclipse.datatools.connectivity.oda.designer.feature"/>
-				<attribute component="org.eclipse.datatools.sqldevtools.feature"/>
-				<attribute component="org.eclipse.datatools.enablement.feature"/>
-				<attribute component="org.eclipse.datatools.enablement.oda.feature"/>
-				<attribute component="org.eclipse.datatools.enablement.oda.designer.feature"/>
-				<attribute component="org.eclipse.datatools.doc.user"/>
-				<attribute component="org.eclipse.datatools.intro"/>
-				<attribute component="org.eclipse.datatools.sdk.feature"/>
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.europa.europamatic/build/runAll.sh b/org.eclipse.europa.europamatic/build/runAll.sh
deleted file mode 100644
index 0b81002..0000000
--- a/org.eclipse.europa.europamatic/build/runAll.sh
+++ /dev/null
@@ -1 +0,0 @@
-ant resolve.cquery 
diff --git a/org.eclipse.europa.europamatic/build/site.xml b/org.eclipse.europa.europamatic/build/site.xml
deleted file mode 100644
index 1dab3fd..0000000
--- a/org.eclipse.europa.europamatic/build/site.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<site mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/releases/europa/site.xml&amp;format=xml&amp;protocol=http"
-	pack200="true">
-
-	<!--
-		digestURL="http://download.eclipse.org/releases/europa/" 
-	-->
-
-	<description url="http://www.eclipse.org/europa/">
-		This Europa Discovery Site contains a number of Eclipse based projects released simultaneously, June 2007.
-	</description>
-
-	<category-def label="Java Development" name="Java Development">
-		<description>
-			Integrated development tools for Java Development, including plugin developement with Java, and J2EE
-			applications.
-		</description>
-	</category-def>
-
-	<category-def label="Charting and Reporting" name="Charting and Reporting">
-		<description>Business Intelligence and Reporting Tools</description>
-	</category-def>
-
-	<category-def label="C and C++ Developement" name="C and C++ Developement">
-		<description>Integrated Developement for C and C++ programs.</description>
-	</category-def>
-
-	<category-def label="Models and Model Development" name="Models and Model Development">
-		<description>
-			Model creation and manipulation frameworks (e.g. EMF, GMF) and specific models (SDO, JEM, XSD Infoset).
-		</description>
-	</category-def>
-
-	<category-def label="Database Development" name="Database Development">
-		<description>Tools to allow integration with and easy use of Databases.</description>
-	</category-def>
-
-	<category-def label="Graphical Editors and Frameworks" name="Graphical Editors and Frameworks">
-		<description>A framework to create graphical editors.</description>
-	</category-def>
-
-	<category-def label="Testing and Performance" name="Testing and Performance">
-		<description>Tools and Frameworks to improve performance and automatic testing.</description>
-	</category-def>
-
-	<category-def label="Enabling Features" name="Enabling Features">
-		<description>
-			These features provide functionality required by one or more projects, but do not provide end-user
-			functionality by themselves.
-		</description>
-	</category-def>
-
-	<category-def label="Web and JEE Development" name="Web and JEE Development">
-		<description>A platform and tools for developing XML, WebServices, and JEE Applications.</description>
-	</category-def>
-
-	<category-def label="SOA Development" name="SOA Development">
-		<description>A platform and tools for developing Service-Oriented Component-based Applications.</description>
-	</category-def>
-
-	<category-def label="Remote Access and Device Development" name="Remote Access and Device Development">
-		<description>Tools and Frameworks for accessing and managing remote computers or embedded devices</description>
-	</category-def>
-
-	<category-def label="Other Tools" name="Other Tools">
-		<description>
-			Other tools for the Eclipse environment.
-		</description>
-	</category-def>
-
-	<category-def label="Communications" name="Communications">
-		<description>
-			Communications and Messaging APIs with Example Applications.
-		</description>
-	</category-def>
-
-	<category-def label="Collaboration Tools" name="Collaboration Tools">
-		<description>
-			Collaboration and integration tools for the Eclipse environment.
-		</description>
-	</category-def>
-
-	<category-def label="Software Development Kits" name="Software Development Kits">
-		<description>
-			Features containing source
-		</description>
-	</category-def>
-</site>
\ No newline at end of file
diff --git a/org.eclipse.europa.europamatic/build/wtp.sc b/org.eclipse.europa.europamatic/build/wtp.sc
deleted file mode 100644
index ba3f33d..0000000
--- a/org.eclipse.europa.europamatic/build/wtp.sc
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version='1.0'?>
-<sc:siteContribution
- 	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	rmapProviderURL="${downloads}/webtools/milestones/site.xml">
-	<sc:cspec name="org.eclipse.wtp">
-		<dependencies>
-			<dependency name="org.eclipse.wst" versionDesignator="[1.6.0.v200611220050-iA4pdQ1Ztn4xezD]" />
-			<dependency name="org.eclipse.wst.sdk" versionDesignator="[1.6.0.v200701030255-5NWlC1DPJMQXp2x]" />
-			<dependency name="org.eclipse.jst" versionDesignator="[1.6.0.v200611220050-xEzZktHIhCmcvju]" />
-			<dependency name="org.eclipse.jst.sdk" versionDesignator="[1.6.0.v20070103025-Mb9NL7qz7czs6bW]" />
-			<dependency name="org.eclipse.jst.jsf.feature" versionDesignator="[0.5.1.v20061211-FhPQFd6kg7O9A99]" />
-			<dependency name="org.eclipse.jst.jsf_sdk.feature" versionDesignator="[0.5.1.v20061207-X-abWvD1y9w6rkZ]" />
-			<dependency name="org.eclipse.jst.jpa.feature" versionDesignator="[1.0.0.v200701040000--BgwYZqamd3YYYY]" />
-			<dependency name="org.eclipse.jst.jpa_sdk.feature" versionDesignator="[1.0.0.v200701040000-8OyBql7s6u8jjgg]" />
-		</dependencies>
-		<groups>
-			<public name="Web and JEE Development">
-				<attribute component="org.eclipse.wst" />
-				<attribute component="org.eclipse.wst.sdk" />
-				<attribute component="org.eclipse.jst" />
-				<attribute component="org.eclipse.jst.sdk" />
-				<attribute component="org.eclipse.jst.jsf.feature" />
-				<attribute component="org.eclipse.jst.jpa.feature" />
-			</public>
-			<public name="Software Development Kits">
-				<attribute component="org.eclipse.jst.jsf_sdk.feature" />
-				<attribute component="org.eclipse.jst.jpa_sdk.feature" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.europa.europamatic/getEuropaToolsFromCVS.sh b/org.eclipse.europa.europamatic/getEuropaToolsFromCVS.sh
deleted file mode 100644
index 0ad4b95..0000000
--- a/org.eclipse.europa.europamatic/getEuropaToolsFromCVS.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-# Get all the files for the Europamatic build
-# on the build.eclipse.org machine.
-
-# This script should be "copied up" and ran from a
-# directory "above" the main working directory of
-# org.eclipse.europa.europamatic
-# this is typically the users $HOME/europa/ directory
-
-rm -fr org.eclipse.europa.europamatic
-
-cvs -Q -f -d /cvsroot/callisto export -r HEAD org.eclipse.europa.europamatic
-mv org.eclipse.europa.europamatic/build/build.eclipse.org.local.properties org.eclipse.europa.europamatic/build/local.properties
-
-chmod -R +x org.eclipse.europa.europamatic/*.sh
-chmod -R +x org.eclipse.europa.europamatic/**/*.sh
-
-cp org.eclipse.europa.europamatic/getEuropaToolsFromCVS.sh .
-
-echo "    cd org.eclipse.europa.europamatic/build/"
-echo "    screen -dmS europa"
-echo "    ./runAll.sh -clean 2>&1 | tee ~/europa/out.txt"
-echo " "
\ No newline at end of file
diff --git a/org.eclipse.europa.tools.versionchecker/.classpath b/org.eclipse.europa.tools.versionchecker/.classpath
deleted file mode 100644
index 9f5065c..0000000
--- a/org.eclipse.europa.tools.versionchecker/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="referenceData"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.europa.tools.versionchecker/.cvsignore b/org.eclipse.europa.tools.versionchecker/.cvsignore
deleted file mode 100644
index e0a5f71..0000000
--- a/org.eclipse.europa.tools.versionchecker/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-build.xml
-javaCompiler...args
-bin
diff --git a/org.eclipse.europa.tools.versionchecker/.project b/org.eclipse.europa.tools.versionchecker/.project
deleted file mode 100644
index 123aa0c..0000000
--- a/org.eclipse.europa.tools.versionchecker/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.europa.tools.versionchecker</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.europa.tools.versionchecker/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.europa.tools.versionchecker/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 55de8c0..0000000
--- a/org.eclipse.europa.tools.versionchecker/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,24 +0,0 @@
-#Sun Dec 10 14:53:23 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=enabled
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.europa.tools.versionchecker/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.europa.tools.versionchecker/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5d8d5be..0000000
--- a/org.eclipse.europa.tools.versionchecker/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Dec 10 14:53:23 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.europa.tools.versionchecker/META-INF/MANIFEST.MF b/org.eclipse.europa.tools.versionchecker/META-INF/MANIFEST.MF
deleted file mode 100644
index 5c9e875..0000000
--- a/org.eclipse.europa.tools.versionchecker/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.europa.tools.versionchecker;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.update.configurator
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.europa.tools.versionchecker
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.europa.tools.versionchecker/build.properties b/org.eclipse.europa.tools.versionchecker/build.properties
deleted file mode 100644
index 7e6fae1..0000000
--- a/org.eclipse.europa.tools.versionchecker/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/,\
-           referenceData/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               referenceData/
-src.includes = doc/
diff --git a/org.eclipse.europa.tools.versionchecker/buildPlugin.xml b/org.eclipse.europa.tools.versionchecker/buildPlugin.xml
deleted file mode 100644
index 35b50ae..0000000
--- a/org.eclipse.europa.tools.versionchecker/buildPlugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project default="plugin_export" name="build">
-	<target name="plugin_export">
-		<pde.exportPlugins destination="D:\builds\freshzips\eclipse" exportSource="true" exportType="directory" plugins="org.eclipse.europa.tools.versionchecker" useJARFormat="true"/>
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/allclasses-frame.html b/org.eclipse.europa.tools.versionchecker/doc/allclasses-frame.html
deleted file mode 100644
index cd6f1c5..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/allclasses-frame.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-All Classes
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker" target="classFrame">DependencyChecker</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/allclasses-noframe.html b/org.eclipse.europa.tools.versionchecker/doc/allclasses-noframe.html
deleted file mode 100644
index 8e39760..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/allclasses-noframe.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-All Classes
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/constant-values.html b/org.eclipse.europa.tools.versionchecker/doc/constant-values.html
deleted file mode 100644
index d48e9e1..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/constant-values.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:12 EDT 2006 -->
-<TITLE>
-Constant Field Values
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Constant Field Values";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<CENTER>
-<H1>
-Constant Field Values</H1>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-<B>Contents</B><UL>
-</UL>
-
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/deprecated-list.html b/org.eclipse.europa.tools.versionchecker/doc/deprecated-list.html
deleted file mode 100644
index 74e8f0f..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/deprecated-list.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Deprecated List
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Deprecated List";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Deprecated API</B></H2>
-</CENTER>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/help-doc.html b/org.eclipse.europa.tools.versionchecker/doc/help-doc.html
deleted file mode 100644
index bd175cb..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/help-doc.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-API Help
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="API Help";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<CENTER>
-<H1>
-How This API Document Is Organized</H1>
-</CENTER>
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
-Package</H3>
-<BLOCKQUOTE>
-
-<P>
-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
-<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL>
-</BLOCKQUOTE>
-<H3>
-Class/Interface</H3>
-<BLOCKQUOTE>
-
-<P>
-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
-<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
-<P>
-<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
-<P>
-<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
-<H3>
-Prev/Next</H3>
-These links take you to the next or previous class, interface, package, or related page.<H3>
-Frames/No Frames</H3>
-These links show and hide the HTML frames.  All pages are available with or without frames.
-<P>
-<H3>
-Serialized Form</H3>
-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
-<P>
-<FONT SIZE="-1">
-<EM>
-This help file applies to API documentation generated using the standard doclet.</EM>
-</FONT>
-<BR>
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/index-files/index-1.html b/org.eclipse.europa.tools.versionchecker/doc/index-files/index-1.html
deleted file mode 100644
index db98c02..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/index-files/index-1.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-D-Index
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="D-Index";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV LETTER&nbsp;
-&nbsp;<A HREF="index-2.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-1.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-<A NAME="_D_"><!-- --></A><H2>
-<B>D</B></H2>
-<DL>
-<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><B>DependencyChecker</B></A> - class org.eclipse.callisto.tools.versionchecker.<A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>.<DD>A simple, unsupported, little-tested utility to help convert from using
- unconstrainted pre-req'd bundles, to ones constrained to be within a
- certain range.<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#DependencyChecker()"><B>DependencyChecker()</B></A> - 
-Constructor for class org.eclipse.callisto.tools.versionchecker.<A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>
-<DD>&nbsp;
-</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV LETTER&nbsp;
-&nbsp;<A HREF="index-2.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-1.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/index-files/index-2.html b/org.eclipse.europa.tools.versionchecker/doc/index-files/index-2.html
deleted file mode 100644
index 2bb4ab2..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/index-files/index-2.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-O-Index
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="O-Index";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-1.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;<A HREF="index-3.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-2.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-<A NAME="_O_"><!-- --></A><H2>
-<B>O</B></H2>
-<DL>
-<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/package-summary.html"><B>org.eclipse.callisto.tools.versionchecker</B></A> - package org.eclipse.callisto.tools.versionchecker<DD>&nbsp;</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-1.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;<A HREF="index-3.html"><B>NEXT LETTER</B></A></FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-2.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/index-files/index-3.html b/org.eclipse.europa.tools.versionchecker/doc/index-files/index-3.html
deleted file mode 100644
index 2a7ef58..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/index-files/index-3.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-R-Index
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="R-Index";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-2.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;NEXT LETTER</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-3.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-<A NAME="_R_"><!-- --></A><H2>
-<B>R</B></H2>
-<DL>
-<DT><A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#run(java.lang.Object)"><B>run(Object)</B></A> - 
-Method in class org.eclipse.callisto.tools.versionchecker.<A HREF="../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A>
-<DD>&nbsp;
-</DL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../org/eclipse/callisto/tools/versionchecker/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="index-2.html"><B>PREV LETTER</B></A>&nbsp;
-&nbsp;NEXT LETTER</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-3.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<A HREF="index-1.html">D</A> <A HREF="index-2.html">O</A> <A HREF="index-3.html">R</A> <HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/index.html b/org.eclipse.europa.tools.versionchecker/doc/index.html
deleted file mode 100644
index c882682..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Tue Jun 13 17:33:13 EDT 2006-->
-<TITLE>
-Generated Documentation (Untitled)
-</TITLE>
-</HEAD>
-<FRAMESET cols="20%,80%">
-<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
-<FRAME src="org/eclipse/callisto/tools/versionchecker/package-summary.html" name="classFrame" title="Package, class and interface descriptions">
-<NOFRAMES>
-<H2>
-Frame Alert</H2>
-
-<P>
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-<BR>
-Link to<A HREF="org/eclipse/callisto/tools/versionchecker/package-summary.html">Non-frame version.</A>
-</NOFRAMES>
-</FRAMESET>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/DependencyChecker.html b/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/DependencyChecker.html
deleted file mode 100644
index 0d0149d..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/DependencyChecker.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-DependencyChecker
-</TITLE>
-
-<META NAME="keywords" CONTENT="org.eclipse.callisto.tools.versionchecker.DependencyChecker class">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="DependencyChecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-org.eclipse.callisto.tools.versionchecker</FONT>
-<BR>
-Class DependencyChecker</H2>
-<PRE>
-java.lang.Object
-  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>org.eclipse.callisto.tools.versionchecker.DependencyChecker</B>
-</PRE>
-<DL>
-<DT><B>All Implemented Interfaces:</B> <DD>org.eclipse.core.runtime.IPlatformRunnable</DD>
-</DL>
-<HR>
-<DL>
-<DT>public class <B>DependencyChecker</B><DT>extends java.lang.Object<DT>implements org.eclipse.core.runtime.IPlatformRunnable</DL>
-
-<P>
-A simple, unsupported, little-tested utility to help convert from using
- unconstrained pre-req'd bundles, to ones constrained to be within a
- certain range.
- 
- For example, if a plugin's manifest.mf file specifies
- 
- <p>
- <code>Require-Bundle: org.eclipse.core.runtime</code>
- </p>
- <p>
- this utility will write
- </p>
- <p>
- <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;</code>
- </p>
- <p>
- or
- </p>
- <p>
- <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;</code>
- </p>
- <p>
- if <i>-conservative</i> is specified. In all case the lower bound is
- determined by the version found as this utility actually runs.
- 
- </pre>
- 
- <p>
- Directives:
- </p>
- <p>
- -filter "some regx expression"
- </p>
- <p>
- Will write/check manifest only for those plugins matching regx expression.
- </p>
- <p>
- -conservative
- </p>
- <p>
- Will increment 'minor' code, instead of 'major' code in upper bound of the
- range. This is required for those using another plugin's internal (non-API)
- methods, and recommended if you do not know for sure you are using
- API-only. The default is not-conservative, which increments the major
- field.
- </p>
- <p>
- -workspaceRoot "absolute file system path name to workspace"
- </p>
- <p>
- If specified, the manifest.mf files found in the workspace will be
- re-written with the results of this tool. Note. The workspace must "match"
- the runtime the tool is running in, for this to make any sense. The default
- is to simply write the recommended "Require-Bundle:" section the console
- log.
- </p>
- <p>
- Note: re-export visibility and optional resolution are maintained "as is"
- in output (but other pre-req settings (e.g. vendor?) may be lost. The
- intent is to provide "ready for pasting" content, if its happens to work
- well for your cases.
- </p>
- <p>
- Example invocation:
- </p>
- <p>
- 
- <pre>
- 
- java -jar startup.jar -clean -application org.eclipse.callisto.tools.versionchecker.dependencyChecker
- 
- </pre>
- 
- </p>
- 
- <p>
- Example output:
- </p>
- 
- <pre>
- bundle org.eclipse.wst.xml.core
- Require-Bundle:
- org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- org.eclipse.core.resources;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- org.eclipse.wst.common.uriresolver;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.wst.sse.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.text;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- org.eclipse.jem.util;resolution:=optional;bundle-version=&quot;[1.2.0,1.3.0)&quot;,
- org.eclipse.wst.validation;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.emf.ecore.edit;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- org.eclipse.wst.common.emf;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.emf.ecore.xmi;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- org.eclipse.wst.common.emfworkbench.integration;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- org.eclipse.wst.common.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- com.ibm.icu;bundle-version=&quot;[3.4.4,3.5.0)&quot;,
- org.apache.xerces;visibility:=reexport;bundle-version=&quot;[2.8.0,2.9.0)&quot;
- </pre>
-<P>
-
-<P>
-<HR>
-
-<P>
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="fields_inherited_from_class_org.eclipse.core.runtime.IPlatformRunnable"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Fields inherited from interface org.eclipse.core.runtime.IPlatformRunnable</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>EXIT_OK, EXIT_RELAUNCH, EXIT_RESTART</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#DependencyChecker()">DependencyChecker</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html#run(java.lang.Object)">run</A></B>(java.lang.Object&nbsp;o)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="DependencyChecker()"><!-- --></A><H3>
-DependencyChecker</H3>
-<PRE>
-public <B>DependencyChecker</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="run(java.lang.Object)"><!-- --></A><H3>
-run</H3>
-<PRE>
-public java.lang.Object <B>run</B>(java.lang.Object&nbsp;o)
-                     throws java.lang.Exception</PRE>
-<DL>
-<DD><DL>
-<DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>org.eclipse.core.runtime.IPlatformRunnable</CODE></DL>
-</DD>
-<DD><DL>
-
-<DT><B>Throws:</B>
-<DD><CODE>java.lang.Exception</CODE></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/class-use/DependencyChecker.html b/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/class-use/DependencyChecker.html
deleted file mode 100644
index eeeb92f..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/class-use/DependencyChecker.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Uses of Class org.eclipse.callisto.tools.versionchecker.DependencyChecker
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Uses of Class org.eclipse.callisto.tools.versionchecker.DependencyChecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="DependencyChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Uses of Class<br>org.eclipse.callisto.tools.versionchecker.DependencyChecker</B></H2>
-</CENTER>
-No usage of org.eclipse.callisto.tools.versionchecker.DependencyChecker
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="DependencyChecker.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-frame.html b/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-frame.html
deleted file mode 100644
index 687e388..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-frame.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-org.eclipse.callisto.tools.versionchecker
-</TITLE>
-
-<META NAME="keywords" CONTENT="org.eclipse.callisto.tools.versionchecker package">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-<FONT size="+1" CLASS="FrameTitleFont">
-<A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/package-summary.html" target="classFrame">org.eclipse.callisto.tools.versionchecker</A></FONT>
-<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
-<TR>
-<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT CLASS="FrameItemFont">
-<BR>
-<A HREF="DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker" target="classFrame">DependencyChecker</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-summary.html b/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-summary.html
deleted file mode 100644
index d1d8507..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-summary.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-org.eclipse.callisto.tools.versionchecker
-</TITLE>
-
-<META NAME="keywords" CONTENT="org.eclipse.callisto.tools.versionchecker package">
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="org.eclipse.callisto.tools.versionchecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-<HR>
-<H2>
-Package org.eclipse.callisto.tools.versionchecker
-</H2>
-
-<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker">DependencyChecker</A></B></TD>
-<TD>A simple, unsupported, little-tested utility to help convert from using
- unconstrained pre-req'd bundles, to ones constrained to be within a
- certain range.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<HR>
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-tree.html b/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-tree.html
deleted file mode 100644
index b7cb14b..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-tree.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-org.eclipse.callisto.tools.versionchecker Class Hierarchy
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="org.eclipse.callisto.tools.versionchecker Class Hierarchy";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package org.eclipse.callisto.tools.versionchecker
-</H2>
-</CENTER>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class org.eclipse.callisto.tools.versionchecker.<A HREF="../../../../../org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><B>DependencyChecker</B></A> (implements org.eclipse.core.runtime.IPlatformRunnable)
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-use.html b/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-use.html
deleted file mode 100644
index a2cfae2..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/org/eclipse/callisto/tools/versionchecker/package-use.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Uses of Package org.eclipse.callisto.tools.versionchecker
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Uses of Package org.eclipse.callisto.tools.versionchecker";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Uses of Package<br>org.eclipse.callisto.tools.versionchecker</B></H2>
-</CENTER>
-No usage of org.eclipse.callisto.tools.versionchecker
-<P>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/overview-tree.html b/org.eclipse.europa.tools.versionchecker/doc/overview-tree.html
deleted file mode 100644
index 2be243f..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/overview-tree.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:20:48 EDT 2006 -->
-<TITLE>
-Class Hierarchy
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-<SCRIPT type="text/javascript">
-function windowTitle()
-{
-    parent.document.title="Class Hierarchy";
-}
-</SCRIPT>
-
-</HEAD>
-
-<BODY BGCOLOR="white" onload="windowTitle();">
-
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_top"></A>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For All Packages</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies:</B><DD><A HREF="org/eclipse/callisto/tools/versionchecker/package-tree.html">org.eclipse.callisto.tools.versionchecker</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class org.eclipse.callisto.tools.versionchecker.<A HREF="org/eclipse/callisto/tools/versionchecker/DependencyChecker.html" title="class in org.eclipse.callisto.tools.versionchecker"><B>DependencyChecker</B></A> (implements org.eclipse.core.runtime.IPlatformRunnable)
-</UL>
-</UL>
-<HR>
-
-
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<SCRIPT type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
-  }
-  //-->
-</SCRIPT>
-<NOSCRIPT>
-  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
-</NOSCRIPT>
-
-</FONT></TD>
-</TR>
-</TABLE>
-<A NAME="skip-navbar_bottom"></A>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/package-list b/org.eclipse.europa.tools.versionchecker/doc/package-list
deleted file mode 100644
index ec54997..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/package-list
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.callisto.tools.versionchecker
diff --git a/org.eclipse.europa.tools.versionchecker/doc/packages.html b/org.eclipse.europa.tools.versionchecker/doc/packages.html
deleted file mode 100644
index 606d170..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/packages.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc (build 1.4.2_11) on Tue Jun 13 17:33:13 EDT 2006 -->
-<TITLE>
-
-</TITLE>
-
-
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-
-
-</HEAD>
-
-<BODY BGCOLOR="white">
-
-<BR>
-
-<BR>
-
-<BR>
-<CENTER>
-The front page has been relocated.Please see:
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="index.html">Frame version</A>
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="org/eclipse/callisto/tools/versionchecker/package-summary.html">Non-frame version.</A></CENTER>
-
-</BODY>
-</HTML>
diff --git a/org.eclipse.europa.tools.versionchecker/doc/resources/inherit.gif b/org.eclipse.europa.tools.versionchecker/doc/resources/inherit.gif
deleted file mode 100644
index c814867..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/resources/inherit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.tools.versionchecker/doc/stylesheet.css b/org.eclipse.europa.tools.versionchecker/doc/stylesheet.css
deleted file mode 100644
index 6d31fdb..0000000
--- a/org.eclipse.europa.tools.versionchecker/doc/stylesheet.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults */
-
-/* Page background color */
-body { background-color: #FFFFFF }
-
-/* Headings */
-h1 { font-size: 145% }
-
-/* Table colors */
-.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
-.TableRowColor         { background: #FFFFFF } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
-.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
-.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
-.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
-
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-
diff --git a/org.eclipse.europa.tools.versionchecker/plugin.properties b/org.eclipse.europa.tools.versionchecker/plugin.properties
deleted file mode 100644
index 198fc7c..0000000
--- a/org.eclipse.europa.tools.versionchecker/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-# properties file for org.eclipse.core.runtime.versionchecker
-Bundle-Name.0 = Versionchecker Plug-in
-extension.name.0 = Dependency Checker
-extension.name.1 = Version Lister
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
diff --git a/org.eclipse.europa.tools.versionchecker/plugin.xml b/org.eclipse.europa.tools.versionchecker/plugin.xml
deleted file mode 100644
index dfa17ce..0000000
--- a/org.eclipse.europa.tools.versionchecker/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         id="dependencyChecker"
-         name="%extension.name.0"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run class="org.eclipse.europa.tools.versionchecker.DependencyChecker"/>
-      </application>
-   </extension>
-   <extension
-         id="listVersions"
-         name="%extension.name.1"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run class="org.eclipse.europa.tools.versionchecker.VersionLister"/>
-      </application>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.europa.tools.versionchecker/referenceData/referenceVersioningData.xml b/org.eclipse.europa.tools.versionchecker/referenceData/referenceVersioningData.xml
deleted file mode 100644
index e7851be..0000000
--- a/org.eclipse.europa.tools.versionchecker/referenceData/referenceVersioningData.xml
+++ /dev/null
@@ -1,11220 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE versioningData PUBLIC "versioningDataID" "/versioningData.dtd" >
-<versioningData>
-
-<referenceData id="WTPSDK152PLUSPATCHES">
-<featureData>
-<!-- Number of features: 102 -->
-
-<entry>
-    <name>org.apache.axis.feature</name>
-    <version>1.3.0.v200606071530--0842282_383A68</version>
-</entry>
-<entry>
-    <name>org.apache.commons_logging.feature</name>
-    <version>1.0.4.v200606152055--0842282_233879</version>
-</entry>
-<entry>
-    <name>org.apache.jakarta_log4j.feature</name>
-    <version>1.2.8.v200605300321--0842282939426_</version>
-</entry>
-<entry>
-    <name>org.apache.wsil4j.feature</name>
-    <version>1.0.0.v200606071530--0842282_383A68</version>
-</entry>
-<entry>
-    <name>org.apache.xerces.feature</name>
-    <version>2.8.0.v200605151647--08422828353873</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.doc</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo.doc</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo.source</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.sdk</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.source</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.gef</name>
-    <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-    <name>org.eclipse.gef.sdk</name>
-    <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-    <name>org.eclipse.gef.source</name>
-    <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt</name>
-    <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.source</name>
-    <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem</name>
-    <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.sdk</name>
-    <version>1.2.1.v20060825_M-G95ETloaW2QZOdc</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.source</name>
-    <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst</name>
-    <version>1.5.2.v200610070620-kW-OA1vfaZTJtXg</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common_core.feature</name>
-    <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common_core.feature.source</name>
-    <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common_sdk.feature</name>
-    <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.doc.isv.feature</name>
-    <version>1.5.1.v200609121915--08422828352537</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_core.feature</name>
-    <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_core.feature.source</name>
-    <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_sdk.feature</name>
-    <version>1.5.2.v200610071830-842283229284202</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_ui.feature</name>
-    <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-    <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-    <version>1.5.1.v200609111710--4hNDDhDwMTJbWt</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.sdk</name>
-    <version>1.5.2.v200610070620-dnUUNbBDstmRfV2</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_adapters.feature</name>
-    <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_adapters.feature.source</name>
-    <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_core.feature</name>
-    <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_core.feature.source</name>
-    <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_sdk.feature</name>
-    <version>1.5.2.v20061019417-84228323A2322--</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_ui.feature</name>
-    <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_ui.feature.source</name>
-    <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_userdoc.feature</name>
-    <version>1.5.1.v200609111710--0842282A44386A</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_core.feature</name>
-    <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_core.feature.patch</name>
-    <version>1.5.2.v200612052215--08422834282565</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_core.feature.source</name>
-    <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_sdk.feature</name>
-    <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_ui.feature</name>
-    <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_ui.feature.source</name>
-    <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_userdoc.feature</name>
-    <version>1.5.1.v200609111710</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde</name>
-    <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.source</name>
-    <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform</name>
-    <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform.source</name>
-    <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-    <name>org.eclipse.rcp</name>
-    <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-    <name>org.eclipse.rcp.source</name>
-    <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-    <name>org.eclipse.sdk</name>
-    <version>3.2.1.r321_v20060801-tQ1w49KnTArT0FZ</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst</name>
-    <version>1.5.2.v200610070620-X3Tmm8_VLz2EcCH</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_core.feature</name>
-    <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_core.feature.patch</name>
-    <version>1.5.2.v200612052215--1G955G795F5CA5</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_core.feature.source</name>
-    <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_sdk.feature</name>
-    <version>1.5.2.v200610140800-8422832362_2203</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_ui.feature</name>
-    <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_ui.feature.source</name>
-    <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_userdoc.feature</name>
-    <version>1.5.1.v200609111555</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.doc.isv.feature</name>
-    <version>1.5.1.v200609111750--0842282A274567</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_adapters.feature</name>
-    <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-    <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_core.feature</name>
-    <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_core.feature.source</name>
-    <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_sdk.feature</name>
-    <version>1.5.2.v200610171240-PD88PA8ASADJ8-N</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_ui.feature</name>
-    <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_ui.feature.source</name>
-    <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_userdoc.feature</name>
-    <version>1.5.1.v200609121915--4hNDDhDrSIDSDf</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.sdk</name>
-    <version>1.5.2.v200610070620-O2U9W5yZ8Xaybx1</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_core.feature</name>
-    <version>1.5.2.v200610070620------1G955G6C6L</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_core.feature.source</name>
-    <version>1.5.2.v200610070620------1G955G6C6L</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_sdk.feature</name>
-    <version>1.5.2.v200610071830-8422832292842-X</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_ui.feature</name>
-    <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_ui.feature.source</name>
-    <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_userdoc.feature</name>
-    <version>1.5.1.v200609111645--0842282A44386A</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_core.feature</name>
-    <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_core.feature.source</name>
-    <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_sdk.feature</name>
-    <version>1.5.2.v200610140800-8422832362_220B</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_ui.feature</name>
-    <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_ui.feature.source</name>
-    <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_userdoc.feature</name>
-    <version>1.5.1.v200609111705--1G955G5L9_7IAE</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_core.feature</name>
-    <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_core.feature.source</name>
-    <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_sdk.feature</name>
-    <version>1.5.2.v200610071830-8422832292842-v</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_ui.feature</name>
-    <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_ui.feature.source</name>
-    <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_userdoc.feature</name>
-    <version>1.5.1.v200609111650--2PD88P8XECCNKM</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_core.feature</name>
-    <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_core.feature.patch</name>
-    <version>1.5.2.v200612052215--08422834272727</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_core.feature.source</name>
-    <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_sdk.feature</name>
-    <version>1.5.2.v200610171640-L2zNz6N81T2UwAZ</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_ui.feature</name>
-    <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_ui.feature.source</name>
-    <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_userdoc.feature</name>
-    <version>1.5.1.v200609111545--3YIAAYAjJGDUPb</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.doc</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.source</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.uddi4j.feature</name>
-    <version>2.0.5.v200609140515--0842282_453764</version>
-</entry>
-<entry>
-    <name>org.wsdl4j.feature</name>
-    <version>1.4.0.v200606071500--084228293_3A39</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 380 -->
-
-<entry>
-    <name>com.ibm.etools.emf.event</name>
-    <version>3.0.0.v20060918_M</version>
-</entry>
-<entry>
-    <name>com.ibm.icu</name>
-    <version>3.4.5</version>
-</entry>
-<entry>
-    <name>com.ibm.icu.source</name>
-    <version>3.4.5</version>
-</entry>
-<entry>
-    <name>com.jcraft.jsch</name>
-    <version>0.1.28</version>
-</entry>
-<entry>
-    <name>org.apache.ant</name>
-    <version>1.6.5</version>
-</entry>
-<entry>
-    <name>org.apache.axis</name>
-    <version>1.3.0.v200608161946</version>
-</entry>
-<entry>
-    <name>org.apache.cactus</name>
-    <version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-    <name>org.apache.commons_logging</name>
-    <version>1.0.4.v200608011657</version>
-</entry>
-<entry>
-    <name>org.apache.jakarta_log4j</name>
-    <version>1.2.8.v200607172048</version>
-</entry>
-<entry>
-    <name>org.apache.lucene</name>
-    <version>1.4.103.v20060601</version>
-</entry>
-<entry>
-    <name>org.apache.wsil4j</name>
-    <version>1.0.0.v200608161946</version>
-</entry>
-<entry>
-    <name>org.apache.xerces</name>
-    <version>2.8.0.v200606131651</version>
-</entry>
-<entry>
-    <name>org.eclipse.ant.core</name>
-    <version>3.1.100.v20060531</version>
-</entry>
-<entry>
-    <name>org.eclipse.ant.optional.junit</name>
-    <version>3.2.0</version>
-</entry>
-<entry>
-    <name>org.eclipse.ant.ui</name>
-    <version>3.2.1.r321_v20060828</version>
-</entry>
-<entry>
-    <name>org.eclipse.compare</name>
-    <version>3.2.1.M20060711</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.boot</name>
-    <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.commands</name>
-    <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.contenttype</name>
-    <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.expressions</name>
-    <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.filebuffers</name>
-    <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.filesystem</name>
-    <version>1.0.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.filesystem.win32.x86</name>
-    <version>1.0.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.jobs</name>
-    <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.resources</name>
-    <version>3.2.1.R32x_v20060914</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.resources.compatibility</name>
-    <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.resources.win32</name>
-    <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.runtime</name>
-    <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.runtime.compatibility</name>
-    <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.runtime.compatibility.auth</name>
-    <version>3.2.0.v20060601</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.runtime.compatibility.registry</name>
-    <version>3.2.1.R32x_v20060907</version>
-</entry>
-<entry>
-    <name>org.eclipse.core.variables</name>
-    <version>3.1.100.v20060605</version>
-</entry>
-<entry>
-    <name>org.eclipse.debug.core</name>
-    <version>3.2.1.v20060823</version>
-</entry>
-<entry>
-    <name>org.eclipse.debug.ui</name>
-    <version>3.2.1.v20060823</version>
-</entry>
-<entry>
-    <name>org.eclipse.draw2d</name>
-    <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-    <name>org.eclipse.draw2d.doc.isv</name>
-    <version>3.2.0.v20060626</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ant</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.cheatsheets</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.codegen</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.codegen.ecore</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.codegen.ecore.ui</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.codegen.ui</name>
-    <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.common</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.common.ui</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.commonj.sdo</name>
-    <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.converter</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.doc</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.change</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.change.edit</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.edit</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.editor</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo.doc</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo.edit</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo.editor</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.sdo.source</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.ecore.xmi</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.edit</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.edit.ui</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.exporter</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.importer</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.importer.ecore</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.importer.java</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.importer.rose</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.ecore2ecore</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.ecore2xml</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.ui</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.xsd2ecore</name>
-    <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-    <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.emf.source</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.equinox.common</name>
-    <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-    <name>org.eclipse.equinox.preferences</name>
-    <version>3.2.1.R32x_v20060717</version>
-</entry>
-<entry>
-    <name>org.eclipse.equinox.registry</name>
-    <version>3.2.1.R32x_v20060814</version>
-</entry>
-<entry>
-    <name>org.eclipse.equinox.servlet.api</name>
-    <version>1.0.0.v20060601</version>
-</entry>
-<entry>
-    <name>org.eclipse.gef</name>
-    <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-    <name>org.eclipse.gef.doc.isv</name>
-    <version>3.2.0.v20060626</version>
-</entry>
-<entry>
-    <name>org.eclipse.gef.source</name>
-    <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-    <name>org.eclipse.help</name>
-    <version>3.2.1.R321_v20060920</version>
-</entry>
-<entry>
-    <name>org.eclipse.help.appserver</name>
-    <version>3.1.100.v20060602</version>
-</entry>
-<entry>
-    <name>org.eclipse.help.base</name>
-    <version>3.2.1.R321_v20060822</version>
-</entry>
-<entry>
-    <name>org.eclipse.help.ui</name>
-    <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-    <name>org.eclipse.help.webapp</name>
-    <version>3.2.1.R321_v20060803</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt</name>
-    <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.apt.core</name>
-    <version>3.2.1.R32x_v20060822-2100</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.apt.ui</name>
-    <version>3.2.1.R32x_v20060822-2100</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.core</name>
-    <version>3.2.1.v_677_R32x</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.core.manipulation</name>
-    <version>1.0.1.r321_v20060721</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.debug</name>
-    <version>3.2.1.r321_v20060731</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.debug.ui</name>
-    <version>3.2.1.r321_v20060918</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.doc.isv</name>
-    <version>3.2.1.r321_v20060907</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.doc.user</name>
-    <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.junit</name>
-    <version>3.2.1.r321_v20060810</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.junit.runtime</name>
-    <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.junit4.runtime</name>
-    <version>1.0.1.r321_v20060905</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.launching</name>
-    <version>3.2.1.r321_v20060731</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.source</name>
-    <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-    <name>org.eclipse.jdt.ui</name>
-    <version>3.2.1.r321_v20060907</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem</name>
-    <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.beaninfo</name>
-    <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.proxy</name>
-    <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.sdk</name>
-    <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.source</name>
-    <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.ui</name>
-    <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.util</name>
-    <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jem.workbench</name>
-    <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-    <name>org.eclipse.jface</name>
-    <version>3.2.1.M20060908-1000</version>
-</entry>
-<entry>
-    <name>org.eclipse.jface.databinding</name>
-    <version>1.0.0.I20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.jface.text</name>
-    <version>3.2.1.r321_v20060810</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst</name>
-    <version>1.0.1.v200605040115</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common.annotations.controller</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common.annotations.core</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common.annotations.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common.frameworks</name>
-    <version>1.1.3.v200611141330</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common.project.facet.core</name>
-    <version>1.1.0.v200608141517</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.common_core.feature.source</name>
-    <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.doc.isv</name>
-    <version>1.0.201.v200606130315</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ejb.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ejb.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_core.feature.source</name>
-    <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-    <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee</name>
-    <version>1.1.2.v200610182223</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.core</name>
-    <version>1.1.3.v200612060343</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.doc.user</name>
-    <version>1.0.203.v200609182036</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.ejb</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-    <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-    <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-    <version>1.1.1.v200609070230</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-    <version>1.1.1.v200609141515</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.infopop</name>
-    <version>1.0.202.v200609150300</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.jca</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.jca.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.navigator.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.ui</name>
-    <version>1.1.1.v200609192150</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.web</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.webservice</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.webservice.ui</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-    <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.jsp.core</name>
-    <version>1.1.101.v200610171745</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.jsp.ui</name>
-    <version>1.1.100.v200608142042</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.jsp.ui.infopop</name>
-    <version>1.0.2.v200605040115</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.core</name>
-    <version>1.0.104.v20061018</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.generic.core</name>
-    <version>1.0.101.v200608301011</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.generic.jboss</name>
-    <version>1.5.1.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.generic.jonas</name>
-    <version>1.5.0.v200606130315</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.generic.oc4j</name>
-    <version>1.5.0.v200606130315</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.generic.ui</name>
-    <version>1.0.100.v200608221634</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.generic.weblogic</name>
-    <version>1.5.1.v200609141504</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.installable</name>
-    <version>1.5.2.v20061018</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.tomcat.core</name>
-    <version>1.0.103.v20060904b</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.tomcat.ui</name>
-    <version>1.0.103.v20060906</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.ui</name>
-    <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.ui.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.ui.infopop</name>
-    <version>1.0.2.v200605040115</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server.websphere.core</name>
-    <version>1.0.101.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_adapters.feature.source</name>
-    <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_core.feature.source</name>
-    <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.server_ui.feature.source</name>
-    <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.servlet.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.servlet.ui.infopop</name>
-    <version>1.0.201.v200606130315</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_core.feature.source</name>
-    <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.web_ui.feature.source</name>
-    <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws</name>
-    <version>1.0.102.v200608302120</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.axis.consumption.core</name>
-    <version>1.0.102.v200608221651</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-    <version>1.0.102.v200608301709</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.axis.creation.ui</name>
-    <version>1.0.102.v200609081903</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.axis.infopop</name>
-    <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.consumption</name>
-    <version>1.0.102.v200609220223</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.consumption.infopop</name>
-    <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.consumption.ui</name>
-    <version>1.0.103.v200610252046</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-    <version>1.0.202.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-    <version>1.0.0.v200606130315</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.creation.ui</name>
-    <version>1.0.103.v200610050252</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.infopop</name>
-    <version>1.0.201.v200605162034</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.uddiregistry</name>
-    <version>1.0.100.v200608221651</version>
-</entry>
-<entry>
-    <name>org.eclipse.jst.ws.ui</name>
-    <version>1.0.101.v200608302120</version>
-</entry>
-<entry>
-    <name>org.eclipse.ltk.core.refactoring</name>
-    <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-    <name>org.eclipse.ltk.ui.refactoring</name>
-    <version>3.2.1.r321_v20060726</version>
-</entry>
-<entry>
-    <name>org.eclipse.osgi</name>
-    <version>3.2.1.R32x_v20060919</version>
-</entry>
-<entry>
-    <name>org.eclipse.osgi.services</name>
-    <version>3.1.100.v20060601</version>
-</entry>
-<entry>
-    <name>org.eclipse.osgi.util</name>
-    <version>3.1.100.v20060601</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde</name>
-    <version>3.2.1.v20060810-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.build</name>
-    <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.core</name>
-    <version>3.2.1.v20060915-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.doc.user</name>
-    <version>3.2.1.v20060816-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.junit.runtime</name>
-    <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.runtime</name>
-    <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.source</name>
-    <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-    <name>org.eclipse.pde.ui</name>
-    <version>3.2.1.v20060816-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform</name>
-    <version>3.2.0.v20060601</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform.doc.isv</name>
-    <version>3.2.1.r321_v2006030</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform.doc.user</name>
-    <version>3.2.1.R32x_v200608101155</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform.source</name>
-    <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-    <name>org.eclipse.platform.source.win32.win32.x86</name>
-    <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-    <name>org.eclipse.rcp</name>
-    <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-    <name>org.eclipse.rcp.source</name>
-    <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-    <name>org.eclipse.rcp.source.win32.win32.x86</name>
-    <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-    <name>org.eclipse.sdk</name>
-    <version>3.2.1.r321_v20060705</version>
-</entry>
-<entry>
-    <name>org.eclipse.search</name>
-    <version>3.2.1.r321_v20060726</version>
-</entry>
-<entry>
-    <name>org.eclipse.swt</name>
-    <version>3.2.1.v3235e</version>
-</entry>
-<entry>
-    <name>org.eclipse.swt.win32.win32.x86</name>
-    <version>3.2.1.v3235</version>
-</entry>
-<entry>
-    <name>org.eclipse.team.core</name>
-    <version>3.2.1.M20060711</version>
-</entry>
-<entry>
-    <name>org.eclipse.team.cvs.core</name>
-    <version>3.2.1.M200608161750</version>
-</entry>
-<entry>
-    <name>org.eclipse.team.cvs.ssh</name>
-    <version>3.2.0.I200606011710</version>
-</entry>
-<entry>
-    <name>org.eclipse.team.cvs.ssh2</name>
-    <version>3.2.0.I200606051140</version>
-</entry>
-<entry>
-    <name>org.eclipse.team.cvs.ui</name>
-    <version>3.2.1.M20060831</version>
-</entry>
-<entry>
-    <name>org.eclipse.team.ui</name>
-    <version>3.2.1.M200608151725</version>
-</entry>
-<entry>
-    <name>org.eclipse.test</name>
-    <version>3.1.0</version>
-</entry>
-<entry>
-    <name>org.eclipse.test.performance</name>
-    <version>3.1.0</version>
-</entry>
-<entry>
-    <name>org.eclipse.test.performance.win32</name>
-    <version>3.1.0</version>
-</entry>
-<entry>
-    <name>org.eclipse.test.source</name>
-    <version>3.2.0.v20060220</version>
-</entry>
-<entry>
-    <name>org.eclipse.text</name>
-    <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.tomcat</name>
-    <version>4.1.130.v20060601</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui</name>
-    <version>3.2.1.M20060913-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.browser</name>
-    <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.cheatsheets</name>
-    <version>3.2.1.R321_v20060720</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.console</name>
-    <version>3.1.100.v20060605</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.editors</name>
-    <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.externaltools</name>
-    <version>3.1.101.r321_v20060802</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.forms</name>
-    <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.ide</name>
-    <version>3.2.1.M20060915-1030</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.intro</name>
-    <version>3.2.1.R321_v20060810</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.intro.universal</name>
-    <version>3.2.1.R321_v20060905</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.navigator</name>
-    <version>3.2.1.M20060913-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.navigator.resources</name>
-    <version>3.2.1.M20060906-0800b</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.presentations.r21</name>
-    <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.views</name>
-    <version>3.2.1.M20060906-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.views.properties.tabbed</name>
-    <version>3.2.1.M20060830-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.win32</name>
-    <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.workbench</name>
-    <version>3.2.1.M20060906-0800</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.workbench.compatibility</name>
-    <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.ui.workbench.texteditor</name>
-    <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-    <name>org.eclipse.update.configurator</name>
-    <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-    <name>org.eclipse.update.core</name>
-    <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-    <name>org.eclipse.update.core.win32</name>
-    <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-    <name>org.eclipse.update.scheduler</name>
-    <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-    <name>org.eclipse.update.ui</name>
-    <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst</name>
-    <version>1.0.1.v200605040144</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.command.env</name>
-    <version>1.0.102.v200608222020</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.command.env.core</name>
-    <version>1.0.101.v200606130645</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.command.env.doc.user</name>
-    <version>1.5.0.v20060831345</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.command.env.infopop</name>
-    <version>1.0.2.v200605070230</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.command.env.ui</name>
-    <version>1.0.102.v200608222020</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.core</name>
-    <version>1.1.100.v200608220540</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.emf</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.emfworkbench.integration</name>
-    <version>1.1.3.v200612050530</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.environment</name>
-    <version>1.0.100.v200608251934</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.frameworks</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.frameworks.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.infopop</name>
-    <version>1.0.1.v200605270041</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.modulecore</name>
-    <version>1.1.3.v200612060330</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.project.facet.core</name>
-    <version>1.1.1.v200608112156</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.project.facet.ui</name>
-    <version>1.1.1.v200608112156</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.snippets</name>
-    <version>1.1.1.v200609140550</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.ui</name>
-    <version>1.1.100.v200608221521</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.ui.properties</name>
-    <version>1.0.101.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common.uriresolver</name>
-    <version>1.1.100.v200609200443</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_core.feature.source</name>
-    <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.common_ui.feature.source</name>
-    <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.css.core</name>
-    <version>1.1.1.v200609140550</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.css.ui</name>
-    <version>1.0.101.v200609140550</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.datatools.connection.ui.doc.user</name>
-    <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-    <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-    <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.datatools.server.ui.doc.user</name>
-    <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.doc.isv</name>
-    <version>1.0.202.v200609052345</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.doc.user</name>
-    <version>1.0.203.v200608231821</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.dtd.core</name>
-    <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.dtd.ui</name>
-    <version>1.0.101.v200608162201</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.dtd.ui.infopop</name>
-    <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.dtdeditor.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.html.core</name>
-    <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.html.standard.dtds</name>
-    <version>1.0.1.v200608220315</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.html.ui</name>
-    <version>1.0.101.v200608142042</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.html.ui.infopop</name>
-    <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.internet.cache</name>
-    <version>1.0.102.v200608221746</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.internet.monitor.core</name>
-    <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.internet.monitor.ui</name>
-    <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.internet.proxy</name>
-    <version>1.0.100.v200608221651</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.internet.proxy.infopop</name>
-    <version>1.0.0.v200605070230</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.javascript.core</name>
-    <version>1.0.1.v200609140550</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.javascript.ui</name>
-    <version>1.0.1.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.javascript.ui.infopop</name>
-    <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.connection.ui</name>
-    <version>1.0.103.v200608282140</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-    <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.core</name>
-    <version>1.1.114.v200610191820</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.core.ui</name>
-    <version>1.0.106.v200608212221</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.data.core</name>
-    <version>1.0.106.v200610161851</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.data.ui</name>
-    <version>1.0.109.v200609051822</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.db2.iseries</name>
-    <version>1.0.105.v200610161941</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-    <version>1.0.106.v200609122026</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.db2.zseries</name>
-    <version>1.0.104.v200610161905</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-    <version>1.0.104.v200610161905</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.generic.jdbc</name>
-    <version>1.0.101.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-    <version>1.0.104.v200610261819</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-    <version>1.0.101.v200610161905</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-    <version>1.0.102.v200609122026</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-    <version>1.0.105.v200610161905</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-    <version>1.0.106.v200610261819</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.derby</name>
-    <version>1.0.105.v200608222044</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.derby.ui</name>
-    <version>1.0.102.v200608142103</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.fe.ui</name>
-    <version>1.0.103.v200608212119</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-    <version>1.0.102.v200608212119</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-    <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-    <version>1.0.101.v200606130645</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.models.sql</name>
-    <version>1.0.103.v200607112303</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.models.sql.edit</name>
-    <version>1.0.102.v200606130645</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.mysql</name>
-    <version>1.0.103.v200608222012</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.outputview</name>
-    <version>1.0.106.v200608142103</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.outputview.infopop</name>
-    <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.server.extensions</name>
-    <version>1.0.104.v200609181831</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.server.ui</name>
-    <version>1.0.108.v200609182107</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-    <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.sqleditor</name>
-    <version>1.0.105.v200609192136</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-    <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-    <version>1.0.102.v200608220540</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-    <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_core.feature.source</name>
-    <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.rdb_ui.feature.source</name>
-    <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server.core</name>
-    <version>1.0.104.v20061018</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server.ui</name>
-    <version>1.0.104.v20061012</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server.ui.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server.ui.infopop</name>
-    <version>1.0.3.v200609140551</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_core.feature.source</name>
-    <version>1.5.2.v200610070620------1G955G6C6L</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.server_ui.feature.source</name>
-    <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.sqleditor.doc.user</name>
-    <version>1.0.2.v200608310308</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.sse.core</name>
-    <version>1.1.100.v200609182120</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.sse.doc.user</name>
-    <version>1.0.203.v200608300230</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.sse.ui</name>
-    <version>1.0.201.v200610031800</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.sse.ui.infopop</name>
-    <version>1.0.101.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.validation</name>
-    <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.validation.infopop</name>
-    <version>1.0.201.v200606130645</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.validation.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web</name>
-    <version>1.1.2.v200610182223</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web.ui</name>
-    <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web.ui.infopop</name>
-    <version>1.0.201.v200605070230</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_core.feature.source</name>
-    <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.web_ui.feature.source</name>
-    <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.webtools.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws</name>
-    <version>1.0.101.v200609062128</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws.explorer</name>
-    <version>1.0.103.v200610050252</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws.infopop</name>
-    <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws.parser</name>
-    <version>1.0.101.v200609062128</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws.ui</name>
-    <version>1.0.101.v200608232209</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_core.feature.source</name>
-    <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.ws_ui.feature.source</name>
-    <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsdl</name>
-    <version>1.0.102.v200610132000</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsdl.ui</name>
-    <version>1.1.100.v200609220004</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsdl.validation</name>
-    <version>1.1.100.v200608100007</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsi</name>
-    <version>1.0.102.v200609101400</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsi.ui</name>
-    <version>1.0.101.v20060850312</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.wsi.ui.doc.user</name>
-    <version>1.0.202.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml.core</name>
-    <version>1.1.2.v200612050505</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml.ui</name>
-    <version>1.0.200.v200609221505</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml.ui.infopop</name>
-    <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_core.feature.source</name>
-    <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xml_ui.feature.source</name>
-    <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xmleditor.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xsd.core</name>
-    <version>1.1.100.v200608112037</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xsd.ui</name>
-    <version>1.1.101.v200610131943</version>
-</entry>
-<entry>
-    <name>org.eclipse.wst.xsdeditor.doc.user</name>
-    <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.cheatsheets</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.doc</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.ecore.exporter</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.ecore.importer</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.edit</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.editor</name>
-    <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-    <name>org.eclipse.xsd.source</name>
-    <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-    <name>org.junit</name>
-    <version>3.8.1</version>
-</entry>
-<entry>
-    <name>org.junit4</name>
-    <version>4.1.0.1</version>
-</entry>
-<entry>
-    <name>org.uddi4j</name>
-    <version>2.0.5.v200608231542</version>
-</entry>
-<entry>
-    <name>org.wsdl4j</name>
-    <version>1.4.0.v200607181917</version>
-</entry>
-</bundleData>
-</referenceData>
-
-
-<referenceData id="WTPSDK152">
-<featureData>
-<!-- Number of features: 99 -->
-
-<entry>
-        <name>org.apache.axis.feature</name>
-        <version>1.3.0.v200606071530--0842282_383A68</version>
-</entry>
-<entry>
-        <name>org.apache.commons_logging.feature</name>
-        <version>1.0.4.v200606152055--0842282_233879</version>
-</entry>
-<entry>
-        <name>org.apache.jakarta_log4j.feature</name>
-        <version>1.2.8.v200605300321--0842282939426_</version>
-</entry>
-<entry>
-        <name>org.apache.wsil4j.feature</name>
-        <version>1.0.0.v200606071530--0842282_383A68</version>
-</entry>
-<entry>
-        <name>org.apache.xerces.feature</name>
-        <version>2.8.0.v200605151647--08422828353873</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.sdk</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-        <name>org.eclipse.gef.sdk</name>
-        <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.1.v20060825_M-G95ETloaW2QZOdc</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst</name>
-        <version>1.5.2.v200610070620-kW-OA1vfaZTJtXg</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common_core.feature</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.doc.isv.feature</name>
-        <version>1.5.1.v200609121915--08422828352537</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_core.feature</name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_core.feature.source</name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_sdk.feature</name>
-        <version>1.5.2.v200610071830-842283229284202</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_ui.feature</name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-        <version>1.5.1.v200609111710--4hNDDhDwMTJbWt</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.sdk</name>
-        <version>1.5.2.v200610070620-dnUUNbBDstmRfV2</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_adapters.feature</name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_adapters.feature.source</name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_core.feature</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_sdk.feature</name>
-        <version>1.5.2.v20061019417-84228323A2322--</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_ui.feature</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111710--0842282A44386A</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_core.feature</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_sdk.feature</name>
-        <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_ui.feature</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111710</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060801-tQ1w49KnTArT0FZ</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst</name>
-        <version>1.5.2.v200610070620-X3Tmm8_VLz2EcCH</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_core.feature</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_sdk.feature</name>
-        <version>1.5.2.v200610140800-8422832362_2203</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_ui.feature</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_userdoc.feature</name>
-        <version>1.5.1.v200609111555</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.doc.isv.feature</name>
-        <version>1.5.1.v200609111750--0842282A274567</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_adapters.feature</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_core.feature</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_sdk.feature</name>
-        <version>1.5.2.v200610171240-PD88PA8ASADJ8-N</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_ui.feature</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_userdoc.feature</name>
-        <version>1.5.1.v200609121915--4hNDDhDrSIDSDf</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.sdk</name>
-        <version>1.5.2.v200610070620-O2U9W5yZ8Xaybx1</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_core.feature</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_sdk.feature</name>
-        <version>1.5.2.v200610071830-8422832292842-X</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_ui.feature</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_userdoc.feature</name>
-        <version>1.5.1.v200609111645--0842282A44386A</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_core.feature</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_sdk.feature</name>
-        <version>1.5.2.v200610140800-8422832362_220B</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_ui.feature</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_userdoc.feature</name>
-        <version>1.5.1.v200609111705--1G955G5L9_7IAE</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_core.feature</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_sdk.feature</name>
-        <version>1.5.2.v200610071830-8422832292842-v</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_ui.feature</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_userdoc.feature</name>
-        <version>1.5.1.v200609111650--2PD88P8XECCNKM</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_core.feature</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_sdk.feature</name>
-        <version>1.5.2.v200610171640-L2zNz6N81T2UwAZ</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_ui.feature</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_userdoc.feature</name>
-        <version>1.5.1.v200609111545--3YIAAYAjJGDUPb</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.uddi4j.feature</name>
-        <version>2.0.5.v200609140515--0842282_453764</version>
-</entry>
-<entry>
-        <name>org.wsdl4j.feature</name>
-        <version>1.4.0.v200606071500--084228293_3A39</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 380 -->
-
-<entry>
-        <name>com.ibm.etools.emf.event</name>
-        <version>3.0.0.v20060918_M</version>
-</entry>
-<entry>
-        <name>com.ibm.icu</name>
-        <version>3.4.5</version>
-</entry>
-<entry>
-        <name>com.ibm.icu.source</name>
-        <version>3.4.5</version>
-</entry>
-<entry>
-        <name>com.jcraft.jsch</name>
-        <version>0.1.28</version>
-</entry>
-<entry>
-        <name>org.apache.ant</name>
-        <version>1.6.5</version>
-</entry>
-<entry>
-        <name>org.apache.axis</name>
-        <version>1.3.0.v200608161946</version>
-</entry>
-<entry>
-        <name>org.apache.cactus</name>
-        <version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-        <name>org.apache.commons_logging</name>
-        <version>1.0.4.v200608011657</version>
-</entry>
-<entry>
-        <name>org.apache.jakarta_log4j</name>
-        <version>1.2.8.v200607172048</version>
-</entry>
-<entry>
-        <name>org.apache.lucene</name>
-        <version>1.4.103.v20060601</version>
-</entry>
-<entry>
-        <name>org.apache.wsil4j</name>
-        <version>1.0.0.v200608161946</version>
-</entry>
-<entry>
-        <name>org.apache.xerces</name>
-        <version>2.8.0.v200606131651</version>
-</entry>
-<entry>
-        <name>org.eclipse.ant.core</name>
-        <version>3.1.100.v20060531</version>
-</entry>
-<entry>
-        <name>org.eclipse.ant.optional.junit</name>
-        <version>3.2.0</version>
-</entry>
-<entry>
-        <name>org.eclipse.ant.ui</name>
-        <version>3.2.1.r321_v20060828</version>
-</entry>
-<entry>
-        <name>org.eclipse.compare</name>
-        <version>3.2.1.M20060711</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.boot</name>
-        <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.commands</name>
-        <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.contenttype</name>
-        <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.expressions</name>
-        <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.filebuffers</name>
-        <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.filesystem</name>
-        <version>1.0.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.filesystem.win32.x86</name>
-        <version>1.0.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.jobs</name>
-        <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.resources</name>
-        <version>3.2.1.R32x_v20060914</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.resources.compatibility</name>
-        <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.resources.win32</name>
-        <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.runtime</name>
-        <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.runtime.compatibility</name>
-        <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.runtime.compatibility.auth</name>
-        <version>3.2.0.v20060601</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.runtime.compatibility.registry</name>
-        <version>3.2.1.R32x_v20060907</version>
-</entry>
-<entry>
-        <name>org.eclipse.core.variables</name>
-        <version>3.1.100.v20060605</version>
-</entry>
-<entry>
-        <name>org.eclipse.debug.core</name>
-        <version>3.2.1.v20060823</version>
-</entry>
-<entry>
-        <name>org.eclipse.debug.ui</name>
-        <version>3.2.1.v20060823</version>
-</entry>
-<entry>
-        <name>org.eclipse.draw2d</name>
-        <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-        <name>org.eclipse.draw2d.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ant</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.codegen</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.codegen.ecore</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.codegen.ecore.ui</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.codegen.ui</name>
-        <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.common</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.common.ui</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.commonj.sdo</name>
-        <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.converter</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.doc</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.change</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.change.edit</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.edit</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo.doc</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo.edit</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo.editor</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.sdo.source</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.ecore.xmi</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.edit</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.edit.ui</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.exporter</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.importer</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.importer.ecore</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.importer.java</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.importer.rose</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.ecore2xml</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.ui</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore</name>
-        <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-        <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.emf.source</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.equinox.common</name>
-        <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-        <name>org.eclipse.equinox.preferences</name>
-        <version>3.2.1.R32x_v20060717</version>
-</entry>
-<entry>
-        <name>org.eclipse.equinox.registry</name>
-        <version>3.2.1.R32x_v20060814</version>
-</entry>
-<entry>
-        <name>org.eclipse.equinox.servlet.api</name>
-        <version>1.0.0.v20060601</version>
-</entry>
-<entry>
-        <name>org.eclipse.gef</name>
-        <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-        <name>org.eclipse.gef.doc.isv</name>
-        <version>3.2.0.v20060626</version>
-</entry>
-<entry>
-        <name>org.eclipse.gef.source</name>
-        <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-        <name>org.eclipse.help</name>
-        <version>3.2.1.R321_v20060920</version>
-</entry>
-<entry>
-        <name>org.eclipse.help.appserver</name>
-        <version>3.1.100.v20060602</version>
-</entry>
-<entry>
-        <name>org.eclipse.help.base</name>
-        <version>3.2.1.R321_v20060822</version>
-</entry>
-<entry>
-        <name>org.eclipse.help.ui</name>
-        <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-        <name>org.eclipse.help.webapp</name>
-        <version>3.2.1.R321_v20060803</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt</name>
-        <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.apt.core</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.apt.ui</name>
-        <version>3.2.1.R32x_v20060822-2100</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.core</name>
-        <version>3.2.1.v_677_R32x</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.core.manipulation</name>
-        <version>1.0.1.r321_v20060721</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.debug</name>
-        <version>3.2.1.r321_v20060731</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.debug.ui</name>
-        <version>3.2.1.r321_v20060918</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.doc.isv</name>
-        <version>3.2.1.r321_v20060907</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.doc.user</name>
-        <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.junit</name>
-        <version>3.2.1.r321_v20060810</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.junit.runtime</name>
-        <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.junit4.runtime</name>
-        <version>1.0.1.r321_v20060905</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.launching</name>
-        <version>3.2.1.r321_v20060731</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.source</name>
-        <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-        <name>org.eclipse.jdt.ui</name>
-        <version>3.2.1.r321_v20060907</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem</name>
-        <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.beaninfo</name>
-        <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.proxy</name>
-        <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.sdk</name>
-        <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.source</name>
-        <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.ui</name>
-        <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.util</name>
-        <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jem.workbench</name>
-        <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-        <name>org.eclipse.jface</name>
-        <version>3.2.1.M20060908-1000</version>
-</entry>
-<entry>
-        <name>org.eclipse.jface.databinding</name>
-        <version>1.0.0.I20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.jface.text</name>
-        <version>3.2.1.r321_v20060810</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst</name>
-        <version>1.0.1.v200605040115</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common.annotations.controller</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common.annotations.core</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common.annotations.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common.frameworks</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common.project.facet.core</name>
-        <version>1.1.0.v200608141517</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.common_core.feature.source</name>
-        <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.doc.isv</name>
-        <version>1.0.201.v200606130315</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ejb.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ejb.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_core.feature.source</name>
-        <version>1.5.2.v200610140800--2PD88PA8APDAGS</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-        <version>1.5.2.v200610070620-pEBq_k_B5F5vHf6</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee</name>
-        <version>1.1.2.v200610182223</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.core</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.doc.user</name>
-        <version>1.0.203.v200609182036</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.ejb</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-        <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-        <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-        <version>1.1.1.v200609070230</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-        <version>1.1.1.v200609141515</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.infopop</name>
-        <version>1.0.202.v200609150300</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.jca</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.jca.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.navigator.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.ui</name>
-        <version>1.1.1.v200609192150</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.web</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.webservice</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.webservice.ui</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-        <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.jsp.core</name>
-        <version>1.1.101.v200610171745</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.jsp.ui</name>
-        <version>1.1.100.v200608142042</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.jsp.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.core</name>
-        <version>1.0.104.v20061018</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.generic.core</name>
-        <version>1.0.101.v200608301011</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.generic.jboss</name>
-        <version>1.5.1.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.generic.jonas</name>
-        <version>1.5.0.v200606130315</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.generic.oc4j</name>
-        <version>1.5.0.v200606130315</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.generic.ui</name>
-        <version>1.0.100.v200608221634</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.generic.weblogic</name>
-        <version>1.5.1.v200609141504</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.installable</name>
-        <version>1.5.2.v20061018</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.tomcat.core</name>
-        <version>1.0.103.v20060904b</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.tomcat.ui</name>
-        <version>1.0.103.v20060906</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.ui</name>
-        <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.ui.infopop</name>
-        <version>1.0.2.v200605040115</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server.websphere.core</name>
-        <version>1.0.101.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_adapters.feature.source</name>
-        <version>1.5.2.v200610190100--87cMN7OFSx4YPT</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620--2PD88P9LCN7787</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.server_ui.feature.source</name>
-        <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.servlet.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.servlet.ui.infopop</name>
-        <version>1.0.201.v200606130315</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_core.feature.source</name>
-        <version>1.5.2.v200610070620--87cMN7RkU-WXcu</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.web_ui.feature.source</name>
-        <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws</name>
-        <version>1.0.102.v200608302120</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.axis.consumption.core</name>
-        <version>1.0.102.v200608221651</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-        <version>1.0.102.v200608301709</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.axis.creation.ui</name>
-        <version>1.0.102.v200609081903</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.axis.infopop</name>
-        <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.consumption</name>
-        <version>1.0.102.v200609220223</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.consumption.infopop</name>
-        <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.consumption.ui</name>
-        <version>1.0.103.v200610252046</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-        <version>1.0.0.v200606130315</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.creation.ui</name>
-        <version>1.0.103.v200610050252</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.infopop</name>
-        <version>1.0.201.v200605162034</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.uddiregistry</name>
-        <version>1.0.100.v200608221651</version>
-</entry>
-<entry>
-        <name>org.eclipse.jst.ws.ui</name>
-        <version>1.0.101.v200608302120</version>
-</entry>
-<entry>
-        <name>org.eclipse.ltk.core.refactoring</name>
-        <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-        <name>org.eclipse.ltk.ui.refactoring</name>
-        <version>3.2.1.r321_v20060726</version>
-</entry>
-<entry>
-        <name>org.eclipse.osgi</name>
-        <version>3.2.1.R32x_v20060919</version>
-</entry>
-<entry>
-        <name>org.eclipse.osgi.services</name>
-        <version>3.1.100.v20060601</version>
-</entry>
-<entry>
-        <name>org.eclipse.osgi.util</name>
-        <version>3.1.100.v20060601</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde</name>
-        <version>3.2.1.v20060810-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.build</name>
-        <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.core</name>
-        <version>3.2.1.v20060915-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.doc.user</name>
-        <version>3.2.1.v20060816-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.junit.runtime</name>
-        <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.runtime</name>
-        <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.source</name>
-        <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-        <name>org.eclipse.pde.ui</name>
-        <version>3.2.1.v20060816-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform</name>
-        <version>3.2.0.v20060601</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform.doc.isv</name>
-        <version>3.2.1.r321_v2006030</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform.doc.user</name>
-        <version>3.2.1.R32x_v200608101155</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform.source</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-        <name>org.eclipse.platform.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-        <name>org.eclipse.rcp</name>
-        <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-        <name>org.eclipse.rcp.source</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-        <name>org.eclipse.rcp.source.win32.win32.x86</name>
-        <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-        <name>org.eclipse.sdk</name>
-        <version>3.2.1.r321_v20060705</version>
-</entry>
-<entry>
-        <name>org.eclipse.search</name>
-        <version>3.2.1.r321_v20060726</version>
-</entry>
-<entry>
-        <name>org.eclipse.swt</name>
-        <version>3.2.1.v3235e</version>
-</entry>
-<entry>
-        <name>org.eclipse.swt.win32.win32.x86</name>
-        <version>3.2.1.v3235</version>
-</entry>
-<entry>
-        <name>org.eclipse.team.core</name>
-        <version>3.2.1.M20060711</version>
-</entry>
-<entry>
-        <name>org.eclipse.team.cvs.core</name>
-        <version>3.2.1.M200608161750</version>
-</entry>
-<entry>
-        <name>org.eclipse.team.cvs.ssh</name>
-        <version>3.2.0.I200606011710</version>
-</entry>
-<entry>
-        <name>org.eclipse.team.cvs.ssh2</name>
-        <version>3.2.0.I200606051140</version>
-</entry>
-<entry>
-        <name>org.eclipse.team.cvs.ui</name>
-        <version>3.2.1.M20060831</version>
-</entry>
-<entry>
-        <name>org.eclipse.team.ui</name>
-        <version>3.2.1.M200608151725</version>
-</entry>
-<entry>
-        <name>org.eclipse.test</name>
-        <version>3.1.0</version>
-</entry>
-<entry>
-        <name>org.eclipse.test.performance</name>
-        <version>3.1.0</version>
-</entry>
-<entry>
-        <name>org.eclipse.test.performance.win32</name>
-        <version>3.1.0</version>
-</entry>
-<entry>
-        <name>org.eclipse.test.source</name>
-        <version>3.2.0.v20060220</version>
-</entry>
-<entry>
-        <name>org.eclipse.text</name>
-        <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.tomcat</name>
-        <version>4.1.130.v20060601</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui</name>
-        <version>3.2.1.M20060913-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.browser</name>
-        <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.cheatsheets</name>
-        <version>3.2.1.R321_v20060720</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.console</name>
-        <version>3.1.100.v20060605</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.editors</name>
-        <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.externaltools</name>
-        <version>3.1.101.r321_v20060802</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.forms</name>
-        <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.ide</name>
-        <version>3.2.1.M20060915-1030</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.intro</name>
-        <version>3.2.1.R321_v20060810</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.intro.universal</name>
-        <version>3.2.1.R321_v20060905</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.navigator</name>
-        <version>3.2.1.M20060913-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.navigator.resources</name>
-        <version>3.2.1.M20060906-0800b</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.presentations.r21</name>
-        <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.views</name>
-        <version>3.2.1.M20060906-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.views.properties.tabbed</name>
-        <version>3.2.1.M20060830-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.win32</name>
-        <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.workbench</name>
-        <version>3.2.1.M20060906-0800</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.workbench.compatibility</name>
-        <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.ui.workbench.texteditor</name>
-        <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-        <name>org.eclipse.update.configurator</name>
-        <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-        <name>org.eclipse.update.core</name>
-        <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-        <name>org.eclipse.update.core.win32</name>
-        <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-        <name>org.eclipse.update.scheduler</name>
-        <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-        <name>org.eclipse.update.ui</name>
-        <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst</name>
-        <version>1.0.1.v200605040144</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.command.env</name>
-        <version>1.0.102.v200608222020</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.command.env.core</name>
-        <version>1.0.101.v200606130645</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.command.env.doc.user</name>
-        <version>1.5.0.v20060831345</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.command.env.infopop</name>
-        <version>1.0.2.v200605070230</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.command.env.ui</name>
-        <version>1.0.102.v200608222020</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.core</name>
-        <version>1.1.100.v200608220540</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.emf</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.emfworkbench.integration</name>
-        <version>1.1.2.v200610182223</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.environment</name>
-        <version>1.0.100.v200608251934</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.frameworks</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.frameworks.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.infopop</name>
-        <version>1.0.1.v200605270041</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.modulecore</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.project.facet.core</name>
-        <version>1.1.1.v200608112156</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.project.facet.ui</name>
-        <version>1.1.1.v200608112156</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.snippets</name>
-        <version>1.1.1.v200609140550</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.ui</name>
-        <version>1.1.100.v200608221521</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.ui.properties</name>
-        <version>1.0.101.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common.uriresolver</name>
-        <version>1.1.100.v200609200443</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_core.feature.source</name>
-        <version>1.5.2.v200610140800--AXrVWXbElCl05G</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.common_ui.feature.source</name>
-        <version>1.5.2.v200610140800-qKHiTHohjmcJ67O</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.css.core</name>
-        <version>1.1.1.v200609140550</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.css.ui</name>
-        <version>1.0.101.v200609140550</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.datatools.connection.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.datatools.server.ui.doc.user</name>
-        <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.doc.isv</name>
-        <version>1.0.202.v200609052345</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.doc.user</name>
-        <version>1.0.203.v200608231821</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.dtd.core</name>
-        <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.dtd.ui</name>
-        <version>1.0.101.v200608162201</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.dtd.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.dtdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.html.core</name>
-        <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.html.standard.dtds</name>
-        <version>1.0.1.v200608220315</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.html.ui</name>
-        <version>1.0.101.v200608142042</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.html.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.internet.cache</name>
-        <version>1.0.102.v200608221746</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.internet.monitor.core</name>
-        <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.internet.monitor.ui</name>
-        <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.internet.proxy</name>
-        <version>1.0.100.v200608221651</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.internet.proxy.infopop</name>
-        <version>1.0.0.v200605070230</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.javascript.core</name>
-        <version>1.0.1.v200609140550</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.javascript.ui</name>
-        <version>1.0.1.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.javascript.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.connection.ui</name>
-        <version>1.0.103.v200608282140</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.core</name>
-        <version>1.1.114.v200610191820</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.core.ui</name>
-        <version>1.0.106.v200608212221</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.data.core</name>
-        <version>1.0.106.v200610161851</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.data.ui</name>
-        <version>1.0.109.v200609051822</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.iseries</name>
-        <version>1.0.105.v200610161941</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-        <version>1.0.106.v200609122026</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.db2.zseries</name>
-        <version>1.0.104.v200610161905</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-        <version>1.0.104.v200610161905</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.generic.jdbc</name>
-        <version>1.0.101.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-        <version>1.0.104.v200610261819</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-        <version>1.0.101.v200610161905</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-        <version>1.0.102.v200609122026</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-        <version>1.0.105.v200610161905</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-        <version>1.0.106.v200610261819</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.derby</name>
-        <version>1.0.105.v200608222044</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.derby.ui</name>
-        <version>1.0.102.v200608142103</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.fe.ui</name>
-        <version>1.0.103.v200608212119</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-        <version>1.0.102.v200608212119</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-        <version>1.0.101.v200606130645</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.models.sql</name>
-        <version>1.0.103.v200607112303</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.models.sql.edit</name>
-        <version>1.0.102.v200606130645</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.mysql</name>
-        <version>1.0.103.v200608222012</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.outputview</name>
-        <version>1.0.106.v200608142103</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.outputview.infopop</name>
-        <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.server.extensions</name>
-        <version>1.0.104.v200609181831</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.server.ui</name>
-        <version>1.0.108.v200609182107</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-        <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.sqleditor</name>
-        <version>1.0.105.v200609192136</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-        <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-        <version>1.0.102.v200608220540</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-        <version>1.5.2.v200610171240--Cq0bcpjKsVtauY</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_core.feature.source</name>
-        <version>1.5.2.v200610171240--3YIAAYCNETEZLJ</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.rdb_ui.feature.source</name>
-        <version>1.5.2.v200610171240-FTMjwT_jS-R7nrK</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server.core</name>
-        <version>1.0.104.v20061018</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server.ui</name>
-        <version>1.0.104.v20061012</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server.ui.infopop</name>
-        <version>1.0.3.v200609140551</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_core.feature.source</name>
-        <version>1.5.2.v200610070620------1G955G6C6L</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.server_ui.feature.source</name>
-        <version>1.5.2.v200610070620-PGIEUHzQoGdLZGn</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.sqleditor.doc.user</name>
-        <version>1.0.2.v200608310308</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.sse.core</name>
-        <version>1.1.100.v200609182120</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.sse.doc.user</name>
-        <version>1.0.203.v200608300230</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.sse.ui</name>
-        <version>1.0.201.v200610031800</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.sse.ui.infopop</name>
-        <version>1.0.101.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.validation</name>
-        <version>1.1.2.v200610162137</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.validation.infopop</name>
-        <version>1.0.201.v200606130645</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.validation.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web</name>
-        <version>1.1.2.v200610182223</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web.ui</name>
-        <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web.ui.infopop</name>
-        <version>1.0.201.v200605070230</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmKWFYQL</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.web_ui.feature.source</name>
-        <version>1.5.2.v200610140800-zjf2SqQvH40Gasr</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.webtools.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws</name>
-        <version>1.0.101.v200609062128</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws.explorer</name>
-        <version>1.0.103.v200610050252</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws.infopop</name>
-        <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws.parser</name>
-        <version>1.0.101.v200609062128</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws.ui</name>
-        <version>1.0.101.v200608232209</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_core.feature.source</name>
-        <version>1.5.2.v200610140800--4hNDDhEmGSKJHa</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.ws_ui.feature.source</name>
-        <version>1.5.2.v200610070620-hai7Do_y98HDOuI</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsdl</name>
-        <version>1.0.102.v200610132000</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsdl.ui</name>
-        <version>1.1.100.v200609220004</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsdl.validation</name>
-        <version>1.1.100.v200608100007</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsi</name>
-        <version>1.0.102.v200609101400</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsi.ui</name>
-        <version>1.0.101.v20060850312</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.wsi.ui.doc.user</name>
-        <version>1.0.202.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml.core</name>
-        <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml.ui</name>
-        <version>1.0.200.v200609221505</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml.ui.infopop</name>
-        <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_core.feature.source</name>
-        <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xml_ui.feature.source</name>
-        <version>1.5.2.v200610071830-zkiCc0C2eGeGexE</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xmleditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xsd.core</name>
-        <version>1.1.100.v200608112037</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xsd.ui</name>
-        <version>1.1.101.v200610131943</version>
-</entry>
-<entry>
-        <name>org.eclipse.wst.xsdeditor.doc.user</name>
-        <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.cheatsheets</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.doc</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.ecore.exporter</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.ecore.importer</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.edit</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.editor</name>
-        <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-        <name>org.eclipse.xsd.source</name>
-        <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-        <name>org.junit</name>
-        <version>3.8.1</version>
-</entry>
-<entry>
-        <name>org.junit4</name>
-        <version>4.1.0.1</version>
-</entry>
-<entry>
-        <name>org.uddi4j</name>
-        <version>2.0.5.v200608231542</version>
-</entry>
-<entry>
-        <name>org.wsdl4j</name>
-        <version>1.4.0.v200607181917</version>
-</entry>
-</bundleData>
-</referenceData>
-
-
-
-
-   <referenceData id="WTPSDK151">
-   <featureData>
-<!-- Number of features: 99 -->
-
-<entry>
-   <name>org.apache.axis.feature</name>
-   <version>1.3.0.v200606071530--0842282_383A68</version>
-</entry>
-<entry>
-   <name>org.apache.commons_logging.feature</name>
-   <version>1.0.4.v200606152055--0842282_233879</version>
-</entry>
-<entry>
-   <name>org.apache.jakarta_log4j.feature</name>
-   <version>1.2.8.v200605300321--0842282939426_</version>
-</entry>
-<entry>
-   <name>org.apache.wsil4j.feature</name>
-   <version>1.0.0.v200606071530--0842282_383A68</version>
-</entry>
-<entry>
-   <name>org.apache.xerces.feature</name>
-   <version>2.8.0.v200605151647--08422828353873</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.doc</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo.doc</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo.source</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.sdk</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.source</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.gef</name>
-   <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-   <name>org.eclipse.gef.sdk</name>
-   <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-   <name>org.eclipse.gef.source</name>
-   <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt</name>
-   <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.source</name>
-   <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem</name>
-   <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.sdk</name>
-   <version>1.2.1.v20060825_M-G95ETloaW2QZOdc</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.source</name>
-   <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst</name>
-   <version>1.5.1.v200609111510-kW-O_zxPud7GuJG</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common_core.feature</name>
-   <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common_core.feature.source</name>
-   <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common_sdk.feature</name>
-   <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.doc.isv.feature</name>
-   <version>1.5.1.v200609121915--08422828352537</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_core.feature</name>
-   <version>1.5.1.v200609051533--2PD88P8YAGDADJ</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_core.feature.source</name>
-   <version>1.5.1.v200609051533--2PD88P8YAGDADJ</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_sdk.feature</name>
-   <version>1.5.1.v200609111710-842282_2_425202</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_ui.feature</name>
-   <version>1.5.1.v200608082030-pEBq_haA1H4sJf6</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-   <version>1.5.1.v200608082030-pEBq_haA1H4sJf6</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-   <version>1.5.1.v200609111710--4hNDDhDwMTJbWt</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.sdk</name>
-   <version>1.5.1.v200609111510-dnUVLseYZElPh32</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_adapters.feature</name>
-   <version>1.5.1.v200608082030--87cMN7NMTv4YPT</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_adapters.feature.source</name>
-   <version>1.5.1.v200608082030--87cMN7NMTv4YPT</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_core.feature</name>
-   <version>1.5.1.v200608082030--2PD88P8UBJx787</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_core.feature.source</name>
-   <version>1.5.1.v200608082030--2PD88P8UBJx787</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_sdk.feature</name>
-   <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_ui.feature</name>
-   <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_ui.feature.source</name>
-   <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_userdoc.feature</name>
-   <version>1.5.1.v200609111710--0842282A44386A</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_core.feature</name>
-   <version>1.5.1.v200608082030--87cMN7NRVeVWXd</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_core.feature.source</name>
-   <version>1.5.1.v200608082030--87cMN7NRVeVWXd</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_sdk.feature</name>
-   <version>1.5.1.v200609111710-842282_2_4252--</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_ui.feature</name>
-   <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_ui.feature.source</name>
-   <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_userdoc.feature</name>
-   <version>1.5.1.v200609111710</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde</name>
-   <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.source</name>
-   <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform</name>
-   <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform.source</name>
-   <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-   <name>org.eclipse.rcp</name>
-   <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-   <name>org.eclipse.rcp.source</name>
-   <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-   <name>org.eclipse.sdk</name>
-   <version>3.2.1.r321_v20060801-tQ1w49KnTArT0FZ</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst</name>
-   <version>1.5.1.v200609111500-X3TmmF3AeboB5EW</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_core.feature</name>
-   <version>1.5.1.v200608082030--AXrVWXWxl-k3-4</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_core.feature.source</name>
-   <version>1.5.1.v200608082030--AXrVWXWxl-k3-4</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_sdk.feature</name>
-   <version>1.5.1.v200609111555-842282_2_425203</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_ui.feature</name>
-   <version>1.5.1.v200608082030-qKHiTHoXWmGI9-6</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_ui.feature.source</name>
-   <version>1.5.1.v200608082030-qKHiTHoXWmGI9-6</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_userdoc.feature</name>
-   <version>1.5.1.v200609111555</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.doc.isv.feature</name>
-   <version>1.5.1.v200609111750--0842282A274567</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_adapters.feature</name>
-   <version>1.5.1.v200608082030--Cq0bcpdJw4teC8</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-   <version>1.5.1.v200608082030--Cq0bcpdJw4teC8</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_core.feature</name>
-   <version>1.5.1.v200608082030--3YIAAYAeEKFTFU</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_core.feature.source</name>
-   <version>1.5.1.v200608082030--3YIAAYAeEKFTFU</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_sdk.feature</name>
-   <version>1.5.1.v200609121915-PD88P8V8VD8G8-N</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_ui.feature</name>
-   <version>1.5.1.v200608082030-FTMjwT_hp-I8hlV</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_ui.feature.source</name>
-   <version>1.5.1.v200608082030-FTMjwT_hp-I8hlV</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_userdoc.feature</name>
-   <version>1.5.1.v200609121915--4hNDDhDrSIDSDf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.sdk</name>
-   <version>1.5.1.v200609111510-53LhU5L4LmuQyht</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_core.feature</name>
-   <version>1.5.1.v200608082030------1G955G5L7D</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_core.feature.source</name>
-   <version>1.5.1.v200608082030------1G955G5L7D</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_sdk.feature</name>
-   <version>1.5.1.v200609111645-842282_2_4252-X</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_ui.feature</name>
-   <version>1.5.1.v200608082030-PGIEUH7RmGdKiHf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_ui.feature.source</name>
-   <version>1.5.1.v200608082030-PGIEUH7RmGdKiHf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_userdoc.feature</name>
-   <version>1.5.1.v200609111645--0842282A44386A</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_core.feature</name>
-   <version>1.5.1.v200608082030--4hNDDhDvKRFXQM</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_core.feature.source</name>
-   <version>1.5.1.v200608082030--4hNDDhDvKRFXQM</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_sdk.feature</name>
-   <version>1.5.1.v200609111705-842282A3339270B</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_ui.feature</name>
-   <version>1.5.1.v200609111705-zjf2SqQuQ3wGZss</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_ui.feature.source</name>
-   <version>1.5.1.v200609111705-zjf2SqQuQ3wGZss</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_userdoc.feature</name>
-   <version>1.5.1.v200609111705--1G955G5L9_7IAE</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_core.feature</name>
-   <version>1.5.1.v200608082030--4hNDDhDvGTJSLf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_core.feature.source</name>
-   <version>1.5.1.v200608082030--4hNDDhDvGTJSLf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_sdk.feature</name>
-   <version>1.5.1.v200609111650-842282_2_4252-v</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_ui.feature</name>
-   <version>1.5.1.v200608082030-hai7DnIyF_GCayN</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_ui.feature.source</name>
-   <version>1.5.1.v200608082030-hai7DnIyF_GCayN</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_userdoc.feature</name>
-   <version>1.5.1.v200609111650--2PD88P8XECCNKM</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_core.feature</name>
-   <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_core.feature.source</name>
-   <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_sdk.feature</name>
-   <version>1.5.1.v200609111545-842282_5224670B</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_ui.feature</name>
-   <version>1.5.1.v200608300245-zkiCbzU5ZFWEixE</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_ui.feature.source</name>
-   <version>1.5.1.v200608300245-zkiCbzU5ZFWEixE</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_userdoc.feature</name>
-   <version>1.5.1.v200609111545--3YIAAYAjJGDUPb</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.doc</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.source</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.uddi4j.feature</name>
-   <version>2.0.5.v200609140515--0842282_453764</version>
-</entry>
-<entry>
-   <name>org.wsdl4j.feature</name>
-   <version>1.4.0.v200606071500--084228293_3A39</version>
-</entry>
-</featureData>
-<bundleData>
-<!-- Number of bundles: 380 -->
-
-<entry>
-   <name>com.ibm.etools.emf.event</name>
-   <version>3.0.0.v20060918_M</version>
-</entry>
-<entry>
-   <name>com.ibm.icu</name>
-   <version>3.4.5</version>
-</entry>
-<entry>
-   <name>com.ibm.icu.source</name>
-   <version>3.4.5</version>
-</entry>
-<entry>
-   <name>com.jcraft.jsch</name>
-   <version>0.1.28</version>
-</entry>
-<entry>
-   <name>org.apache.ant</name>
-   <version>1.6.5</version>
-</entry>
-<entry>
-   <name>org.apache.axis</name>
-   <version>1.3.0.v200608161946</version>
-</entry>
-<entry>
-   <name>org.apache.cactus</name>
-   <version>1.7.2.v200606181221</version>
-</entry>
-<entry>
-   <name>org.apache.commons_logging</name>
-   <version>1.0.4.v200608011657</version>
-</entry>
-<entry>
-   <name>org.apache.jakarta_log4j</name>
-   <version>1.2.8.v200607172048</version>
-</entry>
-<entry>
-   <name>org.apache.lucene</name>
-   <version>1.4.103.v20060601</version>
-</entry>
-<entry>
-   <name>org.apache.wsil4j</name>
-   <version>1.0.0.v200608161946</version>
-</entry>
-<entry>
-   <name>org.apache.xerces</name>
-   <version>2.8.0.v200606131651</version>
-</entry>
-<entry>
-   <name>org.eclipse.ant.core</name>
-   <version>3.1.100.v20060531</version>
-</entry>
-<entry>
-   <name>org.eclipse.ant.optional.junit</name>
-   <version>3.2.0</version>
-</entry>
-<entry>
-   <name>org.eclipse.ant.ui</name>
-   <version>3.2.1.r321_v20060828</version>
-</entry>
-<entry>
-   <name>org.eclipse.compare</name>
-   <version>3.2.1.M20060711</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.boot</name>
-   <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.commands</name>
-   <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.contenttype</name>
-   <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.expressions</name>
-   <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.filebuffers</name>
-   <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.filesystem</name>
-   <version>1.0.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.filesystem.win32.x86</name>
-   <version>1.0.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.jobs</name>
-   <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.resources</name>
-   <version>3.2.1.R32x_v20060914</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.resources.compatibility</name>
-   <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.resources.win32</name>
-   <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.runtime</name>
-   <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.runtime.compatibility</name>
-   <version>3.1.100.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.runtime.compatibility.auth</name>
-   <version>3.2.0.v20060601</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.runtime.compatibility.registry</name>
-   <version>3.2.1.R32x_v20060907</version>
-</entry>
-<entry>
-   <name>org.eclipse.core.variables</name>
-   <version>3.1.100.v20060605</version>
-</entry>
-<entry>
-   <name>org.eclipse.debug.core</name>
-   <version>3.2.1.v20060823</version>
-</entry>
-<entry>
-   <name>org.eclipse.debug.ui</name>
-   <version>3.2.1.v20060823</version>
-</entry>
-<entry>
-   <name>org.eclipse.draw2d</name>
-   <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-   <name>org.eclipse.draw2d.doc.isv</name>
-   <version>3.2.0.v20060626</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ant</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.cheatsheets</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.codegen</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.codegen.ecore</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.codegen.ecore.ui</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.codegen.ui</name>
-   <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.common</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.common.ui</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.commonj.sdo</name>
-   <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.converter</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.doc</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.change</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.change.edit</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.edit</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.editor</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo.doc</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo.edit</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo.editor</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.sdo.source</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.ecore.xmi</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.edit</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.edit.ui</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.exporter</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.importer</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.importer.ecore</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.importer.java</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.importer.rose</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.ecore2ecore</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.ecore2xml</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.ui</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.xsd2ecore</name>
-   <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-   <version>2.1.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.emf.source</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.equinox.common</name>
-   <version>3.2.0.v20060603</version>
-</entry>
-<entry>
-   <name>org.eclipse.equinox.preferences</name>
-   <version>3.2.1.R32x_v20060717</version>
-</entry>
-<entry>
-   <name>org.eclipse.equinox.registry</name>
-   <version>3.2.1.R32x_v20060814</version>
-</entry>
-<entry>
-   <name>org.eclipse.equinox.servlet.api</name>
-   <version>1.0.0.v20060601</version>
-</entry>
-<entry>
-   <name>org.eclipse.gef</name>
-   <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-   <name>org.eclipse.gef.doc.isv</name>
-   <version>3.2.0.v20060626</version>
-</entry>
-<entry>
-   <name>org.eclipse.gef.source</name>
-   <version>3.2.1.v20060921</version>
-</entry>
-<entry>
-   <name>org.eclipse.help</name>
-   <version>3.2.1.R321_v20060920</version>
-</entry>
-<entry>
-   <name>org.eclipse.help.appserver</name>
-   <version>3.1.100.v20060602</version>
-</entry>
-<entry>
-   <name>org.eclipse.help.base</name>
-   <version>3.2.1.R321_v20060822</version>
-</entry>
-<entry>
-   <name>org.eclipse.help.ui</name>
-   <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-   <name>org.eclipse.help.webapp</name>
-   <version>3.2.1.R321_v20060803</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt</name>
-   <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.apt.core</name>
-   <version>3.2.1.R32x_v20060822-2100</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.apt.ui</name>
-   <version>3.2.1.R32x_v20060822-2100</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.core</name>
-   <version>3.2.1.v_677_R32x</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.core.manipulation</name>
-   <version>1.0.1.r321_v20060721</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.debug</name>
-   <version>3.2.1.r321_v20060731</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.debug.ui</name>
-   <version>3.2.1.r321_v20060918</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.doc.isv</name>
-   <version>3.2.1.r321_v20060907</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.doc.user</name>
-   <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.junit</name>
-   <version>3.2.1.r321_v20060810</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.junit.runtime</name>
-   <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.junit4.runtime</name>
-   <version>1.0.1.r321_v20060905</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.launching</name>
-   <version>3.2.1.r321_v20060731</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.source</name>
-   <version>3.2.1.r321_v20060905-R4CM1Znkvre9wC-</version>
-</entry>
-<entry>
-   <name>org.eclipse.jdt.ui</name>
-   <version>3.2.1.r321_v20060907</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem</name>
-   <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.beaninfo</name>
-   <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.proxy</name>
-   <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.sdk</name>
-   <version>1.2.0.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.source</name>
-   <version>1.2.1.v20060815_M----6zXJJzKIRGVU</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.ui</name>
-   <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.util</name>
-   <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jem.workbench</name>
-   <version>1.2.1.v20060918_M</version>
-</entry>
-<entry>
-   <name>org.eclipse.jface</name>
-   <version>3.2.1.M20060908-1000</version>
-</entry>
-<entry>
-   <name>org.eclipse.jface.databinding</name>
-   <version>1.0.0.I20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.jface.text</name>
-   <version>3.2.1.r321_v20060810</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst</name>
-   <version>1.0.1.v200605040115</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common.annotations.controller</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common.annotations.core</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common.annotations.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common.frameworks</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common.project.facet.core</name>
-   <version>1.1.0.v200608141517</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.common_core.feature.source</name>
-   <version>1.5.1.v200608082030--0842282_363739</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.doc.isv</name>
-   <version>1.0.201.v200606130315</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ejb.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ejb.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_core.feature.source</name>
-   <version>1.5.1.v200609051533--2PD88P8YAGDADJ</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-   <version>1.5.1.v200608082030-pEBq_haA1H4sJf6</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee</name>
-   <version>1.1.1.v200609221510</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.core</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.doc.user</name>
-   <version>1.0.203.v200609182036</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.ejb</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-   <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-   <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-   <version>1.1.1.v200609070230</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-   <version>1.1.1.v200609141515</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.infopop</name>
-   <version>1.0.202.v200609150300</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.jca</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.jca.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.navigator.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.ui</name>
-   <version>1.1.1.v200609192150</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.web</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.webservice</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.webservice.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-   <version>1.1.1.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.jsp.core</name>
-   <version>1.1.100.v200609201330</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.jsp.ui</name>
-   <version>1.1.100.v200608142042</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.jsp.ui.infopop</name>
-   <version>1.0.2.v200605040115</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.core</name>
-   <version>1.0.103.v20060904b</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.generic.core</name>
-   <version>1.0.101.v200608301011</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.generic.jboss</name>
-   <version>1.5.1.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.generic.jonas</name>
-   <version>1.5.0.v200606130315</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.generic.oc4j</name>
-   <version>1.5.0.v200606130315</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.generic.ui</name>
-   <version>1.0.100.v200608221634</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.generic.weblogic</name>
-   <version>1.5.1.v200609141504</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.installable</name>
-   <version>1.5.1.v20060726</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.tomcat.core</name>
-   <version>1.0.103.v20060904b</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.tomcat.ui</name>
-   <version>1.0.103.v20060906</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.ui</name>
-   <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.ui.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.ui.infopop</name>
-   <version>1.0.2.v200605040115</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server.websphere.core</name>
-   <version>1.0.101.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_adapters.feature.source</name>
-   <version>1.5.1.v200608082030--87cMN7NMTv4YPT</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_core.feature.source</name>
-   <version>1.5.1.v200608082030--2PD88P8UBJx787</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.server_ui.feature.source</name>
-   <version>1.5.1.v200608082030-PGIEUCdEgCIEO8I</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.servlet.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.servlet.ui.infopop</name>
-   <version>1.0.201.v200606130315</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_core.feature.source</name>
-   <version>1.5.1.v200608082030--87cMN7NRVeVWXd</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.web_ui.feature.source</name>
-   <version>1.5.1.v200608082030--2PD88P8T_IB_EI</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws</name>
-   <version>1.0.102.v200608302120</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.axis.consumption.core</name>
-   <version>1.0.102.v200608221651</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-   <version>1.0.102.v200608301709</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.axis.creation.ui</name>
-   <version>1.0.102.v200609081903</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.axis.infopop</name>
-   <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.consumption</name>
-   <version>1.0.102.v200609220223</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.consumption.infopop</name>
-   <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.consumption.ui</name>
-   <version>1.0.102.v200609132055</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-   <version>1.0.202.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-   <version>1.0.0.v200606130315</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.creation.ui</name>
-   <version>1.0.102.v200609062128</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.infopop</name>
-   <version>1.0.201.v200605162034</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.uddiregistry</name>
-   <version>1.0.100.v200608221651</version>
-</entry>
-<entry>
-   <name>org.eclipse.jst.ws.ui</name>
-   <version>1.0.101.v200608302120</version>
-</entry>
-<entry>
-   <name>org.eclipse.ltk.core.refactoring</name>
-   <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-   <name>org.eclipse.ltk.ui.refactoring</name>
-   <version>3.2.1.r321_v20060726</version>
-</entry>
-<entry>
-   <name>org.eclipse.osgi</name>
-   <version>3.2.1.R32x_v20060919</version>
-</entry>
-<entry>
-   <name>org.eclipse.osgi.services</name>
-   <version>3.1.100.v20060601</version>
-</entry>
-<entry>
-   <name>org.eclipse.osgi.util</name>
-   <version>3.1.100.v20060601</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde</name>
-   <version>3.2.1.v20060810-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.build</name>
-   <version>3.2.1.r321_v20060823</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.core</name>
-   <version>3.2.1.v20060915-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.doc.user</name>
-   <version>3.2.1.v20060816-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.junit.runtime</name>
-   <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.runtime</name>
-   <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.source</name>
-   <version>3.2.1.r321_v20060823-6vYLLdQ3Nk8DrFG</version>
-</entry>
-<entry>
-   <name>org.eclipse.pde.ui</name>
-   <version>3.2.1.v20060816-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform</name>
-   <version>3.2.0.v20060601</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform.doc.isv</name>
-   <version>3.2.1.r321_v2006030</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform.doc.user</name>
-   <version>3.2.1.R32x_v200608101155</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform.source</name>
-   <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-   <name>org.eclipse.platform.source.win32.win32.x86</name>
-   <version>3.2.1.r321_v20060921-b_XVA-INSQSyMtx</version>
-</entry>
-<entry>
-   <name>org.eclipse.rcp</name>
-   <version>3.2.0.v20060605</version>
-</entry>
-<entry>
-   <name>org.eclipse.rcp.source</name>
-   <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-   <name>org.eclipse.rcp.source.win32.win32.x86</name>
-   <version>3.2.1.r321_v20060801-2ekW2BxmcpPUOoq</version>
-</entry>
-<entry>
-   <name>org.eclipse.sdk</name>
-   <version>3.2.1.r321_v20060705</version>
-</entry>
-<entry>
-   <name>org.eclipse.search</name>
-   <version>3.2.1.r321_v20060726</version>
-</entry>
-<entry>
-   <name>org.eclipse.swt</name>
-   <version>3.2.1.v3235e</version>
-</entry>
-<entry>
-   <name>org.eclipse.swt.win32.win32.x86</name>
-   <version>3.2.1.v3235</version>
-</entry>
-<entry>
-   <name>org.eclipse.team.core</name>
-   <version>3.2.1.M20060711</version>
-</entry>
-<entry>
-   <name>org.eclipse.team.cvs.core</name>
-   <version>3.2.1.M200608161750</version>
-</entry>
-<entry>
-   <name>org.eclipse.team.cvs.ssh</name>
-   <version>3.2.0.I200606011710</version>
-</entry>
-<entry>
-   <name>org.eclipse.team.cvs.ssh2</name>
-   <version>3.2.0.I200606051140</version>
-</entry>
-<entry>
-   <name>org.eclipse.team.cvs.ui</name>
-   <version>3.2.1.M20060831</version>
-</entry>
-<entry>
-   <name>org.eclipse.team.ui</name>
-   <version>3.2.1.M200608151725</version>
-</entry>
-<entry>
-   <name>org.eclipse.test</name>
-   <version>3.1.0</version>
-</entry>
-<entry>
-   <name>org.eclipse.test.performance</name>
-   <version>3.1.0</version>
-</entry>
-<entry>
-   <name>org.eclipse.test.performance.win32</name>
-   <version>3.1.0</version>
-</entry>
-<entry>
-   <name>org.eclipse.test.source</name>
-   <version>3.2.0.v20060220</version>
-</entry>
-<entry>
-   <name>org.eclipse.text</name>
-   <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.tomcat</name>
-   <version>4.1.130.v20060601</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui</name>
-   <version>3.2.1.M20060913-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.browser</name>
-   <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.cheatsheets</name>
-   <version>3.2.1.R321_v20060720</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.console</name>
-   <version>3.1.100.v20060605</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.editors</name>
-   <version>3.2.1.r321_v20060721</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.externaltools</name>
-   <version>3.1.101.r321_v20060802</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.forms</name>
-   <version>3.2.0.v20060602</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.ide</name>
-   <version>3.2.1.M20060915-1030</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.intro</name>
-   <version>3.2.1.R321_v20060810</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.intro.universal</name>
-   <version>3.2.1.R321_v20060905</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.navigator</name>
-   <version>3.2.1.M20060913-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.navigator.resources</name>
-   <version>3.2.1.M20060906-0800b</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.presentations.r21</name>
-   <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.views</name>
-   <version>3.2.1.M20060906-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.views.properties.tabbed</name>
-   <version>3.2.1.M20060830-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.win32</name>
-   <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.workbench</name>
-   <version>3.2.1.M20060906-0800</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.workbench.compatibility</name>
-   <version>3.2.0.I20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.ui.workbench.texteditor</name>
-   <version>3.2.0.v20060605-1400</version>
-</entry>
-<entry>
-   <name>org.eclipse.update.configurator</name>
-   <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-   <name>org.eclipse.update.core</name>
-   <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-   <name>org.eclipse.update.core.win32</name>
-   <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-   <name>org.eclipse.update.scheduler</name>
-   <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-   <name>org.eclipse.update.ui</name>
-   <version>3.2.1.v20092006</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst</name>
-   <version>1.0.1.v200605040144</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.command.env</name>
-   <version>1.0.102.v200608222020</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.command.env.core</name>
-   <version>1.0.101.v200606130645</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.command.env.doc.user</name>
-   <version>1.5.0.v20060831345</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.command.env.infopop</name>
-   <version>1.0.2.v200605070230</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.command.env.ui</name>
-   <version>1.0.102.v200608222020</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.core</name>
-   <version>1.1.100.v200608220540</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.emf</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.emfworkbench.integration</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.environment</name>
-   <version>1.0.100.v200608251934</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.frameworks</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.frameworks.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.infopop</name>
-   <version>1.0.1.v200605270041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.modulecore</name>
-   <version>1.1.1.v200609161502</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.project.facet.core</name>
-   <version>1.1.1.v200608112156</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.project.facet.ui</name>
-   <version>1.1.1.v200608112156</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.snippets</name>
-   <version>1.1.1.v200609140550</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.ui</name>
-   <version>1.1.100.v200608221521</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.ui.properties</name>
-   <version>1.0.101.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common.uriresolver</name>
-   <version>1.1.100.v200609200443</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_core.feature.source</name>
-   <version>1.5.1.v200608082030--AXrVWXWxl-k3-4</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.common_ui.feature.source</name>
-   <version>1.5.1.v200608082030-qKHiTHoXWmGI9-6</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.css.core</name>
-   <version>1.1.1.v200609140550</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.css.ui</name>
-   <version>1.0.101.v200609140550</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.datatools.connection.ui.doc.user</name>
-   <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-   <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-   <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.datatools.server.ui.doc.user</name>
-   <version>1.0.203.v200608310305</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.doc.isv</name>
-   <version>1.0.202.v200609052345</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.doc.user</name>
-   <version>1.0.203.v200608231821</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.dtd.core</name>
-   <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.dtd.ui</name>
-   <version>1.0.101.v200608162201</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.dtd.ui.infopop</name>
-   <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.dtdeditor.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.html.core</name>
-   <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.html.standard.dtds</name>
-   <version>1.0.1.v200608220315</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.html.ui</name>
-   <version>1.0.101.v200608142042</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.html.ui.infopop</name>
-   <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.internet.cache</name>
-   <version>1.0.102.v200608221746</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.internet.monitor.core</name>
-   <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.internet.monitor.ui</name>
-   <version>1.0.103.v20060809</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.internet.proxy</name>
-   <version>1.0.100.v200608221651</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.internet.proxy.infopop</name>
-   <version>1.0.0.v200605070230</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.javascript.core</name>
-   <version>1.0.1.v200609140550</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.javascript.ui</name>
-   <version>1.0.1.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.javascript.ui.infopop</name>
-   <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.connection.ui</name>
-   <version>1.0.103.v200608282140</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-   <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.core</name>
-   <version>1.1.113.v200609121919</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.core.ui</name>
-   <version>1.0.106.v200608212221</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.data.core</name>
-   <version>1.0.105.v200608142103</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.data.ui</name>
-   <version>1.0.109.v200609051822</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.db2.iseries</name>
-   <version>1.0.103.v200609221041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-   <version>1.0.106.v200609122026</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.db2.zseries</name>
-   <version>1.0.103.v200609221041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-   <version>1.0.103.v200609221041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.generic.jdbc</name>
-   <version>1.0.101.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-   <version>1.0.103.v200609122026</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-   <version>1.0.1.v200609221041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-   <version>1.0.102.v200609122026</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-   <version>1.0.104.v200609221041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-   <version>1.0.104.v200609221041</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.derby</name>
-   <version>1.0.105.v200608222044</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.derby.ui</name>
-   <version>1.0.102.v200608142103</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.fe.ui</name>
-   <version>1.0.103.v200608212119</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-   <version>1.0.102.v200608212119</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-   <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-   <version>1.0.101.v200606130645</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.models.sql</name>
-   <version>1.0.103.v200607112303</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.models.sql.edit</name>
-   <version>1.0.102.v200606130645</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.mysql</name>
-   <version>1.0.103.v200608222012</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.outputview</name>
-   <version>1.0.106.v200608142103</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.outputview.infopop</name>
-   <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.server.extensions</name>
-   <version>1.0.104.v200609181831</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.server.ui</name>
-   <version>1.0.108.v200609182107</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-   <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.sqleditor</name>
-   <version>1.0.105.v200609192136</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-   <version>1.0.0.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-   <version>1.0.102.v200608220540</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-   <version>1.5.1.v200608082030--Cq0bcpdJw4teC8</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_core.feature.source</name>
-   <version>1.5.1.v200608082030--3YIAAYAeEKFTFU</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.rdb_ui.feature.source</name>
-   <version>1.5.1.v200608082030-FTMjwT_hp-I8hlV</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server.core</name>
-   <version>1.0.103.v20060920</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server.ui</name>
-   <version>1.0.103.v20060920</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server.ui.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server.ui.infopop</name>
-   <version>1.0.3.v200609140551</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_core.feature.source</name>
-   <version>1.5.1.v200608082030------1G955G5L7D</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.server_ui.feature.source</name>
-   <version>1.5.1.v200608082030-PGIEUH7RmGdKiHf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.sqleditor.doc.user</name>
-   <version>1.0.2.v200608310308</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.sse.core</name>
-   <version>1.1.100.v200609182120</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.sse.doc.user</name>
-   <version>1.0.203.v200608300230</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.sse.ui</name>
-   <version>1.0.200.v200609211325</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.sse.ui.infopop</name>
-   <version>1.0.101.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.validation</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.validation.infopop</name>
-   <version>1.0.201.v200606130645</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.validation.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web.ui</name>
-   <version>1.1.1.v200609132124</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web.ui.infopop</name>
-   <version>1.0.201.v200605070230</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_core.feature.source</name>
-   <version>1.5.1.v200608082030--4hNDDhDvKRFXQM</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.web_ui.feature.source</name>
-   <version>1.5.1.v200609111705-zjf2SqQuQ3wGZss</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.webtools.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws</name>
-   <version>1.0.101.v200609062128</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws.explorer</name>
-   <version>1.0.102.v200609132055</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws.infopop</name>
-   <version>1.0.201.v200605152241</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws.parser</name>
-   <version>1.0.101.v200609062128</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws.ui</name>
-   <version>1.0.101.v200608232209</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_core.feature.source</name>
-   <version>1.5.1.v200608082030--4hNDDhDvGTJSLf</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.ws_ui.feature.source</name>
-   <version>1.5.1.v200608082030-hai7DnIyF_GCayN</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsdl</name>
-   <version>1.0.101.v200609141945</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsdl.ui</name>
-   <version>1.1.100.v200609220004</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsdl.validation</name>
-   <version>1.1.100.v200608100007</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsi</name>
-   <version>1.0.102.v200609101400</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsi.ui</name>
-   <version>1.0.101.v20060850312</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.wsi.ui.doc.user</name>
-   <version>1.0.202.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml.core</name>
-   <version>1.1.1.v200609210600</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml.ui</name>
-   <version>1.0.200.v200609221505</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml.ui.infopop</name>
-   <version>1.0.1.v200605040131</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_core.feature.source</name>
-   <version>1.5.1.v200608082030--3YIAAYAjGLENFH</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xml_ui.feature.source</name>
-   <version>1.5.1.v200608300245-zkiCbzU5ZFWEixE</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xmleditor.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xsd.core</name>
-   <version>1.1.100.v200608112037</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xsd.ui</name>
-   <version>1.1.100.v200609200602</version>
-</entry>
-<entry>
-   <name>org.eclipse.wst.xsdeditor.doc.user</name>
-   <version>1.0.203.v200609221649</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.cheatsheets</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.doc</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.ecore.exporter</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.ecore.importer</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.edit</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.editor</name>
-   <version>2.2.0.v200609210005</version>
-</entry>
-<entry>
-   <name>org.eclipse.xsd.source</name>
-   <version>2.2.1.v200609210005</version>
-</entry>
-<entry>
-   <name>org.junit</name>
-   <version>3.8.1</version>
-</entry>
-<entry>
-   <name>org.junit4</name>
-   <version>4.1.0.1</version>
-</entry>
-<entry>
-   <name>org.uddi4j</name>
-   <version>2.0.5.v200608231542</version>
-</entry>
-<entry>
-   <name>org.wsdl4j</name>
-   <version>1.4.0.v200607181917</version>
-</entry>
-</bundleData>
-</referenceData>
-  
-   <referenceData id="WTP150">
-      <featureData>
-         <!-- Number of features: 99 -->
-         <entry>
-            <name>org.apache.axis.feature</name>
-            <version>1.3.0.v200606071530--084228283_3443</version>
-         </entry>
-         <entry>
-            <name>org.apache.commons_logging.feature</name>
-            <version>1.0.4.v200606152055--08422828353873</version>
-         </entry>
-         <entry>
-            <name>org.apache.jakarta_log4j.feature</name>
-            <version>1.2.8.v200605300321--08422828353873</version>
-         </entry>
-         <entry>
-            <name>org.apache.wsil4j.feature</name>
-            <version>1.0.0.v200606071530--084228283_3443</version>
-         </entry>
-         <entry>
-            <name>org.apache.xerces.feature</name>
-            <version>2.8.0.v200605151647--08422828353873</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.doc</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.doc</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.source</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.sdk</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.source</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef.sdk</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef.source</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.source</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem</name>
-            <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.sdk</name>
-            <version>1.2.0.v20060530_RC2--FEM8P88GP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.source</name>
-            <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst</name>
-            <version>1.5.0.v200606092300-kW-O_ysCRLJsxJt</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common_core.feature</name>
-            <version>1.5.0.v200605151622--08422828352537</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common_core.feature.source</name>
-            <version>1.5.0.v200605151622--08422828352537</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common_sdk.feature</name>
-            <version>1.5.0.v200605151622-8422827373844--</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.doc.isv.feature</name>
-            <version>1.5.0.v200605151622--08422828352537</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_core.feature</name>
-            <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_core.feature.source</name>
-            <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_sdk.feature</name>
-            <version>1.5.0.v200605151622-842282737384402</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_ui.feature</name>
-            <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-            <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-            <version>1.5.0.v200605151622--4hNDDhDcJUJeMV</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.sdk</name>
-            <version>1.5.0.v200606092300-dnUVLo09wQhiy4R</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_adapters.feature</name>
-            <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_adapters.feature.source</name>
-            <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_core.feature</name>
-            <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_core.feature.source</name>
-            <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_sdk.feature</name>
-            <version>1.5.0.v200606130315-8422828352537--</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_ui.feature</name>
-            <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_ui.feature.source</name>
-            <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_userdoc.feature</name>
-            <version>1.5.0.v200605151622--08422827262337</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_core.feature</name>
-            <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_core.feature.source</name>
-            <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_sdk.feature</name>
-            <version>1.5.0.v200605151622-8422827373844--</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_ui.feature</name>
-            <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_ui.feature.source</name>
-            <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_userdoc.feature</name>
-            <version>1.5.0.v200605151622</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.source</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.source</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp.source</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.sdk</name>
-            <version>3.2.0.v20060609m-GNq6oQq-7es-Y81</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst</name>
-            <version>1.5.0.v200606092300-U4T922yjOWsGK5Y</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_core.feature</name>
-            <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_core.feature.source</name>
-            <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_sdk.feature</name>
-            <version>1.5.0.v200605151622-842282744366203</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_ui.feature</name>
-            <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_ui.feature.source</name>
-            <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_userdoc.feature</name>
-            <version>1.5.0.v200605151622</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.doc.isv.feature</name>
-            <version>1.5.0.v200605151622--08422828352867</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_adapters.feature</name>
-            <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-            <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_core.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_core.feature.source</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_sdk.feature</name>
-            <version>1.5.0.v200605151622-PD88P8MBJAQCG-N</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_ui.feature</name>
-            <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_ui.feature.source</name>
-            <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_userdoc.feature</name>
-            <version>1.5.0.v200605151622--4hNDDhDcFjDKTF</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sdk</name>
-            <version>1.5.0.v200606092300-24KsYkftnYYU8Om</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_core.feature</name>
-            <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_core.feature.source</name>
-            <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_sdk.feature</name>
-            <version>1.5.0.v200605221710-8422827443932-X</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_ui.feature</name>
-            <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_ui.feature.source</name>
-            <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_userdoc.feature</name>
-            <version>1.5.0.v200605151622--08422827262353</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_core.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_core.feature.source</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_sdk.feature</name>
-            <version>1.5.0.v200605151622-84228282937520B</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_ui.feature</name>
-            <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_ui.feature.source</name>
-            <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_userdoc.feature</name>
-            <version>1.5.0.v200605151622--1G955G5E7K7GDB</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_core.feature</name>
-            <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_core.feature.source</name>
-            <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_sdk.feature</name>
-            <version>1.5.0.v200605151622-8422827443672-v</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_ui.feature</name>
-            <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_ui.feature.source</name>
-            <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_userdoc.feature</name>
-            <version>1.5.0.v200605221940--1G955G5E777H7C</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_core.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_core.feature.source</name>
-            <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_sdk.feature</name>
-            <version>1.5.0.v200605151622-842282744365_-9</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_ui.feature</name>
-            <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_ui.feature.source</name>
-            <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_userdoc.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAUCVDLMP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.doc</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.source</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.uddi4j.feature</name>
-            <version>2.0.3.v200606071530--084228283_3443</version>
-         </entry>
-         <entry>
-            <name>org.wsdl4j.feature</name>
-            <version>1.4.0.v200606071500--084228283_3443</version>
-         </entry>
-      </featureData>
-      <bundleData>
-         <!-- Number of bundles: 380 -->
-         <entry>
-            <name>org.eclipse.osgi</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.common</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.configurator</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>com.ibm.etools.emf.event</name>
-            <version>3.0.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>com.ibm.icu.source</name>
-            <version>3.4.4.1</version>
-         </entry>
-         <entry>
-            <name>com.ibm.icu</name>
-            <version>3.4.4.1</version>
-         </entry>
-         <entry>
-            <name>com.jcraft.jsch</name>
-            <version>0.1.28</version>
-         </entry>
-         <entry>
-            <name>org.apache.ant</name>
-            <version>1.6.5</version>
-         </entry>
-         <entry>
-            <name>org.apache.axis</name>
-            <version>1.3.0.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.apache.cactus</name>
-            <version>1.7.2.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.apache.commons_logging</name>
-            <version>1.0.4.v200606131651</version>
-         </entry>
-         <entry>
-            <name>org.apache.jakarta_log4j</name>
-            <version>1.2.8.v200606131651</version>
-         </entry>
-         <entry>
-            <name>org.apache.lucene</name>
-            <version>1.4.103.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.apache.wsil4j</name>
-            <version>1.0.0.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.apache.xerces</name>
-            <version>2.8.0.v200606131651</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.core</name>
-            <version>3.1.100.v20060531</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.optional.junit</name>
-            <version>3.2.0</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.ui</name>
-            <version>3.2.0.v20060531</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.compare</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.boot</name>
-            <version>3.1.100.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.commands</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.contenttype</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.expressions</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filebuffers</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filesystem.win32.x86</name>
-            <version>1.0.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filesystem</name>
-            <version>1.0.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.jobs</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources.compatibility</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources.win32</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility.auth</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility.registry</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility</name>
-            <version>3.1.100.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.variables</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.debug.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.debug.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.draw2d.doc.isv</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.draw2d</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ant</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.cheatsheets</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen.ecore.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen.ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen.ui</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.common.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.commonj.sdo</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.common</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.converter</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.doc</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.change.edit</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.change</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.editor</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.edit</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.doc</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.editor</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.edit</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.source</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.xmi</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.edit.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.edit</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.exporter</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer.ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer.java</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer.rose</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2xml</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.xsd2ecore</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.source</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.preferences</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.registry</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.servlet.api</name>
-            <version>1.0.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef.doc.isv</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef.source</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.appserver</name>
-            <version>3.1.100.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.base</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.ui</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.webapp</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.apt.core</name>
-            <version>3.2.0.v20060602-1740</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.apt.ui</name>
-            <version>3.2.0.v20060602-1740</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.core.manipulation</name>
-            <version>1.0.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.core</name>
-            <version>3.2.0.v_671</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.debug.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.debug</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.doc.isv</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.doc.user</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit.runtime</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit4.runtime</name>
-            <version>1.0.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.launching</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.source</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.ui</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.beaninfo</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.proxy</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.sdk</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.source</name>
-            <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.ui</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.util</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.workbench</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface.databinding</name>
-            <version>1.0.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface.text</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.annotations.controller</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.annotations.core</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.annotations.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.frameworks</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.project.facet.core</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common_core.feature.source</name>
-            <version>1.5.0.v200605151622--08422828352537</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.doc.isv</name>
-            <version>1.0.201.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ejb.doc.user</name>
-            <version>1.0.201.v200605291441</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ejb.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_core.feature.source</name>
-            <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_ui.feature.source</name>
-            <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.core</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.doc.user</name>
-            <version>1.0.201.v200605152316</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-            <version>1.1.0.v200606212143</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-            <version>1.1.0.v200606212143</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb</name>
-            <version>1.1.0.v200606152049</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.infopop</name>
-            <version>1.0.201.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.jca.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.jca</name>
-            <version>1.1.0.v200606152049</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.navigator.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.webservice.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.webservice</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.web</name>
-            <version>1.1.0.v200606152049</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee</name>
-            <version>1.1.0.v200606222043</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.jsp.core</name>
-            <version>1.1.0.v200606191945</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.jsp.ui.infopop</name>
-            <version>1.0.2.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.jsp.ui</name>
-            <version>1.1.0.v200606191945</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.core</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.core</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.jboss</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.jonas</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.oc4j</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.ui</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.weblogic</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.installable</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.tomcat.core</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.tomcat.ui</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.ui.doc.user</name>
-            <version>1.0.1.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.ui.infopop</name>
-            <version>1.0.2.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.ui</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.websphere.core</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_adapters.feature.source</name>
-            <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_core.feature.source</name>
-            <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_ui.feature.source</name>
-            <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.servlet.ui.infopop</name>
-            <version>1.0.201.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.servlet.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_core.feature.source</name>
-            <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_ui.feature.source</name>
-            <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.consumption.core</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.creation.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.infopop</name>
-            <version>1.0.201.v200605152241</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-            <version>1.0.201.v200605111705</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption.infopop</name>
-            <version>1.0.201.v200605152241</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-            <version>1.0.201.v200605111705</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption</name>
-            <version>1.0.101.v200606131923</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-            <version>1.0.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.creation.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.doc.user</name>
-            <version>1.0.201.v200605111641</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.infopop</name>
-            <version>1.0.201.v200605162034</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.uddiregistry</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.ui</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst</name>
-            <version>1.0.1.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ltk.core.refactoring</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ltk.ui.refactoring</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi.services</name>
-            <version>3.1.100.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi.util</name>
-            <version>3.1.100.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.build</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.doc.user</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.junit.runtime</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.runtime</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.source</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.doc.isv</name>
-            <version>3.2.0.v20060612-0900</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.doc.user</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.source.win32.win32.x86</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.source</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp.source.win32.win32.x86</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp.source</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.sdk</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.search</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.swt.win32.win32.x86</name>
-            <version>3.2.0.v3232m</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.swt</name>
-            <version>3.2.0.v3232o</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.core</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.core</name>
-            <version>3.2.0.M20060628</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ssh2</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ssh</name>
-            <version>3.2.0.I200606011710</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ui</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.ui</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.test.performance.win32</name>
-            <version>3.1.0</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.test.performance</name>
-            <version>3.1.0</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.test.source</name>
-            <version>3.2.0.v20060220</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.test</name>
-            <version>3.1.0</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.text</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tomcat</name>
-            <version>4.1.130.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.browser</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.cheatsheets</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.console</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.editors</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.externaltools</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.forms</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.ide</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.intro.universal</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.intro</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.navigator.resources</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.navigator</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.presentations.r21</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.views.properties.tabbed</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.views</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.win32</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench.compatibility</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench.texteditor</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.core.win32</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.scheduler</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env.core</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env.infopop</name>
-            <version>1.0.2.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.core</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.emfworkbench.integration</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.emf</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.environment</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.frameworks.ui</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.frameworks</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.infopop</name>
-            <version>1.0.1.v200605270041</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.modulecore</name>
-            <version>1.1.0.v200606222043</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.project.facet.core</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.project.facet.ui</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.snippets</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.ui.properties</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.ui</name>
-            <version>1.1.0.v200606142122</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.uriresolver</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_core.feature.source</name>
-            <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_ui.feature.source</name>
-            <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.css.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.css.ui</name>
-            <version>1.0.100.v200606141450</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.wst.datatools.connection.ui.doc.user
-            </name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-            <version>1.0.1.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-            <version>1.0.201.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.datatools.server.ui.doc.user</name>
-            <version>1.0.1.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.doc.isv</name>
-            <version>1.0.201.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.doc.user</name>
-            <version>1.0.201.v200605181647</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtd.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtd.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtd.ui</name>
-            <version>1.0.100.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtdeditor.doc.user</name>
-            <version>1.0.2.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.standard.dtds</name>
-            <version>1.0.0</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.ui</name>
-            <version>1.0.100.v200606191945</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.cache</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.monitor.core</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.monitor.ui</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.proxy.infopop</name>
-            <version>1.0.0.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.proxy</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.javascript.core</name>
-            <version>1.0.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.javascript.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.javascript.ui</name>
-            <version>1.0.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.connection.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.core.ui</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.core</name>
-            <version>1.0.107.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.data.core</name>
-            <version>1.0.104.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.data.ui</name>
-            <version>1.0.105.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.db2.iseries</name>
-            <version>1.0.102.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-            <version>1.0.103.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.db2.zseries</name>
-            <version>1.0.102.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-            <version>1.0.102.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.generic.jdbc</name>
-            <version>1.0.101.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-            <version>1.0.102.v200605082300</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-            <version>1.0.101.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-            <version>1.0.102.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-            <version>1.0.103.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.derby.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.derby</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.fe.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.models.sql.edit</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.models.sql</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.mysql</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.outputview.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.outputview</name>
-            <version>1.0.104.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.server.extensions</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.server.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.sqleditor</name>
-            <version>1.0.103.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_adapters.feature.source</name>
-            <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_core.feature.source</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_ui.feature.source</name>
-            <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.core</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.ui.doc.user</name>
-            <version>1.0.2.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.ui.infopop</name>
-            <version>1.0.2.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.ui</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_core.feature.source</name>
-            <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_ui.feature.source</name>
-            <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sqleditor.doc.user</name>
-            <version>1.0.0.v200605270041</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.doc.user</name>
-            <version>1.0.201.v200605152316</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.ui.infopop</name>
-            <version>1.0.101.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.ui</name>
-            <version>1.0.101.v200606191900</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.validation.infopop</name>
-            <version>1.0.201.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.validation.ui</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.validation</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web.ui.infopop</name>
-            <version>1.0.201.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web.ui</name>
-            <version>1.1.0.v200606161959</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.webtools.doc.user</name>
-            <version>1.0.201.v200605181650</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web</name>
-            <version>1.1.0.v200606222043</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_core.feature.source</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_ui.feature.source</name>
-            <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.explorer</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.infopop</name>
-            <version>1.0.201.v200605152241</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.parser</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.ui</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-            <version>1.0.201.v200605111623</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl.ui</name>
-            <version>1.1.0.v200606142122</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl.validation</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsi.ui.doc.user</name>
-            <version>1.0.201.v200605111705</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsi.ui</name>
-            <version>1.0.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsi</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_core.feature.source</name>
-            <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_ui.feature.source</name>
-            <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml.core</name>
-            <version>1.1.0.v200606142000</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml.ui</name>
-            <version>1.0.100.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xmleditor.doc.user</name>
-            <version>1.0.201.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_core.feature.source</name>
-            <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_ui.feature.source</name>
-            <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xsd.core</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xsd.ui</name>
-            <version>1.1.0.v200606142122</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xsdeditor.doc.user</name>
-            <version>1.0.201.v200605181657</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst</name>
-            <version>1.0.1.v200605040144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.cheatsheets</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.doc</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.ecore.exporter</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.ecore.importer</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.editor</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.edit</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.source</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.junit4</name>
-            <version>4.1.0</version>
-         </entry>
-         <entry>
-            <name>org.junit</name>
-            <version>3.8.1</version>
-         </entry>
-         <entry>
-            <name>org.uddi4j</name>
-            <version>2.0.4.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.wsdl4j</name>
-            <version>1.4.0.v200606181221</version>
-         </entry>
-      </bundleData>
-   </referenceData>
-   <referenceData id="eclipse-SDK-3.2-win32">
-      <featureData>
-         <!-- Number of features: 9 -->
-         <entry>
-            <name>org.eclipse.jdt</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.source</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.source</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.source</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp.source</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.sdk</name>
-            <version>3.2.0.v20060609m-GNq6oQq-7es-Y81</version>
-         </entry>
-      </featureData>
-      <bundleData>
-         <!-- Number of bundles: 112 -->
-         <entry>
-            <name>com.ibm.icu</name>
-            <version>3.4.4.1</version>
-         </entry>
-         <entry>
-            <name>com.ibm.icu.source</name>
-            <version>3.4.4.1</version>
-         </entry>
-         <entry>
-            <name>com.jcraft.jsch</name>
-            <version>0.1.28</version>
-         </entry>
-         <entry>
-            <name>org.apache.ant</name>
-            <version>1.6.5</version>
-         </entry>
-         <entry>
-            <name>org.apache.lucene</name>
-            <version>1.4.103.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.core</name>
-            <version>3.1.100.v20060531</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.ui</name>
-            <version>3.2.0.v20060531</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.compare</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.boot</name>
-            <version>3.1.100.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.commands</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.contenttype</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.expressions</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filebuffers</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filesystem</name>
-            <version>1.0.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filesystem.win32.x86</name>
-            <version>1.0.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.jobs</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources.compatibility</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources.win32</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility</name>
-            <version>3.1.100.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility.auth</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility.registry</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.variables</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.debug.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.debug.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.common</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.preferences</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.registry</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.appserver</name>
-            <version>3.1.100.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.base</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.ui</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.webapp</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.apt.core</name>
-            <version>3.2.0.v20060602-1740</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.apt.ui</name>
-            <version>3.2.0.v20060602-1740</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.core</name>
-            <version>3.2.0.v_671</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.core.manipulation</name>
-            <version>1.0.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.debug</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.debug.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.doc.isv</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.doc.user</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit.runtime</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit4.runtime</name>
-            <version>1.0.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.launching</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.source</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.ui</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface.databinding</name>
-            <version>1.0.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface.text</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ltk.core.refactoring</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ltk.ui.refactoring</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi.services</name>
-            <version>3.1.100.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi.util</name>
-            <version>3.1.100.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.build</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.doc.user</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.junit.runtime</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.runtime</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.source</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.doc.isv</name>
-            <version>3.2.0.v20060612-0900</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.doc.user</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.source</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.source.win32.win32.x86</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp.source</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp.source.win32.win32.x86</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.sdk</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.search</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.swt</name>
-            <version>3.2.0.v3232o</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.swt.win32.win32.x86</name>
-            <version>3.2.0.v3232m</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.core</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.core</name>
-            <version>3.2.0.M20060628</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ssh</name>
-            <version>3.2.0.I200606011710</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ssh2</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ui</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.ui</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.text</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tomcat</name>
-            <version>4.1.130.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.browser</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.cheatsheets</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.console</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.editors</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.externaltools</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.forms</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.ide</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.intro</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.intro.universal</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.navigator</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.navigator.resources</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.presentations.r21</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.views</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.views.properties.tabbed</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.win32</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench.compatibility</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench.texteditor</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.configurator</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.core.win32</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.scheduler</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.junit</name>
-            <version>3.8.1</version>
-         </entry>
-         <entry>
-            <name>org.junit4</name>
-            <version>4.1.0</version>
-         </entry>
-      </bundleData>
-   </referenceData>
-   <referenceData id="europa">
-      <featureData>
-         <!-- Number of features: 115 -->
-         <entry>
-            <name>com.lowagie.itext</name>
-            <version>1.3.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.apache.axis.feature</name>
-            <version>1.3.0.v200606071530--084228283_3443</version>
-         </entry>
-         <entry>
-            <name>org.apache.batik</name>
-            <version>1.6.0.v20060613-1220-0842282835-3442</version>
-         </entry>
-         <entry>
-            <name>org.apache.batik.pdf</name>
-            <version>1.6.0.v20060613-1220-0842282835-3442</version>
-         </entry>
-         <entry>
-            <name>org.apache.commons.codec</name>
-            <version>1.3.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.apache.commons_logging.feature</name>
-            <version>1.0.4.v200606152055--08422828353873</version>
-         </entry>
-         <entry>
-            <name>org.apache.derby.core</name>
-            <version>10.1.2.1</version>
-         </entry>
-         <entry>
-            <name>org.apache.jakarta_log4j.feature</name>
-            <version>1.2.8.v200605300321--08422828353873</version>
-         </entry>
-         <entry>
-            <name>org.apache.wsil4j.feature</name>
-            <version>1.0.0.v200606071530--084228283_3443</version>
-         </entry>
-         <entry>
-            <name>org.apache.xerces.feature</name>
-            <version>2.8.0.v200605151647--08422828353873</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt</name>
-            <version>2.1.0.N20060706-1015</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.cshelp</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.runtime</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.cshelp</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.example</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer</name>
-            <version>2.1.0.N20060706-1015</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.runtime</name>
-            <version>2.1.0.N20060706-1015</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.feature</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.oda.designer.feature
-            </name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda.feature</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.enablement.feature</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.feature</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqldevtools.feature</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ocl</name>
-            <version>1.0.0.v200606261119</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.query</name>
-            <version>1.0.0.v200606261130</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.query.ocl</name>
-            <version>1.0.0.v200606261130</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.transaction</name>
-            <version>1.0.0.v200606261303</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.validation</name>
-            <version>1.0.0.v200606261144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.validation.ocl</name>
-            <version>1.0.0.v200606261144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.workspace</name>
-            <version>1.0.0.v200606261303</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox</name>
-            <version>3.2.0.v20060609m-----Cq0bcpcpbus</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.callisto</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt</name>
-            <version>3.2.0.v20060609m-F7snq1fxia-Z4XP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem</name>
-            <version>1.2.0.v20060530_RC2--ZasJzJJez</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst</name>
-            <version>1.5.0.v200606092300-kW-O_ysCRLJsxJt</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common_core.feature</name>
-            <version>1.5.0.v200605151622--08422828352537</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_core.feature</name>
-            <version>1.5.0.v200605151622--2PD88P8PAKBAGU</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_ui.feature</name>
-            <version>1.5.0.v200605151622-pEBq_gf5Sw4Q0Ud</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.enterprise_userdoc.feature</name>
-            <version>1.5.0.v200605151622--4hNDDhDcJUJeMV</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_adapters.feature</name>
-            <version>1.5.0.v200606130315--87cMN7N7UkMkV-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_core.feature</name>
-            <version>1.5.0.v200605151622--2PD88P8PAL9FBI</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_ui.feature</name>
-            <version>1.5.0.v200606130315-PGIEUCZERCNFS59</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server_userdoc.feature</name>
-            <version>1.5.0.v200605151622--08422827262337</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_core.feature</name>
-            <version>1.5.0.v200605151622--87cMN7N7UpOeZu</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_ui.feature</name>
-            <version>1.5.0.v200605151622--2PD88P8O_N9KDM</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.web_userdoc.feature</name>
-            <version>1.5.0.v200605151622</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde</name>
-            <version>3.2.0.v20060609m------6zXJJzJzJq</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform</name>
-            <version>3.2.0.v20060609m-AgOexn6hlEUsvBO</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp</name>
-            <version>3.2.0.v20060609m-SVDNgVrNoh-MeGG</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.birt</name>
-            <version>4.2.0.v200606121835--J3Fdf2f36X6t7Y</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring</name>
-            <version>4.2.0.v200606131519--_OmSTOTOd6a3aR</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.doc.user</name>
-            <version>4.2.0.v200606121835--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.examples</name>
-            <version>4.2.0.v200606121835--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.profile.server</name>
-            <version>4.1.100.v200606131519--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.report.birt</name>
-            <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.runtime</name>
-            <version>4.2.0.v200606121835--stCklslt2O-P0B</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis</name>
-            <version>4.2.1.v200606131519--3YIAAYAYEMEUEk</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.tptp.platform.analysis.codereview.java
-            </name>
-            <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis.engine</name>
-            <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.core</name>
-            <version>4.2.1.v200607130100--Cq0bcpctpGnRyt</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.core.doc.user</name>
-            <version>4.2.0.v200606121835--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.doc.user</name>
-            <version>4.2.0.v200606121835-8AcKKEiFfIYIiEo</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.examples</name>
-            <version>4.2.0.v200606121835--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.lta</name>
-            <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.probekit</name>
-            <version>4.2.0.v200606131519--3YIAAYAYEMEUEk</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.probekit.doc.user</name>
-            <version>4.2.0.v200606121835--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.profile.server</name>
-            <version>4.1.100.v200606180100--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report</name>
-            <version>4.1.101.v200606150100--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report.birt</name>
-            <version>4.2.0.v200606131519--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.runtime</name>
-            <version>4.2.1.v200607130100-ASlM31q32y_vmLy</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.samples</name>
-            <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.statistical.ui</name>
-            <version>4.1.100.v200606131519--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.trace</name>
-            <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test</name>
-            <version>4.2.1.v200607130100--4hNDDhDkISIiUn</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.doc.user</name>
-            <version>4.2.0.v200606121835--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.report.birt</name>
-            <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.runtime</name>
-            <version>4.2.1.v200607130100--Hp5ghohuxCwlF-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.samples</name>
-            <version>4.1.100.v200606131519--0842282835373A</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.tools</name>
-            <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace</name>
-            <version>4.1.100.v200606131519--1G955G5G7A7E7M</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace.report.birt</name>
-            <version>4.2.0.v200606131519--2PD88P8PAGAMAY</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace.runtime</name>
-            <version>4.2.0.v200606121835--3OA77O7O9I9M9U</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.wtp</name>
-            <version>4.2.0.v200606121835--7iSEEiEiOWOeP-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve</name>
-            <version>1.2.0.v20060530_RC2-0-a2N7MMl7</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst</name>
-            <version>1.5.0.v200606092300-U4T922yjOWsGK5Y</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_core.feature</name>
-            <version>1.5.0.v200606281000--AXrVWXWXi0YSCK</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_ui.feature</name>
-            <version>1.5.0.v200605221440-qKHiTHST7bZ4sKS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common_userdoc.feature</name>
-            <version>1.5.0.v200605151622</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_adapters.feature</name>
-            <version>1.5.0.v200605151622--Cq0bcpckpGjYIC</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_core.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFLBZQT</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_ui.feature</name>
-            <version>1.5.0.v200605221715-FTMjwSnd7ZJNsA-</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb_userdoc.feature</name>
-            <version>1.5.0.v200605151622--4hNDDhDcFjDKTF</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_core.feature</name>
-            <version>1.5.0.v200605151622--1G955G5G7A5GCE</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_ui.feature</name>
-            <version>1.5.0.v200605221710-PKiQcKzMrMnVoSS</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server_userdoc.feature</name>
-            <version>1.5.0.v200605151622--08422827262353</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_core.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAYFOFMTD</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_ui.feature</name>
-            <version>1.5.0.v200606071530-ziPyPn1qzxoJTyg</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web_userdoc.feature</name>
-            <version>1.5.0.v200605151622--1G955G5E7K7GDB</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_core.feature</name>
-            <version>1.5.0.v200606071530--4hNDDhDhISDhXc</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_ui.feature</name>
-            <version>1.5.0.v200605221450-hZYxAk0oouJ2rqA</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws_userdoc.feature</name>
-            <version>1.5.0.v200605221940--1G955G5E777H7C</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_core.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAYEPEOOF</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_ui.feature</name>
-            <version>1.5.0.v200605221438-7plFl1S6GByWT1w</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml_userdoc.feature</name>
-            <version>1.5.0.v200605151622--3YIAAYAUCVDLMP</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.mozilla.rhino</name>
-            <version>1.6.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.uddi4j.feature</name>
-            <version>2.0.3.v200606071530--084228283_3443</version>
-         </entry>
-         <entry>
-            <name>org.w3c.sac</name>
-            <version>1.3.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.wsdl4j.feature</name>
-            <version>1.4.0.v200606071500--084228283_3443</version>
-         </entry>
-      </featureData>
-      <bundleData>
-         <!-- Number of bundles: 616 -->
-         <entry>
-            <name>com.ibm.etools.emf.event</name>
-            <version>3.0.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>com.ibm.icu</name>
-            <version>3.4.4.1</version>
-         </entry>
-         <entry>
-            <name>com.jcraft.jsch</name>
-            <version>0.1.28</version>
-         </entry>
-         <entry>
-            <name>com.lowagie.itext</name>
-            <version>1.3.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.apache.ant</name>
-            <version>1.6.5</version>
-         </entry>
-         <entry>
-            <name>org.apache.axis</name>
-            <version>1.3.0.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.apache.batik</name>
-            <version>1.6.0.v20060613-1220</version>
-         </entry>
-         <entry>
-            <name>org.apache.batik.pdf</name>
-            <version>1.6.0.v20060613-1220</version>
-         </entry>
-         <entry>
-            <name>org.apache.cactus</name>
-            <version>1.7.2.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.apache.commons.codec</name>
-            <version>1.3.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.apache.commons_logging</name>
-            <version>1.0.4.v200606131651</version>
-         </entry>
-         <entry>
-            <name>org.apache.derby.core</name>
-            <version>10.1.2.1</version>
-         </entry>
-         <entry>
-            <name>org.apache.jakarta_log4j</name>
-            <version>1.2.8.v200606131651</version>
-         </entry>
-         <entry>
-            <name>org.apache.lucene</name>
-            <version>1.4.103.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.apache.wsil4j</name>
-            <version>1.0.0.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.apache.xerces</name>
-            <version>2.8.0.v200606131651</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.core</name>
-            <version>3.1.100.v20060531</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ant.ui</name>
-            <version>3.2.0.v20060531</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.cshelp</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.device.extension</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.device.pdf</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.device.svg</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.device.swt</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.engine</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.engine.extension</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.examples</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.reportitem</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.reportitem.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.runtime</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.chart.ui.extension</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.core</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.core.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.cshelp</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.data</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.data.oda</name>
-            <version>2.0.2.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.data.oda.adapter.dtp</name>
-            <version>2.0.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.example</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.adapter</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.oda.jdbc</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.oda.jdbc.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.oda.sampledb</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.oda.sampledb.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.oda.xml</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.data.oda.xml.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.debug.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer.core</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.birt.report.designer.example.samplereport
-            </name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer.ui</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer.ui.editors</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.birt.report.designer.ui.editors.schematic
-            </name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer.ui.ide</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer.ui.lib</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.birt.report.designer.ui.lib.explorer
-            </name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.designer.ui.preview</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.engine</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.engine.emitter.html</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.engine.emitter.pdf</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.engine.fonts</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.model</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.model.adapter.oda</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.runtime</name>
-            <version>2.1.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.birt.report.viewer</name>
-            <version>2.1.0.N20060706-1015</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.core</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.core.win32</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.debug.core</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.debug.mi.core</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.debug.mi.ui</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.debug.ui</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.doc.user</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.launch</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.make.core</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.make.ui</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.managedbuilder.core</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.managedbuilder.gnu.ui</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.managedbuilder.ui</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.refactoring</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.cdt.ui</name>
-            <version>3.1.0.200606261600</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.compare</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.boot</name>
-            <version>3.1.100.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.commands</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.contenttype</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.expressions</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filebuffers</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filesystem</name>
-            <version>1.0.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.filesystem.win32.x86</name>
-            <version>1.0.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.jobs</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources.compatibility</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.resources.win32</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility</name>
-            <version>3.1.100.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility.auth</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.runtime.compatibility.registry</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.core.variables</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity</name>
-            <version>0.9.0.200606131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.db.derby</name>
-            <version>0.9.0.200606131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.db.generic</name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.db.generic.ui
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.dbdefinition.derby
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.dbdefinition.genericJDBC
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.derby</name>
-            <version>0.9.0.200606071</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.derby.ui</name>
-            <version>0.9.0.200606021</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.finfo</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda</name>
-            <version>3.0.1.200606081</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda.consumer</name>
-            <version>3.0.1.200606071</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda.design</name>
-            <version>3.0.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.oda.design.ui
-            </name>
-            <version>3.0.1.200606021</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.oda.designer.finfo
-            </name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda.finfo</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda.flatfile</name>
-            <version>3.0.0.200606081</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.oda.flatfile.ui
-            </name>
-            <version>3.0.0.200606081</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.oda.profile</name>
-            <version>3.0.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.sqm.core</name>
-            <version>0.9.0.200606071</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.sqm.core.ui</name>
-            <version>0.9.0.200606071</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.connectivity.sqm.server.ui
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.ui</name>
-            <version>0.9.0.200606131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.connectivity.ui.dse</name>
-            <version>0.9.0.200606131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.enablement.finfo</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.ibm.db2.luw.profile
-            </name>
-            <version>0.9.0.200606061</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.ibm.informix.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.enablement.mysql</name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.mysql.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.enablement.mysql.profile</name>
-            <version>0.9.0.200606061</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.oracle.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.enablement.oracle.profile</name>
-            <version>0.9.0.200606061</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.sybase.ase.dbdefinition
-            </name>
-            <version>0.9.0.200605231</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.enablement.sybase.ase.profile
-            </name>
-            <version>0.9.0.200606061</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.dbdefinition</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.derby</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.edit</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.finfo</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.sql</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.sql.query</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.modelbase.sql.xml.query</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.common.ui</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.db.derby</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.db.generic</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.debugger.core</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.editor.core</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.finfo</name>
-            <version>0.9.0.200606161</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.parsers.sql</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.sqltools.parsers.sql.lexer
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.sqltools.parsers.sql.query
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.datatools.sqltools.parsers.sql.xml.query
-            </name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.plan</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.result</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.routineeditor</name>
-            <version>0.9.0.200605121</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.sql</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.sqleditor</name>
-            <version>0.9.0.200605121</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.datatools.sqltools.sqlscrapbook</name>
-            <version>0.9.0.200605101</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.debug.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.debug.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.draw2d</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ant</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen.ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen.ecore.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.codegen.ui</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.common</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.common.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.commonj.sdo</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.converter</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.change</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.change.edit</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.edit</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.editor</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.edit</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.sdo.editor</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ecore.xmi</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.edit</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.edit.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.exporter</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer.ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer.java</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.importer.rose</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2ecore</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2ecore.editor</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2xml</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ecore2xml.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.ui</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.xsd2ecore</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.mapping.xsd2ecore.editor</name>
-            <version>2.1.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.ocl</name>
-            <version>1.0.0.v200606261119</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.query</name>
-            <version>1.0.0.v200606261130</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.query.ocl</name>
-            <version>1.0.0.v200606261130</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.transaction</name>
-            <version>1.0.0.v200606261303</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.transaction.ui</name>
-            <version>1.0.0.v200606261303</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.validation</name>
-            <version>1.0.0.v200606261144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.validation.ocl</name>
-            <version>1.0.0.v200606261144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.validation.ui</name>
-            <version>1.0.0.v200606261144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.validation.ui.ide</name>
-            <version>1.0.0.v200606261144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.workspace</name>
-            <version>1.0.0.v200606261303</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.emf.workspace.ui</name>
-            <version>1.0.0.v200606261303</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.common</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.device</name>
-            <version>1.0.0.v20060601a</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.event</name>
-            <version>1.0.0.v20060601a</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.http</name>
-            <version>1.0.0.v20060601a</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.log</name>
-            <version>1.0.0.v20060601a</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.metatype</name>
-            <version>1.0.0.v20060601a</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.preferences</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.registry</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.servlet.api</name>
-            <version>1.0.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.equinox.useradmin</name>
-            <version>1.0.0.v20060601a</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gef</name>
-            <version>3.2.0.v20060626</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.bridge</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.bridge.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.bridge.ui.dashboard</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.codegen</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.codegen.edit</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.codegen.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.common</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.doc.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.ecore.editor</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.graphdef</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.graphdef.codegen</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.graphdef.codegen.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.graphdef.edit</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.map</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.map.edit</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.core</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.ui.action</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.ui.action.ide</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.ui.printing</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.common.ui.printing.win32
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.ui.services</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.common.ui.services.action
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.common.ui.services.dnd</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.common.ui.services.dnd.ide
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.common.ui.services.properties
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.core</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.actions</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.dnd</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.geoshapes</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.printing</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.diagram.ui.printing.render
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.properties</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.providers</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.diagram.ui.providers.ide
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.diagram.ui.render</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.diagram.ui.resources.editor
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide
-            </name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.draw2d.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.draw2d.ui.render</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.draw2d.ui.render.awt</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.clipboard.core</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.commands.core</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.core</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.type.core</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.type.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.emf.ui.properties</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.gef.ui</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.notation</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.notation.edit</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.runtime.notation.providers</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.sdk</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.tooldef</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.tooldef.edit</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.gmf.validate</name>
-            <version>1.0.0.v20060627-1200</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.appserver</name>
-            <version>3.1.100.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.base</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.ui</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.help.webapp</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.analysis.engine</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.execution</name>
-            <version>4.2.1.v200607121546</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.execution.correlation</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.execution.trace</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.execution.win32.x86</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.logging.adapter</name>
-            <version>4.2.0.v200606170100</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.logging.adapter.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.logging.core</name>
-            <version>4.2.1.v200607121546</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.logging.core.sample</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.logging.parsers</name>
-            <version>4.2.0.v200606190100</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.perfmon</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.probekit</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.probekit.doc.user</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.probekit.ui</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.resources.database</name>
-            <version>4.1.100.v200606190100</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.sdb</name>
-            <version>4.1.100.v200606140100</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.statistical.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.test.core</name>
-            <version>4.2.1.v200607131756</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.test.doc.user</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.test.tools.core</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.test.tools.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.test.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.test.ui.extensions</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.trace.sample</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.trace.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.trace.views</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.hyades.ui</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.apt.core</name>
-            <version>3.2.0.v20060602-1740</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.apt.ui</name>
-            <version>3.2.0.v20060602-1740</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.core</name>
-            <version>3.2.0.v_671</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.core.manipulation</name>
-            <version>1.0.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.debug</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.debug.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.doc.user</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit.runtime</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.junit4.runtime</name>
-            <version>1.0.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.launching</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jdt.ui</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.beaninfo</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.proxy</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.ui</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.util</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jem.workbench</name>
-            <version>1.2.0.v20060530_RC2</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface.databinding</name>
-            <version>1.0.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jface.text</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst</name>
-            <version>1.0.1.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.annotations.controller</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.annotations.core</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.annotations.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.frameworks</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.common.project.facet.core</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ejb.doc.user</name>
-            <version>1.0.201.v200605291441</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ejb.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee</name>
-            <version>1.1.0.v200606222043</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.core</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.doc.user</name>
-            <version>1.0.201.v200605152316</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb</name>
-            <version>1.1.0.v200606152049</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotation.model</name>
-            <version>1.1.0.v200606212143</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotations.emitter</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotations.ui</name>
-            <version>1.1.0.v200606212143</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ejb.annotations.xdoclet</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.infopop</name>
-            <version>1.0.201.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.jca</name>
-            <version>1.1.0.v200606152049</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.jca.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.navigator.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.web</name>
-            <version>1.1.0.v200606152049</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.webservice</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.webservice.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.j2ee.xdoclet.runtime</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.jsp.core</name>
-            <version>1.1.0.v200606191945</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.jsp.ui</name>
-            <version>1.1.0.v200606191945</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.jsp.ui.infopop</name>
-            <version>1.0.2.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.core</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.core</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.jboss</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.jonas</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.oc4j</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.ui</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.generic.weblogic</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.installable</name>
-            <version>1.5.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.tomcat.core</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.tomcat.ui</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.ui</name>
-            <version>1.0.102.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.ui.doc.user</name>
-            <version>1.0.1.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.ui.infopop</name>
-            <version>1.0.2.v200605040115</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.server.websphere.core</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.servlet.ui</name>
-            <version>1.1.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.servlet.ui.infopop</name>
-            <version>1.0.201.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.consumption.core</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.consumption.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.creation.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.infopop</name>
-            <version>1.0.201.v200605152241</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.axis.ui.doc.user</name>
-            <version>1.0.201.v200605111705</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption</name>
-            <version>1.0.101.v200606131923</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption.infopop</name>
-            <version>1.0.201.v200605152241</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.consumption.ui.doc.user</name>
-            <version>1.0.201.v200605111705</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.creation.ejb.ui</name>
-            <version>1.0.0.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.creation.ui</name>
-            <version>1.0.101.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.doc.user</name>
-            <version>1.0.201.v200605111641</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.infopop</name>
-            <version>1.0.201.v200605162034</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.uddiregistry</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.jst.ws.ui</name>
-            <version>1.0.100.v200606130315</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ltk.core.refactoring</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ltk.ui.refactoring</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi.services</name>
-            <version>3.1.100.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.osgi.util</name>
-            <version>3.1.100.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.build</name>
-            <version>3.2.0.v20060603</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.doc.user</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.junit.runtime</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.runtime</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.pde.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.platform.doc.user</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.rcp</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.search</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.swt</name>
-            <version>3.2.0.v3232o</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.swt.win32.win32.x86</name>
-            <version>3.2.0.v3232m</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.core</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.core</name>
-            <version>3.2.0.M20060628</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ssh</name>
-            <version>3.2.0.I200606011710</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ssh2</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.cvs.ui</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.team.ui</name>
-            <version>3.2.0.I200606051140</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.text</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tomcat</name>
-            <version>4.1.130.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.doc.user</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.examples</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.logui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.profile.server</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.report.birt</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.tptp.monitoring.report.birt.doc.user
-            </name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.monitoring.report.birt.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.agentcontroller</name>
-            <version>4.1.100.v200606170100</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.tptp.platform.agentcontroller.doc.user
-            </name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.tptp.platform.analysis.codereview.java
-            </name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.tptp.platform.analysis.codereview.java.rules
-            </name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis.core</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis.core.ui</name>
-            <version>4.2.1.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis.core.ui.doc</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.analysis.engine</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.collection.framework</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.core</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.doc.user</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.examples</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.execution</name>
-            <version>4.2.0.v200606140100</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.log.views</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.lta</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.models</name>
-            <version>4.2.1.v200607131756</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.probekit</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.probekit.launch</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.profile.server</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.profile.server.core</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.profile.server.wst</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report.birt</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report.birt.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report.core</name>
-            <version>4.1.101.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.report.ui</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.samples</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.statistical.ui</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.platform.trace</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.report.birt</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.report.birt.doc.user</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.report.birt.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.samples</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.test.tools</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace</name>
-            <version>4.1.100.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace.report.birt</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace.report.birt.doc.user</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.tptp.trace.report.birt.ui</name>
-            <version>4.2.0.v200606131519</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.browser</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.cheatsheets</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.console</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.editors</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.externaltools</name>
-            <version>3.1.100.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.forms</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.ide</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.intro</name>
-            <version>3.2.0.v20060601</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.intro.universal</name>
-            <version>3.2.0.v20060602</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.navigator</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.navigator.resources</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.presentations.r21</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.views</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.views.properties.tabbed</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.win32</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench.compatibility</name>
-            <version>3.2.0.I20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ui.workbench.texteditor</name>
-            <version>3.2.0.v20060605-1400</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.configurator</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.core</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.core.win32</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.scheduler</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.update.ui</name>
-            <version>3.2.0.v20060605</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve.cde</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve.doc</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve.java.core</name>
-            <version>1.2.0.v20060620_RC3</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve.jfc</name>
-            <version>1.2.0.v20060620_RC3</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve.propertysheet</name>
-            <version>1.2.0.v20060518_RC1</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.ve.swt</name>
-            <version>1.2.0.v20060628</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst</name>
-            <version>1.0.1.v200605040144</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env.core</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env.infopop</name>
-            <version>1.0.2.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.command.env.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.core</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.emf</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.emfworkbench.integration</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.environment</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.frameworks</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.frameworks.ui</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.infopop</name>
-            <version>1.0.1.v200605270041</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.modulecore</name>
-            <version>1.1.0.v200606222043</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.project.facet.core</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.project.facet.ui</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.snippets</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.ui</name>
-            <version>1.1.0.v200606142122</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.ui.properties</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.common.uriresolver</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.css.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.css.ui</name>
-            <version>1.0.100.v200606141450</version>
-         </entry>
-         <entry>
-            <name>
-               org.eclipse.wst.datatools.connection.ui.doc.user
-            </name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.datatools.data.ui.doc.user</name>
-            <version>1.0.1.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.datatools.fe.ui.doc.user</name>
-            <version>1.0.201.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.datatools.server.ui.doc.user</name>
-            <version>1.0.1.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.doc.user</name>
-            <version>1.0.201.v200605181647</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtd.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtd.ui</name>
-            <version>1.0.100.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtd.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.dtdeditor.doc.user</name>
-            <version>1.0.2.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.standard.dtds</name>
-            <version>1.0.0</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.ui</name>
-            <version>1.0.100.v200606191945</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.html.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.cache</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.monitor.core</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.monitor.ui</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.proxy</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.internet.proxy.infopop</name>
-            <version>1.0.0.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.javascript.core</name>
-            <version>1.0.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.javascript.ui</name>
-            <version>1.0.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.javascript.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.connection.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.connection.ui.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.core</name>
-            <version>1.0.107.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.core.ui</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.data.core</name>
-            <version>1.0.104.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.data.ui</name>
-            <version>1.0.105.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.db2.iseries</name>
-            <version>1.0.102.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.db2.luw</name>
-            <version>1.0.103.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.db2.zseries</name>
-            <version>1.0.102.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.derby</name>
-            <version>1.0.102.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.generic.jdbc</name>
-            <version>1.0.101.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.informix</name>
-            <version>1.0.102.v200605082300</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.mysql</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.oracle</name>
-            <version>1.0.101.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.sqlserver</name>
-            <version>1.0.102.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.dbdefinition.sybase</name>
-            <version>1.0.103.v200606221744</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.derby</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.derby.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.fe.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.fe.ui.actions</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.fe.ui.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.models.dbdefinition</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.models.sql</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.models.sql.edit</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.mysql</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.outputview</name>
-            <version>1.0.104.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.outputview.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.server.extensions</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.server.ui</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.server.ui.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.sqleditor</name>
-            <version>1.0.103.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.sqleditor.infopop</name>
-            <version>1.0.0.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.rdb.sqlscrapbook</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.core</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.ui</name>
-            <version>1.0.102.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.ui.doc.user</name>
-            <version>1.0.2.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.server.ui.infopop</name>
-            <version>1.0.2.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sqleditor.doc.user</name>
-            <version>1.0.0.v200605270041</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.core</name>
-            <version>1.1.0.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.doc.user</name>
-            <version>1.0.201.v200605152316</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.ui</name>
-            <version>1.0.101.v200606191900</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.sse.ui.infopop</name>
-            <version>1.0.101.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.validation</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.validation.infopop</name>
-            <version>1.0.201.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.validation.ui</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web</name>
-            <version>1.1.0.v200606222043</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web.ui</name>
-            <version>1.1.0.v200606161959</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.web.ui.infopop</name>
-            <version>1.0.201.v200605070230</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.webtools.doc.user</name>
-            <version>1.0.201.v200605181650</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.explorer</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.infopop</name>
-            <version>1.0.201.v200605152241</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.parser</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.ws.ui</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl</name>
-            <version>1.0.100.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl.ui</name>
-            <version>1.1.0.v200606142122</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl.ui.doc.user</name>
-            <version>1.0.201.v200605111623</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsdl.validation</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsi</name>
-            <version>1.0.101.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsi.ui</name>
-            <version>1.0.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.wsi.ui.doc.user</name>
-            <version>1.0.201.v200605111705</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml.core</name>
-            <version>1.1.0.v200606142000</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml.ui</name>
-            <version>1.0.100.v200606141450</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xml.ui.infopop</name>
-            <version>1.0.1.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xmleditor.doc.user</name>
-            <version>1.0.201.v200605040131</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xsd.core</name>
-            <version>1.1.0.v200606130645</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xsd.ui</name>
-            <version>1.1.0.v200606142122</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.wst.xsdeditor.doc.user</name>
-            <version>1.0.201.v200605181657</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.ecore.exporter</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.ecore.importer</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.edit</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.eclipse.xsd.editor</name>
-            <version>2.2.0.v200606271057</version>
-         </entry>
-         <entry>
-            <name>org.junit</name>
-            <version>3.8.1</version>
-         </entry>
-         <entry>
-            <name>org.junit4</name>
-            <version>4.1.0</version>
-         </entry>
-         <entry>
-            <name>org.mozilla.rhino</name>
-            <version>1.6.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.uddi4j</name>
-            <version>2.0.4.v200606181221</version>
-         </entry>
-         <entry>
-            <name>org.w3c.sac</name>
-            <version>1.3.0.N20060628-1351</version>
-         </entry>
-         <entry>
-            <name>org.wsdl4j</name>
-            <version>1.4.0.v200606181221</version>
-         </entry>
-      </bundleData>
-   </referenceData>
-</versioningData>
diff --git a/org.eclipse.europa.tools.versionchecker/runVersionLister.bat b/org.eclipse.europa.tools.versionchecker/runVersionLister.bat
deleted file mode 100644
index 31879d9..0000000
--- a/org.eclipse.europa.tools.versionchecker/runVersionLister.bat
+++ /dev/null
@@ -1,35 +0,0 @@
-@echo off
-
-rem specify devworkspace and JRE to use to runEclipse
-
-set devworkspace=%1
-if %devworkspace%. == . set devworkspace=./workspace
-
-rem this is a SUN 1.4.2 JRE
-set devJRE=\JDKs\j2sdk1.4.2_11\bin\javaw.exe
-
-rem IBM's 1.4.2 JRE
-rem set devJRE=\JDKs\ibm-sdk-n142p-win32-x86\bin\java.exe
-
-rem Sun's 1.5 JRE
-rem set devJRE=\JDKs\jdk1.5.0_07\bin\java.exe
-rem set devJRE=\JDKs\jdk1.5.0_05\bin\java.exe
-
-rem IBM's 1.5 JRE
-rem set devJRE=\JDKs\ibm-java2-sdk-50\bin\java.exe
-
-
-
-echo dev:          %0
-echo.
-echo devworkspace: %devworkspace%
-echo.
-echo devJRE:       %devJRE%
-%devJRE% -version
-echo.
-
-rem set versionListerCommands=-listToReferenceFile 
-set versionListerCommands=-testToReference WTPSDK151
-
-eclipse -application org.eclipse.europa.tools.versionchecker.listVersions -clean -nosplash -showlocation -refresh  -data %devworkspace%  %versionListerCommands% -vm %devjre% -vmargs  -showversion -Xmx256M 1>versionCheckerOutput.txt
-
diff --git a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/ClassPathResolver.java b/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/ClassPathResolver.java
deleted file mode 100644
index e685b4b..0000000
--- a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/ClassPathResolver.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.europa.tools.versionchecker;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * ClassPathResolver
- */
-
-public class ClassPathResolver implements EntityResolver {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
-
-		String id = systemId;
-		if (id.startsWith("file:///")) {
-			id = id.substring("file:///".length()); 
-		}
-		InputStream stream = getClass().getResourceAsStream(id);
-		if (stream == null) {
-			return null;
-		}
-		else {
-			return new InputSource(stream);
-		}
-	}
-
-}
diff --git a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/DependencyChecker.java b/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/DependencyChecker.java
deleted file mode 100644
index 2857f40..0000000
--- a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/DependencyChecker.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *      Pascal Rapicault, IBM - Initial implementation
- *      David Williams, IBM, - added 
- *          'conservative' directive
- *          'workpaceRoot' directive
- *          maintained some other attributes in pre-req'd bundles
- *          made output "ready to paste", if desired. 
- *      
- *******************************************************************************/
-package org.eclipse.europa.tools.versionchecker;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.BundleSpecification;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Version;
-
-/**
- * A simple, unsupported, little-tested utility to help convert from using
- * unconstrained pre-req'd bundles, to ones constrained to be within a certain
- * range.
- * 
- * For example, if a plugin's manifest.mf file specifies
- * 
- * <p>
- * <code>Require-Bundle: org.eclipse.core.runtime</code>
- * </p>
- * <p>
- * this utility will write
- * </p>
- * <p>
- * <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,4.0.0)&quot;</code>
- * </p>
- * <p>
- * or
- * </p>
- * <p>
- * <code>Require-Bundle: org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;</code>
- * </p>
- * <p>
- * if <i>-conservative</i> is specified. In all case the lower bound is
- * determined by the version found as this utility actually runs.
- * 
- * </pre>
- * 
- * <p>
- * Directives:
- * </p>
- * <p>
- * -filter "some regx expression"
- * </p>
- * <p>
- * Will write/check manifest only for those plugins matching regx expression.
- * </p>
- * <p>
- * -conservative
- * </p>
- * <p>
- * Will increment 'minor' code, instead of 'major' code in upper bound of the
- * range. This is required for those using another plugin's internal (non-API)
- * methods, and recommended if you do not know for sure you are using
- * API-only. The default is not-conservative, which increments the major
- * field.
- * </p>
- * <p>
- * -workspaceRoot "absolute file system path name to workspace"
- * </p>
- * <p>
- * If specified, the manifest.mf files found in the workspace will be
- * re-written with the results of this tool. Note. The workspace must "match"
- * the runtime the tool is running in, for this to make any sense. The default
- * is to simply write the recommended "Require-Bundle:" section the console
- * log.
- * </p>
- * <p>
- * Note: re-export visibility and optional resolution are maintained "as is"
- * in output (but other pre-req settings (e.g. vendor?) may be lost. The
- * intent is to provide "ready for pasting" content, if its happens to work
- * well for your cases.
- * </p>
- * <p>
- * Example invocation:
- * </p>
- * <p>
- * 
- * <pre>
- * 
- * java -jar startup.jar -clean -application
- * org.eclipse.europa.tools.versionchecker.dependencyChecker
- * 
- * </pre>
- * 
- * </p>
- * 
- * <p>
- * Example output:
- * </p>
- * 
- * <pre>
- * 
- * bundle org.eclipse.wst.xml.core Require-Bundle:
- * org.eclipse.core.runtime;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- * org.eclipse.core.resources;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- * org.eclipse.wst.common.uriresolver;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.wst.sse.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.text;bundle-version=&quot;[3.2.0,3.3.0)&quot;,
- * org.eclipse.jem.util;resolution:=optional;bundle-version=&quot;[1.2.0,1.3.0)&quot;,
- * org.eclipse.wst.validation;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.emf.ecore.edit;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- * org.eclipse.wst.common.emf;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.emf.ecore.xmi;resolution:=optional;bundle-version=&quot;[2.2.0,2.3.0)&quot;,
- * org.eclipse.wst.common.emfworkbench.integration;resolution:=optional;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * org.eclipse.wst.common.core;bundle-version=&quot;[1.1.0,1.2.0)&quot;,
- * com.ibm.icu;bundle-version=&quot;[3.4.4,3.5.0)&quot;,
- * org.apache.xerces;visibility:=reexport;bundle-version=&quot;[2.8.0,2.9.0)&quot;
- * 
- * </pre>
- */
-public class DependencyChecker implements IPlatformRunnable {
-
-	private static final String CONSERVATIVE_DIRECTIVE = "-conservative";
-	private static final String FILTER_DIRECTIVE = "-filter";
-	private static final String WORKSPACEROOT_DIRECTIVE = "-workspaceRoot";
-
-	private static final String REQUIRE_BUNDLE = "Require-Bundle:";
-	private static final String EOL = System.getProperty("line.separator");
-	private boolean conservative = false;
-	private String workspaceroot;
-
-
-
-	public DependencyChecker() {
-	}
-
-	public Object run(Object o) throws Exception {
-		String args[] = Platform.getApplicationArgs();
-		String filter = null;
-		for (int nArgs = 0; nArgs < args.length; nArgs++) {
-			if (args[nArgs].equals(FILTER_DIRECTIVE) && (nArgs + 1 < args.length))
-				filter = args[nArgs + 1];
-			else if (args[nArgs].equals(CONSERVATIVE_DIRECTIVE)) {
-				conservative = true;
-			}
-			else if (args[nArgs].equals(WORKSPACEROOT_DIRECTIVE) && (nArgs + 1 < args.length))
-				workspaceroot = args[nArgs + 1];
-
-		}
-
-		BundleDescription bundles[] = Platform.getPlatformAdmin().getState().getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			String bundleName = bundles[i].getSymbolicName();
-			if ((filter == null) || bundleName.matches(filter)) {
-				BundleSpecification req[] = bundles[i].getRequiredBundles();
-				ArrayList bundleSpecStrings = new ArrayList();
-				for (int j = 0; j < req.length; j++) {
-
-					BundleSpecification currentBundle = req[j];
-					VersionRange specifiedRange = currentBundle.getVersionRange();
-					if (specifiedRange == VersionRange.emptyRange) {
-
-						BundleDescription required = Platform.getPlatformAdmin().getState().getBundle(currentBundle.getName(), null);
-						if (required != null) {
-							Version reqVersion = required.getVersion();
-							Version minVersion = new Version(reqVersion.getMajor(), reqVersion.getMinor(), reqVersion.getMicro());
-							Version maxVersion = null;
-							if (conservative) {
-								maxVersion = new Version(minVersion.getMajor(), minVersion.getMinor() + 1, 0);
-							}
-							else {
-								maxVersion = new Version(minVersion.getMajor() + 1, 0, 0);
-
-							}
-
-							String name = currentBundle.getName();
-
-							String exported = "";
-							if (currentBundle.isExported()) {
-								exported = ";visibility:=reexport";
-							}
-
-							String optional = "";
-							if (currentBundle.isOptional()) {
-								exported = ";resolution:=optional";
-							}
-
-							String requiredRange = ";bundle-version=\"" + new VersionRange(minVersion, true, maxVersion, false) + "\"";
-
-							String spec = new String(" " + name + exported + optional + requiredRange);
-
-							bundleSpecStrings.add(spec);
-						}
-					}
-				}
-
-				// print
-				if (bundleSpecStrings.size() > 0) {
-					// header
-					System.out.println();
-					System.out.println("bundle " + bundleName);
-
-					StringBuffer sb = formStringBuffer(bundleSpecStrings);
-
-					System.out.println(sb);
-
-					if (workspaceroot != null) {
-						rewriteManifest(bundleName, sb);
-					}
-
-				}
-			}
-		}
-
-		return IPlatformRunnable.EXIT_OK;
-	}
-
-	private void rewriteManifest(String bundleName, StringBuffer sb) throws IOException {
-
-		try {
-			Reader reader = new FileReader(workspaceroot + bundleName + "/META-INF/MANIFEST.MF");
-
-			BufferedReader bufferedReader = new BufferedReader(reader);
-			ArrayList initialLines = new ArrayList();
-			ArrayList finalLines = new ArrayList();
-			String inline = null;
-			inline = bufferedReader.readLine();
-			while ((inline != null) && (!(inline.startsWith(REQUIRE_BUNDLE)))) {
-				initialLines.add(new String(inline));
-				inline = bufferedReader.readLine();
-			}
-
-			if (inline != null) {
-				inline = bufferedReader.readLine();
-				while (((inline != null) && (inline.startsWith(" ")))) {
-					inline = bufferedReader.readLine();
-				}
-			}
-
-			while (inline != null) {
-				finalLines.add(new String(inline));
-				inline = bufferedReader.readLine();
-			}
-			bufferedReader.close();
-
-			Writer writer = new FileWriter(workspaceroot + bundleName + "/META-INF/MANIFEST.MF");
-			BufferedWriter bufferedWriter = new BufferedWriter(writer);
-			for (int lines = 0; lines < initialLines.size(); lines++) {
-				bufferedWriter.write(initialLines.get(lines) + EOL);
-			}
-			bufferedWriter.write(sb.toString());
-			for (int lines = 0; lines < finalLines.size(); lines++) {
-				bufferedWriter.write(finalLines.get(lines) + EOL);
-			}
-			bufferedWriter.close();
-		}
-		catch (FileNotFoundException e) {
-			// if no manifest file, ignore, there's nothing to re-write
-		}
-	}
-
-	private StringBuffer formStringBuffer(ArrayList bundleSpecStrings) {
-		StringBuffer sb = new StringBuffer();
-
-		// spec section (note, print only, no EOL, no space)
-		sb.append(REQUIRE_BUNDLE);
-
-		for (int k = 0; k < bundleSpecStrings.size(); k++) {
-			sb.append(bundleSpecStrings.get(k));
-			String COMMA = "";
-			if (k < bundleSpecStrings.size() - 1) {
-				COMMA = ",";
-			}
-			sb.append(COMMA + EOL);
-		}
-
-		return sb;
-
-	}
-}
diff --git a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/VersionLister.java b/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/VersionLister.java
deleted file mode 100644
index 1924874..0000000
--- a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/VersionLister.java
+++ /dev/null
@@ -1,764 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- *      
- *******************************************************************************/
-package org.eclipse.europa.tools.versionchecker;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Writer;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.update.configurator.ConfiguratorUtils;
-import org.eclipse.update.configurator.IPlatformConfiguration;
-import org.eclipse.update.configurator.IPlatformConfiguration.IFeatureEntry;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.Version;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * 
- * A simple, unsupported, little-tested utility to check version numbers of
- * currently installed plugins against a reference list that was previously
- * prepared by running this utility on some earlier installed stack.
- * 
- */
-public class VersionLister implements IPlatformRunnable {
-
-	private static final String REFERENCE_VERSIONING_DATA_XML = "referenceVersioningData.xml";
-
-	private static final String VERSION_CHECKER_BUNDLE_NAME = "org.eclipse.europa.tools.versionchecker";
-
-	private static final String EOL = System.getProperty("line.separator");
-
-	private static final String[] alwaysExclude = new String[]{"org.eclipse.releng.tools", "org.tigris.mm.ui", "org.eclipse.core.resources.spysupport", "com.yourkit.profiler", "org.eclipse.core.tools.resources", "org.eclipse.core.tools", "org.eclipse.europa.tools.versionchecker"};
-	private static final String[] alwaysExcludeFeatures = new String[]{"org.eclipse.releng.tools", "org.eclipse.test"};
-
-	private static final int HELP = 0;
-	private static final String HELP_ARG = "-help";
-
-	private static final int LIST_TO_CONSOLE = 1;
-	private static final String LIST_TO_CONSOLE_ARG = "-listToReferenceFile";
-
-	private static final int TEST_TO_REFERENCE = 2;
-	private static final String TEST_TO_REFERENCE_ARG = "-testToReference";
-
-	private static final int MAJOR = 0;
-	private static final int MINOR = 1;
-	private static final int SERVICE = 2;
-	private static final int QUALIFIER = 3;
-
-	private static final String BUNDLE_DATA = "bundleData";
-
-	private static final String FEATURE_DATA = "featureData";
-
-	private static final int ERROR_BASE_CODE = 90000;
-	private static final int ERROR_BUNDLE_DECREASE = 0x0001;
-	private static final int ERROR_FEATURE_DECREASE = 0x0010;
-	private static final int ERROR_EXCEPTION_OCCURRED = 0x0100;
-	private static final Object OK_EXIT = IPlatformRunnable.EXIT_OK;
-
-	public VersionLister() {
-	}
-
-	public static void main(String[] args) {
-		// for quick tests, only
-		VersionLister versionLister = new VersionLister();
-		versionLister.clean("M-testing-123");
-	}
-
-	public Object run(Object o) throws Exception {
-
-		int exitResult = ERROR_BASE_CODE;
-		String args[] = null;
-		if (o instanceof String[]) {
-			args = (String[]) o;
-		}
-		else {
-			doPrintHelp();
-			return OK_EXIT;
-		}
-
-		printArgs(args);
-		// printProperties();
-
-		if (args == null) {
-			exitResult = exitResult | doPrintHelp();
-		}
-		else if ((args != null) && (args.length == 0)) {
-			exitResult = exitResult | doPrintHelp();
-		}
-		else {
-			boolean someCommandExecuted = false;
-			for (int i = 0; i < args.length; i++) {
-				String arg = args[i].trim();
-				System.out.println("command: " + arg);
-				switch (getCommand(arg)) {
-					case LIST_TO_CONSOLE : {
-						// System.out.println(" executing list to console");
-						String xmlId = null;
-						int idPos = i + 1;
-						if (idPos < args.length) {
-							String possibleId = args[idPos];
-							// sanity check just not another command
-							if (!possibleId.startsWith("-")) {
-								xmlId = possibleId;
-							}
-							else {
-								xmlId = getDefaultID();
-							}
-						}
-						else {
-							xmlId = getDefaultID();
-						}
-
-						exitResult = exitResult | doListCurrentToConsole(xmlId);
-
-						someCommandExecuted = true;
-						break;
-					}
-					case TEST_TO_REFERENCE : {
-						// System.out.println(" executing test to reference");
-						String referenceId = "WTPSDK";
-						String referenceFilename = REFERENCE_VERSIONING_DATA_XML;
-						int idPos = i + 1;
-						if (idPos < args.length) {
-							String possibleId = args[idPos];
-							// sanity check just not another command
-							if (!possibleId.startsWith("-")) {
-								referenceId = possibleId;
-							}
-						}
-						idPos++;
-						if (idPos < args.length) {
-							String possibleFilename = args[idPos];
-							// sanity check just not another command
-							if (!possibleFilename.startsWith("-")) {
-								referenceFilename = possibleFilename;
-							}
-						}
-
-
-						String buildLabel = System.getProperty("buildLabel");
-						if (buildLabel != null && buildLabel.length() != 0) {
-							// leave buildLabel as found, for here (may adjust
-							// later)
-						}
-						else {
-							buildLabel = "NoBuildLabel";
-						}
-						someCommandExecuted = true;
-						exitResult = exitResult | doTestToReference(referenceId, referenceFilename, buildLabel);
-
-						// minor error in arguments
-						if (!someCommandExecuted) {
-							exitResult = exitResult | doPrintHelp();
-						}
-						break;
-					}
-					case HELP : {
-						exitResult = exitResult | doPrintHelp();
-						someCommandExecuted = true;
-						break;
-					}
-					default : {
-						/* do nothing, since in a loop */
-						break;
-					}
-				}
-			}
-			if (!someCommandExecuted) {
-				exitResult = exitResult | doPrintHelp();
-			}
-		}
-		Object result = IPlatformRunnable.EXIT_OK;
-		if (exitResult > ERROR_BASE_CODE) {
-			result = new Integer(exitResult);
-		}
-		return result;
-	}
-
-	void printArgs(String[] args) {
-		System.out.println("\t Program Arguments: ");
-		for (int i = 0; i < args.length; i++) {
-			System.out.println("\t\t" + args[i]);
-		}
-
-	}
-
-	void printProperties() {
-		Properties properties = System.getProperties();
-		properties.list(System.out);
-	}
-
-	private int doTestToReference(String id, String referenceFileName, String currentId) {
-		int exit_code = ERROR_BASE_CODE;
-
-
-		try {
-			Map refMap = getReferenceBundleMap(id, referenceFileName);
-			// will be null if no ID found.
-			if (refMap != null) {
-				String outputFileName = "versioningReport";
-				File outfile = createOutputFile(outputFileName);
-				Writer reportWriter = new FileWriter(outfile);
-				reportWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + EOL);
-
-				reportWriter.write("<versioningReport>" + EOL);
-				reportWriter.write("<versioningReportData id=\"" + id + "\"" + " current=\"" + clean(currentId) + "\"" + ">" + EOL);
-
-				Map currMap = makeBundleMap();
-				String checkingType = "bundle";
-				int bundle_return = _compareReferenceAndCurrent(currMap, refMap, checkingType, ERROR_BUNDLE_DECREASE, reportWriter);
-				exit_code = exit_code | bundle_return;
-
-				refMap = getReferenceFeatureMap(id, referenceFileName);
-				currMap = makeFeatureMap();
-				checkingType = "feature";
-				int feature_return = _compareReferenceAndCurrent(currMap, refMap, checkingType, ERROR_FEATURE_DECREASE, reportWriter);
-				exit_code = exit_code | feature_return;
-
-				reportWriter.write("</versioningReportData>" + EOL);
-				reportWriter.write("</versioningReport>" + EOL);
-
-				System.out.println("Note: versioning report written to " + outfile.getAbsolutePath());
-				reportWriter.close();
-
-
-			}
-			else {
-				System.out.println("No reference ID found named " + id);
-			}
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-		catch (FileNotFoundException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-		catch (SAXException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-
-		catch (IOException e) {
-			e.printStackTrace();
-			exit_code = exit_code & ERROR_EXCEPTION_OCCURRED;
-		}
-
-		return exit_code;
-	}
-
-	private File createOutputFile(String outputFileName) throws IOException {
-		File outputDirectory = null;
-		String outputDirName = System.getProperty("buildDirectory");
-		String dirLabel = System.getProperty("buildLabel");
-		if (outputDirName != null && outputDirName.length() > 0) {
-			if (dirLabel != null && dirLabel.length() > 0) {
-				outputDirectory = new File(outputDirName + "/" + dirLabel);
-			}
-		}
-		String localOutputFilename = null;
-		String outputFileNameSuffix = System.getProperty("buildLabel");
-		if (outputFileNameSuffix != null) {
-			localOutputFilename = outputFileName + "_" + clean(outputFileNameSuffix) + ".xml";
-		}
-		else {
-			localOutputFilename = outputFileName + ".xml";
-		}
-		File outfile = new File(outputDirectory, localOutputFilename);
-
-		return outfile;
-	}
-
-	private int _compareReferenceAndCurrent(Map currMap, Map refMap, String checkingType, int errorExitCode, Writer reportWriter) throws IOException {
-
-		String reportExtraInCurrentResult = "extraInCurrent";
-		String reportExtraInReferenceResult = "extraInReference";
-
-
-		// return zero for success
-		int result = 0;
-		List extrasInCurrent = compareKeys(currMap, refMap);
-		if (extrasInCurrent.size() > 0) {
-			Object[] extras = extrasInCurrent.toArray();
-			for (int i = 0; i < extras.length; i++) {
-				String key = (String) extras[i];
-				Version refVersion = (Version) refMap.get(key);
-				_printExtra(key, refVersion, checkingType, reportExtraInCurrentResult, reportWriter);
-			}
-		}
-		List extrasInReferences = compareKeys(refMap, currMap);
-		if (extrasInReferences.size() > 0) {
-			Object[] extras = extrasInReferences.toArray();
-			for (int i = 0; i < extras.length; i++) {
-				String key = (String) extras[i];
-				Version curVersion = (Version) currMap.get(key);
-				_printExtra(key, curVersion, checkingType, reportExtraInReferenceResult, reportWriter);
-			}
-		}
-
-		// now for the version compares -- first, look for errors
-		Iterator currentIterator = currMap.keySet().iterator();
-		while (currentIterator.hasNext()) {
-			String key = (String) currentIterator.next();
-			Version refVersion = (Version) refMap.get(key);
-			Version curVersion = (Version) currMap.get(key);
-			if ((refVersion != null) && (curVersion != null)) {
-				int comp = refVersion.compareTo(curVersion);
-				if (comp > 0) {
-					_printError(key, refVersion, curVersion, checkingType, reportWriter);
-					result = errorExitCode;
-				}
-			}
-		}
-
-		// now for the version compares -- first for MAJOR changes
-		Iterator currentIterator2 = currMap.keySet().iterator();
-		while (currentIterator2.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2, MAJOR, checkingType, reportWriter);
-		}
-		Iterator currentIterator2a = currMap.keySet().iterator();
-		while (currentIterator2a.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2a, MINOR, checkingType, reportWriter);
-		}
-		Iterator currentIterator2b = currMap.keySet().iterator();
-		while (currentIterator2b.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2b, SERVICE, checkingType, reportWriter);
-		}
-		Iterator currentIterator2c = currMap.keySet().iterator();
-		while (currentIterator2c.hasNext()) {
-
-			checkDifference(refMap, currMap, currentIterator2c, QUALIFIER, checkingType, reportWriter);
-		}
-
-		// just as well list unchanged ones for completeness!
-		Iterator currentIterator3 = currMap.keySet().iterator();
-		while (currentIterator3.hasNext()) {
-			String key = (String) currentIterator3.next();
-			Version refVersion = (Version) refMap.get(key);
-			Version curVersion = (Version) currMap.get(key);
-			if ((refVersion != null) && (curVersion != null)) {
-				int comp = refVersion.compareTo(curVersion);
-				if (comp == 0) {
-					_printNoChange(key, refVersion, curVersion, checkingType, reportWriter);
-				}
-			}
-		}
-
-		return result;
-	}
-
-	private void checkDifference(Map refMap, Map currMap, Iterator iterator, int fieldToCheck, String checkingType, Writer reportWriter) throws IOException {
-		String key = (String) iterator.next();
-		Version refVersion = (Version) refMap.get(key);
-		Version curVersion = (Version) currMap.get(key);
-		if ((refVersion != null) && (curVersion != null)) {
-			int comp = refVersion.compareTo(curVersion);
-			if (comp < 0) {
-				if (fieldToCheck == MAJOR) {
-					if (refVersion.getMajor() < curVersion.getMajor()) {
-						_printIncrease(key, refVersion, curVersion, "major", checkingType, reportWriter);
-						// if found, remove so no need to have complicated
-						// check for minor, service, etc.
-						iterator.remove();
-					}
-				}
-				else if (fieldToCheck == MINOR) {
-					if (refVersion.getMinor() < curVersion.getMinor()) {
-						_printIncrease(key, refVersion, curVersion, "minor", checkingType, reportWriter);
-						// if found, remove so no need to have complicated
-						// check for minor, service, etc.
-						iterator.remove();
-					}
-				}
-				else if (fieldToCheck == SERVICE) {
-					if (refVersion.getMicro() < curVersion.getMicro()) {
-						_printIncrease(key, refVersion, curVersion, "service", checkingType, reportWriter);
-						// if found, remove so no need to have complicated
-						// check for minor, service, etc.
-						iterator.remove();
-					}
-				}
-				else if (fieldToCheck == QUALIFIER) {
-					if (refVersion.compareTo(curVersion) < 0) {
-						_printIncrease(key, refVersion, curVersion, "qualifier", checkingType, reportWriter);
-						// if found, remove so no need to have complicated
-						// check for minor, service, etc.
-						iterator.remove();
-					}
-				}
-			}
-		}
-	}
-
-	private void _printIncrease(String key, Version refVersion, Version curVersion, String field, String codePackageType, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		String reportResult = "increase";
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\"" + " field=\"" + field + "\"" + " codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + refVersion + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("\t" + "<current>" + EOL + "\t\t" + curVersion + EOL + "\t" + "</current>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private void _printNoChange(String key, Version refVersion, Version curVersion, String codePackageType, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		String reportResult = "noChange";
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\"" + " codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + refVersion + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("\t" + "<current>" + EOL + "\t\t" + curVersion + EOL + "\t" + "</current>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private void _printError(String key, Version refVersion, Version curVersion, String codePackageType, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		String reportResult = "error";
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\" codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + refVersion + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("\t" + "<current>" + EOL + "\t\t" + curVersion + EOL + "\t" + "</current>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private void _printExtra(String key, Version version, String codePackageType, String reportResult, Writer reportWriter) throws IOException {
-		String name = key.trim();
-		reportWriter.write("<versioningCompare kind=\"" + reportResult + "\" codePackageType=\"" + codePackageType + "\"" + ">" + EOL);
-		reportWriter.write("\t" + "<entry>" + EOL + "\t\t" + name + EOL + "\t" + "</entry>" + EOL);
-		reportWriter.write("\t" + "<reference>" + EOL + "\t\t" + version + EOL + "\t" + "</reference>" + EOL);
-		reportWriter.write("</versioningCompare>" + EOL);
-	}
-
-	private List compareKeys(Map baseMap, Map compareMap) {
-		List extras = new ArrayList();
-
-		Iterator iterator = compareMap.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			if (!baseMap.containsKey(key)) {
-				extras.add(key);
-			}
-		}
-		return extras;
-	}
-
-	private Map getReferenceBundleMap(String id, String referenceFileName) throws FactoryConfigurationError, ParserConfigurationException, FileNotFoundException, SAXException, IOException {
-
-		SortedMap refSortedMap = null;
-		Document dom = getReferenceDataDOM(referenceFileName);
-
-		Element refereneDataElement = dom.getElementById(id);
-		if (refereneDataElement != null) {
-			NodeList childNodes = refereneDataElement.getElementsByTagName(BUNDLE_DATA);
-			Element bundleElement = (Element) childNodes.item(0);
-
-			childNodes = bundleElement.getChildNodes();
-
-			refSortedMap = new TreeMap();
-			_extractEntryList(refSortedMap, childNodes);
-		}
-		return refSortedMap;
-	}
-
-	private Map getReferenceFeatureMap(String id, String referenceFileName) throws FactoryConfigurationError, ParserConfigurationException, FileNotFoundException, SAXException, IOException {
-
-		Document dom = getReferenceDataDOM(referenceFileName);
-
-		Element refereneDataElement = dom.getElementById(id);
-		NodeList childNodes = refereneDataElement.getElementsByTagName(FEATURE_DATA);
-		Element bundleElement = (Element) childNodes.item(0);
-
-		childNodes = bundleElement.getChildNodes();
-
-		SortedMap refSortedMap = new TreeMap();
-		_extractEntryList(refSortedMap, childNodes);
-
-		return refSortedMap;
-	}
-
-	private Document getReferenceDataDOM(String referenceFileName) throws ParserConfigurationException, IOException, SAXException {
-		Document dom = null;
-		DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-		documentBuilderFactory.setValidating(true);
-		documentBuilderFactory.setIgnoringElementContentWhitespace(true);
-		documentBuilderFactory.setIgnoringComments(true);
-		DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
-		Bundle versionCheckerBundle = Platform.getBundle(VERSION_CHECKER_BUNDLE_NAME);
-		URL referenceDataURL = versionCheckerBundle.getResource(referenceFileName);
-		if (referenceDataURL != null) {
-			InputStream inStream = referenceDataURL.openStream();
-			InputSource is = new InputSource(inStream);
-			documentBuilder.setEntityResolver(new ClassPathResolver());
-			dom = documentBuilder.parse(is);
-		}
-		else {
-			System.out.println("Program Error: Could not find reference file: " + referenceFileName);
-		}
-		return dom;
-	}
-
-	private void _extractEntryList(SortedMap refSortedMap, NodeList childNodes) {
-		int nNodes = childNodes.getLength();
-
-
-		for (int i = 0; i < nNodes; i++) {
-			Element entry = (Element) childNodes.item(i);
-			Node name = entry.getElementsByTagName("name").item(0);
-			Node version = entry.getElementsByTagName("version").item(0);
-			String bundleNmae = getTextContent(name);
-			String versionString = getTextContent(version);
-
-			refSortedMap.put(bundleNmae, new Version(versionString));
-		}
-	}
-
-	/**
-	 * A convenience method for DOM2, that should behave as
-	 * node.getTextContent in DOM3.
-	 * 
-	 * @param node
-	 * @return the string of the text node, or consequtive text nodes, that
-	 *         are children of node. If there are no children, the empty
-	 *         string is returned.
-	 */
-	private String getTextContent(Node node) {
-		StringBuffer buffer = new StringBuffer();
-		NodeList childNodes = node.getChildNodes();
-		for (int i = 0; i < childNodes.getLength(); i++) {
-			Node textNode = childNodes.item(i);
-			if (textNode.getNodeType() == Node.TEXT_NODE) {
-				buffer.append(textNode.getNodeValue());
-			}
-			else {
-				// break out at first occurance of non text node, if any
-				break;
-			}
-		}
-		return buffer.toString();
-	}
-
-	private int doPrintHelp() {
-		int exitCode = ERROR_BASE_CODE;
-		System.out.println();
-		System.out.println("\tto use VersionChecker, include one of the following commands: ");
-		System.out.println("\t\t" + LIST_TO_CONSOLE_ARG);
-		System.out.println("\t\t" + TEST_TO_REFERENCE_ARG + " refId " + "[referenceDataFilename]");
-		System.out.println();
-
-		return exitCode;
-
-
-	}
-
-	private int getCommand(String arg) {
-		int result = -1;
-
-		if (HELP_ARG.equalsIgnoreCase(arg)) {
-			result = HELP;
-		}
-		else if (LIST_TO_CONSOLE_ARG.equalsIgnoreCase(arg)) {
-			result = LIST_TO_CONSOLE;
-		}
-		else if (TEST_TO_REFERENCE_ARG.equalsIgnoreCase(arg)) {
-			result = TEST_TO_REFERENCE;
-		}
-
-		return result;
-	}
-
-
-	private Map makeFeatureMap() {
-		IPlatformConfiguration config = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		IFeatureEntry[] features = config.getConfiguredFeatureEntries();
-
-
-		SortedMap sortedMap = new TreeMap();
-		for (int i = 0; i < features.length; i++) {
-			String name = features[i].getFeatureIdentifier();
-			name = name.trim();
-			String versionString = features[i].getFeatureVersion();
-			Version version = new Version(versionString);
-			if (!contains(name, alwaysExcludeFeatures)) {
-				sortedMap.put(name, version);
-			}
-		}
-		return sortedMap;
-	}
-
-
-	private int doListCurrentToConsole(String xmlId) throws IOException {
-
-		int exitResult = ERROR_BASE_CODE;
-		String outputFileName = "versioningReference";
-		File outputFile = createOutputFile(outputFileName);
-		Writer referenceWriter = new FileWriter(outputFile);
-
-		// TODO: needs to really write UTF-8, or better, serialize DOM
-		referenceWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + EOL);
-
-		referenceWriter.write("<versioningData>" + EOL);
-
-		referenceWriter.write("<referenceData id=\"" + xmlId + "\">" + EOL);
-
-
-		Map featureMap = makeFeatureMap();
-		referenceWriter.write("<featureData>" + EOL);
-		referenceWriter.write("<!-- Number of features: " + featureMap.size() + " -->" + EOL);
-		referenceWriter.write(EOL);
-
-		_producePrintedPairs(featureMap, referenceWriter);
-
-		referenceWriter.write("</featureData>" + EOL);
-
-
-
-		Map bundleMap = makeBundleMap();
-
-		referenceWriter.write("<bundleData>" + EOL);
-		referenceWriter.write("<!-- Number of bundles: " + bundleMap.size() + " -->" + EOL);
-
-		referenceWriter.write(EOL);
-
-		_producePrintedPairs(bundleMap, referenceWriter);
-
-		referenceWriter.write("</bundleData>" + EOL);
-
-
-		referenceWriter.write("</referenceData>" + EOL);
-		referenceWriter.write("</versioningData>" + EOL);
-
-		System.out.println("Note: versioning reference data written to " + outputFile.getAbsolutePath());
-		referenceWriter.close();
-
-		return exitResult;
-	}
-
-	/**
-	 * @return
-	 */
-	private String getCurrentInstallPath() {
-		Location installLocation = Platform.getInstallLocation();
-		URL installLoc = installLocation.getURL();
-		String installLocationString = "no install location!?";
-		if (installLoc != null) {
-			installLocationString = installLoc.getPath();
-		}
-		return installLocationString;
-	}
-
-	private String getDefaultID() {
-		String defaultID = null;
-		String buildLabel = System.getProperty("buildLabel");
-		if (buildLabel != null && buildLabel.length() != 0) {
-			defaultID = clean(buildLabel);
-		}
-		else {
-			defaultID = getCurrentInstallPath();
-		}
-		return defaultID;
-	}
-
-	private void _producePrintedPairs(Map map, Writer referenceWriter) throws IOException {
-		Set referenceKeySet = map.keySet();
-		Iterator refIterator = referenceKeySet.iterator();
-		while (refIterator.hasNext()) {
-			String name = (String) refIterator.next();
-			Version version = (Version) map.get(name);
-
-			referenceWriter.write("<entry>" + EOL);
-			referenceWriter.write("\t" + "<name>" + name + "</name>" + EOL);
-			referenceWriter.write("\t" + "<version>" + version + "</version>" + EOL);
-			referenceWriter.write("</entry>" + EOL);
-		}
-		return;
-	}
-
-	private Map makeBundleMap() {
-		BundleDescription bundles[] = Platform.getPlatformAdmin().getState().getBundles();
-
-		SortedMap sortedMap = new TreeMap();
-		for (int i = 0; i < bundles.length; i++) {
-			String bundleName = bundles[i].getName();
-			Version bundleVersion = bundles[i].getVersion();
-			bundleName = bundleName.trim();
-			if (!contains(bundleName, alwaysExclude)) {
-				sortedMap.put(bundleName, bundleVersion);
-			}
-		}
-		return sortedMap;
-	}
-
-	private boolean contains(String needle, String[] haystack) {
-		boolean result = false;
-
-		for (int i = 0; i < haystack.length; i++) {
-			if (needle.equals(haystack[i])) {
-				result = true;
-				break;
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * This method is entirely to shorten the (old) long, redundant form of a build label, 
-	 * such as M-M200612071701-200612071701 to it's equivilant short form
-	 * such as M200612071701
-	 * @param label
-	 * @return
-	 */
-	private String clean(String label) {
-		String result = label;
-
-		String possibleResult = null;
-		int hPos = label.indexOf('-');
-		if (hPos > -1) {
-			possibleResult = label.substring(hPos + 1);
-			hPos = possibleResult.indexOf('-');
-			if (hPos > -1) {
-				possibleResult = possibleResult.substring(0, hPos);
-				result = possibleResult;
-			}
-		}
-
-
-		return result;
-	}
-
-}
diff --git a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/versioningData.dtd b/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/versioningData.dtd
deleted file mode 100644
index 82f442a..0000000
--- a/org.eclipse.europa.tools.versionchecker/src/org/eclipse/europa/tools/versionchecker/versioningData.dtd
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-   <!ELEMENT versioningData (referenceData*)>
-   <!ELEMENT referenceData (featureData, bundleData)>
-   <!ATTLIST referenceData id ID #REQUIRED>
-   <!ELEMENT featureData (entry*)>
-   <!ELEMENT bundleData (entry*)>
-   <!ELEMENT entry (name, version)>
-   <!ELEMENT name (#PCDATA)>
-   <!ELEMENT version (#PCDATA)>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/.classpath b/org.eclipse.europa.tools/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/org.eclipse.europa.tools/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.europa.tools/.cvsignore b/org.eclipse.europa.tools/.cvsignore
deleted file mode 100644
index df7a26f..0000000
--- a/org.eclipse.europa.tools/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-@dot
-data
-temp.folder
-out.txt
-working
-html
-bin
diff --git a/org.eclipse.europa.tools/.project b/org.eclipse.europa.tools/.project
deleted file mode 100644
index 45b32e1..0000000
--- a/org.eclipse.europa.tools/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.europa.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.europa.tools/.settings/org.eclipse.core.resources.prefs b/org.eclipse.europa.tools/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 618098a..0000000
--- a/org.eclipse.europa.tools/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 04 22:26:33 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.europa.tools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.europa.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index eb4ab3f..0000000
--- a/org.eclipse.europa.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,62 +0,0 @@
-#Tue Jan 16 13:31:27 CET 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.europa.tools/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.europa.tools/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c9fb24b..0000000
--- a/org.eclipse.europa.tools/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Feb 20 16:05:26 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.europa.tools/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.europa.tools/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index c2726b3..0000000
--- a/org.eclipse.europa.tools/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jun 22 22:58:23 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/org.eclipse.europa.tools/.settings/org.eclipse.wst.sse.core.prefs b/org.eclipse.europa.tools/.settings/org.eclipse.wst.sse.core.prefs
deleted file mode 100644
index 42b6328..0000000
--- a/org.eclipse.europa.tools/.settings/org.eclipse.wst.sse.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Thu Jun 22 22:58:32 EDT 2006
-eclipse.preferences.version=1
-task-tags/enabled=true
-task-tags/ignored-contentTypes=org.eclipse.core.runtime.xml,org.eclipse.jst.jsp.core.jspsource,org.eclipse.wst.css.core.csssource,org.eclipse.wst.dtd.core.dtdsource,org.eclipse.wst.html.core.htmlsource
-task-tags/use-project-settings=true
diff --git a/org.eclipse.europa.tools/.settings/org.eclipse.wst.validation.prefs b/org.eclipse.europa.tools/.settings/org.eclipse.wst.validation.prefs
deleted file mode 100644
index f459310..0000000
--- a/org.eclipse.europa.tools/.settings/org.eclipse.wst.validation.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Jun 22 22:58:33 EDT 2006
-DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;
-USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;
-USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;
-USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.1.0.v200606130645
-eclipse.preferences.version=1
diff --git a/org.eclipse.europa.tools/META-INF/MANIFEST.MF b/org.eclipse.europa.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index 164b14f80..0000000
--- a/org.eclipse.europa.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.europa.tools
-Bundle-Version: 0.0.1.qualifier
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-LazyStart: true
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-ClassPath: .
-Main-Class: org.eclipse.europa.tools.GenerateMirrorTags
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-
diff --git a/org.eclipse.europa.tools/addNewPlugins.sh b/org.eclipse.europa.tools/addNewPlugins.sh
deleted file mode 100644
index 1d113b4..0000000
--- a/org.eclipse.europa.tools/addNewPlugins.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-
-if [ "$1" != "-doit" ] ; then
-   echo "    This is a dry run. Add -doit to actually remove"
-   doit="--dry-run" 
-else 
-   doit=""
-fi 
-
- stagingSite=$HOME/downloads/releases/europa/staging
-releasesSite=$HOME/downloads/releases/europa/
-
-
-rsync $doit --ignore-existing -rv $stagingSite/plugins $releasesSite
-
-rsync $doit --ignore-existing -rv $stagingSite/features $releasesSite
-
-if [ "$doit" == "--dry-run" ] ; then
-   echo ""
-   echo "    This was a dry run. Add -doit to actually remove"
-   echo ""
-fi
diff --git a/org.eclipse.europa.tools/build-cron.sh b/org.eclipse.europa.tools/build-cron.sh
deleted file mode 100644
index e11641f..0000000
--- a/org.eclipse.europa.tools/build-cron.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-cd /home/data/users/bfreeman/europa/
-./getEuropaToolsFromCVS.sh 2>&1 | tee /home/data/users/bfreeman/europa/out.txt
-cd /home/data/users/bfreeman/europa/org.eclipse.europa.tools/build-home/
-./runUpdateAllProjects.sh -clean 2>&1 | tee --append /home/data/users/bfreeman/europa/out.txt
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/.cvsignore b/org.eclipse.europa.tools/build-home/.cvsignore
deleted file mode 100644
index 3a4edf6..0000000
--- a/org.eclipse.europa.tools/build-home/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.project
diff --git a/org.eclipse.europa.tools/build-home/buildwebgen.xml b/org.eclipse.europa.tools/build-home/buildwebgen.xml
deleted file mode 100644
index e25f090..0000000
--- a/org.eclipse.europa.tools/build-home/buildwebgen.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<project default="run">
-	<target name="compile">
-		<javac srcdir="../src/" 
-			target="1.5" 
-			fork="yes" 
-			debug="on"
-			executable="../../ibm-java2-ppc-50/bin/javac">
-		</javac>
-	</target>
-	<target name="run" depends="compile">
-		<java jvm="../../ibm-java2-ppc-50/bin/java" fork="yes" classname="org.eclipse.europa.tools.webgen.LogFileToWebPages" classpath="../src/">
-			<arg value="../../out.txt" />
-			<arg value="../../out.web/" />
-			<arg value="./"/>
-			<arg value="../../org.eclipse.europa.updatesite/WebContent/"/>
-			<arg value="../../out.web/start.time"/>
-		</java>
-	</target>
-	<target name="under.construction" depends="compile">
-		<java jvm="../../ibm-java2-ppc-50/bin/java" fork="yes" classname="org.eclipse.europa.tools.webgen.UnderConstructionWebPages" classpath="../src/">
-			<arg value="../../out.web/" />
-		</java>
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/copyToDownload.xml b/org.eclipse.europa.tools/build-home/copyToDownload.xml
deleted file mode 100644
index 87a6be2..0000000
--- a/org.eclipse.europa.tools/build-home/copyToDownload.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<project default="copy">
-
-
-    <target name="copy">
-		<echo message="-------- Project: copy to staging Responsible: bfreeman" />
-    	<delete dir="${downloadSite}"/>
-    	<mkdir dir="${downloadSite}"/>
-    	<copy todir="${downloadSite}"
-    		  overwrite="true">
-    	    <fileset dir="${updateSite}"/>
-    	  </copy>
-    	<exec executable="find">
-    		<arg value="${downloadSite}"/>
-    		<arg value="-type"/>
-    		<arg value="d"/>
-    		<arg value="-exec"/>
-    		<arg value="chmod"/>
-    		<arg value="o+rx"/>
-    		<arg value="{}"/>
-    		<arg value=";"/>
-    	</exec>
-    	<exec executable="find">
-    		<arg value="${downloadSite}"/>
-    		<arg value="-type"/>
-    		<arg value="f"/>
-    		<arg value="-exec"/>
-    		<arg value="chmod"/>
-    		<arg value="o+r"/>
-    		<arg value="{}"/>
-    		<arg value=";"/>
-    	</exec>
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/createDigests.xml b/org.eclipse.europa.tools/build-home/createDigests.xml
deleted file mode 100644
index 8785952..0000000
--- a/org.eclipse.europa.tools/build-home/createDigests.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    basedir="."
-    default="createDigest">
-
-    <target
-        name="createDigest"
-        depends="checkArgs">
-        <echo
-            message="-------- Project: createDigests Responsible: bfreeman" />
-
-        <property
-            name="java15-home"
-            value="${jvmLocation}/jre" />
-        <property
-            name="buildDirectory"
-            value="${basedir}" />
-
-        <java
-            classname="org.eclipse.equinox.launcher.Main"
-            taskname="createDigests"
-            fork="true"
-            jvm="${java15-home}/bin/java"
-            failonerror="true"
-            resultProperty="createDigestResult"
-            maxmemory="128m"
-            dir="${buildDirectory}">
-            <classpath>
-                <fileset dir="${eclipse.home}/plugins">
-                    <include name="org.eclipse.equinox.launcher_*.jar" />
-                </fileset>
-            </classpath>
-            <jvmarg value="-Dosgi.locking=none" />
-            <arg
-                line="-application org.eclipse.update.core.siteOptimizer" />
-            <arg
-                line="-digestBuilder -digestOutputDir=${updateSite} -siteXML=${updateSite}/site.xml" />
-        </java>
-
-    </target>
-
-    <target name="checkArgs">
-        <fail message="eclipse.home and updateSite must be set.">
-            <condition>
-                <and>
-                    <not>
-                        <isset property="eclipse.home" />
-                    </not>
-                    <not>
-                        <isset property="updateSite" />
-                    </not>
-                </and>
-            </condition>
-        </fail>
-    </target>
-
-
-</project>
diff --git a/org.eclipse.europa.tools/build-home/createPack200s.xml b/org.eclipse.europa.tools/build-home/createPack200s.xml
deleted file mode 100644
index 025f1ee..0000000
--- a/org.eclipse.europa.tools/build-home/createPack200s.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    basedir="."
-    default="createPack200s">
-
-    <target name="createPack200s">
-        <echo message="-------- Project: pack200 Responsible: bfreeman" />
-
-        <property
-            name="java15-home"
-            value="${jvmLocation}/jre" />
-
-        <property
-            name="buildDirectory"
-            value="${basedir}" />
-
-    	
-
-        <java
-            classname="org.eclipse.equinox.launcher.Main"
-            taskname="createPack200s"
-            fork="true"
-            jvm="${java15-home}/bin/java"
-            failonerror="true"
-            resultProperty="createPack200Result"
-            maxmemory="1024m"
-            dir="${buildDirectory}">
-            <classpath>
-                <fileset dir="${eclipse.home}/plugins">
-                    <include name="org.eclipse.equinox.launcher_*.jar" />
-                </fileset>
-            </classpath>
-            <jvmarg value="-Dosgi.locking=none" />
-            <arg
-                line="-application org.eclipse.update.core.siteOptimizer" />
-            <arg
-                line="-jarProcessor -verbose -outputDir ${updateSite} -pack ${updateSite}" />
-        </java>
-    </target>
-
-    <target name="checkArgs">
-        <fail message="eclipse.home and updateSite must be set.">
-            <condition>
-                <and>
-                    <not>
-                        <isset property="eclipse.home" />
-                    </not>
-                    <not>
-                        <isset property="updateSite" />
-                    </not>
-                </and>
-            </condition>
-        </fail>
-    </target>
-
-
-</project>
diff --git a/org.eclipse.europa.tools/build-home/europaProperties.shsource b/org.eclipse.europa.tools/build-home/europaProperties.shsource
deleted file mode 100644
index 71642f4..0000000
--- a/org.eclipse.europa.tools/build-home/europaProperties.shsource
+++ /dev/null
@@ -1,10 +0,0 @@
-# machine specific properties required by scripts.  
-
-# Note, the values in this file, in CVS, should always be the 
-# main standard ones that allow the main standard build to 
-# succeed. No change in path is needed for that case. 
-# Others can tweak their paths, and put a similar file on 
-# their path, with values appropriate for their machine.  
- 
-eclipseLocation=$HOME/europa/eclipse-33M7
-jvmLocation=$HOME/europa/ibm-java2-ppc-50
diff --git a/org.eclipse.europa.tools/build-home/features-ajdt.xml b/org.eclipse.europa.tools/build-home/features-ajdt.xml
deleted file mode 100644
index 40e7266..0000000
--- a/org.eclipse.europa.tools/build-home/features-ajdt.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: AJDT Responsible: mchapman" />
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tools/ajdt/33/update/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.ajdt" />
-            <property name="version"
-                      value="1.5.0.200706070619" />
-        </ant>
-
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-batik.xml b/org.eclipse.europa.tools/build-home/features-batik.xml
deleted file mode 100644
index c842c0e..0000000
--- a/org.eclipse.europa.tools/build-home/features-batik.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: BATIK Responsible: rgronback" />
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/modeling/gmf/update-site/batik/site.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.apache.batik"  />
-            <property name="version"
-                      value="1.6.0.v20061222-1222-0842283444-3444" />
-        </ant>
-  
-    </target>
-</project>
-
-
diff --git a/org.eclipse.europa.tools/build-home/features-birt.xml b/org.eclipse.europa.tools/build-home/features-birt.xml
deleted file mode 100644
index 57f8f85..0000000
--- a/org.eclipse.europa.tools/build-home/features-birt.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-    <target name="update">
-		<echo message="-------- Project: BIRT Responsible: wli" />
-        <property name="updateSite" value="file://${user.home}/downloads/birt/update-site/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="com.lowagie.itext" />
-            <property
-                name="version"
-                value="1.5.4.r22x_v20080220-043-s33yAw31191337" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.apache.commons.codec" />
-            <property
-                name="version"	
-                value="1.3.0.v20070907-02--w311817222849" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.mozilla.rhino" />
-            <property
-                name="version"
-                value="1.6.7.r22x_v20071217-056-s33yAw31191325" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.w3c.sac" />
-            <property
-                name="version"
-                value="1.3.0.v20070406-02--w31181821" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.apache.derby.core" />
-            <property
-                name="version"
-                value="10.1.2.1" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.birt" />
-            <property
-                name="version"
-                value="2.2.2.r22x_v20071015-7M7M7L3OP4P3fZkIcJ9QOFI1cpYT" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.birt.doc" />
-            <property
-                name="version"
-                value="2.2.2.r22x_v20071015-110-s332Aw31181_2_" />
-        </ant> 
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/features-buckminster.xml b/org.eclipse.europa.tools/build-home/features-buckminster.xml
deleted file mode 100644
index 475f158..0000000
--- a/org.eclipse.europa.tools/build-home/features-buckminster.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-	<target name="update">
-		<echo message="-------- Project: Buckminster Responsible: thallgren" />
-		<property name="updateSite" value="file://${user.home}/downloads/tools/buckminster/updates-3.3/site.xml" />
-		<echo message="   pulling update jars from ${updateSite}" />
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.buckminster.core.feature" />
-			<property name="version" value="1.0.0.r09107" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.buckminster.cvs.feature" />
-			<property name="version" value="1.0.0.r09045" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.buckminster.maven.feature" />
-			<property name="version" value="1.0.0.r09075" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.buckminster.p4.feature" />
-			<property name="version" value="1.0.0.r09101" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.buckminster.pde.feature" />
-			<property name="version" value="1.0.0.r09099" />
-		</ant>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/features-cdt.xml b/org.eclipse.europa.tools/build-home/features-cdt.xml
deleted file mode 100644
index 4c06bf6..0000000
--- a/org.eclipse.europa.tools/build-home/features-cdt.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: CDT Responsible: dschaefer" />
-       <property name="updateSite"
-                  value="file://${user.home}/downloads/tools/cdt/releases/europa/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.cdt" />
-            <property name="version"
-                      value="4.0.3.200802251018" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-corona.xml b/org.eclipse.europa.tools/build-home/features-corona.xml
deleted file mode 100644
index 0bb7b40..0000000
--- a/org.eclipse.europa.tools/build-home/features-corona.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-    <target name="update">
-		<echo message="-------- Project: Corona Responsible: doflynn" />
-        <property name="updateSite" value="file://${user.home}/downloads/technology/corona/update-site/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.corona.client" />
-            <property
-                name="version"
-                value="0.11.0.S20070518-incubation" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.corona.client.sdk" />
-            <property
-                name="version"
-                value="0.11.0.S20070518-incubation" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.corona.server" />
-            <property
-                name="version"
-                value="0.11.0.S20070518-incubation" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.corona.server.sdk" />
-            <property
-                name="version"
-                value="0.11.0.S20070518-incubation" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-dltk.xml b/org.eclipse.europa.tools/build-home/features-dltk.xml
deleted file mode 100644
index ca59e6e..0000000
--- a/org.eclipse.europa.tools/build-home/features-dltk.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-	<target name="update">
-		<echo message="-------- Project: DLTK Responsible: aplatov" />
-		<property name="updateSite" value="file://${user.home}/downloads/technology/dltk/updates/site.xml" />
-		<echo message="   pulling update jars from ${updateSite}" />
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.dltk.core" />
-			<property name="version" value="0.9.2.v20080226-1047-08O78E8IaRUDKuX65LAUY" />
-		</ant>
-
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.dltk.ruby" />
-			<property name="version" value="0.9.2.v20080226-1047-07q4BUISWQEQGb5QALG" />
-		</ant>
-
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.dltk.tcl" />
-			<property name="version" value="0.9.2.v20080226-1047-07z3CQMUYYGcJx4N998" />
-		</ant>
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-dsdp-dd.xml b/org.eclipse.europa.tools/build-home/features-dsdp-dd.xml
deleted file mode 100644
index 9ea806c..0000000
--- a/org.eclipse.europa.tools/build-home/features-dsdp-dd.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: DSDP-DD Responsible: tewillia" />
-       <property name="updateSite"
-                  value="file://${user.home}/downloads/dsdp/dd/updates/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.dd.dsf.sdk" />
-            <property name="version"
-                      value="0.9.0.v20070615" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.dd.dsf.gdb" />
-            <property name="version"
-                      value="0.9.0.v20070615" />
-        </ant>
-    	<ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-    				  value="org.eclipse.dd.debug.memory.renderings" />
-            <property name="version"
-                      value="0.9.0.v20070615" />
-        </ant>
-    	<ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-    				  value="org.eclipse.dd.ipxact" />
-            <property name="version"
-                      value="0.2.0.v20070615" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-dsdp-tm.xml b/org.eclipse.europa.tools/build-home/features-dsdp-tm.xml
deleted file mode 100644
index 5cb58e9..0000000
--- a/org.eclipse.europa.tools/build-home/features-dsdp-tm.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: DSDP-TM Responsible: moberhuber" />
-       <property name="updateSite"
-                  value="file://${user.home}/downloads/dsdp/tm/updates/milestones/site-europa.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.rse" />
-            <property name="version"
-                      value="2.0.3.v20080225-7D-7A8mJIoa9WAvksISSE8yz-C" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.rse.sdk" />
-            <property name="version"
-                      value="2.0.3.v20080225-7J-7EE7ZoHQURqoFwQQpz0MuGUHD" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.rse.remotecdt" />
-            <property name="version"
-                      value="2.0.1.v20070926-4-18s733G3K5H" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tm.terminal.sdk" />
-            <property name="version"
-                      value="1.0.3.v20080225-7_-7QAvNRwRYVZHJaTqlhNDDqELO" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tm.discovery" />
-            <property name="version"
-                      value="2.0.0.v20070611-7J--E8McIJNJCPr" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-dtp.xml b/org.eclipse.europa.tools/build-home/features-dtp.xml
deleted file mode 100644
index eaef5bf..0000000
--- a/org.eclipse.europa.tools/build-home/features-dtp.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-	<target name="update">
-		<echo message="-------- Project: DTP Responsible: jgraham" />
-		<property name="updateSite"
-                  value="file://${user.home}/downloads/datatools/downloads/drops/N_updates_europa/site.xml" />
-		<echo message="   pulling update jars from ${updateSite}" />
-		
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-                      value="org.eclipse.datatools.connectivity.feature" />
-			<property name="version"
-                      value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.connectivity.oda.designer.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.connectivity.oda.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.doc.user" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.apache.derby.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.hsqldb.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.ibm.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.jdbc.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.jdt.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.msft.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.enablement.mysql.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.enablement.oda.designer.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.enablement.oda.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.enablement.oracle.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.enablement.postgresql.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.enablement.sybase.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.intro" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.modelbase.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.sdk.feature" />
-			<property name="version"
-				      value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.sqldevtools.data.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-		              value="org.eclipse.datatools.sqldevtools.ddl.feature" />
-			<property name="version"
-		              value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.sqldevtools.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.sqldevtools.parsers.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId"
-			          value="org.eclipse.datatools.sqldevtools.results.feature" />
-			<property name="version"
-			          value="1.5.2.200802201" />
-		</ant>
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/features-ecf.xml b/org.eclipse.europa.tools/build-home/features-ecf.xml
deleted file mode 100644
index e032971..0000000
--- a/org.eclipse.europa.tools/build-home/features-ecf.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-    <target name="update">
-		<echo message="-------- Project: ECF Responsible: slewis" />
-        <property name="updateSite" value="file://${user.home}/downloads/technology/ecf/europa-update/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.ecf.core" />
-            <property
-                name="version"
-                value="2.0.0.v20080406-1615" />
-        </ant>
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.ecf.examples" />
-            <property
-                name="version"
-                value="2.0.0.v20080406-1615" />
-        </ant>
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/features-emf-emf.xml b/org.eclipse.europa.tools/build-home/features-emf-emf.xml
deleted file mode 100644
index 2c7ebc9..0000000
--- a/org.eclipse.europa.tools/build-home/features-emf-emf.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: emf-emf Responsible: nickb" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/emf/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.common.ui" />
-            <property name="version"
-                      value="2.3.1.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.common" />
-            <property name="version"
-                      value="2.3.1.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.ecore.edit" />
-            <property name="version"
-                      value="2.3.1.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.ecore" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.edit.ui" />
-            <property name="version"
-                      value="2.3.1.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.edit" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.sdk" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.ecore.sdo.sdk" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.ecore.sdo" />
-            <property name="version"
-                      value="2.3.1.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.xsd.edit" />
-            <property name="version"
-                      value="2.3.0.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.xsd.sdk" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.xsd" />
-            <property name="version"
-                      value="2.3.2.v200802051830" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-emf-query.xml b/org.eclipse.europa.tools/build-home/features-emf-query.xml
deleted file mode 100644
index 6be275e..0000000
--- a/org.eclipse.europa.tools/build-home/features-emf-query.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: emf-query Responsible: nickb" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/emf/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.query.ocl" />
-            <property name="version"
-                      value="1.1.0.v200706071712-10-7w311817182823" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.query" />
-            <property name="version"
-                      value="1.1.1.v200711281714-1007w311822392825" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-emf-transaction.xml b/org.eclipse.europa.tools/build-home/features-emf-transaction.xml
deleted file mode 100644
index 425d749..0000000
--- a/org.eclipse.europa.tools/build-home/features-emf-transaction.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: emf-transaction Responsible: nickb" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/emf/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.transaction" />
-            <property name="version"
-                      value="1.1.2.v200710151610-208a8s733G4A3F5H88" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.workspace" />
-            <property name="version"
-                      value="1.1.2.v200711281719-208a8s733G4A3F5H88" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.emfqtv.all.sdk" />
-            <property name="version"
-                      value="1.1.2.v200710151610-7A7_77DjfXA5aPqDdy6YGPKHNXsJ" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.emfqtv.all" />
-            <property name="version"
-                      value="1.1.2.v200710151610-655_sIRJtujJimfeRcQlXL-2KEZa" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-emf-validation.xml b/org.eclipse.europa.tools/build-home/features-emf-validation.xml
deleted file mode 100644
index ea1189d..0000000
--- a/org.eclipse.europa.tools/build-home/features-emf-validation.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: emf-validation Responsible: cdamus" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/emf/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.validation.ocl" />
-            <property name="version"
-                      value="1.1.0.v200706071520-10-7w311817182631" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.validation" />
-            <property name="version"
-                      value="1.1.1.v200708161445-318Z9oA55P5O6O8IC_" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-emft-teneo.xml b/org.eclipse.europa.tools/build-home/features-emft-teneo.xml
deleted file mode 100644
index be71f77..0000000
--- a/org.eclipse.europa.tools/build-home/features-emft-teneo.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: emft-teneo Responsible: mtaal" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/emft/updates/site-interim-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.teneo.sdk" />
-            <property name="version"
-                      value="0.8.0.v200804231725" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.teneo" />
-            <property name="version"
-                      value="0.8.0.v200804231725" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-ep.xml b/org.eclipse.europa.tools/build-home/features-ep.xml
deleted file mode 100644
index 824ffa2..0000000
--- a/org.eclipse.europa.tools/build-home/features-ep.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-	name="update"
-	default="update"
-	basedir=".">
-
-	<target
-		name="init"
-		unless="initialized">
-		<ant antfile="init.xml" />
-	</target>
-
-	<target
-		name="update"
-		depends="init">
-		<echo message="-------- Project: Platform Responsible: kmoir" />
-		<property
-			name="updateSite"
-			value="http://download.eclipse.org/eclipse/testUpdates-M/site.xml" />
-		<echo message="   pulling update jars from ${updateSite}" />
-		
-		<ant antfile="updateMirrorProject.xml">
-             <property 
-             	name="featureId"
-                value="org.eclipse.platform" />
-             <property 
-               name="version"
-               value="3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft" />
-        </ant>		
-
-		<ant antfile="updateMirrorProject.xml">
-			<property
-				name="featureId"
-				value="org.eclipse.jdt" />
-			<property
-				name="version"
-				value="3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7" />
-			</ant>		
-		
-		<ant antfile="updateMirrorProject.xml">
-			<property
-				name="featureId"
-				value="org.eclipse.pde" />
-			<property
-				name="version"
-				value="3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL" />
-		</ant>
-		
-		<ant antfile="updateMirrorProject.xml">
-			<property
-				name="featureId"
-				value="org.eclipse.equinox" />
-				<property
-				name="version"
-			    value="3.3.1.R33x_r20070918-7n7LEClEIdwb-bbP_z--EYAO" />
-		</ant>
-		
-		<ant antfile="updateMirrorProject.xml">
-		<property
-				name="featureId"
-				value="org.eclipse.cvs" />
-				<property
-				name="version"
-			    value="1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_" />
-		</ant>
-
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-gef.xml b/org.eclipse.europa.tools/build-home/features-gef.xml
deleted file mode 100644
index c0c6870..0000000
--- a/org.eclipse.europa.tools/build-home/features-gef.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: GEF Responsible: ahunter" />
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tools/gef/update-site/releases/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.gef.sdk" />
-            <property name="version"
-                      value="3.3.2.v20080129" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.gef" />
-            <property name="version"
-                      value="3.3.2.v20080129" />
-        </ant>
-
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/features-gmf.xml b/org.eclipse.europa.tools/build-home/features-gmf.xml
deleted file mode 100644
index b245744..0000000
--- a/org.eclipse.europa.tools/build-home/features-gmf.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: GMF Responsible: rgronback" />
-        
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/modeling/gmf/update-site/europa/site.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-         <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.gmf.europa"  />
-            <property name="version"
-                      value="2.0.2.v20071124-0000-7X77_IEIn-hz0g9qNu8HVXr5ZXfv" />
-        </ant>
-   	
-    </target>
-</project>
-
-
diff --git a/org.eclipse.europa.tools/build-home/features-m2t-jet.xml b/org.eclipse.europa.tools/build-home/features-m2t-jet.xml
deleted file mode 100644
index 459dc26..0000000
--- a/org.eclipse.europa.tools/build-home/features-m2t-jet.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: m2t-jet Responsible: nickb" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/m2t/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.jet.sdk" />
-            <property name="version"
-                      value="0.8.2.v20071206-07U382TZ8ckPDJlBnIQ" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.jet" />
-            <property name="version"
-                      value="0.8.2.v20071206-17E29oA55Q5O9G" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-mdt-eodm.xml b/org.eclipse.europa.tools/build-home/features-mdt-eodm.xml
deleted file mode 100644
index 6d4fc08..0000000
--- a/org.eclipse.europa.tools/build-home/features-mdt-eodm.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: mdt-eodm Responsible: lzhang" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/mdt/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.eodm.sdk" />
-            <property name="version"
-                      value="0.9.1.v200710090302" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.eodm" />
-            <property name="version"
-                      value="0.9.1.v200710090302" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-mdt-ocl.xml b/org.eclipse.europa.tools/build-home/features-mdt-ocl.xml
deleted file mode 100644
index de24ca3..0000000
--- a/org.eclipse.europa.tools/build-home/features-mdt-ocl.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: mdt-ocl Responsible: nickb" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/mdt/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.emf.ocl" />
-            <property name="version"
-                      value="1.1.1.v200709121956-1007w31181_232_67" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.ocl.all.sdk" />
-            <property name="version"
-                      value="1.1.2.v200711262212-655_-JBYPSbnPexYUS8mkoIokBkC" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.ocl.all" />
-            <property name="version"
-                      value="1.1.2.v200711262212-3237_76ThLBBkCeGUHbQW" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.ocl.uml" />
-            <property name="version"
-                      value="1.1.1.v200707131415-1007w311818242526" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.ocl" />
-            <property name="version"
-                      value="1.1.2.v200711262212-3219oA55P6H8I9HDE" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-mdt-uml2.xml b/org.eclipse.europa.tools/build-home/features-mdt-uml2.xml
deleted file mode 100644
index f6bb5bc..0000000
--- a/org.eclipse.europa.tools/build-home/features-mdt-uml2.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: mdt-uml2 Responsible: khussey" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/mdt/updates/site-interim-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.uml2.sdk" />
-            <property name="version"
-                      value="2.1.1.v200708301222" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.uml2" />
-            <property name="version"
-                      value="2.1.1.v200708301222" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-mdt-uml2tools.xml b/org.eclipse.europa.tools/build-home/features-mdt-uml2tools.xml
deleted file mode 100644
index 908a4aa..0000000
--- a/org.eclipse.europa.tools/build-home/features-mdt-uml2tools.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-
-        <echo message="-------- Project: mdt-uml2tools Responsible: mgolubev" />
-
-        <property name="updateSite"
-                value="file://${user.home}/downloads/modeling/mdt/updates/site-europa.xml" />
-
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.uml2tools.sdk" />
-            <property name="version"
-                      value="0.7.1.v200802260712" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.uml2tools" />
-            <property name="version"
-                      value="0.7.101.v200802260712" />
-        </ant>
-
-    </target>
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/features-monkey.xml b/org.eclipse.europa.tools/build-home/features-monkey.xml
deleted file mode 100644
index 1ac7a5a..0000000
--- a/org.eclipse.europa.tools/build-home/features-monkey.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-    <target name="update">
-		<echo message="-------- Project: Eclipse Monkey Responsible: pcolton" />
-        <property name="updateSite" value="file://${user.home}/downloads/technology/dash/update/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.eclipsemonkey"/>
-            <property
-                name="version"
-                value="1.0.0.200706060947"/>
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-mylyn.xml b/org.eclipse.europa.tools/build-home/features-mylyn.xml
deleted file mode 100644
index 287c8de..0000000
--- a/org.eclipse.europa.tools/build-home/features-mylyn.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-	<!-- mylyn participation notes go to: https://bugs.eclipse.org/bugs/show_bug.cgi?id=173150 -->
-    <target name="update">
-		<echo message="-------- Project: mylyn Responsible: mkersten" />
-        <property name="updateSite" 
-        	value="file://${user.home}/downloads/tools/mylyn/update/europa/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-       
-    	<ant antfile="updateMirrorProject.xml">
-	        <property
-	            name="featureId"
-	            value="org.eclipse.mylyn_feature"/>
-	        <property
-	            name="version"
-	            value="2.3.0.v20080225-2200"/>
-        </ant>
-    	<ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.mylyn.context_feature"/>
-            <property
-                name="version"
-                value="2.3.0.v20080225-2200"/>
-        </ant>
-    	<ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.mylyn.ide_feature"/>
-            <property
-                name="version"
-                value="2.3.0.v20080225-2200"/>
-        </ant>
-    	<ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.mylyn.java_feature"/>
-            <property
-                name="version"
-                value="2.3.0.v20080225-2200"/>
-        </ant>    	
-    	<ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.mylyn.pde_feature"/>
-            <property
-                name="version"
-                value="2.3.0.v20080225-2200"/>
-        </ant>   
-    	<ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.mylyn.bugzilla_feature"/>
-            <property
-                name="version"
-                value="2.3.0.v20080225-2200"/>
-        </ant> 
-    	<ant antfile="updateMirrorProject.xml">
-            <property
-                name="featureId"
-                value="org.eclipse.mylyn.trac_feature"/>
-            <property
-                name="version"
-                value="2.3.0.v20080225-2200"/>
-        </ant>
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/build-home/features-stp.xml b/org.eclipse.europa.tools/build-home/features-stp.xml
deleted file mode 100644
index d5f27ee..0000000
--- a/org.eclipse.europa.tools/build-home/features-stp.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update">
-    <target name="update">
-	<echo message="-------- Project: STP Responsible: ohurley" />
-        <property name="updateSite" value="file://${user.home}/downloads/stp/updates/europa/site.xml" />
-        <echo message="   pulling update jars from ${updateSite}" />
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.stp.b2j.feature" />
-            <property name="version"
-                      value="0.7.0.200710161054-07C-7733G535E53CA" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.stp.bpmn.feature" />
-            <property name="version"
-                      value="0.7.0.200710161054-07Q-7E77YA7AUA7QM" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.stp.core.feature" />
-            <property name="version"
-                      value="0.7.0.200710161054-07Q-7E77YA7AUA7QM" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.stp.servicecreation" />
-            <property name="version"
-                      value="0.7.0.200710161054-07l-7MAAqGAGkGAeY" />
-        </ant>
-    	
-    	<ant antfile="updateMirrorProject.xml">
-    	    <property name="featureId"
-    	              value="org.eclipse.stp.sc.jaxws.feature" />
-    	    <property name="version"
-    	              value="0.7.0.200710161054-07J-7A55P858M85JG" />
-    	</ant>
-    	
-    	<ant antfile="updateMirrorProject.xml">
-    	    <property name="featureId"
-    	              value="org.eclipse.stp.sc.sca.feature" />
-    	    <property name="version"
-    	              value="0.7.0.200710161054-07J-7A55P858M85JG" />
-    	</ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.stp.soas.feature" />
-            <property name="version"
-                      value="0.7.0.200710161054-07e-7MAAqGAGkGAeY" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.stp.soas.runtime.feature" />
-            <property name="version"
-                      value="0.7.0.200710161054-07J-7A55P858M85JG" />
-        </ant>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-tptp.xml b/org.eclipse.europa.tools/build-home/features-tptp.xml
deleted file mode 100644
index f53d443..0000000
--- a/org.eclipse.europa.tools/build-home/features-tptp.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-    <target name="update">
-		<echo message="-------- Project: TPTP Responsible: sdoddapaneni" />
-        <property name="updateSite"
-                  value="file://${user.home}/downloads/tptp/updates/europa/site.xml" />
-                
-        <echo message="   pulling update jars from ${updateSite}" />
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.monitoring.runtime" />
-            <property name="version"
-                      value="4.4.2.v200802070100-7U7RAt-wb2KSH28_SYpLQtdrz-9e" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.platform.runtime" />
-            <property name="version"
-                      value="4.4.100.v200709030100-8I83Ecg1JNMoVNoIuHeJz0pkKXp4" />
-        </ant>
-
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.test.runtime" />
-            <property name="version"
-                      value="4.3.200.v200709070956-7E7_E9w-QhbZaKJDf3VccSsHGVpw" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.trace.runtime" />
-            <property name="version"
-                      value="4.3.100.v200709070956-7E78CE-UUN_z05rAKNleTVlXSVO_" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.wtp" />
-            <property name="version"
-                      value="4.4.100.v200709030100-774_9-CIHmC_8lIIAhAXCWBG9B" />
-        </ant>
-    	
-        <ant antfile="updateMirrorProject.xml">
-            <property name="featureId"
-                      value="org.eclipse.tptp.birt" />
-            <property name="version"
-                      value="4.4.100.v200709030100-7I7GE8O-hthrtiF4tTV1U8Yz0V2i" />
-        </ant>
-
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/features-wtp.xml b/org.eclipse.europa.tools/build-home/features-wtp.xml
deleted file mode 100644
index d471d7f..0000000
--- a/org.eclipse.europa.tools/build-home/features-wtp.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="update" default="update">
-	<target name="update">
-		<echo message="-------- Project: WTP Responsible: david_williams" />
-
-		<property name="updateSite" value="file://${user.home}/downloads/webtools/updates" />
-		<echo message="   pulling update jars from ${updateSite}" />
-
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.jpt.feature" />
-			<property name="version" value="1.0.2.v200802140100-77-7_CYQCD2CaLYCHCD" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.jst" />
-			<property name="version" value="2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.wst.common_ui.feature" />
-			<property name="version" value="2.0.2.v200802150100-7C5EH3E9RvTVnirrspVz0bmP7g8d" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.wst.xml_ui.feature" />
-			<property name="version" value="2.0.2.v200802150100-7A1ECMCnbcl1bVs9uNm_Zkieb7Qe" />
-		</ant>
-		<ant antfile="updateMirrorProject.xml">
-			<property name="featureId" value="org.eclipse.wst" />
-			<property name="version" value="2.0.2.v200802150100-7C-7C8k0JWR293WFMOOObjNnnqho" />
-		</ant>
-
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/generateMirrorTags.jar b/org.eclipse.europa.tools/build-home/generateMirrorTags.jar
deleted file mode 100644
index 753abe4..0000000
--- a/org.eclipse.europa.tools/build-home/generateMirrorTags.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.tools/build-home/incrementSite.xml b/org.eclipse.europa.tools/build-home/incrementSite.xml
deleted file mode 100644
index b6775f9..0000000
--- a/org.eclipse.europa.tools/build-home/incrementSite.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="increment"
-    default="increment"
-    basedir=".">
-    <!-- original example received from Richard Gronback from cross-project list (thanks Richard!) -->
-    <!-- see http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_standalone.html -->
-
-    <!-- if not otherwise set, set directory for java execution to basedir -->
-    <property
-        name="buildDirectory"
-        value="${basedir}" />
-        
-    <!-- if not otherwise set, set the location of a Java VM -->  
-    <!-- todo: this should be "passed in" to this script, for better 
-        general use, not depending on some machines specific installation -->  
-    <property 
-        name="jvmLocation"
-        value="$HOME/europa/ibm-java2-ppc-50"/>    
-
-    <target name="increment">
-        <!--Note: this word 'Updating' is critical for the status code to 
-        "find" the data it needs to work. So, it should not be changed, and 
-        the word 'updating' should not be used elsewhere --> 
-        <echo message="Updating ${featureId} ${version}" />
-
-        <java
-            classname="org.eclipse.equinox.launcher.Main"
-            taskname="incrementSite"
-            fork="true"
-            jvm="${jvmLocation}/bin/java"
-            failonerror="false"
-            resultProperty="incrementSiteResult"
-            maxmemory="256m"
-            dir="${buildDirectory}">
-            <classpath>
-                <fileset dir="${eclipse.home}/plugins">
-                    <include name="org.eclipse.equinox.launcher_*.jar" />
-                </fileset>
-            </classpath>
-            <jvmarg value="-Dosgi.locking=none" />
-            <jvmarg value="-DcontinueOnError=true" />
-            <arg value="-clean" />
-            <arg value="-nosplash" />
-            <arg value="-application" />
-            <arg value="org.eclipse.update.core.standaloneUpdate" />
-            <arg value="-data" />
-            <arg value="${basedir}/buildworkspace" />
-            <arg value="-debug" />
-            <arg value="-consolelog" />
-            <arg value="-command" />
-            <arg value="mirror" />
-            <arg value="-from" />
-            <arg value="${stagingSite}" />
-            <arg value="-to" />
-            <arg value="${releasesSite}" />
-            <arg value="-ignoreMissingPlugins" />
-            <arg value="true" />
-
-        </java>
-
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/indexer.xml b/org.eclipse.europa.tools/build-home/indexer.xml
deleted file mode 100644
index cea0849..0000000
--- a/org.eclipse.europa.tools/build-home/indexer.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="index" default="index" basedir=".">
-
-    <!--
-		OSGi Indexer. See 
-		http://bundles.osgi.org/bindex.php
-	-->
-    <target name="init">
-        <property file="env.properties" />
-    </target>
-
-    <target name="index" depends="init">
-        
-        <echo message="Indexing ${localUpdateSitePath}/plugins/*.jar" />
-        
-        <java jar="bindex.jar"
-      		  jvm="${jvmLocation}/bin/java"
-              fork="true"
-              failonerror="false">
-            <arg value="-t" />
-            <arg value="http://download.eclipse.org/europa/releases/plugins/%f " />
-            <arg value="-q" />
-            <arg value="${localUpdateSitePath}/plugins/*.jar" />
-        </java>
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/init.xml b/org.eclipse.europa.tools/build-home/init.xml
deleted file mode 100644
index afea02a..0000000
--- a/org.eclipse.europa.tools/build-home/init.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="init"
-    default="init"
-    basedir=".">
-
-    <target name="init">
-        <echo message="Initilialized" />
-        <property
-            name="initialized"
-            value="true" />
-
-        <property file="env.properties" />
-
-        <echo message="eclipse.home: ${eclipse.home}" />
-        <echo message="jvmLocation: ${jvmLocation}" />
-        <echo message="localUpdateSitePath: ${localUpdateSitePath}" />
-
-        <!-- mkdir, just for first time, doesn't hurt to call each time -->
-        <mkdir dir="${localUpdateSitePath}" />
-
-        <!-- delete any previous build workspace. Only interesting thing it has is .metadata/.log -->
-        <!-- since init runs each project, deletes too frequently 
-            <delete
-            dir="${basedir}/buildworkspace"
-            failonerror="false" />
-        -->
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/plugins_with_correct_legal_docs.txt b/org.eclipse.europa.tools/build-home/plugins_with_correct_legal_docs.txt
deleted file mode 100644
index 62e9fdd..0000000
--- a/org.eclipse.europa.tools/build-home/plugins_with_correct_legal_docs.txt
+++ /dev/null
@@ -1,1123 +0,0 @@
-#
-# GMF
-#
-org.eclipse.gmf 1.0.0
-org.eclipse.gmf.bridge 1.1.0
-org.eclipse.gmf.bridge.trace 1.0.100
-org.eclipse.gmf.bridge.ui 1.1.0
-org.eclipse.gmf.bridge.ui.dashboard 2.0.0
-org.eclipse.gmf.codegen 2.0.0
-org.eclipse.gmf.codegen.edit 2.0.0
-org.eclipse.gmf.codegen.lite 1.1.0
-org.eclipse.gmf.codegen.lite.ui 1.1.0
-org.eclipse.gmf.codegen.ui 1.1.0
-org.eclipse.gmf.common 1.1.0
-org.eclipse.gmf.doc 1.0.0
-org.eclipse.gmf.doc.ui 1.1.0
-org.eclipse.gmf.doc-feature 1.1.0
-org.eclipse.gmf.ecore.editor 2.0.0
-org.eclipse.gmf.examples 1.0.0
-org.eclipse.gmf.examples.pde-feature 1.1.0
-org.eclipse.gmf.examples.runtime.common.service 1.0.1
-org.eclipse.gmf.examples.runtime.diagram.decorator 1.0.1
-org.eclipse.gmf.examples.runtime.diagram.geoshapes 1.0.1
-org.eclipse.gmf.examples.runtime.diagram.layout 1.0.1
-org.eclipse.gmf.examples.runtime.diagram.logic 1.0.100
-org.eclipse.gmf.examples.runtime.diagram.logic.model 1.0.1
-org.eclipse.gmf.examples.runtime.diagram.logic.model.edit 1.0.1
-org.eclipse.gmf.examples.runtime.diagram.logic.model.editor 1.0.1
-org.eclipse.gmf.examples.runtime.emf.clipboard 1.0.1
-org.eclipse.gmf.examples.ui.pde 1.0.100
-org.eclipse.gmf.examples-feature 1.0.100
-org.eclipse.gmf.graphdef 2.0.0
-org.eclipse.gmf.graphdef.codegen 2.0.0
-org.eclipse.gmf.graphdef.codegen.ui 1.0.100
-org.eclipse.gmf.graphdef.edit 2.0.0
-org.eclipse.gmf.graphdef.editor 1.0.0
-org.eclipse.gmf.map 2.0.0
-org.eclipse.gmf.map.edit 2.0.0
-org.eclipse.gmf.map.editor 1.0.0
-org.eclipse.gmf.runtime.common.core 1.0.100
-org.eclipse.gmf.runtime.common.ui 1.0.100
-org.eclipse.gmf.runtime.common.ui.action 1.0.100
-org.eclipse.gmf.runtime.common.ui.action.ide 1.0.1
-org.eclipse.gmf.runtime.common.ui.printing 1.0.1
-org.eclipse.gmf.runtime.common.ui.printing.win32 1.0.2
-org.eclipse.gmf.runtime.common.ui.services 1.0.100
-org.eclipse.gmf.runtime.common.ui.services.action 1.0.100
-org.eclipse.gmf.runtime.common.ui.services.dnd 1.0.1
-org.eclipse.gmf.runtime.common.ui.services.dnd.ide 1.0.1
-org.eclipse.gmf.runtime.common.ui.services.properties 1.0.1
-org.eclipse.gmf.runtime.diagram.core 1.0.100
-org.eclipse.gmf.runtime.diagram.ui 1.0.100
-org.eclipse.gmf.runtime.diagram.ui.actions 1.0.100
-org.eclipse.gmf.runtime.diagram.ui.dnd 1.0.1
-org.eclipse.gmf.runtime.diagram.ui.geoshapes 1.0.1
-org.eclipse.gmf.runtime.diagram.ui.printing 1.0.100
-org.eclipse.gmf.runtime.diagram.ui.printing.render 1.0.1
-org.eclipse.gmf.runtime.diagram.ui.properties 1.0.100
-org.eclipse.gmf.runtime.diagram.ui.providers 1.0.100
-org.eclipse.gmf.runtime.diagram.ui.providers.ide 1.0.1
-org.eclipse.gmf.runtime.diagram.ui.render 1.0.100
-org.eclipse.gmf.runtime.diagram.ui.resources.editor 1.0.3
-org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide 1.0.3
-org.eclipse.gmf.runtime.draw2d.ui 1.0.100
-org.eclipse.gmf.runtime.draw2d.ui.render 1.0.100
-org.eclipse.gmf.runtime.draw2d.ui.render.awt 1.0.100
-org.eclipse.gmf.runtime.emf.clipboard.core 1.0.100
-org.eclipse.gmf.runtime.emf.commands.core 1.0.3
-org.eclipse.gmf.runtime.emf.core 1.0.100
-org.eclipse.gmf.runtime.emf.type.core 1.0.100
-org.eclipse.gmf.runtime.emf.type.ui 1.0.1
-org.eclipse.gmf.runtime.emf.ui 1.0.100
-org.eclipse.gmf.runtime.emf.ui.properties 1.0.2
-org.eclipse.gmf.runtime.gef.ui 1.0.1
-org.eclipse.gmf.runtime.lite 1.0.0
-org.eclipse.gmf.runtime.notation 1.0.100
-org.eclipse.gmf.runtime.notation.edit 1.0.1
-org.eclipse.gmf.runtime.notation.providers 1.0.1
-org.eclipse.gmf.runtime-feature 1.0.100
-org.eclipse.gmf.sdk 1.0.0
-org.eclipse.gmf.sdk.experimental-feature 1.1.0
-org.eclipse.gmf.sdk-feature 2.0.0
-org.eclipse.gmf.tests 2.0.0
-org.eclipse.gmf.tests.lite 2.0.0
-org.eclipse.gmf.tests.runtime.common.core 1.0.3
-org.eclipse.gmf.tests.runtime.common.ui 1.0.100
-org.eclipse.gmf.tests.runtime.common.ui.services 1.0.2
-org.eclipse.gmf.tests.runtime.common.ui.services.action 1.0.100
-org.eclipse.gmf.tests.runtime.common.ui.services.provider 1.0.1
-org.eclipse.gmf.tests.runtime.diagram.ui 1.0.100
-org.eclipse.gmf.tests.runtime.draw2d.ui 1.0.1
-org.eclipse.gmf.tests.runtime.draw2d.ui.render 1.0.100
-org.eclipse.gmf.tests.runtime.emf.clipboard.core 1.0.100
-org.eclipse.gmf.tests.runtime.emf.commands.core 1.0.3
-org.eclipse.gmf.tests.runtime.emf.type.core 1.0.100
-org.eclipse.gmf.tests.runtime.emf.type.ui 1.0.1
-org.eclipse.gmf.tests.runtime.emf.ui 1.0.1
-org.eclipse.gmf.tests.runtime.emf.ui.properties 1.0.1
-org.eclipse.gmf.tests.runtime.gef.ui 1.0.1
-org.eclipse.gmf.tests-feature 2.0.0
-org.eclipse.gmf.tooldef 2.0.0
-org.eclipse.gmf.tooldef.edit 2.0.0
-org.eclipse.gmf.validate 1.1.0
-org.eclipse.gmf.xpand 1.0.0
-org.eclipse.gmf.xpand.editor 1.0.0
-org.apache.batik.bridge 1.6.0
-org.apache.batik.css 1.6.0
-org.apache.batik.dom 1.6.0
-org.apache.batik.dom.svg 1.6.0
-org.apache.batik.ext.awt 1.6.0
-org.apache.batik.parser 1.6.0
-org.apache.batik.svggen 1.6.0
-org.apache.batik.transcoder 1.6.0
-org.apache.batik.util 1.6.0
-org.apache.batik.util.gui 1.6.0
-org.apache.batik.xml 1.6.0
-org.apache.xerces 2.8.0
-org.apache.xml.resolver 1.1.0
-org.w3c.css.sac 1.3.0
-org.w3c.dom 1.3.3
-org.w3c.dom.smil 1.0.0
-org.w3c.dom.svg 1.1.0
-net.sourceforge.lpg.lpgjavaruntime 1.1.0
-#
-# ECF
-#
-org.jivesoftware.smack 2.2.1
-org.eclipse.ecf.identity 1.0.0
-org.eclipse.ecf 1.0.0
-org.eclipse.ecf.sharedobject 1.0.0
-org.eclipse.ecf.datashare 1.0.0
-org.eclipse.ecf.discovery 1.0.0
-org.eclipse.ecf.doc 1.0.0
-org.eclipse.ecf.filetransfer 1.0.0
-org.eclipse.ecf.presence 1.0.0
-org.eclipse.ecf.provider 1.0.0
-org.eclipse.ecf.provider.datashare 1.0.0
-org.eclipse.ecf.provider.filetransfer 1.0.0
-org.eclipse.ecf.provider.irc 1.0.0
-org.eclipse.ecf.provider.remoteservice 1.0.0
-org.eclipse.ecf.provider.xmpp 1.0.0
-org.eclipse.ecf.remoteservice 1.0.0
-org.eclipse.ecf.ui 1.0.0
-org.eclipse.ecf.server 1.0.0
-org.eclipse.ecf.provider.jmdns 1.0.0
-org.eclipse.ecf.provider.ui 1.0.0
-org.eclipse.ecf.presence.ui 1.0.0
-org.eclipse.ecf.provider.xmpp.ui 1.0.0
-org.eclipse.ecf.provider.irc.ui 1.0.0
-org.eclipse.ecf.discovery.ui 1.0.0
-org.eclipse.ecf.server.generic 1.0.0
-org.eclipse.bittorrent 0.3.0
-org.eclipse.ecf.provider.bittorrent 0.1.0
-org.eclipse.ecf.provider.bittorrent.ui 0.1.0
-org.eclipse.ecf.filetransfer.ui 1.0.0
-org.eclipse.ecf.provider.msn 1.0.0
-org.eclipse.ecf.provider.msn.ui 1.0.0
-org.eclipse.ecf.presence.bot 1.0.0
-org.eclipse.ecf.provider.filetransfer.httpclient 1.0.0
-org.eclipse.ecf.telephony.call 1.0.0
-org.eclipse.ecf.telephony.call.ui 1.0.0
-org.eclipse.ecf.protocol.msn 0.3.1
-org.eclipse.ecf.presence.collab.ui 1.0.0
-org.eclipse.ecf.core.source 1.0.0
-org.eclipse.ecf.example.clients 1.0.0
-org.eclipse.ecf.example.collab 1.0.0
-org.eclipse.ecf.example.collab.editor 1.0.0
-org.eclipse.ecf.examples.source 1.0.0 
-#
-# Buckminster
-#
-org.eclipse.buckminster.ant 0.1.0
-org.eclipse.buckminster.ant.ui 0.1.0
-org.eclipse.buckminster.cmdline 0.1.0
-org.eclipse.buckminster.core 0.1.0
-org.eclipse.buckminster.cvs 0.1.0
-org.eclipse.buckminster.installer 0.1.0
-org.eclipse.buckminster.jdt 0.1.0
-org.eclipse.buckminster.maven 0.1.0
-org.eclipse.buckminster.p4 0.1.0
-org.eclipse.buckminster.p4.ui 0.1.0
-org.eclipse.buckminster.pde 0.1.0
-org.eclipse.buckminster.runtime 0.1.0
-org.eclipse.buckminster.sax 0.1.0
-org.eclipse.buckminster.svn 0.1.0
-org.eclipse.buckminster.ui 0.1.0
-org.eclipse.buckminster.core.feature 0.1.0
-org.eclipse.buckminster.cvs.feature 0.1.0
-org.eclipse.buckminster.maven.feature 0.1.0
-org.eclipse.buckminster.p4.feature 0.1.0
-org.eclipse.buckminster.pde.feature 0.1.0
-org.eclipse.buckminster.svn.feature 0.1.0
-#
-# GEF
-#
-org.eclipse.draw2d 3.2.100
-org.eclipse.draw2d.doc.isv 3.2.100
-org.eclipse.gef 3.2.100
-org.eclipse.gef 3.3.0
-org.eclipse.gef.doc.isv 3.2.100
-org.eclipse.gef.examples 3.3.0
-org.eclipse.gef.examples.flow 3.2.100
-org.eclipse.gef.examples.logic 3.2.100
-org.eclipse.gef.examples.shapes 3.2.100
-org.eclipse.gef.examples.source 3.3.0
-org.eclipse.gef.examples.text 3.2.100
-org.eclipse.gef.examples.ui.pde 3.3.0
-org.eclipse.gef.sdk 3.3.0
-org.eclipse.gef.source 3.3.0
-#
-# DTP
-#
-org.eclipse.datatools.connectivity.feature 1.5.0
-org.eclipse.datatools.connectivity.oda.designer.feature 1.5.0
-org.eclipse.datatools.connectivity.oda.feature 1.5.0
-org.eclipse.datatools.doc.user 1.5.0
-org.eclipse.datatools.enablement.apache.derby.feature 1.5.0
-org.eclipse.datatools.enablement.feature 1.5.0
-org.eclipse.datatools.enablement.hsqldb.feature 1.5.0
-org.eclipse.datatools.enablement.ibm.feature 1.5.0
-org.eclipse.datatools.enablement.jdbc.feature 1.5.0
-org.eclipse.datatools.enablement.jdt.feature 1.5.0
-org.eclipse.datatools.enablement.msft.feature 1.5.0
-org.eclipse.datatools.enablement.mysql.feature 1.5.0
-org.eclipse.datatools.enablement.oda.designer.feature 1.5.0
-org.eclipse.datatools.enablement.oda.feature 1.5.0
-org.eclipse.datatools.enablement.oracle.feature 1.5.0
-org.eclipse.datatools.enablement.postgresql.feature 1.5.0
-org.eclipse.datatools.enablement.sybase.feature 1.5.0
-org.eclipse.datatools.intro 1.5.0
-org.eclipse.datatools.modelbase.feature 1.5.0
-org.eclipse.datatools.sdk.feature 1.5.0
-org.eclipse.datatools.sqldevtools.data.feature 1.5.0
-org.eclipse.datatools.sqldevtools.ddl.feature 1.5.0
-org.eclipse.datatools.sqldevtools.feature 1.5.0
-org.eclipse.datatools.sqldevtools.parsers.feature 1.5.0
-org.eclipse.datatools.sqldevtools.results.feature 1.5.0
-
-Plug-ins:
-
-org.dbunit 2.2.0
-org.eclipse.datatools.connectivity.db.derby 1.0.0
-org.eclipse.datatools.connectivity.db.generic.ui 1.0.0
-org.eclipse.datatools.connectivity.db.generic 1.0.0
-org.eclipse.datatools.connectivity.dbdefinition.derby 1.0.0
-org.eclipse.datatools.connectivity.dbdefinition.genericJDBC 1.0.0
-org.eclipse.datatools.connectivity.derby.ui 1.0.0
-org.eclipse.datatools.connectivity.derby 1.0.0
-org.eclipse.datatools.connectivity.oda.consumer 3.1.0
-org.eclipse.datatools.connectivity.oda.design.ui 3.0.4
-org.eclipse.datatools.connectivity.oda.design 3.0.4
-org.eclipse.datatools.connectivity.oda.flatfile.ui 3.0.4
-org.eclipse.datatools.connectivity.oda.flatfile 3.0.4
-org.eclipse.datatools.connectivity.oda.profile 3.0.4
-org.eclipse.datatools.connectivity.oda.template.ui 3.0.4
-org.eclipse.datatools.connectivity.oda 3.1.0
-org.eclipse.datatools.connectivity.sqm.core.ui 1.0.0
-org.eclipse.datatools.connectivity.sqm.core 1.0.0
-org.eclipse.datatools.connectivity.sqm.fe.ui.actions 1.0.0
-org.eclipse.datatools.connectivity.sqm.fe.ui 1.0.0
-org.eclipse.datatools.connectivity.sqm.server.ui 1.0.0
-org.eclipse.datatools.connectivity.ui.dse 1.0.0
-org.eclipse.datatools.connectivity.ui 1.0.0
-org.eclipse.datatools.connectivity 1.0.0
-org.eclipse.datatools.doc.isv 1.5.0
-org.eclipse.datatools.doc.user 1.0.0
-org.eclipse.datatools.enablement.finfo 1.5.0
-org.eclipse.datatools.enablement.hsqldb 1.0.0
-org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.ibm.db2.iseries.profile 1.0.0
-org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.ibm.db2.luw.profile 1.0.0
-org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.ibm.db2.zseries.profile 1.0.0
-org.eclipse.datatools.enablement.ibm.informix.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.ibm.informix.profile 1.0.0
-org.eclipse.datatools.enablement.jdt.classpath 1.0.0
-org.eclipse.datatools.enablement.jdt.dbunit 1.0.0
-org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.msft.sqlserver.profile 1.0.0
-org.eclipse.datatools.enablement.mysql.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.mysql.profile 1.0.0
-org.eclipse.datatools.enablement.mysql 1.0.0
-org.eclipse.datatools.enablement.oda.ws.ui 1.0.0
-org.eclipse.datatools.enablement.oda.ws 1.0.0
-org.eclipse.datatools.enablement.oda.xml.ui 1.0.1
-org.eclipse.datatools.enablement.oda.xml 1.0.1
-org.eclipse.datatools.enablement.oracle.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.oracle.profile 1.0.0
-org.eclipse.datatools.enablement.postgresql.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.postgresql.profile 1.0.0
-org.eclipse.datatools.enablement.sybase.asa.models 1.0.0
-org.eclipse.datatools.enablement.sybase.asa 1.0.0
-org.eclipse.datatools.enablement.sybase.ase.dbdefinition 1.0.0
-org.eclipse.datatools.enablement.sybase.ase.profile 1.0.0
-org.eclipse.datatools.enablement.sybase 1.0.0
-org.eclipse.datatools.help 1.5.0
-org.eclipse.datatools.intro 1.0.0
-org.eclipse.datatools.lpg 1.0.0
-org.eclipse.datatools.modelbase.dbdefinition 1.0.0
-org.eclipse.datatools.modelbase.derby 1.0.0
-org.eclipse.datatools.modelbase.sql.edit 1.0.0
-org.eclipse.datatools.modelbase.sql.query 1.0.0
-org.eclipse.datatools.modelbase.sql.xml.query 1.0.0
-org.eclipse.datatools.modelbase.sql 1.0.0
-org.eclipse.datatools.oda.cshelp 1.0.0
-org.eclipse.datatools.source 1.5.0
-org.eclipse.datatools.sqltools.common.ui 1.0.0
-org.eclipse.datatools.sqltools.data.core 1.0.0
-org.eclipse.datatools.sqltools.data.ui 1.0.0
-org.eclipse.datatools.sqltools.db.derby 1.0.0
-org.eclipse.datatools.sqltools.db.generic 1.0.0
-org.eclipse.datatools.sqltools.debugger.core 1.0.0
-org.eclipse.datatools.sqltools.editor.core 1.0.0
-org.eclipse.datatools.sqltools.parsers.sql.lexer 1.0.0
-org.eclipse.datatools.sqltools.parsers.sql.query 1.0.0
-org.eclipse.datatools.sqltools.parsers.sql.xml.query 1.0.0
-org.eclipse.datatools.sqltools.parsers.sql 1.0.0
-org.eclipse.datatools.sqltools.plan 1.0.0
-org.eclipse.datatools.sqltools.result 1.0.0
-org.eclipse.datatools.sqltools.routineeditor 1.0.0
-org.eclipse.datatools.sqltools.sqleditor 1.0.0
-org.eclipse.datatools.sqltools.sqlscrapbook 1.0.0
-org.eclipse.datatools.sqltools.sql 1.0.0
-org.eclipse.datatools.sqltools.tabledataeditor 1.0.0
-org.eclipse.datatools.sqltools.tablewizard 1.0.0
-#
-# DSDP-DD
-#
-org.eclipse.dd.debug.memory.renderings 0.9.0
-org.eclipse.dd.dsf.gdb 0.9.0
-org.eclipse.dd.dsf.sdk 0.9.0
-org.eclipse.dd.ipxact 0.2.0
-org.eclipse.dd.debug.memory.renderings.traditional 0.9.0
-org.eclipse.dd.dsf.debug.ui 0.9.0
-org.eclipse.dd.dsf.debug 0.9.0
-org.eclipse.dd.dsf.gdb.ui 0.9.0
-org.eclipse.dd.dsf.gdb 0.9.0
-org.eclipse.dd.dsf.mi.core 0.9.0
-org.eclipse.dd.dsf.mi.ui 0.9.0
-org.eclipse.dd.dsf.ui 0.9.0
-org.eclipse.dd.dsf 0.9.0
-org.eclipse.dd.ipxact.checker.core 0.2.0
-org.eclipse.dd.ipxact.checker.ui 0.2.0
-org.eclipse.dd.ipxact.docs 0.2.0
-org.eclipse.dd.ipxact.editor.core 0.2.0
-org.eclipse.dd.ipxact.editor.ui 0.2.0
-#
-# Monkey
-#
-org.eclipse.eclipsemonkey 1.0.0
-org.eclipse.eclipsemonkey 1.0.0
-org.eclipse.eclipsemonkey.doms 1.0.0
-org.eclipse.eclipsemonkey.help 1.0.0
-org.eclipse.eclipsemonkey.lang.javascript 1.0.0
-org.eclipse.eclipsemonkey.ui 1.0.0
-org.mozilla.javascript 1.6.2
-#
-# DSDP-TM
-#
-org.eclipse.rse.core.source 2.0.0
-org.eclipse.rse.core 2.0.0
-org.eclipse.rse.dstore.source 2.0.0
-org.eclipse.rse.dstore 2.0.0
-org.eclipse.rse.ftp.source 2.0.0
-org.eclipse.rse.ftp 2.0.0
-org.eclipse.rse.local.source 2.0.0
-org.eclipse.rse.local 2.0.0
-org.eclipse.rse.remotecdt 2.0.0
-org.eclipse.rse.sdk 2.0.0
-org.eclipse.rse.ssh.source 2.0.0
-org.eclipse.rse.ssh 2.0.0
-org.eclipse.rse.telnet.source 2.0.0
-org.eclipse.rse.telnet 2.0.0
-org.eclipse.rse.tests 2.0.0
-org.eclipse.rse 2.0.0
-org.eclipse.tm.discovery 2.0.0
-org.eclipse.tm.terminal.sdk 1.0.0
-org.eclipse.tm.terminal.serial 1.0.0
-org.eclipse.tm.terminal.ssh 1.0.0
-org.eclipse.tm.terminal.telnet 1.0.0
-org.eclipse.tm.terminal.view 1.0.0
-org.eclipse.tm.terminal 1.0.0
-org.apache.commons.net 1.4.1 
-org.apache.oro 2.0.8  
-org.eclipse.dstore.core 2.0.0
-org.eclipse.dstore.doc.isv 2.0.0
-org.eclipse.dstore.extra 2.0.0
-org.eclipse.rse.connectorservice.dstore 2.0.0
-org.eclipse.rse.connectorservice.local 2.0.0
-org.eclipse.rse.connectorservice.ssh 2.0.0
-org.eclipse.rse.connectorservice.telnet 1.0.0
-org.eclipse.rse.core.source 2.0.0
-org.eclipse.rse.core 2.0.0
-org.eclipse.rse.discovery 2.0.0
-org.eclipse.rse.doc.isv 2.0.0
-org.eclipse.rse.doc.user 2.0.0
-org.eclipse.rse.dstore.security 2.0.0
-org.eclipse.rse.dstore.source 2.0.0
-org.eclipse.rse.efs.ui 2.0.0
-org.eclipse.rse.efs 2.0.0
-org.eclipse.rse.files.ui 2.0.0
-org.eclipse.rse.ftp.source 2.0.0
-org.eclipse.rse.importexport 1.0.0
-org.eclipse.rse.local.source 2.0.0
-org.eclipse.rse.processes.ui 2.0.0
-org.eclipse.rse.remotecdt.source 2.0.0
-org.eclipse.rse.remotecdt 2.0.0
-org.eclipse.rse.sdk 2.0.0
-org.eclipse.rse.services.dstore 2.0.0
-org.eclipse.rse.services.files.ftp 2.0.0
-org.eclipse.rse.services.local 2.0.0
-org.eclipse.rse.services.ssh 2.0.0
-org.eclipse.rse.services.telnet 1.0.0
-org.eclipse.rse.services 2.0.0
-org.eclipse.rse.shells.ui 2.0.0
-org.eclipse.rse.ssh.source 2.0.0
-org.eclipse.rse.subsystems.files.core 2.0.0
-org.eclipse.rse.subsystems.files.dstore 2.0.0
-org.eclipse.rse.subsystems.files.ftp 2.0.0
-org.eclipse.rse.subsystems.files.local 2.0.0
-org.eclipse.rse.subsystems.files.ssh 2.0.0
-org.eclipse.rse.subsystems.processes.core 2.0.0
-org.eclipse.rse.subsystems.processes.dstore 2.0.0
-org.eclipse.rse.subsystems.processes.local 2.0.0
-org.eclipse.rse.subsystems.processes.shell.linux 1.0.0
-org.eclipse.rse.subsystems.shells.core 2.0.0
-org.eclipse.rse.subsystems.shells.dstore 2.0.0
-org.eclipse.rse.subsystems.shells.local 2.0.0
-org.eclipse.rse.subsystems.shells.ssh 2.0.0
-org.eclipse.rse.subsystems.shells.telnet 1.0.0
-org.eclipse.rse.telnet.source 2.0.0
-org.eclipse.rse.tests.framework 2.0.0
-org.eclipse.rse.tests.source 2.0.0
-org.eclipse.rse.tests 2.0.0
-org.eclipse.rse.ui 2.0.0
-org.eclipse.rse 2.0.0
-org.eclipse.tm.discovery.engine 2.0.0
-org.eclipse.tm.discovery.model.edit 2.0.0
-org.eclipse.tm.discovery.model 2.0.0
-org.eclipse.tm.discovery.protocol.dnssd 2.0.0
-org.eclipse.tm.discovery.source 2.0.0
-org.eclipse.tm.discovery.transport.udp 2.0.0
-org.eclipse.tm.discovery.view 2.0.0
-org.eclipse.tm.discovery.wizard 2.0.0
-org.eclipse.tm.terminal.serial.source 1.0.0
-org.eclipse.tm.terminal.serial 1.0.0
-org.eclipse.tm.terminal.source 1.0.0
-org.eclipse.tm.terminal.ssh.source 1.0.0
-org.eclipse.tm.terminal.ssh 1.0.0
-org.eclipse.tm.terminal.telnet.source 1.0.0
-org.eclipse.tm.terminal.telnet 1.0.0
-org.eclipse.tm.terminal.view.source 1.0.0
-org.eclipse.tm.terminal.view 1.0.0
-org.eclipse.tm.terminal 1.0.0
-#
-# DLTK
-#
-org.eclipse.dltk.core 0.9.0
-org.eclipse.dltk.core.sdk 0.9.0
-org.eclipse.dltk.ruby 0.9.0
-org.eclipse.dltk.ruby.sdk 0.9.0
-org.eclipse.dltk.tcl 0.9.0
-org.eclipse.dltk.tcl.sdk 0.9.0
-org.eclipse.dltk.core 0.9.0
-org.eclipse.dltk.ui 0.9.0
-org.eclipse.dltk.debug 0.9.0
-org.eclipse.dltk.debug.ui 0.9.0
-org.eclipse.dltk.launching 0.9.0
-org.eclipse.dltk.console 0.9.0
-org.eclipse.dltk.console.ui 0.9.0
-org.eclipse.dltk.validators.core 0.9.0
-org.eclipse.dltk.validators.ui 0.9.0
-org.eclipse.dltk 0.9.0
-org.eclipse.dltk.ruby.core 0.9.0
-org.eclipse.dltk.ruby.ui 0.9.0
-org.eclipse.dltk.ruby.debug 0.9.0
-org.eclipse.dltk.ruby.debug.ui 0.9.0
-org.eclipse.dltk.ruby.launching 0.9.0
-org.eclipse.dltk.ruby 0.9.0
-org.eclipse.dltk.tcl.core 0.9.0
-org.eclipse.dltk.tcl.ui 0.9.0
-org.eclipse.dltk.tcl.debug 0.9.0
-org.eclipse.dltk.tcl.debug.ui 0.9.0
-org.eclipse.dltk.tcl.launching 0.9.0
-org.eclipse.dltk.tcl.tclchecker 0.9.0
-org.eclipse.dltk.tcl 0.9.0
-#
-# BIRT
-#
-com.lowagie.itext 1.5.2
-org.apache.commons.codec 1.3.0
-org.apache.derby.core 10.1.2
-org.eclipse.birt 2.2.0
-org.eclipse.birt.chart 2.2.0 
-org.eclipse.birt.chart.cshelp 2.2.0
-org.eclipse.birt.chart.doc.isv 2.2.0
-org.eclipse.birt.chart.integration.wtp 2.2.0
-org.eclipse.birt.chart.integration.wtp.source 2.2.0
-org.eclipse.birt.chart.runtime 2.2.0
-org.eclipse.birt.chart.runtime.source 2.2.0
-org.eclipse.birt.chart.source 2.2.0
-org.eclipse.birt.crosstab 2.2.0 
-org.eclipse.birt.crosstab.source 2.2.0
-org.eclipse.birt.cshelp 2.2.0
-org.eclipse.birt.doc 2.2.0
-org.eclipse.birt.doc.isv 2.2.0
-org.eclipse.birt.example 2.2.0 
-org.eclipse.birt.integration.wtp 2.2.0
-org.eclipse.birt.integration.wtp.sdk 2.2.0
-org.eclipse.birt.integration.wtp.source 2.2.0
-org.eclipse.birt.report.designer 2.2.0
-org.eclipse.birt.report.designer.source 2.2.0
-org.eclipse.birt.report.runtime 2.2.0
-org.eclipse.birt.report.runtime.source 2.2.0
-org.eclipse.birt.sdk 2.2.0
-org.eclipse.birt.source 2.2.0
-org.mozilla.rhino 1.6.0
-org.w3c.sac 1.3.0
-org.apache.batik.bridge 1.6.0 
-org.apache.batik.css 1.6.0 
-org.apache.batik.dom 1.6.0 
-org.apache.batik.dom.svg 1.6.0 
-org.apache.batik.ext.awt 1.6.0 
-org.apache.batik.extension 1.6.0 
-org.apache.batik.parser 1.6.0 
-org.apache.batik.svggen 1.6.0 
-org.apache.batik.swing 1.6.0
-org.apache.batik.transcoder 1.6.0 
-org.apache.batik.util 1.6.0 
-org.apache.batik.util.gui 1.6.0 
-org.apache.batik.xml 1.6.0 
-org.apache.xerces 2.8.0 
-org.apache.xml.resolver 1.1.0 
-org.w3c.css.sac 1.3.0 
-org.w3c.dom 1.3.3 
-org.w3c.dom.smil 1.0.0 
-org.w3c.dom.svg 1.1.0 
-org.apache.commons.codec 1.3.0
-com.lowagie.itext 1.5.2
-org.mozilla.rhino 1.6.0
-org.w3c.sac 1.3.0
-org.apache.derby.core 10.1.2
-org.eclipse.birt 2.2.0
-org.eclipse.birt.chart 2.2.0 
-org.eclipse.birt.chart.cshelp 2.2.0
-org.eclipse.birt.chart.device.extension 2.2.0
-org.eclipse.birt.chart.device.pdf 2.2.0
-org.eclipse.birt.chart.device.svg 2.2.0
-org.eclipse.birt.chart.device.swt 2.2.0
-org.eclipse.birt.chart.doc.isv 2.2.0
-org.eclipse.birt.chart.engine 2.2.0
-org.eclipse.birt.chart.engine.extension 2.2.0
-org.eclipse.birt.chart.examples 2.2.0
-org.eclipse.birt.chart.reportitem 2.2.0
-org.eclipse.birt.chart.reportitem.ui 2.2.0
-org.eclipse.birt.chart.runtime 2.2.0
-org.eclipse.birt.chart.tests 2.2.0
-org.eclipse.birt.chart.ui 2.2.0
-org.eclipse.birt.chart.ui.extension 2.2.0
-org.eclipse.birt.core 2.2.0
-org.eclipse.birt.core.tests 2.2.0 
-org.eclipse.birt.core.ui 2.2.0
-org.eclipse.birt.cshelp 2.2.0 
-org.eclipse.birt.data 2.2.0
-org.eclipse.birt.data.tests 2.2.0 
-org.eclipse.birt.doc 2.2.0
-org.eclipse.birt.doc.isv 2.2.0 
-org.eclipse.birt.example 2.2.0
-org.eclipse.birt.integration.wtp.ui 2.2.0
-org.eclipse.birt.report.data.adapter 2.2.0
-org.eclipse.birt.report.data.oda.jdbc 2.2.0
-org.eclipse.birt.report.data.oda.jdbc.tests 2.2.0
-org.eclipse.birt.report.data.oda.jdbc.ui 2.2.0
-org.eclipse.birt.report.data.oda.sampledb 2.2.0
-org.eclipse.birt.report.data.oda.sampledb.ui 2.2.0
-org.eclipse.birt.report.data.oda.xml 2.2.0
-org.eclipse.birt.report.data.oda.xml.ui 2.2.0
-org.eclipse.birt.report.debug.ui 2.2.0
-org.eclipse.birt.report.designer 2.2.0
-org.eclipse.birt.report.designer.core 2.2.0
-org.eclipse.birt.report.designer.samplereports 2.2.0
-org.eclipse.birt.report.designer.tests 2.2.0
-org.eclipse.birt.report.designer.ui 2.2.0
-org.eclipse.birt.report.designer.ui.cubebuilder 2.2.0
-org.eclipse.birt.report.designer.ui.editors 2.2.0
-org.eclipse.birt.report.designer.ui.editors.schematic 2.2.0
-org.eclipse.birt.report.designer.ui.editor.xml.wtp 2.2.0
-org.eclipse.birt.report.designer.ui.ide 2.2.0
-org.eclipse.birt.report.designer.ui.lib 2.2.0
-org.eclipse.birt.report.designer.ui.lib.explorer 2.2.0
-org.eclipse.birt.report.designer.ui.preview 2.2.0
-org.eclipse.birt.report.designer.ui.preview.static html 2.2.0
-org.eclipse.birt.report.designer.ui.preview.web 2.2.0
-org.eclipse.birt.report.designer.ui.rcp 2.2.0
-org.eclipse.birt.report.designer.ui.samples.ide 2.2.0
-org.eclipse.birt.report.designer.ui.samples.rcp 2.2.0
-org.eclipse.birt.report.designer.ui.samplesview 2.2.0
-org.eclipse.birt.report.designer.ui.views 2.2.0
-org.eclipse.birt.report.engine 2.2.0
-org.eclipse.birt.report.engine.emitter.html 2.2.0
-org.eclipse.birt.report.engine.emitter.html.tests 2.2.0
-org.eclipse.birt.report.engine.emitter.pdf 2.2.0
-org.eclipse.birt.report.engine.emitter.pdf.tests 2.2.0
-org.eclipse.birt.report.engine.emitter.postscript 2.2.0
-org.eclipse.birt.report.engine.emitter.postscript.tests 2.2.0
-org.eclipse.birt.report.engine.emitter.ppt 2.2.0
-org.eclipse.birt.report.engine.emitter.prototype.excel 2.2.0
-org.eclipse.birt.report.engine.emitter.wpml 2.2.0
-org.eclipse.birt.report.engine.fonts 2.2.0
-org.eclipse.birt.report.engine.testhelper 2.2.0
-org.eclipse.birt.report.engine.tests 2.2.0
-org.eclipse.birt.report.item.crosstab.core 2.2.0
-org.eclipse.birt.report.item.crosstab.ui 2.2.0
-org.eclipse.birt.report.model 2.2.0
-org.eclipse.birt.report.model.adapter.oda 2.2.0
-org.eclipse.birt.report.model.adapter.oda.tests 2.2.0
-org.eclipse.birt.report.model.testhelper 2.2.0
-org.eclipse.birt.report.model.tests 2.2.0
-org.eclipse.birt.report.runtime 2.2.0
-org.eclipse.birt.report.tests.chart 2.2.0
-org.eclipse.birt.report.tests.engine 2.2.0
-org.eclipse.birt.report.tests.engine.emitter.html 2.2.0
-org.eclipse.birt.report.tests.model 2.2.0
-org.eclipse.birt.report.viewer 2.2.0
-org.eclipse.birt.resources 2.2.0
-org.eclipse.birt.sdk 2.2.0 
-org.eclipse.birt.test.performance 2.2.0
-org.eclipse.birt.tests 2.2.0
-org.eclipse.birt.tests.core 2.2.0 
-org.eclipse.birt.tests.data 2.2.0
-org.eclipse.birt.chart.integration.wtp.source 2.2.0
-org.eclipse.birt.chart.runtime.source 2.2.0
-org.eclipse.birt.chart.source 2.2.0
-org.eclipse.birt.crosstab.source 2.2.0
-org.eclipse.birt.integration.wtp.source 2.2.0
-org.eclipse.birt.report.designer.source 2.2.0
-org.eclipse.birt.report.runtime.source 2.2.0
-org.eclipse.birt.source 2.2.0
-#
-# EMF
-#
-org.eclipse.emf.query.doc     1.1.0
-org.eclipse.emf.query.examples.ocl     1.1.0
-org.eclipse.emf.query.examples.statements     1.0.100
-org.eclipse.emf.query.examples     1.1.0
-org.eclipse.emf.query.ocl     1.1.0
-org.eclipse.emf.query     1.1.0
-org.eclipse.emf.transaction.doc     1.1.0
-org.eclipse.emf.workspace.doc     1.1.0
-org.eclipse.emf.transaction.examples     1.0.100
-org.eclipse.emf.workspace.examples.library.editor     1.0.100
-org.eclipse.emf.workspace.examples     1.0.100
-org.eclipse.emf.transaction.ui     1.0.100
-org.eclipse.emf.transaction     1.1.0
-org.eclipse.emf.workspace.ui     1.0.100
-org.eclipse.emf.workspace     1.1.0
-org.eclipse.emf.validation.doc     1.1.0
-org.eclipse.emf.validation.examples.adapter     1.0.100
-org.eclipse.emf.validation.examples.general     1.0.100
-org.eclipse.emf.validation.examples.ocl     1.1.0
-org.eclipse.emf.validation.examples     1.1.0
-org.eclipse.emf.validation.ocl     1.1.0
-org.eclipse.emf.validation.ui.ide     1.0.100
-org.eclipse.emf.validation.ui     1.1.0
-org.eclipse.emf.validation     1.1.0
-org.eclipse.emf.query.doc-feature     1.1.0
-org.eclipse.emf.query.examples-feature     1.1.0
-org.eclipse.emf.query-feature     1.1.0
-org.eclipse.emf.query.ocl-feature     1.1.0
-org.eclipse.emf.query.sdk-feature     1.1.0
-org.eclipse.emf.transaction.doc-feature     1.1.0
-org.eclipse.emf.workspace.doc-feature     1.1.0
-org.eclipse.emf.emfqtv.all-feature     1.1.0
-org.eclipse.emf.emfqtv.all.sdk-feature     1.1.0
-org.eclipse.emf.transaction.examples-feature     1.0.100
-org.eclipse.emf.workspace.examples-feature     1.0.100
-org.eclipse.emf.transaction-feature     1.1.0
-org.eclipse.emf.transaction.sdk-feature     1.1.0
-org.eclipse.emf.workspace-feature     1.1.0
-org.eclipse.emf.validation.doc-feature     1.1.0
-org.eclipse.emf.validation.examples-feature     1.1.0
-org.eclipse.emf.validation-feature     1.1.0
-org.eclipse.emf.validation.ocl-feature     1.1.0
-org.eclipse.emf.validation.sdk-feature     1.1.0
-org.eclipse.emf.cheatsheets     2.3.0
-org.eclipse.emf.doc     2.3.0
-org.eclipse.emf.examples.jet.article2     2.3.0
-org.eclipse.emf.activities     2.3.0
-org.eclipse.emf.examples.generator.validator     1.0.0
-org.eclipse.emf.examples.library.edit     2.3.0
-org.eclipse.emf.examples.library.editor     2.3.0
-org.eclipse.emf.examples.library     2.3.0
-org.eclipse.emf.examples     2.3.0
-org.eclipse.emf.exporter.html     2.3.0
-org.eclipse.emf.java.edit     2.3.0
-org.eclipse.emf.java.editor     2.3.0
-org.eclipse.emf.java     2.3.0
-org.eclipse.emf.ant     2.3.0
-org.eclipse.emf.codegen.ecore.ui     2.3.0
-org.eclipse.emf.codegen.ecore     2.3.0
-org.eclipse.emf.codegen.ui     2.3.0
-org.eclipse.emf.codegen     2.3.0
-org.eclipse.emf.common.ui     2.3.0
-org.eclipse.emf.common     2.3.0
-org.eclipse.emf.converter     2.3.0
-org.eclipse.emf.ecore.change.edit     2.3.0
-org.eclipse.emf.ecore.change     2.3.0
-org.eclipse.emf.ecore.edit     2.3.0
-org.eclipse.emf.ecore.editor     2.3.0
-org.eclipse.emf.ecore.xmi     2.3.0
-org.eclipse.emf.ecore     2.3.0
-org.eclipse.emf.edit.ui     2.3.0
-org.eclipse.emf.edit     2.3.0
-org.eclipse.emf.exporter     2.3.0
-org.eclipse.emf.importer.ecore     2.3.0
-org.eclipse.emf.importer.java     2.3.0
-org.eclipse.emf.importer.rose     2.3.0
-org.eclipse.emf.importer     2.3.0
-org.eclipse.emf.mapping.ecore.editor     2.3.0
-org.eclipse.emf.mapping.ecore     2.3.0
-org.eclipse.emf.mapping.ecore2ecore.editor     2.3.0
-org.eclipse.emf.mapping.ecore2ecore     2.3.0
-org.eclipse.emf.mapping.ecore2xml.ui     2.3.0
-org.eclipse.emf.mapping.ecore2xml     2.3.0
-org.eclipse.emf.mapping.ui     2.3.0
-org.eclipse.emf.mapping     2.3.0
-org.eclipse.emf     2.3.0
-org.eclipse.emf.test.build     2.3.0
-org.eclipse.emf.test.common     1.0.0
-org.eclipse.emf.test.core     2.3.0
-org.eclipse.emf.test.edit     2.3.0
-org.eclipse.emf.test.examples     2.3.0
-org.eclipse.emf.test.performance     2.3.0
-org.eclipse.emf.test.sdo     2.3.0
-org.eclipse.emf.test.tools     2.3.0
-org.eclipse.emf.test.xml     2.3.0
-org.eclipse.emf.tests     2.3.0
-org.eclipse.emf.doc-feature     2.3.0
-org.eclipse.emf.examples-feature     2.3.0
-org.eclipse.emf-feature     2.3.0
-org.eclipse.emf.codegen-feature     2.3.0
-org.eclipse.emf.codegen.ecore-feature     2.3.0
-org.eclipse.emf.codegen.ecore.ui-feature     2.3.0
-org.eclipse.emf.codegen.ui-feature     2.3.0
-org.eclipse.emf.common-feature     2.3.0
-org.eclipse.emf.common.ui-feature     2.3.0
-org.eclipse.emf.converter-feature     2.3.0
-org.eclipse.emf.ecore-feature     2.3.0
-org.eclipse.emf.ecore.edit-feature     2.3.0
-org.eclipse.emf.ecore.editor-feature     2.3.0
-org.eclipse.emf.edit-feature     2.3.0
-org.eclipse.emf.edit.ui-feature     2.3.0
-org.eclipse.emf.mapping-feature     2.3.0
-org.eclipse.emf.mapping.ecore-feature     2.3.0
-org.eclipse.emf.mapping.ecore.editor-feature     2.3.0
-org.eclipse.emf.mapping.ui-feature     2.3.0
-org.eclipse.emf.sdk-feature     2.3.0
-org.eclipse.emf.tests-feature     2.3.0
-org.eclipse.emf.ecore.sdo.doc     2.3.0
-org.eclipse.emf.commonj.sdo     2.3.0
-org.eclipse.emf.ecore.sdo.edit     2.3.0
-org.eclipse.emf.ecore.sdo.editor     2.3.0
-org.eclipse.emf.ecore.sdo     2.3.0
-org.eclipse.emf.ecore.sdo.doc-feature     2.3.0
-org.eclipse.emf.ecore.sdo-feature     2.3.0
-org.eclipse.emf.ecore.sdo.edit-feature     2.3.0
-org.eclipse.emf.ecore.sdo.editor-feature     2.3.0
-org.eclipse.emf.ecore.sdo.sdk-feature     2.3.0
-org.eclipse.xsd.cheatsheets     2.3.0
-org.eclipse.xsd.doc     2.3.0
-org.eclipse.xsd.example     2.3.0
-org.eclipse.emf.mapping.xsd2ecore.editor     2.3.0
-org.eclipse.emf.mapping.xsd2ecore     2.3.0
-org.eclipse.xsd.ecore.converter     2.3.0
-org.eclipse.xsd.ecore.exporter     2.3.0
-org.eclipse.xsd.ecore.importer     2.3.0
-org.eclipse.xsd.edit     2.3.0
-org.eclipse.xsd.editor     2.3.0
-org.eclipse.xsd.mapping.editor     2.3.0
-org.eclipse.xsd.mapping     2.3.0
-org.eclipse.xsd     2.3.0
-org.eclipse.xsd.doc-feature     2.3.0
-org.eclipse.xsd-feature     2.3.0
-org.eclipse.xsd.ecore.converter-feature     2.3.0
-org.eclipse.xsd.edit-feature     2.3.0
-org.eclipse.xsd.editor-feature     2.3.0
-org.eclipse.xsd.example-feature     2.3.0
-org.eclipse.xsd.mapping-feature     2.3.0
-org.eclipse.xsd.mapping.editor-feature     2.3.0
-org.eclipse.xsd.sdk-feature     2.3.0
-#
-# TPTP
-#
-org.apache.batik.bridge 1.6.0
-org.apache.batik.css 1.6.0
-org.apache.batik.dom.svg 1.6.0
-org.apache.batik.dom 1.6.0
-org.apache.batik.ext.awt 1.6.0
-org.apache.batik.extension 1.6.0
-org.apache.batik.parser 1.6.0
-org.apache.batik.pdf 1.6.0
-org.apache.batik.svggen 1.6.0
-org.apache.batik.swing 1.6.0
-org.apache.batik.transcoder 1.6.0
-org.apache.batik.util.gui 1.6.0
-org.apache.batik.util 1.6.0
-org.apache.batik.xml 1.6.0
-org.apache.commons.logging 1.0.4
-org.apache.log4j 1.2.13
-org.apache.xerces 2.8.0
-org.apache.xml.resolver 1.1.0
-org.eclipse.hyades.analysis.engine 4.3.200
-org.eclipse.hyades.execution.correlation 4.1.300
-org.eclipse.hyades.execution.trace 4.1.200
-org.eclipse.hyades.execution 4.4.0
-org.eclipse.hyades.logging.adapter.ui 4.3.100
-org.eclipse.hyades.logging.adapter 4.3.0
-org.eclipse.hyades.logging.core.sample 4.1.200
-org.eclipse.hyades.logging.core 4.3.100
-org.eclipse.hyades.logging.parsers 4.3.100
-org.eclipse.hyades.perfmon.agents 4.0.0
-org.eclipse.hyades.perfmon 4.2.100
-org.eclipse.hyades.probekit.doc.user 4.2.100
-org.eclipse.hyades.probekit.ui 4.1.300
-org.eclipse.hyades.probekit 4.2.200
-org.eclipse.hyades.resources.database 4.2.100
-org.eclipse.hyades.sdb 4.3.0
-org.eclipse.hyades.statistical.ui 4.2.200
-org.eclipse.hyades.test.core 4.2.200
-org.eclipse.hyades.test.doc.user 4.3.0
-org.eclipse.hyades.test.tools.core 4.4.0
-org.eclipse.hyades.test.tools.ui 4.4.0
-org.eclipse.hyades.test.ui.extensions 4.3.0
-org.eclipse.hyades.test.ui 4.2.200
-org.eclipse.hyades.trace.sample 4.1.300
-org.eclipse.hyades.trace.ui 4.4.0
-org.eclipse.hyades.trace.views 4.1.400
-org.eclipse.hyades.ui 4.2.100
-org.eclipse.tptp.monitoring.doc.isv 4.3.100
-org.eclipse.tptp.monitoring.doc.user 4.2.200
-org.eclipse.tptp.monitoring.examples.isv 4.4.0
-org.eclipse.tptp.monitoring.examples 4.3.100
-org.eclipse.tptp.monitoring.instrumentation.doc.user 4.3.0
-org.eclipse.tptp.monitoring.instrumentation.ui 4.4.0
-org.eclipse.tptp.monitoring.instrumentation 4.3.0
-org.eclipse.tptp.monitoring.la.core.source 4.4.0
-org.eclipse.tptp.monitoring.la.core 4.3.100
-org.eclipse.tptp.monitoring.logui 4.4.0
-org.eclipse.tptp.monitoring.managedagent.agents.source 4.4.0
-org.eclipse.tptp.monitoring.managedagent.doc.user 4.3.100
-org.eclipse.tptp.monitoring.managedagent.jmx 4.4.0
-org.eclipse.tptp.monitoring.managedagent.source 4.4.0
-org.eclipse.tptp.monitoring.managedagent.ui 4.4.0
-org.eclipse.tptp.monitoring.managedagent 4.4.0
-org.eclipse.tptp.monitoring.notifications 4.4.0
-org.eclipse.tptp.monitoring.profile.server.source 4.2.100
-org.eclipse.tptp.monitoring.profile.server 4.2.100
-org.eclipse.tptp.monitoring.report.birt.doc.user 4.4.0
-org.eclipse.tptp.monitoring.report.birt.source 4.4.0
-org.eclipse.tptp.monitoring.report.birt.ui 4.4.0
-org.eclipse.tptp.monitoring.report.birt 4.2.100
-org.eclipse.tptp.monitoring.source 4.4.0
-org.eclipse.tptp.monitoring.symptom.doc.user 4.3.100
-org.eclipse.tptp.monitoring.symptom.editor 4.3.100
-org.eclipse.tptp.monitoring 4.1.200
-org.eclipse.tptp.platform.ac.linux em64t 4.4.0
-org.eclipse.tptp.platform.ac.linux ia32 4.4.0
-org.eclipse.tptp.platform.ac.linux ipf 4.4.0
-org.eclipse.tptp.platform.ac.win em64t 4.4.0
-org.eclipse.tptp.platform.ac.win ia32 4.4.0
-org.eclipse.tptp.platform.ac.win ipf 4.4.0
-org.eclipse.tptp.platform.agentcontroller.doc.isv 4.3.200
-org.eclipse.tptp.platform.agentcontroller.doc.user 4.2.200
-org.eclipse.tptp.platform.agentcontroller 4.2.0
-org.eclipse.tptp.platform.analysis.codereview.java.rules 4.4.0
-org.eclipse.tptp.platform.analysis.codereview.java.source 4.4.0
-org.eclipse.tptp.platform.analysis.codereview.java 4.4.0
-org.eclipse.tptp.platform.analysis.core.ui.doc 4.2.200
-org.eclipse.tptp.platform.analysis.core.ui 4.4.0
-org.eclipse.tptp.platform.analysis.core 4.4.0
-org.eclipse.tptp.platform.analysis.engine.source 4.3.100
-org.eclipse.tptp.platform.analysis.engine 4.1.200
-org.eclipse.tptp.platform.analysis.source 4.4.0
-org.eclipse.tptp.platform.analysis 4.1.200
-org.eclipse.tptp.platform.collection.framework 4.2.100
-org.eclipse.tptp.platform.common.ui.trace 4.3.100
-org.eclipse.tptp.platform.common.ui 4.4.0
-org.eclipse.tptp.platform.common 4.3.100
-org.eclipse.tptp.platform.core.source 4.4.0
-org.eclipse.tptp.platform.core 4.1.200
-org.eclipse.tptp.platform.doc.isv 4.2.200
-org.eclipse.tptp.platform.doc.user 4.2.100
-org.eclipse.tptp.platform.examples.isv 4.3.100
-org.eclipse.tptp.platform.examples 4.3.100
-org.eclipse.tptp.platform.execution 4.4.0
-org.eclipse.tptp.platform.iac.administrator 4.4.0
-org.eclipse.tptp.platform.instrumentation.ui.source 4.2.0
-org.eclipse.tptp.platform.instrumentation.ui 4.3.0
-org.eclipse.tptp.platform.integration.pde.source 4.4.0
-org.eclipse.tptp.platform.integration.pde 4.4.0
-org.eclipse.tptp.platform.jvmti.client 4.4.0
-org.eclipse.tptp.platform.jvmti.runtime 4.4.0
-org.eclipse.tptp.platform.jvmti.source 4.3.0
-org.eclipse.tptp.platform.la.core.source 4.3.100
-org.eclipse.tptp.platform.la.core 4.3.100
-org.eclipse.tptp.platform.log.doc.user 4.3.100
-org.eclipse.tptp.platform.log.views 4.3.100
-org.eclipse.tptp.platform.logging.events 4.3.100
-org.eclipse.tptp.platform.lta.source 4.3.100
-org.eclipse.tptp.platform.lta 4.1.200
-org.eclipse.tptp.platform.models 4.3.0
-org.eclipse.tptp.platform.probekit.launch 4.4.0
-org.eclipse.tptp.platform.probekit.source 4.3.100
-org.eclipse.tptp.platform.probekit 4.1.200
-org.eclipse.tptp.platform.profile.server.core 4.2.0
-org.eclipse.tptp.platform.profile.server.doc.user 4.3.100
-org.eclipse.tptp.platform.profile.server.source 4.3.0
-org.eclipse.tptp.platform.profile.server.wst 4.3.0
-org.eclipse.tptp.platform.profile.server 4.2.0
-org.eclipse.tptp.platform.report.birt.source 4.3.100
-org.eclipse.tptp.platform.report.birt.ui 4.4.0
-org.eclipse.tptp.platform.report.birt 4.4.0
-org.eclipse.tptp.platform.report.core 4.4.0
-org.eclipse.tptp.platform.report.source 4.2.100
-org.eclipse.tptp.platform.report.ui 4.1.200
-org.eclipse.tptp.platform.report 4.1.200
-org.eclipse.tptp.platform.samples.source 4.3.100
-org.eclipse.tptp.platform.samples 4.1.200
-org.eclipse.tptp.platform.statistical.report.birt.source 4.4.0
-org.eclipse.tptp.platform.statistical.report.birt.ui 4.4.0
-org.eclipse.tptp.platform.statistical.report.birt 4.4.0
-org.eclipse.tptp.platform.statistical.ui.source 4.1.300
-org.eclipse.tptp.platform.statistical.ui 4.1.200
-org.eclipse.tptp.platform.trace.source 4.3.100
-org.eclipse.tptp.platform.trace 4.1.200
-org.eclipse.tptp.test.doc.isv 4.3.0
-org.eclipse.tptp.test.report.birt.doc.user 4.4.0
-org.eclipse.tptp.test.report.birt.source 4.3.100
-org.eclipse.tptp.test.report.birt.ui 4.4.0
-org.eclipse.tptp.test.report.birt 4.4.0
-org.eclipse.tptp.test.samples.source 4.2.0
-org.eclipse.tptp.test.samples 4.2.0
-org.eclipse.tptp.test.source 4.3.100
-org.eclipse.tptp.test.tools.junit.plugin 4.4.0
-org.eclipse.tptp.test.tools.source 4.3.100
-org.eclipse.tptp.test.tools 4.2.0
-org.eclipse.tptp.test 4.2.0
-org.eclipse.tptp.trace.arm.doc.user 4.3.0
-org.eclipse.tptp.trace.arm.ui 4.3.0
-org.eclipse.tptp.trace.arm 4.3.0
-org.eclipse.tptp.trace.doc.isv 4.2.300
-org.eclipse.tptp.trace.examples.isv 4.3.200
-org.eclipse.tptp.trace.jvmti.client 4.4.0
-org.eclipse.tptp.trace.jvmti.source 4.2.0
-org.eclipse.tptp.trace.report.birt.doc.user 4.4.0
-org.eclipse.tptp.trace.report.birt.source 4.4.0
-org.eclipse.tptp.trace.report.birt.ui 4.4.0
-org.eclipse.tptp.trace.report.birt 4.4.0
-org.eclipse.tptp.trace.source 4.2.0
-org.eclipse.tptp.trace 4.1.300
-org.mx4j.jmx 3.0.2
-org.opengroup.arm 4.0.0
-org.w3c.css.sac 1.3.0
-org.w3c.dom.smil 1.0.0
-org.w3c.dom.svg 1.1.0
-org.w3c.dom 1.3.3
-org.eclipse.tptp.birt 4.4.0
-org.eclipse.tptp.monitoring.doc.isv 4.3.100
-org.eclipse.tptp.monitoring.doc.user 4.3.100
-org.eclipse.tptp.monitoring.examples.isv 4.4.0
-org.eclipse.tptp.monitoring.examples 4.3.100
-org.eclipse.tptp.monitoring.instrumentation 4.3.0
-org.eclipse.tptp.monitoring.la.core.source 4.4.0
-org.eclipse.tptp.monitoring.la.core 4.4.0
-org.eclipse.tptp.monitoring.managedagent.agents.source 4.4.0
-org.eclipse.tptp.monitoring.managedagent.agents 4.4.0
-org.eclipse.tptp.monitoring.managedagent.source 4.4.0
-org.eclipse.tptp.monitoring.managedagent 4.4.0
-org.eclipse.tptp.monitoring.mx4j.jmx 4.4.0
-org.eclipse.tptp.monitoring.profile.server.source 4.2.100
-org.eclipse.tptp.monitoring.profile.server 4.2.100
-org.eclipse.tptp.monitoring.report.birt.source 4.4.0
-org.eclipse.tptp.monitoring.report.birt 4.4.0
-org.eclipse.tptp.monitoring.runtime 4.4.0
-org.eclipse.tptp.monitoring.sdk 4.4.0
-org.eclipse.tptp.monitoring.source 4.4.0
-org.eclipse.tptp.monitoring 4.4.0
-org.eclipse.tptp.platform.analysis.codereview.java.source 4.4.0
-org.eclipse.tptp.platform.analysis.codereview.java 4.4.0
-org.eclipse.tptp.platform.analysis.engine.source 4.3.100
-org.eclipse.tptp.platform.analysis.engine 4.3.100
-org.eclipse.tptp.platform.analysis.source 4.4.0
-org.eclipse.tptp.platform.analysis 4.4.0
-org.eclipse.tptp.platform.batik.pdf 4.4.0
-org.eclipse.tptp.platform.batik 4.4.0
-org.eclipse.tptp.platform.commons.logging 4.4.0
-org.eclipse.tptp.platform.core.doc.isv 4.3.100
-org.eclipse.tptp.platform.core.doc.user 4.3.100
-org.eclipse.tptp.platform.core.source 4.4.0
-org.eclipse.tptp.platform.core 4.4.0
-org.eclipse.tptp.platform.doc.isv 4.3.100
-org.eclipse.tptp.platform.doc.user 4.3.100
-org.eclipse.tptp.platform.examples.isv 4.3.100
-org.eclipse.tptp.platform.examples 4.3.100
-org.eclipse.tptp.platform.instrumentation.ui.source 4.2.0
-org.eclipse.tptp.platform.instrumentation.ui 4.2.0
-org.eclipse.tptp.platform.integration.pde.source 4.4.0
-org.eclipse.tptp.platform.integration.pde 4.4.0
-org.eclipse.tptp.platform.jakarta.log4j 4.4.0
-org.eclipse.tptp.platform.jvmti.source 4.3.0
-org.eclipse.tptp.platform.jvmti 4.3.0
-org.eclipse.tptp.platform.la.core.source 4.3.100
-org.eclipse.tptp.platform.la.core 4.3.100
-org.eclipse.tptp.platform.lta.source 4.3.100
-org.eclipse.tptp.platform.lta 4.3.100
-org.eclipse.tptp.platform.probekit.doc.user 4.3.100
-org.eclipse.tptp.platform.probekit.source 4.3.100
-org.eclipse.tptp.platform.probekit 4.3.100
-org.eclipse.tptp.platform.profile.server.source 4.3.0
-org.eclipse.tptp.platform.profile.server 4.3.0
-org.eclipse.tptp.platform.report.birt.source 4.3.100
-org.eclipse.tptp.platform.report.birt 4.3.100
-org.eclipse.tptp.platform.report.source 4.2.100
-org.eclipse.tptp.platform.report 4.2.100
-org.eclipse.tptp.platform.runtime 4.4.0
-org.eclipse.tptp.platform.samples.source 4.3.100
-org.eclipse.tptp.platform.samples 4.3.100
-org.eclipse.tptp.platform.sdk 4.4.0
-org.eclipse.tptp.platform.statistical.report.birt.source 4.4.0
-org.eclipse.tptp.platform.statistical.report.birt 4.4.0
-org.eclipse.tptp.platform.statistical.ui.source 4.1.300
-org.eclipse.tptp.platform.statistical.ui 4.1.300
-org.eclipse.tptp.platform.trace.source 4.3.100
-org.eclipse.tptp.platform.trace 4.3.100
-org.eclipse.tptp.platform.xerces 4.4.0
-org.eclipse.tptp.test.doc.isv 4.3.0
-org.eclipse.tptp.test.doc.user 4.3.100
-org.eclipse.tptp.test.report.birt.source 4.3.100
-org.eclipse.tptp.test.report.birt 4.3.100
-org.eclipse.tptp.test.runtime 4.3.100
-org.eclipse.tptp.test.samples.source 4.2.0
-org.eclipse.tptp.test.samples 4.2.0
-org.eclipse.tptp.test.sdk 4.3.100
-org.eclipse.tptp.test.source 4.3.100
-org.eclipse.tptp.test.tools.junit 4.4.0
-org.eclipse.tptp.test.tools.source 4.3.100
-org.eclipse.tptp.test.tools 4.3.100
-org.eclipse.tptp.test 4.3.100
-org.eclipse.tptp.trace.arm.ui 4.3.0
-org.eclipse.tptp.trace.arm 4.2.0
-org.eclipse.tptp.trace.jvmti.source 4.2.0
-org.eclipse.tptp.trace.jvmti 4.2.0
-org.eclipse.tptp.trace.report.birt.source 4.4.0
-org.eclipse.tptp.trace.report.birt 4.4.0
-org.eclipse.tptp.trace.runtime 4.3.0
-org.eclipse.tptp.trace.sdk 4.4.0
-org.eclipse.tptp.trace.source 4.2.0
-org.eclipse.tptp.trace 4.2.0
-org.eclipse.tptp.wtp 4.4.0
-#
-# AJDT
-#
-org.eclipse.ajdt 1.5.0
-org.eclipse.ajdt.source 1.5.0
-org.aspectj.ajde 1.5.4
-org.aspectj.runtime 1.5.4
-org.aspectj.weaver 1.5.4
-org.eclipse.ajdt.core 1.5.0
-org.eclipse.contribution.visualiser 2.2.0
-org.eclipse.contribution.xref.core 1.5.0
-org.eclipse.contribution.xref.ui 1.5.0
-org.eclipse.ajdt.ui 1.5.0
-org.eclipse.ajdt.examples 1.5.0
-org.eclipse.aspectj 1.5.0
-org.eclipse.ajdt.pde.build 1.5.0
-org.eclipse.ajdt.doc.user 1.5.0
-org.eclipse.ajdt.source 1.5.0
-#
-# M2T-JET
-#
-org.eclipse.jet 0.8.0
-org.eclipse.jet.doc 0.8.0
-org.eclipse.jet.sdk 0.8.0
-org.eclipse.jet.source 0.8.0
-org.eclipse.jet.editor  0.8.0
-org.eclipse.jet 0.8.0
-org.eclipse.jet.core 1.0.0
-org.eclipse.jet.ui 0.8.0
-org.eclipse.jet.doc 0.8.0
-org.eclipse.jet.tests 0.8.0
-org.eclipse.jet.tests.core 1.0.0
-org.eclipse.jet.transforms.newproject 1.0.0
-org.eclipse.jet.transforms.taglibdoc 1.0.0
-org.eclipse.jet.editor 0.8.0
-#
-# Mylar
-#
-org.eclipse.mylar.bugzilla_feature 2.0.0
-org.eclipse.mylar.ide_feature 2.0.0
-org.eclipse.mylar.jira_feature 2.0.0
-org.eclipse.mylar.trac_feature 2.0.0
-org.eclipse.mylar_feature 2.0.0
-org.eclipse.mylar 2.0.0
-org.eclipse.mylar.bugzilla.core 2.0.0
-org.eclipse.mylar.bugzilla.ui 2.0.0
-org.eclipse.mylar.context.core 2.0.0
-org.eclipse.mylar.context.ui 2.0.0
-org.eclipse.mylar.doc 2.0.0
-org.eclipse.mylar.ide 2.0.0
-org.eclipse.mylar.java 2.0.0
-org.eclipse.mylar.jira.core 2.0.0
-org.eclipse.mylar.jira.ui 2.0.0
-org.eclipse.mylar.monitor.core 2.0.0
-org.eclipse.mylar.monitor.ui 2.0.0
-org.eclipse.mylar.resources 2.0.0
-org.eclipse.mylar.tasks.core 2.0.0
-org.eclipse.mylar.tasks.ui 2.0.0
-org.eclipse.mylar.tasks.web 2.0.0
-org.eclipse.mylar.team 2.0.0
-org.eclipse.mylar.trac.core 2.0.0
-org.eclipse.mylar.trac.ui 2.0.0
-org.eclipse.mylar.web 2.0.0
diff --git a/org.eclipse.europa.tools/build-home/runTempFixOnly.sh b/org.eclipse.europa.tools/build-home/runTempFixOnly.sh
deleted file mode 100644
index 7f7f7e9..0000000
--- a/org.eclipse.europa.tools/build-home/runTempFixOnly.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-# script to run update, setting properties, for all projects
-
-
-ulimit -n 2014 
-export JAVA_HIGH_ZIPFDS=500 
-
-updateSite=$HOME/europa/staging
-downloadSite=$HOME/downloads/releases/europa/staging
- 
-# Include machine-specifc properties from source include. 
-# The 'source' command can have complicated "lookup" rules, 
-# that can be effected by various settings (see man pages) 
-# but in typical cases will find the first file on the users 
-# path, and if not there, then find the one in the currect 
-# directory. Hence, users, on non-standard machines can keep 
-# machine specific settings there and not have to always "hand edit" 
-# new copies of the script files. If the file is not found, due 
-# to some odd settings, then the script will simply fail, and 
-# it's back to hand editing.  
-source europaProperties.shsource
-
-
-echo '[echo] -------- Project: update site.xml Responsible: bfreeman'
-$HOME/europa/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFiles.sh
-echo 'BUILD SUCCESSFUL'
-
-#ant  -f createPack200s.xml     -Declipse.home=$eclipseLocation -DjvmLocation=$jvmLocation -DupdateSite=$updateSite
-
-# be sure digest created after the zipped jars
-#ant  -f createDigests.xml      -Declipse.home=$eclipseLocation -DjvmLocation=$jvmLocation -DupdateSite=$updateSite
-
-ant -f tempFix187396.xml -DupdateSite=$updateSite -DdownloadSite=$downloadSite
-
-#ant -f copyToDownload.xml -DupdateSite=$updateSite -DdownloadSite=$downloadSite
diff --git a/org.eclipse.europa.tools/build-home/runUpdateAllProjects.sh b/org.eclipse.europa.tools/build-home/runUpdateAllProjects.sh
deleted file mode 100644
index 7287bfb..0000000
--- a/org.eclipse.europa.tools/build-home/runUpdateAllProjects.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-# script to run update, setting properties, for all projects
-
-
-ulimit -n 2014 
-export JAVA_HIGH_ZIPFDS=500 
-
-updateSite=$HOME/europa/staging
-downloadSite=$HOME/downloads/releases/europa/staging
- 
-# Include machine-specifc properties from source include. 
-# The 'source' command can have complicated "lookup" rules, 
-# that can be effected by various settings (see man pages) 
-# but in typical cases will find the first file on the users 
-# path, and if not there, then find the one in the currect 
-# directory. Hence, users, on non-standard machines can keep 
-# machine specific settings there and not have to always "hand edit" 
-# new copies of the script files. If the file is not found, due 
-# to some odd settings, then the script will simply fail, and 
-# it's back to hand editing.  
-source europaProperties.shsource
-
-#
-# Record the start-of-build time
-#
-touch ../../out.web/start.time
-
-#
-# Mark the current status web pages as "under construction"
-#
-ant -f buildwebgen.xml under.construction
-scp -r ../../out.web/index.html dash.eclipse.org:public_html/europa/
-
-
-if [ "$1" == "-clean" ] ; then
-
-	 echo "   Removing $updateSite/features/, plugins/, and root files"
-	 mkdir $updateSite/
-	 rm -fr $updateSite/features/
-	 rm -fr $updateSite/plugins/
-	 rm -fr $updateSite/*
-	 echo "   Updating index and web site files, but not site xml files (yet)"
-	    cp $HOME/europa/org.eclipse.europa.updatesite/WebContent/index.html  $updateSite
-	    cp $HOME/europa/org.eclipse.europa.updatesite/WebContent/*.jpg  $updateSite 
-	    cp $HOME/europa/org.eclipse.europa.updatesite/WebContent/*.gif  $updateSite 
-	    cp -r $HOME/europa/org.eclipse.europa.updatesite/WebContent/web $updateSite 
-
-fi
-
-
-ant  -f updateMirrorAll.xml -Declipse.home=$eclipseLocation -DjvmLocation=$jvmLocation -DlocalUpdateSitePath=$updateSite
-
-#
-# merge authored site.xml files with the most recent auto generated one
-#
-echo '[echo] -------- Project: update site.xml Responsible: bfreeman'
-$HOME/europa/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFiles.sh
-echo 'BUILD SUCCESSFUL'
-
-#ant  -f scanForLicenses.xml -DupdateSite=$updateSite
-
-ant  -f createPack200s.xml     -Declipse.home=$eclipseLocation -DjvmLocation=$jvmLocation -DupdateSite=$updateSite
-
-# be sure digest created after the zipped jars
-ant  -f createDigests.xml      -Declipse.home=$eclipseLocation -DjvmLocation=$jvmLocation -DupdateSite=$updateSite
-
-ant -f tempFix187396.xml -DupdateSite=$updateSite -DdownloadSite=$downloadSite
-
-ant -f copyToDownload.xml -DupdateSite=$updateSite -DdownloadSite=$downloadSite
-
-#
-# Generate the status web pages
-#
-ant -f buildwebgen.xml 
-scp -r ../../out.web/* dash.eclipse.org:public_html/europa/
-
diff --git a/org.eclipse.europa.tools/build-home/runUpdateProjects.sh b/org.eclipse.europa.tools/build-home/runUpdateProjects.sh
deleted file mode 100644
index 5ecaf20..0000000
--- a/org.eclipse.europa.tools/build-home/runUpdateProjects.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-# script to run update, setting properties, for an individual project
-
-# output to "local" machine's home, especially for this scripts purpose
-# of testing just one project
-updateSite=$HOME/europa/staging
- 
- 
-# Include machine-specifc properties from source include. 
-# The 'source' command can have complicated "lookup" rules, 
-# that can be effected by various settings (see man pages) 
-# but in typical cases will find the first file on the users 
-# path, and if not there, then find the one in the currect 
-# directory. Hence, users, on non-standard machines can keep 
-# machine specific settings there and not have to always "hand edit" 
-# new copies of the script files. If the file is not found, due 
-# to some odd settings, then the script will simply fail, and 
-# it's back to hand editing.  
-source europaProperties.shsource
-
-# check that the user specified an argument
-project="$1"
-if [ "$project" !=  "" ] 
-then 
-  	
-     ant  -f features-$project.xml -Declipse.home=$eclipseLocation -DjvmLocation=$jvmLocation -DlocalUpdateSitePath=$updateSite -Dosgi.arch=ppc -Dosgi.clean -Dosgi.debug=true -Declipse.consoleLog=true -DcontinueOnError=true
-
-
-else 
-     echo "   Usage: $0 <project> (where <project> is the xxx suffix of feature-xxx file, such as ep, wtp, birt, etc.)"
-
-fi
diff --git a/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFile.sh b/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFile.sh
deleted file mode 100644
index e72376c..0000000
--- a/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFile.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# script to update site xml files, by merging new features from "mirror" command, with old "authored" content.
-
-main_name=$1
-
-in_authored=~/europa/org.eclipse.europa.updatesite/WebContent/$main_name
-# remember, this 'site.xml' is just the output of mirror command, when ran in context
-in_newFeatures=~/europa/staging/.site.xml
-
-# merges newFeautes in to authored, back in original locaion
-java -jar siteFileUpdater.jar $in_authored $in_newFeatures
-
-#copy to discover site
-cp $in_authored  ~/europa/staging/$main_name
-
-
diff --git a/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFiles.sh b/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFiles.sh
deleted file mode 100644
index 3b0bbd0..0000000
--- a/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFiles.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# save away a clean version of this site file with all the latest version numbers
-cp ~/europa/staging/site.xml ~/europa/staging/.site.xml
-
-
-# merge authored site.xml with the autogenerated one
-$HOME/europa/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFile.sh site.xml
-
-# merge authored file with the autogenerated one
-#$HOME/europa/org.eclipse.europa.tools/build-home/runUpdateSiteXmlFile.sh site-byProject.xml
diff --git a/org.eclipse.europa.tools/build-home/scanForLicenses.xml b/org.eclipse.europa.tools/build-home/scanForLicenses.xml
deleted file mode 100644
index e155b12..0000000
--- a/org.eclipse.europa.tools/build-home/scanForLicenses.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    basedir="."
-    default="scanForLicenses">
-
-    <target
-        name="scanForLicenses"
-        depends="checkArgs">
-        <echo
-            message="-------- Project: scanForLicenses Responsible: bfreeman" />
-    	<exec executable="perl"
-    		dir=".">
-    		<arg value="scanforlicenses.pl"/>
-    		<arg value="${updateSite}"/>
-       	</exec>
-
-
-    </target>
-
-    <target name="checkArgs">
-        <fail message="updateSite must be set.">
-            <condition>
-                <and>
-                    <not>
-                        <isset property="updateSite" />
-                    </not>
-                </and>
-            </condition>
-        </fail>
-    </target>
-
-
-</project>
diff --git a/org.eclipse.europa.tools/build-home/scanforlicenses.pl b/org.eclipse.europa.tools/build-home/scanforlicenses.pl
deleted file mode 100644
index a47050c..0000000
--- a/org.eclipse.europa.tools/build-home/scanforlicenses.pl
+++ /dev/null
@@ -1,132 +0,0 @@
-#/usr/bin/perl
-
-use strict;
-use File::Path;
-
-my $updateSite = shift;
-
-my $text;
-
-my %plugsin2version;
-open INP, "plugins_with_correct_legal_docs.txt" or die $!;
-while( <INP> ) {
-	next if $_ =~ /^#/;
-	$_ =~ /(\S+)\s+(\S+)/;
-	$plugsin2version{$1}{$2} = 1;
-}
-close INP;
-
-my $tempdir = '/tmp/europamatic1/';
-		rmtree( $tempdir, 0, 1 );
-
-my %plugin2feature;
-
-my $featuredir = $updateSite . '/features';
-opendir(DIR, $featuredir);
-my @files = readdir(DIR);
-closedir(DIR);
-
-foreach my $file (@files) {
-	if( -d $file ) {
-		# skip
-	} elsif( $file =~ /.*.pack.gz/ ) {
-		# skip
-	} else {
-		mkdir $tempdir;
-		system( "cd $tempdir; jar xf ${featuredir}/$file" );
-		checkfeature( $tempdir, $file );
-		rmtree( $tempdir, 0, 1 );
-	}
-}
-
-sub checkfeature {
-	my $dir = shift;
-	my $feature = shift;
-	print "F $feature";
-
-	my $license_file = -e "$dir/license.html";
-	my $epl_file = -e "$dir/epl-v10.html";
-	$feature =~ /(\S+)_([\d\.]+)\.(\S+?)\.jar/;
-	my $cert = 0;
-	$cert = 1 if( $plugsin2version{$1}{$2} );
-	
-	if( $license_file
-	 && $epl_file
-	 ) {
-	 	if( $cert ) {
-	 		# everything is ok
-	 	} else {
-			print " has not been certified as having been reviewed";
-		}
-	} else {
-		if( $cert ) {
-			print " feature was certified as correct but it is missing: ";
-		} else {
-			print " feature is missing: ";
-		}
-		print "license.html " if( !$license_file );
-		print "epl-v10.html " if( !$epl_file );
-	}
-	my $xml;
-	open INP, "$dir/feature.xml";
-	{
-	    local( $/ ) ;
-	    $xml = <INP>;
-	}
-	close INP;
-	while( $xml =~ s/plugin\s+.*?id="([a-z0-9\.\_]+)"/XXX/ ) {
-		$plugin2feature{$1} = $feature;
-	}
-	print "\n";
-}
-
-my $plugindir = $updateSite . '/plugins';
-opendir(DIR, $plugindir);
-my @files = readdir(DIR);
-closedir(DIR);
-
-foreach my $file (@files) {
-	if( -d $file ) {
-		if( $file != '.' && $file != '..' ) {
-			checkplugin( $plugindir . $file, $file );
-		}
-	} elsif( $file =~ /.*.pack.gz/ ) {
-		# skip
-	} else {
-		mkdir $tempdir;
-		system( "cd $tempdir; jar xf ${plugindir}/$file" );
-		checkplugin( $tempdir, $file );
-		rmtree( $tempdir, 0, 1 );
-	}
-}
-
-sub checkplugin {
-	my $dir = shift;
-	my $plugin = shift;
-	print "P ";
-	$plugin =~ /([a-z0-9\.]+)_\d/;
-	my $pid = $1;
-	if( $plugin2feature{$pid} ) {
-		print $plugin2feature{$pid};
-	} else {
-		print "unknown";
-	}
-	print "   $plugin ";
-	#system( "dir $dir" );
-	if( -e "$dir/about.html" ) {
-		$plugin =~ /(\S+)_([\d\.]+)\.(\S+?)\.jar/;
-		if( $plugsin2version{$1}{$2} ) {
-			# ok
-		} else {
-			print " has not been certified as having been reviewed";
-		}
-	} else {
-		$plugin =~ /(\S+)_([\d\.]+)\.(\S+?)\.jar/;
-		if( $plugsin2version{$1}{$2} ) {
-			print " was certified as correct but about.html file is missing";
-		} else {
-			print " about.html file is missing from plug-in";
-		}
-	}
-	print "\n";
-}
diff --git a/org.eclipse.europa.tools/build-home/siteFileUpdater.jar b/org.eclipse.europa.tools/build-home/siteFileUpdater.jar
deleted file mode 100644
index b3813e3..0000000
--- a/org.eclipse.europa.tools/build-home/siteFileUpdater.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.tools/build-home/tempFix187396.xml b/org.eclipse.europa.tools/build-home/tempFix187396.xml
deleted file mode 100644
index 1348030..0000000
--- a/org.eclipse.europa.tools/build-home/tempFix187396.xml
+++ /dev/null
@@ -1,2364 +0,0 @@
-<project default="copy">
-
-	<target name="copy">
-		<echo message="Fix incorrect XML in digest.zip (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=187396&quot;&gt;bug 187396&lt;/a&gt;)" />
-		<exec executable="unzip" dir="${updateSite}">
-			<arg value="digest.zip" />
-		</exec>
-		<exec executable="perl" dir="${updateSite}">
-			<arg value="-pi" />
-			<arg value="-e" />
-			<arg value='s/"true"search/"true" search/g' />
-			<arg value="digest.xml" />
-		</exec>
-		<exec executable="zip" dir="${updateSite}">
-			<arg value="-m" />
-			<arg value="digest.zip" />
-			<arg value="digest.xml" />
-		</exec>
-
-		<echo message="Replacing the known corrupted files" />
-
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.dstore.doc.isv_2.0.0.v20070612.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.birt.chart.device.svg_2.2.0.v20070613.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.birt.data_2.2.0.v200706221.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.birt.report.data.oda.sampledb_2.2.0.v20070607.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.birt.report.runtime_2.2.0.v20070531.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.dstore_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.sax_0.2.0.r2217.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.apache.oro_2.0.8.v200706111724.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.apache.batik.ext.awt_1.6.0.v200706111724.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.samples.ide_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ftp.source_2.0.1.v20070702-7737__kE77Y7YAJ5G7A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.local_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core.source_2.0.1.v20070704-7P-7AEB7sQRxS2ad.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.wizard_2.0.0.v20070613.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.efs.ui_2.0.1.v20070816.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.protocol.dnssd_2.0.0.v20070613.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.core_2.2.0.v20070615.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.item.crosstab.core_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.maven_0.2.0.r2881.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.processes.ui_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal_1.0.0.v20070627.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.ssh_1.0.1.v20070808.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.dstore.security_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.transport.udp_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.dstore_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.model_2.0.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.doc.isv_2.0.0.v20070613.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.dstore.extra_2.0.0.v20070627.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.telnet_1.0.1.v20070723.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core_2.0.1.v20070808.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.device.extension_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.doc.isv_2.0.1.v20070704.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.dstore_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.efs_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.core.ui_2.2.0.v20070613.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart_2.2.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.mozilla.rhino_1.6.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.data.adapter_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.examples_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.preview.web_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.local_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.serial.source_1.0.0.v20070609-1--7w31181716.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.ssh_2.0.1.v20070808.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.data.oda.xml_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.importexport_1.0.1.v20070802.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.serial_1.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.ssh.source_1.0.1.v20070808-1-07w31181919.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.engine.extension_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.editors_2.2.0.v20070621.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.data.oda.jdbc.ui_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.emitter.wpml_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.samplereports_2.2.0.v20070529.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.model_2.2.0.v20070619.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.installer_0.2.0.r2230.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.local.source_2.0.1.v20070705-7_-0AgI99h9e_b.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.emitter.prototype.excel_2.2.0.v20070621.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.shells.ui_2.0.1.v20070718.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.core_0.2.0.r3086.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.remotecdt_2.0.1.v20070718.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.engine_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.ant_0.2.0.r3006.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view.source_1.0.0.v20070609-1--7w31181731.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.view_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.w3c.sac_1.3.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.telnet_1.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.runtime_0.2.0.r2861.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.local_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.runtime_2.2.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine_2.2.0.v20070621.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.device.swt_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.ssh_2.0.1.v20070808.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.cmdline_0.2.0.r2217.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.editors.schematic_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.p4.ui_0.2.0.r2217.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.core_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.remotecdt.source_2.0.1.v20070718.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.dstore.source_2.0.1.v20070705-7F-2DUUEF6F2K2.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.apache.commons.codec_1.3.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.doc_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.local_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.shell.linux_1.0.1.v20070725.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.p4_0.2.0.r2503.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.debug.ui_2.2.0.v20070615.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.ui.extension_2.2.0.v20070621.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.ui_0.2.0.r3082.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.dstore_2.0.1.v20070718.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.device.pdf_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.samplesview_2.2.0.v20070618.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.dstore_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.data.oda.jdbc_2.2.0.v20070615.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.views_2.2.0.v20070618.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.dstore.core_2.0.1.v20070718.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.ssh_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.doc.user_2.0.1.v20070704.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.ssh_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.engine_2.2.0.v20070621.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.item.crosstab.ui_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.core_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.files.ftp_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt_2.2.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view_1.0.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.telnet_1.0.1.v20070704.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.cubebuilder_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.lib.explorer_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.fonts_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.emitter.pdf_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.ftp_2.0.1.v20070816.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.emitter.ppt_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ssh.source_2.0.1.v20070704-78-2_kE77Y7a8X.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.viewer_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.telnet.source_2.0.1.v20070704-637_AgI99h9eCN5G7A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.source_2.0.0.v20070611.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="com.lowagie.itext_1.5.2.v20070626.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.ide_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.core_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.discovery.model.edit_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.data.oda.sampledb.ui_2.2.0.v20070619.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.cshelp_2.2.0.v20070625.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.cvs_0.2.0.r2934.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.telnet.source_1.0.0.v20070609-1--7w31181716.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.source_1.0.0.v20070609-1--7w31181738.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ui_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui.lib_2.2.0.v20070614.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.ui_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.emitter.postscript_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.reportitem.ui_2.2.0.v20070608.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.pde_0.2.0.r3007.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.files.ui_2.0.1.v20070815.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.core_2.0.1.v20070808.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer_2.2.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.resources_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.model.adapter.oda_2.2.0.v20070530.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.telnet_1.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.example_2.2.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.chart.reportitem_2.2.0.v20070531.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.apache.commons.net_1.4.1.v200706111724.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.local_2.0.0.v20070606.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.cshelp_2.2.0.v20070622.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.designer.ui_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.discovery_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.jdt_0.2.0.r2980.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.engine.emitter.html_2.2.0.v20070620.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.sdk_2.0.0.v20070605.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/plugins/">
-				<include name="org.eclipse.birt.report.data.oda.xml.ui_2.2.0.v20070607.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal_1.0.0.v20070609-1--7w31181738.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.discovery_2.0.0.v20070611-7J--E8McIJNJCPr.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.apache.derby.core_10.1.2.1.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ftp.source_2.0.1.v20070702-7737__kE77Y7YAJ5G7A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.core.source_2.0.1.v20070704-7P-7AEB7sQRxS2ad.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.p4.feature_0.2.0.r3124.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.telnet_2.0.1.v20070704-637_AgI99h9eCN5G7A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.view_1.0.0.v20070609-1--7w31181731.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.local_2.0.1.v20070705-7_-0AgI99h9e_b.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.maven.feature_0.2.0.r2881.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.sdk_1.0.1.v20070808-7_-1AvNEwNXtObIyMilhNDDmDjHc.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.doc_2.2.0.v20070209-11--w31181731.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.chart.runtime_2.2.0.v20070614-7Y8l-MxfqtktETHuSBi.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.cvs.feature_0.2.0.r3127.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.w3c.sac_1.3.0.v20070406-02--w31181642.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.local.source_2.0.1.v20070705-7_-0AgI99h9e_b.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt_2.2.0.v20070529-7M7M-3aOvPNTlqymXkU13JtNYSIx.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.chart_2.2.0.v20070529-7979-2qpGuZWQv9uluFUIvTCj.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.dstore.source_2.0.1.v20070705-7F-2DUUEF6F2K2.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.core.feature_0.2.0.r3125.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ftp_2.0.1.v20070702-7737__kE77Y7YAJ5G7A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.apache.commons.codec_1.3.0.v20070531-02--w31181642.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.remotecdt_2.0.1.v20070718-4-18s733G3G5I.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.core_2.0.1.v20070704-7P-7AEB7sQRxS2ad.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.chart.cshelp_2.2.0.v20070209-11--w31181736.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.example_2.2.0.v20070314-7C7C-5SQCCz-CpMr.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.dstore_2.0.1.v20070705-7F-2DUUEF6F2K2.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.telnet_1.0.0.v20070609-1--7w31181716.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ssh.source_2.0.1.v20070704-78-2_kE77Y7a8X.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.telnet.source_2.0.1.v20070704-637_AgI99h9eCN5G7A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ssh_2.0.1.v20070704-78-2_kE77Y7a8X.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.mozilla.rhino_1.6.0.v20070406-05--w31181642.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.ssh_1.0.1.v20070808-1-07w31181919.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.pde.feature_0.2.0.r3128.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.report.runtime_2.2.0.v20070529-7U7U-Cmz0UWCVvy52.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.report.designer_2.2.0.v20070604-7U7U-C-Qc-5jcp_VXDWwz-63.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.crosstab_2.2.0.v20070529-33-0r733G3E77.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.serial_1.0.0.v20070609-1--7w31181716.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse_2.0.1.v20070704-7D-58mJIfO9WAviq5z0v32QKB.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="com.lowagie.itext_1.5.2.v20070608-041-w31181737.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.sdk_2.0.1.v20070704-7J-77E7ZoHOP4YdUW-oUYz0z-W8r.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/birt/update-site/features/">
-				<include name="org.eclipse.birt.cshelp_2.2.0.v20070209-11--w31181733.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.collection.framework_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.jvmti.runtime_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.report.birt.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.resources.database_4.2.101.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.trace.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.ui_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.statistical.report.birt.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis.core_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.arm.ui_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.core_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.ac.win_ia32_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.report.birt_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis.core.ui.doc_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis.engine_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.statistical.report.birt_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.probekit_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.report.birt.doc.user_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.mx4j.jmx_3.0.3.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.probekit_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.analysis.engine_4.3.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.report.core_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test.samples_4.2.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.logui_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.profile.server.doc.user_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.logging.core_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.report.birt.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.test.ui_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis.codereview.java_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.la.core_4.3.101.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.jvmti.client_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.instrumentation_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.test.tools.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.ac.win_em64t_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.probekit.doc.user_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.statistical.ui_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.examples_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.profile.server.wst_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis.codereview.java.rules_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.probekit.ui_4.1.301.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.report.birt_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.agentcontroller_4.2.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.profile.server_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.execution.trace_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.common_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace_4.1.301.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.log.views_4.3.101.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.logging.adapter.ui_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.common.ui_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.trace_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.logging.core.sample_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.logging.parsers_4.3.101.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.test.tools.core_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.execution_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test.tools_4.2.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.symptom.editor_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.doc.user_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.profile.server.core_4.2.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.doc.user_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.trace.sample_4.1.301.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.models_4.3.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test.tools.junit.plugin_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.logging.adapter_4.3.0.v200706010100.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.log.doc.user_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.profile.server_4.2.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.report_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.test.core_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.logging.events_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.jvmti.client_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.perfmon_4.2.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.samples_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.lta_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.instrumentation.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.instrumentation.ui_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test.report.birt.doc.user_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.managedagent.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.arm.doc.user_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.managedagent.jmx_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.probekit.launch_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.agentcontroller.doc.user_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.test.doc.user_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.la.core_4.3.101.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.notifications_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test.report.birt_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.ac.win_ipf_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.report.birt.doc.user_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.sdb_4.3.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.execution_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.statistical.ui_4.2.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.instrumentation.doc.user_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.report.ui_4.1.201.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.analysis.core.ui_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.trace.views_4.1.401.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.test.ui.extensions_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test.report.birt.ui_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.opengroup.arm_4.0.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.symptom.doc.user_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.report.birt_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.ac.linux_ipf_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.ac.linux_em64t_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.managedagent.doc.user_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.common.ui.trace_4.3.101.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.managedagent_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.monitoring.report.birt.ui_4.4.1.v200709191245.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.execution.correlation_4.1.301.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.examples_4.3.101.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.hyades.perfmon.agents_4.0.0.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.test_4.2.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.iac.administrator_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.platform.integration.pde_4.4.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/plugins/">
-				<include name="org.eclipse.tptp.trace.arm_4.3.1.v200709261752.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.jakarta.log4j_4.4.0.v200706132116-017B-w311817222529.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring_4.4.1.v200707080100-7c7KEFJ7IYGHEHWXBQ5xe.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.doc.user_4.3.101.v200709261752-7A77CH08IIrT11IGIcOfKRIYPB.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.jvmti_4.3.1.v200709261752-777710r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.trace.arm_4.2.1.v200709261752-77210r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.integration.pde_4.4.1.v200709261752-330-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test_4.3.101.v200709261752-7I7ACJ3cI99h9rIcDhXI.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.wtp_4.4.1.v200709261752-7748a-CIHlAZ8lIHAlCqJfJeRF.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test.runtime_4.3.101.v200709261752-7E7_Ak-QhKUAY67ta21mO89G_GXO.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.trace.jvmti_4.2.1.v200709261752-330-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test.tools.junit_4.4.1.v200709261752-7A7A21mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test.tools_4.3.101.v200709261752-7E7C31vNDHT9HNTErQiBN9QKB.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.batik_4.4.0.v200703250100-7E8G-Cmz0UWCVz-kkmD-T.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.instrumentation.ui_4.2.1.v200709261752-320-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.samples_4.3.101.v200709261752-7A4Dr1mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test.samples_4.2.1.v200709261752-310-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.report.birt_4.3.101.v200709261752-777710r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test.doc.user_4.3.101.v200709261752-320-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.la.core_4.4.1.v200707080100-7A78_91mA55P5S7N7_CE.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.commons.logging_4.4.0.v200706132116-0-3-w311817222835.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.report_4.2.101.v200709261752-7A5CH1mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.probekit_4.3.101.v200709261752-7E5EAY2hE77Y7gEUAYQE.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.lta_4.3.101.v200707090100-773Ai0r733G3K6H5BB_.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.mx4j.jmx_4.4.1.v200709261752-2-2-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.statistical.ui_4.1.301.v200709261752-772CG0r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.probekit.doc.user_4.3.101.v200709261752-318Z-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.xerces_4.4.0.v200706132116-278-0r733G3C944983.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.examples_4.3.101.v200709261752-328Z-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.batik.pdf_4.4.0.v200706130100-05--w31181722243_.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.trace.runtime_4.3.1.v200709261752-7E783-UUENBmM3RiQ4UxVz-eZD8.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.trace.arm.ui_4.3.1.v200709261752-77510r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.core.doc.user_4.3.101.v200709261752-7A6CH1mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.managedagent_4.4.1.v200709261752-7E7D8c2hE77Y7gEUAYQE.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.runtime_4.4.1.v200706132116-7U7R_E-wavnIGH7KFhrm5z08Zs8T.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.analysis.engine_4.3.101.v200709261752-773CG0r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.analysis_4.4.1.v200709191245-7E7_CI2hE77Y7gCaAOOK.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.test.report.birt_4.3.101.v200709261752-7A7A21mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.analysis.codereview.java_4.4.100.v200709191245-777710r733G3K5K57AC.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.trace_4.3.101.v200707090100-7E7AAk2hE77Y7gDXATPH.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.core_4.4.1.v200707090100-8Q82ENLJEPilAlvO15vQb.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.profile.server_4.2.101.v200709261752-318Z-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.trace_4.2.1.v200709261752-771E9y0r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.instrumentation_4.3.1.v200709261752-7A7921mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.statistical.report.birt_4.4.1.v200709261752-777710r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.trace.report.birt_4.4.1.v200709261752-7A7A21mA55P5VAM8PJA.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.runtime_4.4.1.v200706132116-8I83EIX1JNK7dwt7tHntrj6xnH84.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.managedagent.agents_4.4.1.v200709261752-330-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.report.birt_4.4.1.v200707080100-7A798b1mA55P5V_P8KID.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.birt_4.4.1.v200706132116-7I7G_B-hthrMpLSZUYptCTz-cV-E.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.profile.server_4.3.1.v200709261752-7E798c2hE77Y7gEUAYQE.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.examples_4.3.101.v200709261752-328Z-w31181_372863.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.platform.la.core_4.3.101.v200707090100-328Z-w31181_2_2356.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/tptp/updates/europa/features/">
-				<include name="org.eclipse.tptp.monitoring.doc.user_4.3.101.v200709261752-774Ai0r733G3K7E5GC7.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.files.ui_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.remotecdt.source_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.ssh.source_1.0.1.v20070808-1-07w31181_1_.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.dstore.source_2.0.1.v20070926-7F-4DUUEF6FALu.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.remotecdt_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ssh.source_2.0.1.v20070926-78-2_kE77Y7cAW.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.core_2.0.1.v20070912.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view.source_1.0.1.v20070918-1-07w31181_29.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.dstore_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.local_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.local.source_2.0.1.v20070705-7_-2AgI99h9l9l.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.core_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.source_1.0.1.v20070918-1-07w31181_38.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view_1.0.1.v20070918.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.serial.source_1.0.1.v20070926-1-07w31181_37.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.doc.isv_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.telnet_1.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.ssh_1.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ftp.source_2.0.1.v20070926-7737__kE77Y7dDK4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.local_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.core_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.apache.commons.net_1.4.1.v200709210925.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.serial_1.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.ftp_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.ssh_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal_1.0.1.v20070927.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.efs.ui_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.ssh_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.telnet_1.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.files.ftp_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.dstore_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.telnet.source_2.0.1.v20070704-637AAgI99h9mBW4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.dstore_2.0.1.v20070913.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core.source_2.0.1.v20070926-7P-7BEB7sQRxSFkT.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.doc.user_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.dstore.core_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.local_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.shells.ui_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ui_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.files.ui_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.remotecdt.source_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.ssh.source_1.0.1.v20070808-1-07w31181_1_.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.dstore.source_2.0.1.v20070926-7F-4DUUEF6FALu.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.remotecdt_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ssh.source_2.0.1.v20070926-78-2_kE77Y7cAW.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.core_2.0.1.v20070912.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view.source_1.0.1.v20070918-1-07w31181_29.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.dstore_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.local_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.local.source_2.0.1.v20070705-7_-2AgI99h9l9l.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.core_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.source_1.0.1.v20070918-1-07w31181_38.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view_1.0.1.v20070918.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.serial.source_1.0.1.v20070926-1-07w31181_37.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.doc.isv_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.telnet_1.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.ssh_1.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ftp.source_2.0.1.v20070926-7737__kE77Y7dDK4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.local_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.processes.core_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.apache.commons.net_1.4.1.v200709210925.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.serial_1.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.files.ftp_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.ssh_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal_1.0.1.v20070927.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.efs.ui_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.ssh_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.subsystems.shells.telnet_1.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.files.ftp_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.connectorservice.dstore_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.telnet.source_2.0.1.v20070704-637AAgI99h9mBW4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.dstore_2.0.1.v20070913.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core.source_2.0.1.v20070926-7P-7BEB7sQRxSFkT.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.doc.user_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.dstore.core_2.0.1.v20070914.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.services.local_2.0.1.v20070909.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.shells.ui_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ui_2.0.1.v20070926.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.view_1.0.1.v20070918-1-07w31181_29.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ftp_2.0.1.v20070926-7737__kE77Y7dDK4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.sdk_2.0.1.v20070926-7J-77E7ZoHOP4inkX-oUe-z-wI6x.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.serial_1.0.1.v20070926-1-07w31181_37.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.local_2.0.1.v20070705-7_-2AgI99h9l9l.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.sdk_1.0.1.v20070926-7_-77AvNHwNY0SWJ6NvlhNDDmDtI.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.dstore.source_2.0.1.v20070926-7F-4DUUEF6FALu.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ssh.source_2.0.1.v20070926-78-2_kE77Y7cAW.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.remotecdt_2.0.1.v20070926-4-18s733G3K5H.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ssh_2.0.1.v20070926-78-2_kE77Y7cAW.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.telnet_2.0.1.v20070704-637AAgI99h9mBW4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.local.source_2.0.1.v20070705-7_-2AgI99h9l9l.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.dstore_2.0.1.v20070926-7F-4DUUEF6FALu.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.core_2.0.1.v20070926-7P-7BEB7sQRxSFkT.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.ftp.source_2.0.1.v20070926-7737__kE77Y7dDK4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.ssh_1.0.1.v20070808-1-07w31181_1_.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal_1.0.1.v20070918-1-07w31181_38.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.telnet.source_2.0.1.v20070704-637AAgI99h9mBW4I7B.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.core.source_2.0.1.v20070926-7P-7BEB7sQRxSFkT.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse_2.0.1.v20070926-7D-58mJIkP9WAviqV7HBvSLC.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<delete file="${updateSite}/features/org.eclipse.buckminster.cvs.feature_0.2.0.r3383.jar.pack.gz" />
-
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.sdk_1.0.2.v20071016-7_-7AAvNJwNZkSSKqMulhNDDmFbH.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.p4.feature_0.2.0.r3381.jar.pack.gz" />
-
-		<delete file="${updateSite}/features/org.eclipse.buckminster.core.feature_0.2.0.r3503.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse_2.0.2.v20071009a-7D-68mJIkR9WAviqV8z0U73ZC.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<delete file="${updateSite}/features/org.eclipse.buckminster.pde.feature_0.2.0.r3483.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.sdk_2.0.2.v20071009a-7J-79E7ZoHPP5Zlo8tVvVwyz-O3A.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.core_2.0.2.v20071009a-7P-7DEB7sQRxTz0gaB.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal.view_1.0.2.v20071016-1-17w31182127.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.maven.feature_0.2.0.r3388.jar.pack.gz" />
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.rse.core.source_2.0.2.v20071009a-7P-7DEB7sQRxTz0gaB.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<copy todir="${updateSite}/features" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/features/">
-				<include name="org.eclipse.tm.terminal_1.0.2.v20071016-1-17w31182127.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.cvs_0.2.0.r3383.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.files.ui_2.0.2.v20071009a.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.sax_0.2.0.r3435.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal_1.0.2.v20071016.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view.source_1.0.2.v20071016-1-17w31182127.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.jdt_0.2.0.r3438.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.ant_0.2.0.r3436.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.view_1.0.2.v20071016.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.p4_0.2.0.r3381.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.ui_0.2.0.r3483.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.pde_0.2.0.r3483.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.core_0.2.0.r3503.jar.pack.gz" />
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.ui_2.0.2.v20071009a.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.tm.terminal.source_1.0.2.v20071016-1-17w31182127.jar.pack.gz*" />
-			</fileset>
-		</copy>
-
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.runtime_0.2.0.r3503.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.maven_0.2.0.r3388.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.p4.ui_0.2.0.r3351.jar.pack.gz" />
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.core.feature_0.2.0.r3529.jar.pack.gz"/>
-		<copy todir="${updateSite}/plugins" overwrite="true" verbose="true">
-			<fileset dir="/home/data/users/bfreeman/downloads/dsdp/tm/updates/milestones/plugins/">
-				<include name="org.eclipse.rse.core.source_2.0.2.v20071009a-7P-7DEB7sQRxTz0gaB.jar.pack.gz*" />
-			</fileset>
-		</copy>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.core.feature_0.2.0.r3529.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.core_0.2.0.r3529.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal.sdk_1.0.2.v20071023-7_-7CAvNKwNabUJLhOmlhNDDmGSJ.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal.view_1.0.2.v20071023-1-17w31182134.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal.serial_1.0.2.v20071023-1-17w31182134.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal_1.0.2.v20071023-1-17w31182134.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal_1.0.2.v20071023.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.view.source_1.0.2.v20071023-1-17w31182134.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.serial.source_1.0.2.v20071023-1-17w31182134.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.serial_1.0.2.v20071023.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.view_1.0.2.v20071023.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.source_1.0.2.v20071023-1-17w31182134.jar.pack.gz"/>
-
-		<delete file="${updateSite}/features/org.eclipse.rse.sdk_2.0.2.v20071030-7J-79E7ZoHPP5ZoeZ-oUe1z-wJnl.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.rse.core_2.0.2.v20071030-7P-7DEB7sQRxTz0jQb.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal.sdk_1.0.2.v20071030-7_-7CAvNKwNabWDLhQglhNDDmGSL.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.rse.core.source_2.0.2.v20071030-7P-7DEB7sQRxTz0jQb.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal.serial_1.0.2.v20071030-1-17w31182141.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.tm.terminal_1.0.2.v20071030-1-17w31182141.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.rse_2.0.2.v20071030-7D-68mJIkR9WAviqV8z0U9vz-C.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal_1.0.2.v20071030.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.serial.source_1.0.2.v20071030-1-17w31182141.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.serial_1.0.2.v20071030.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.rse.files.ui_2.0.2.v20071030.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.tm.terminal.source_1.0.2.v20071030-1-17w31182141.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.rse.core.source_2.0.2.v20071030-7P-7DEB7sQRxTz0jQb.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.core.feature_0.2.0.r3636.jar.pack.gz"/>
-		<delete file="${updateSite}/features/org.eclipse.buckminster.pde.feature_0.2.0.r3636.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.ant_0.2.0.r3617.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.ui_0.2.0.r3620.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.core_0.2.0.r3636.jar.pack.gz"/>
-		<delete file="${updateSite}/plugins/org.eclipse.buckminster.pde_0.2.0.r3636.jar.pack.gz"/>
-
-		<echo message="Delete zero length packed files (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=187396&quot;&gt;bug 187396&lt;/a&gt;)" />
-		<exec executable="find">
-			<arg value="${updateSite}" />
-			<arg value="-name" />
-			<arg value="*.gz" />
-			<arg value="-empty" />
-			<arg value="-printf" />
-			<arg value="Error zero length file: " />
-			<arg value="-print" />
-			<arg value="-execdir" />
-			<arg value="rm" />
-			<arg value="{}" />
-			<arg value=";" />
-		</exec>
-	</target>
-</project>
diff --git a/org.eclipse.europa.tools/build-home/updateDirs.properties b/org.eclipse.europa.tools/build-home/updateDirs.properties
deleted file mode 100644
index 4a21799..0000000
--- a/org.eclipse.europa.tools/build-home/updateDirs.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-
-# currently obsolete, though similar file may end up being needed
-
-# http://download.eclipse.org/eclipse/updates/3.2milestones
-updateDir.1=/home/data/httpd/download.eclipse.org/eclipse/updates/3.2milestones
-
-updateDir.2=/home/data/httpd/download.eclipse.org/modeling/emf/updates
-
-# http://download.eclipse.org/tools/gef/milestones/update-site/
-updateDir.3=/home/data/httpd/download.eclipse.org/tools/gef/milestones/update-site/
-
-# http://download.eclipse.org/datatools/updates/site.xml
-updateDir.4=/home/data/httpd/download.eclipse.org/datatools/updates
-
-# http://download.eclipse.org/tools/cdt/releases/3.1.0/site.xml
-updateDir.5=/home/data/httpd/download.eclipse.org/tools/cdt/releases/3.1.0/
-
-# http://download.eclipse.org/tools/ve/updates/1.0/development
-updateDir.6=/home/data/httpd/download.eclipse.org/tools/ve/updates/1.0/development
-
-# WTP
-updateDir.7=/home/data/httpd/download.eclipse.org/webtools/milestones
-
-# http://download.eclipse.org/tptp/updates/4.2milestones/4.2.0M5/
-updateDir.8=/home/data/httpd/download.eclipse.org/tptp/updates/4.2milestones/4.2.0M5/
-# tptp/updates/4.2milestones/minimumSet
-
-# GMF
-#updateDir.12=/home/data/httpd/download.eclipse.org/technology/gmf/update-site
-
-#  http://download.eclipse.org/birt/update-site/
-#updateDir.7=/home/data/httpd/download.eclipse.org/birt/update-site
-
-# test on local windows machine
-#updateDir.10=\\testUpdates101\\updateSite
-
-# test on eclipse org
-#updateDir.11=/home/data/httpd/download.eclipse.org/webtools/testUpdates
-
-
diff --git a/org.eclipse.europa.tools/build-home/updateMirrorAll.xml b/org.eclipse.europa.tools/build-home/updateMirrorAll.xml
deleted file mode 100644
index 48e4957..0000000
--- a/org.eclipse.europa.tools/build-home/updateMirrorAll.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="updatesite" default="all" basedir=".">
-
-    <target name="init">
- 		<ant antfile="init.xml"/>
-    </target>
-
-    <target name="all" depends="init">
-        <ant antfile="features-ajdt.xml" />
-        <ant antfile="features-batik.xml"/>
-        <ant antfile="features-birt.xml" />
-        <ant antfile="features-buckminster.xml" />
-        <ant antfile="features-cdt.xml" />
-        <!-- <ant antfile="features-corona.xml" /> Corona withdrew 5/30/2007 -->
-        <ant antfile="features-dltk.xml" />
-        <ant antfile="features-dsdp-dd.xml" />
-        <ant antfile="features-dsdp-tm.xml" />
-        <ant antfile="features-dtp.xml" />
-        <ant antfile="features-ecf.xml" />
-        <ant antfile="features-ep.xml" />
-        <ant antfile="features-emf-emf.xml" />   <!-- TODO: split out XSD; move to MDT -->
-        <ant antfile="features-emf-query.xml" />
-        <ant antfile="features-emf-validation.xml" />
-        <ant antfile="features-emf-transaction.xml" />
-        <ant antfile="features-gef.xml" />
-        <ant antfile="features-gmf.xml" />
-        <ant antfile="features-m2t-jet.xml" />
-        <ant antfile="features-mdt-eodm.xml" />
-        <ant antfile="features-mdt-ocl.xml" />
-        <ant antfile="features-mdt-uml2.xml" />
-        <ant antfile="features-mdt-uml2tools.xml" />
-        <ant antfile="features-monkey.xml" />
-        <ant antfile="features-mylyn.xml" />
-        <ant antfile="features-stp.xml" />
-        <ant antfile="features-tptp.xml" />
-        <ant antfile="features-wtp.xml" />
-
-        
-        <!-- make sure all can "read" (important for quicker http access, esp. when Eclipse.org overloaded) -->
-        <chmod verbose="true" perm="o+rx" type="both">
-            <fileset dir="${localUpdateSitePath}" />
-        </chmod>
-
-        <!-- needs work .. indexer doesn't work well from this ant script (needs paths fixed up)
-        <ant antfile="indexer.xml">
-            <property name="pluginJarPath"
-                      location="${localUpdateSitePath}" />
-        </ant>
-		-->
-    </target>
-
-</project>
-
diff --git a/org.eclipse.europa.tools/build-home/updateMirrorProject.xml b/org.eclipse.europa.tools/build-home/updateMirrorProject.xml
deleted file mode 100644
index 13f2f22..0000000
--- a/org.eclipse.europa.tools/build-home/updateMirrorProject.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
-    name="update"
-    default="update"
-    basedir=".">
-    <!-- original example received from Richard Gronback from cross-project list (thanks Richard!) -->
-    <!-- see http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_standalone.html -->
-
-    <target
-        name="init"
-        unless="initialized">
-        <ant antfile="init.xml" />
-    </target>
-
-    <property
-        name="java15-home"
-        value="${jvmLocation}/jre" />
-        
-    <!-- if not otherwise set, set directory for java execution to basedir -->
-    <property
-        name="buildDirectory"
-        value="${basedir}" />
-    <target
-        name="update"
-        depends="init">
-      <!--Note: this word 'Updating' is critical for the status code to 
-      "find" the data it needs to work. So, it should not be changed, and 
-      the word 'updating' (or, "[echo] updating" should not be used elsewhere.
-      See ProjectLog.java for where this pattern is defined. --> 
-        <echo message="Updating ${featureId} ${version}" />
-
-        <java
-            classname="org.eclipse.equinox.launcher.Main"
-            taskname="update: ${featureId}"
-            fork="true"
-            jvm="${java15-home}/bin/java"
-            failonerror="false"
-            resultProperty="updateMirrorResult"
-            maxmemory="256m"
-            dir="${buildDirectory}">
-            <classpath>
-                <fileset dir="${eclipse.home}/plugins">
-                    <include name="org.eclipse.equinox.launcher_*.jar" />
-                </fileset>
-            </classpath>
-
-            <jvmarg value="-Dosgi.locking=none" />
-            <jvmarg value="-DcontinueOnError=true" />
-            <arg value="-clean" />
-            <arg value="-nosplash" />
-            <arg value="-application" />
-            <arg value="org.eclipse.update.core.standaloneUpdate" />
-            <arg value="-data" />
-            <arg value="${basedir}/buildworkspace" />
-            <arg value="-debug" />
-            <arg value="-consolelog" />
-            <arg value="-command" />
-            <arg value="mirror" />
-            <arg value="-featureId" />
-            <arg value="${featureId}" />
-            <arg value="-version" />
-            <arg value="${version}" />
-            <arg value="-from" />
-            <arg value="${updateSite}" />
-            <arg value="-to" />
-            <arg value="${localUpdateSitePath}" />
-            <arg value="-ignoreMissingPlugins" />
-            <arg value="true" />
-        </java>
-    	<echo message="___ Features directory after mirroring ${featureId}_${version} ___"/>
-       	<exec executable="ls">
-   			<arg value="-1"/>
-       		<arg value="${localUpdateSitePath}/features/"/>
-       	</exec>
-    	<echo message="___ End of features directory listing ___"/>
-
-    </target>
-</project>
diff --git a/org.eclipse.europa.tools/build.properties b/org.eclipse.europa.tools/build.properties
deleted file mode 100644
index ad445df..0000000
--- a/org.eclipse.europa.tools/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               instructions.txt,\
-               plugin.properties
-jars.compile.order = .
-source.. = src/
-output.. = bin/
diff --git a/org.eclipse.europa.tools/copyProjectDirs.sh b/org.eclipse.europa.tools/copyProjectDirs.sh
deleted file mode 100644
index 6694367..0000000
--- a/org.eclipse.europa.tools/copyProjectDirs.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/sh
-
-# script to copy europa update jars from their "drop" area  
-
-# obsolete - not to be used, will be deleted soon
-
-toDir=/home/data/users/david_williams/europa/downloads/testUpdates
-
-
-
-fromDir=/home/data/httpd/download.eclipse.org/eclipse/updates/3.2milestones
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/emf/updates
-
-cp -r -v --update $fromDir/features/*_2.2.0.* --target-directory=$toDir/features/
-cp -r -v --update $fromDir/plugins/*_2.2.0.*  --target-directory=$toDir/plugins/
-cp -r -v --update $fromDirplugins/org.eclipse.emf.ecore.change.edit_2.1.0v20060224* --target-directory=$toDir/plugins/
-cp -r -v --update $fromDirplugins/org.eclipse.emf.codegen.ui_2.1.0v20060224*  --target-directory=$toDir/plugins/
-
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/gef/milestones/update-site/
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/datatools/updates
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/cdt/releases/3.1.0/
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/tools/ve/updates/1.0/development
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-fromDir=/home/data/httpd/download.eclipse.org/webtools/milestones
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-
-fromDir=/home/data/httpd/download.eclipse.org/tptp/updates/4.2milestones/4.2.0M5/
-
-cp -r -v --update $fromDir/features --target-directory=$toDir
-cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-
-
-#fromDir=/home/data/httpd/download.eclipse.org/birt/update-site
-#
-#cp -r -v --update $fromDir/features --target-directory=$toDir
-#cp -r -v --update $fromDir/plugins  --target-directory=$toDir
-#
-#fromDir=/home/data/httpd/download.eclipse.org/technology/gmf/update-site
-#
-#cp -r -v --update $fromDir/features --target-directory=$toDir
-#cp -r -v --update $fromDir/plugins  --target-directory=$toDir
diff --git a/org.eclipse.europa.tools/copyToRelease-SiteFiles.sh b/org.eclipse.europa.tools/copyToRelease-SiteFiles.sh
deleted file mode 100644
index 90c8c43..0000000
--- a/org.eclipse.europa.tools/copyToRelease-SiteFiles.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# script to copy europa update jars from their staging to releases area
-
-toDir=~/downloads/releases/europa
-fromDir=~/downloads/releases/europa/staging
-
-cp -f -p -r -v --update $fromDir/*html --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/*.gif  --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/web  --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/*.xml --target-directory=$toDir/
-
-perl -pi -e 's/europa\/staging/europa/g' ${toDir}/index.html
-perl -pi -e 's/europa\/staging/europa/g' ${toDir}/site.xml
-# perl -pi -e 's/europa\/staging/europa/g' ${toDir}/site-byProject.xml
-
-# important to make sure digest is updated same time as site.xml's
-cp -f -p -r -v --update $fromDir/digest.zip --target-directory=$toDir/
-
-
-
-
diff --git a/org.eclipse.europa.tools/copyToRelease-plugins.sh b/org.eclipse.europa.tools/copyToRelease-plugins.sh
deleted file mode 100644
index 2e11fdd..0000000
--- a/org.eclipse.europa.tools/copyToRelease-plugins.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-# script to copy europa update jars from their staging to releases area
-
-toDir=~/downloads/releases/europa
-fromDir=~/downloads/releases/europa/staging
-
-cp -f -p -r -v --update $fromDir/features --target-directory=$toDir/
-cp -f -p -r -v --update $fromDir/plugins  --target-directory=$toDir/
-
diff --git a/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.jardesc b/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.jardesc
deleted file mode 100644
index 743ec91..0000000
--- a/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.jardesc
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jardesc>
-    <jar path="D:/builds/Workspaces/pureHeadWTP/org.eclipse.europa.tools/build-home/generateMirrorTags.jar"/>
-    <options overwrite="true" compress="false" exportErrors="false" exportWarnings="true" saveDescription="true" descriptionLocation="/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.jardesc" useSourceFolders="false" buildIfNeeded="true" includeDirectoryEntries="false" storeRefactorings="false"/>
-    <refactoring structuralOnly="true" deprecationInfo="true"/>
-    <selectedProjects>
-        <project name="org.eclipse.europa.tools"/>
-    </selectedProjects>
-    <manifest manifestVersion="1.0" usesManifest="true" reuseManifest="true" saveManifest="true" generateManifest="false" manifestLocation="/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.mf" mainClassHandleIdentifier="=org.eclipse.europa.tools/src&lt;org.eclipse.europa.tools{GenerateMirrorTags.java[GenerateMirrorTags">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportOutputFolder="false" exportJavaFiles="false">
-        <folder path="/org.eclipse.europa.tools/META-INF"/>
-        <javaElement handleIdentifier="=org.eclipse.europa.tools/src"/>
-    </selectedElements>
-</jardesc>
diff --git a/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.mf b/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.mf
deleted file mode 100644
index ce00a82..0000000
--- a/org.eclipse.europa.tools/generateMirrorTags/generateMirrorTags.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.europa.tools.GenerateMirrorTags
-
diff --git a/org.eclipse.europa.tools/getEuropaToolsFromCVS.sh b/org.eclipse.europa.tools/getEuropaToolsFromCVS.sh
deleted file mode 100644
index de4de63..0000000
--- a/org.eclipse.europa.tools/getEuropaToolsFromCVS.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-
-# This script should be "copied up" and ran from a
-# directory "above" the main working directories of
-# org.eclipse.europa.updatesite, and
-# org.eclipse.europa.tools
-# this is typically the users $HOME directory
-
-echo "   "
-echo "   Removing old  org.eclipse.europa.* and exporting fresh HEAD versions." 
-echo "   "
-
-echo "        Removing org.eclipse.europa.updatesite."
-rm -fr org.eclipse.europa.updatesite
-echo "        Removing org.eclipse.europa.tools." 
-echo "   "
-rm -fr org.eclipse.europa.tools
-
-# ISSUE: we should move away from using 'head' version
-cvs -Q -f -d /cvsroot/callisto export -r HEAD org.eclipse.europa.updatesite
-cvs -Q -f -d /cvsroot/callisto export -r HEAD org.eclipse.europa.tools
-
-chmod -R +x org.eclipse.europa.tools/*.sh
-chmod -R +x org.eclipse.europa.tools/**/*.sh
-
-#echo "    "
-#echo "    building log parser tools"
-#echo "    "
-#pushd org.eclipse.europa.tools/build-home > /dev/null
-#ant -f buildwebgen.xml compile
-#popd > /dev/null
-
-echo " " 
-echo "    for complete refresh, use something similar to following"
-echo " " 
-echo "    cd org.eclipse.europa.tools/build-home/"
-echo "    screen -dmS europa"
-echo "    ./runUpdateAllProjects.sh -clean 2>&1 | tee ~/europa/out.txt"
-echo " "
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/images/failure.gif b/org.eclipse.europa.tools/images/failure.gif
deleted file mode 100644
index 0c3725d..0000000
--- a/org.eclipse.europa.tools/images/failure.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.tools/images/success.gif b/org.eclipse.europa.tools/images/success.gif
deleted file mode 100644
index 71c70d3..0000000
--- a/org.eclipse.europa.tools/images/success.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.tools/images/unknown.gif b/org.eclipse.europa.tools/images/unknown.gif
deleted file mode 100644
index ecaf1eb..0000000
--- a/org.eclipse.europa.tools/images/unknown.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.tools/instructions.txt b/org.eclipse.europa.tools/instructions.txt
deleted file mode 100644
index 88c501e..0000000
--- a/org.eclipse.europa.tools/instructions.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-This build process works from an SSH console on dash.eclipse.org. 
-
-Setup:
-(1) Eclipse installed: 
-		<$HOME>/europa/eclipse-33
-(2) Ant installed
-(3) cd ~; ln -s /home/data/httpd/download.eclipse.org/ downloads
-(4) Java 1.5 installed:
-		<$HOME>/europa/ibm-java2-ppc-50
-
-Occassional Setup:
-(1) The process can then be "boot strapped" by executing the following script. 
-(This just deletes any exising copies, and gets fresh copies of scripts 
-and property files from HEAD). 
-
-	getEuropaToolsFromCVS.sh 
-
-A copy of this script is constained in 
-org.eclipse.europa.tools\build-home\getEuropaToolsFromCVS.sh
-but, that copy should be moved to <$HOME> for execution. 
-	
-Run:
-(1) Run the david-o-matic project updater
-	cd org.eclipse.europa.tools/build-home
-	./runUpdateAllProjects.sh -clean 2>&1 | tee out.txt
-
-(2) Upload the staging bits to the release site
-	MOREMORE
-
-----------------OLD INSTRUCTIONS-------------------
-This build process works from an SSH console on build.eclipse.org. 
-
-The following is required setup on the committers login $HOME directory. 
-
-	Eclipse installed: 
-	
-		<$HOME>/europa/eclipse-ppc-33M3
-	
-	Java 1.5 installed
-	
-		<$HOME>/ibm-java2-ppc-50
-	
-	Java 1.4 installed
-	
-		<$HOME>/IBMJava2-ppc-142
-	
-	OSGI Indexer (optional - need to be OSGI member to get a copy)
-
-		<$HOME>/osgiIndexer/bindex.jar
-	
-	
-The process can then be "boot strapped" by executing the following script. 
-(This just deletes any exising copies, and gets fresh copies of scripts 
-and property files from HEAD). 
-
-getEuropaToolsFromCVS.sh 
-
-A copy of this script is constained in 
-org.eclipse.europa.tools\build-home\getEuropaToolsFromCVS.sh
-but, that copy should be moved to <$HOME> for execution. 
-That script itself constains some instructions on what to do next, the main 
-part of which 
-
-then 
-cd org.eclipse.europa.tools/build-home/
-
-and finally -- the part that actually does the work -- something similar to 
-screen -R ./runUpdateAllProjects.sh -clean | tee out.txt
-
-NOTE: if you are doing a "local, developers test" of the runUpdateAllProjects 
-sript, you should grep through all scripts, and change the 'staging' 
-directory to your own test directory. 
-
-When done (about 20 minutes) be sure to check the console output 
-for 'error', 'exception', and 'failed'. 
-
-Final steps to "releases"
-
-Two more scripts need to be executed to move the 'staging' files 
-to the 'releases' directory. 
-
-copyToRelease-plugins.sh
-copyToRelease-SiteFiles.sh 
-
-Finally, (optionally) change to the releases directory and execute 
-runIndexer.sh to create the OSGI index. 
-
-
-
-
-
diff --git a/org.eclipse.europa.tools/plugin.properties b/org.eclipse.europa.tools/plugin.properties
deleted file mode 100644
index 4f05114..0000000
--- a/org.eclipse.europa.tools/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.europa.tools
-Bundle-Vendor.0 = Eclipse.org
-Bundle-Name.0 = Europa Tools
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/removeOutOfSynch.sh b/org.eclipse.europa.tools/removeOutOfSynch.sh
deleted file mode 100644
index 06c0ab0..0000000
--- a/org.eclipse.europa.tools/removeOutOfSynch.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-
-if [ "$1" != "-doit" ] ; then
-   echo "    This is a dry run. Add -doit to actually remove"
-   doit="--dry-run"
-else
-   doit=""
-fi
-
-rsync $doit --delete --ignore-existing -rv ~/downloads/releases/europa/staging/plugins ~/downloads/releases/europa
-
-rsync $doit --delete --ignore-existing -rv ~/downloads/releases/europa/staging/features ~/downloads/releases/europa
-
-if [ "$doit" = "--dry-run" ] ; then
-   echo "    This was a dry run. Add -doit to actually remove"
-fi
diff --git a/org.eclipse.europa.tools/runIndexer.sh b/org.eclipse.europa.tools/runIndexer.sh
deleted file mode 100644
index 1f903a4..0000000
--- a/org.eclipse.europa.tools/runIndexer.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# OSGi Indexer. See
-# http://www2.osgi.org/Repository/HomePage
-# and 
-# http://www2.osgi.org/Repository/BIndex
-
-# note: the bindex.jar must be obtained from OSGi, it
-# is not part of Eclipse
-
-# must be ran literally from root of repository ... else file paths all off.
-# todo: fix this issue with paths, so can be ran from ~/
-
-java -jar ~/osgiIndexer/bindex.jar -name Eclipse -l http://www.eclipse.org/org/documents/epl-v10.php  -t http://download.eclipse.org/europa/releases/plugins/%f -q plugins/*.jar -r repository.zip
-
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/GenerateMirrorTags.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/GenerateMirrorTags.java
deleted file mode 100644
index 598922b..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/GenerateMirrorTags.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.europa.tools;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Writer;
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Properties;
-
-import org.eclipse.europa.tools.utils.FullJarNameParser;
-import org.eclipse.europa.tools.utils.LineInfo;
-import org.eclipse.europa.tools.utils.ProjectInfoPair;
-import org.eclipse.europa.tools.utils.Version;
-
-public class GenerateMirrorTags {
-
-	private FullJarNameParser jarNameParser = new FullJarNameParser();
-
-	private static final String QUOTE = "\"";
-
-	private static final String ARCHIVE_PATH = "<archive path=";
-
-	private static final String SLASH = "/";
-
-	private static final char CHAR_BASKSLASH = '\\';
-
-	private static final char CHAR_SLASH = '/';
-
-	private static final String PLUGINS = "plugins";
-
-	private static final String FEATURES = "features";
-
-	private static final String IGNORE = "/home/data/httpd/download.eclipse.org/";
-
-	private static final boolean DEBUG = false;
-
-	private static final String urlCONST = " url=\"";
-
-	private static final String nearestMirrorURL = "http://www.eclipse.org/downloads/download.php?r=1&amp;file=/";
-
-	private static final String relativeURL = "../../";
-
-	private static final String ENDTAG = "/>";
-
-	private static final String EOL = System.getProperty("line.separator");
-
-	static final String PATH_SEPARATOR = System.getProperty("path.separator");
-
-	private static final String DATADIR = "data";
-
-	private static final boolean VERBOSE = true;
-
-	private Hashtable pluginTable = new Hashtable();
-
-	private Hashtable featureTable = new Hashtable();
-
-	private ArrayList featureList = new ArrayList();
-
-	private ArrayList pluginList = new ArrayList();
-
-	public static void main(String[] args) {
-
-		System.out.println();
-		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
-		System.out.println("\t" + dateFormat.format(new Date()));
-		System.out.println();
-
-		System.out.println("\tSystem Properties for some interesting locations");
-		System.out.println();
-		System.out.println("\t\tuser.dir: \t\t" + System.getProperty("user.dir"));
-		System.out.println("\t\tuser.home: \t\t" + System.getProperty("user.home"));
-		System.out.println("\t\tjava.io.tmpdir: \t" + System.getProperty("java.io.tmpdir"));
-		System.out.println();
-		System.out.println();
-
-		try {
-
-			String propertyFileName = null;
-			String[] filenames = null;
-
-			if (args.length == 0) {
-				propertyFileName = new String("updateDirs.properties");
-				Properties updateDirectories = new Properties();
-
-				String userDirectory = System.getProperty("user.dir");
-				File propertyDir = new File(userDirectory);
-				File file = new File(propertyDir, propertyFileName);
-				InputStream inProperties = null;
-				String propertiesSource = null;
-				if (file.exists()) {
-					inProperties = new FileInputStream(file);
-					propertiesSource = file.getAbsolutePath();
-				}
-				else {
-					inProperties = GenerateMirrorTags.class.getClassLoader().getResourceAsStream(propertyFileName);
-					propertiesSource = "jar: " + propertyFileName;
-				}
-
-				System.out.println("\tUsing properties from " + EOL + "\t\t" + propertiesSource);
-				updateDirectories.load(inProperties);
-
-
-				filenames = initFileNamesFromProperties(updateDirectories);
-
-			}
-			else {
-				filenames = args;
-			}
-			new GenerateMirrorTags().generateFromPathNames(filenames);
-
-
-		}
-		catch (FileNotFoundException e) {
-			e.printStackTrace();
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-
-	}
-
-	private static String[] initFileNamesFromProperties(Properties updateDirectories) {
-		String[] result = new String[0];
-		ArrayList nameProperties = new ArrayList();
-		Enumeration allProperties = updateDirectories.keys();
-		while (allProperties.hasMoreElements()) {
-			String propertyname = (String) allProperties.nextElement();
-			String dirname = null;
-			if (propertyname.startsWith("updateDir")) {
-				dirname = updateDirectories.getProperty(propertyname);
-				nameProperties.add(dirname);
-			}
-		}
-		if (nameProperties.size() > 0) {
-			result = new String[nameProperties.size()];
-			for (int iProp = 0; iProp < nameProperties.size(); iProp++) {
-				result[iProp] = (String) nameProperties.get(iProp);
-			}
-		}
-		return result;
-	}
-
-	private int totalTags;
-
-	private String UNDERSCORE = "_";
-
-	private boolean doNearestMirror = false;
-
-	private boolean doRelativeURL = true;
-
-	private void generateFromPathNames(String[] pathnames) throws IOException {
-
-		int nPathNames = pathnames.length;
-		System.out.println();
-		System.out.print("\tTotal PathNames to be processed: " + nPathNames);
-		System.out.println();
-
-		for (int iPath = 0; iPath < nPathNames; iPath++) {
-			String pathname = pathnames[iPath];
-
-			File mainDirectory = new File(pathname);
-			if (!mainDirectory.exists()) {
-				System.out.println("\n\tSkipping a path from property file, that did not exist: " + mainDirectory);
-			}
-			else {
-				if (!mainDirectory.isDirectory()) {
-					System.err.println("We expect to get directory names as the input.");
-				}
-				else {
-
-					pluginTable.clear();
-					featureTable.clear();
-					featureList.clear();
-					pluginList.clear();
-
-					String[] members = mainDirectory.list();
-
-					for (int jMember = 0; jMember < members.length; jMember++) {
-
-						String member = members[jMember];
-
-						if (DEBUG) {
-							System.out.println(member);
-						}
-
-						if (FEATURES.equals(member)) {
-							File featureDirectory = new File(mainDirectory, member);
-							String[] featureNames = featureDirectory.list();
-
-							for (int iFeatureName = 0; iFeatureName < featureNames.length; iFeatureName++) {
-								String featureName = featureNames[iFeatureName];
-
-								if (DEBUG) {
-									System.out.println(featureName);
-								}
-
-								jarNameParser.parse(featureName);
-								String projectId = jarNameParser.getProjectString();
-								String versionString = jarNameParser.getVersionString();
-								Version version = createVersionFromString(featureName, projectId, versionString);
-								if (version != null) {
-									storeInTable(featureTable, projectId, version, featureDirectory + SLASH + featureName);
-									storeInList(featureList, projectId, version, featureDirectory + SLASH + featureName);
-								}
-							}
-						}
-						else if (PLUGINS.equals(member)) {
-							File pluginDirectory = new File(mainDirectory, member);
-							String[] pluginNames = pluginDirectory.list();
-
-							for (int iPluginName = 0; iPluginName < pluginNames.length; iPluginName++) {
-								String pluginName = pluginNames[iPluginName];
-
-								if (DEBUG) {
-									System.out.println(pluginName);
-								}
-
-								jarNameParser.parse(pluginName);
-								String projectId = jarNameParser.getProjectString();
-								String versionString = jarNameParser.getVersionString();
-								Version version = createVersionFromString(pluginName, projectId, versionString);
-								if (version != null) {
-									storeInTable(pluginTable, projectId, version, pluginDirectory + SLASH + pluginName);
-									storeInList(pluginList, projectId, version, pluginDirectory + SLASH + pluginName);
-								}
-							}
-						}
-
-					}
-
-					String newFileName = newFileName(pathname);
-
-					createTagFileMR(newFileName + "-MR");
-					createTagFileALL(newFileName + "-All");
-
-				}
-
-			}
-		}
-
-	}
-
-	private Version createVersionFromString(String wholeName, String projectId, String versionString) {
-		Version result = null;
-		try {
-			result = new Version(versionString);
-		}
-		catch (NumberFormatException e) {
-			System.out.println();
-			System.out.println(" Number Format Exception creating Version");
-			System.out.println("featureName: " + wholeName);
-			System.out.println("projectId: " + projectId);
-			System.out.println("versionString: " + versionString);
-			System.out.println();
-		}
-		return result;
-	}
-
-	private void createTagFileMR(String filename) throws IOException {
-
-		File dataDir = ensureDataDirectory();
-
-		File file = new File(dataDir, filename);
-		FileWriter writer = new FileWriter(file);
-
-		Enumeration features = featureTable.keys();
-		while (features.hasMoreElements()) {
-			String id = (String) features.nextElement();
-			LineInfo lineInfo = (LineInfo) featureTable.get(id);
-			createTag(writer, id, FEATURES, lineInfo.getLine());
-		}
-
-		Enumeration plugins = pluginTable.keys();
-		while (plugins.hasMoreElements()) {
-			String id = (String) plugins.nextElement();
-			LineInfo lineInfo = (LineInfo) pluginTable.get(id);
-			createTag(writer, id, PLUGINS, lineInfo.getLine());
-		}
-		writer.close();
-
-		printSummary(filename, featureTable.size(), pluginTable.size());
-	}
-
-	private void printSummary(String filename, int nFeatures, int nPlugins) {
-		if (VERBOSE) {
-			System.out.println();
-			System.out.println("\t\t" + filename);
-			System.out.println("\t\t\t" + "number of features: " + nFeatures);
-			System.out.println("\t\t\t" + " number of plugins: " + nPlugins);
-		}
-	}
-
-	private void createTagFileALL(String filename) throws IOException {
-
-		File dataDir = ensureDataDirectory();
-
-		File file = new File(dataDir, filename);
-		FileWriter writer = new FileWriter(file);
-
-		Iterator features = featureList.iterator();
-		writeTags(writer, features, FEATURES);
-
-		Iterator plugins = pluginList.iterator();
-		writeTags(writer, plugins, PLUGINS);
-
-		writer.close();
-
-		printSummary(filename, featureList.size(), pluginList.size());
-
-	}
-
-	private File ensureDataDirectory() throws IOException {
-		String writeDirectory = System.getProperty("user.dir");
-		File writeDir = new File(writeDirectory);
-		File dataDir = new File(writeDir, DATADIR);
-		if (!dataDir.exists()) {
-			boolean success = dataDir.mkdirs();
-			if (!success) {
-				throw new IOException("Could not create directory: " + dataDir.getName());
-			}
-		}
-		return dataDir;
-	}
-
-	private void writeTags(FileWriter writer, Iterator iterator, String type) throws IOException {
-		while (iterator.hasNext()) {
-			ProjectInfoPair info = (ProjectInfoPair) iterator.next();
-			String id = info.getProjectId();
-			LineInfo lineInfo = info.getLineInfo();
-			createTag(writer, id, type, lineInfo.getLine());
-		}
-	}
-
-	private String newFileName(String filename) {
-		// System.out.println("pathname processed: " + filename);
-		String name = filename;
-		if (name.startsWith(IGNORE)) {
-			name = name.substring(IGNORE.length());
-		}
-		name = name.replace(CHAR_SLASH, '-');
-		name = name.replace(CHAR_BASKSLASH, '-');
-		if (name.startsWith("-")) {
-			name = name.substring(1);
-		}
-		if (!name.endsWith("-")) {
-			name = name + "-";
-		}
-		name = name + "Tags" + "." + "xmlinc";
-		// System.out.println("filename created: " + name);
-		return name;
-	}
-
-	private void storeInTable(Hashtable table, String projectId, Version version, String lineParam) {
-
-		String lineToStore = lineParam.replace(CHAR_BASKSLASH, CHAR_SLASH);
-		if (lineToStore.startsWith(IGNORE)) {
-			lineToStore = lineToStore.substring(IGNORE.length());
-		}
-
-		if (notInSkipList(lineToStore)) {
-			// if see if project in table at all, if not store it. If so,
-			// update
-			// version and line, if higher.
-			Object data = table.get(projectId);
-			if (data == null) {
-				LineInfo lineInfo = new LineInfo(version, lineToStore);
-				table.put(projectId, lineInfo);
-			}
-			else {
-				LineInfo lineinfo = (LineInfo) data;
-				Version currentVersion = lineinfo.getVersion();
-				if (version.compareTo(currentVersion) > 0) {
-					LineInfo newlineInfo = new LineInfo(version, lineToStore);
-					table.put(projectId, newlineInfo);
-					if (DEBUG) {
-						System.out.println("\tVersion Replaced: " + projectId);
-						System.out.println("\t\t" + version + " greater then " + currentVersion);
-					}
-				}
-			}
-		}
-
-	}
-
-	private void storeInList(ArrayList list, String projectId, Version version, String lineParam) {
-
-		String lineToStore = lineParam.replace(CHAR_BASKSLASH, CHAR_SLASH);
-		if (lineToStore.startsWith(IGNORE)) {
-			lineToStore = lineToStore.substring(IGNORE.length());
-		}
-
-		if (notInSkipList(lineToStore)) {
-			LineInfo newlineInfo = new LineInfo(version, lineToStore);
-			ProjectInfoPair projectInfoPair = new ProjectInfoPair(projectId, newlineInfo);
-			list.add(projectInfoPair);
-		}
-
-	}
-
-	private boolean notInSkipList(String directory) {
-		boolean result = false;
-		if (directory != null && directory.length() > 0) {
-			if (contains(directory, ".tests_") || contains(directory, ".tests.") || contains(directory, "validation.test") || contains(directory, "validation.sample") || contains(directory, "tests.feature")) {
-				result = false;
-			}
-			else {
-				result = true;
-			}
-		}
-		return result;
-	}
-
-	private boolean contains(String directory, String string) {
-		return (-1 < directory.indexOf(string));
-	}
-
-	private void createTag(Writer writer, String directory, String type, String line) throws IOException {
-		jarNameParser.parse(line);
-		String versionString = jarNameParser.getVersionString();
-		String tagStart = ARCHIVE_PATH + QUOTE + type + SLASH + directory + UNDERSCORE + versionString + ".jar" + QUOTE;
-
-		String urlAttrib = null;
-		String avoidDoubleSlashLine = line;
-		if (avoidDoubleSlashLine.startsWith(SLASH)) {
-			avoidDoubleSlashLine = avoidDoubleSlashLine.substring(1);
-		}
-		if (doNearestMirror) {
-			urlAttrib = urlCONST + nearestMirrorURL + avoidDoubleSlashLine + QUOTE + ENDTAG;
-		}
-		else if (doRelativeURL) {
-			urlAttrib = urlCONST + relativeURL + avoidDoubleSlashLine + QUOTE + ENDTAG;
-		}
-		else {
-			throw new IllegalStateException("url type is not specified correctly");
-		}
-
-		writer.write(EOL);
-		writer.write("\t" + tagStart + EOL);
-		writer.write("\t\t" + urlAttrib + EOL);
-		writer.write(EOL);
-		writer.flush();
-
-		totalTags++;
-
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/SiteFileUpdater.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/SiteFileUpdater.java
deleted file mode 100644
index f181f01..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/SiteFileUpdater.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.europa.tools;
-
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-
-import org.eclipse.europa.tools.utils.CommonXML;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * The purpose of this utility is to take a site.xml file that's automatically
- * created during the mirror command operations, and "merge" it with an
- * authored site.xml file that uses different categories or descriptions that
- * the automated one. The "merge" is only that any new URL's or version
- * numbers are mapped to their corresponding authored versions, so rest of
- * authored version is untouched, and can be used as "the" site.xml for the
- * mirrored site.
- */
-
-public class SiteFileUpdater {
-
-	public static void main(String[] args) {
-
-		if (args.length != 2) {
-			System.out.println();
-			System.out.println("    Usage: file-to-merge-into file-to-merge-from");
-			System.out.println("           The file-to-merge-into will be overwritten");
-			System.out.println();
-		}
-		else {
-			try {
-				String oldFileName = args[0];
-				String newFileName = args[1];
-				SiteFileUpdater siteFileUpdater = new SiteFileUpdater();
-				// old file is the authored file, with old feature versions
-				FileInputStream oldFile;
-				oldFile = new FileInputStream(oldFileName);
-				// new file has correct feature versions and url's from mirror
-				// command
-				FileInputStream newFile = new FileInputStream(newFileName);
-				Document mergedDom = siteFileUpdater.merge(oldFile, newFile);
-				oldFile.close();
-				newFile.close();
-
-				// outfile will contain "merge" xml files
-				FileOutputStream outfile = new FileOutputStream(oldFileName);
-				CommonXML.serialize(mergedDom, outfile);
-
-				outfile.close();
-				System.out.println("\tOutput to: " + oldFileName);
-			}
-			catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-
-	}
-
-	private Document merge(FileInputStream oldFile, FileInputStream newFile) throws IOException {
-
-		DocumentBuilder documentBuilder = CommonXML.getDocumentBuilder();
-		Document mergedDom = null;
-		try {
-			Document oldDom = documentBuilder.parse(oldFile);
-
-			Document newDom = documentBuilder.parse(newFile);
-			mergedDom = merge(oldDom, newDom);
-		}
-		catch (SAXException e) {
-			e.printStackTrace();
-		}
-		return mergedDom;
-
-
-	}
-
-	private Document merge(Document oldDom, Document newDom) {
-
-		Document result = oldDom;
-		NodeList oldNodeList = oldDom.getElementsByTagName("feature");
-		NodeList newNodeList = newDom.getElementsByTagName("feature");
-
-		// go through each of the existing features, if there's a new one with
-		// same ID,
-		// then update old one with url and version.
-		int nNodes = oldNodeList.getLength();
-
-		for (int i = 0; i < nNodes; i++) {
-			Node node = oldNodeList.item(i);
-			NamedNodeMap attributeMap = node.getAttributes();
-			Node oldIdAttribute = attributeMap.getNamedItem("id");
-
-			Node matchingNode = findMatchingNodeById(newNodeList, oldIdAttribute);
-			if (matchingNode != null) {
-				// so, found match, update url and version
-				Node newurl = matchingNode.getAttributes().getNamedItem("url");
-				Node newversion = matchingNode.getAttributes().getNamedItem("version");
-				Attr newurlAttr = node.getOwnerDocument().createAttribute("url");
-				Attr newversionAttr = node.getOwnerDocument().createAttribute("version");
-				newurlAttr.setValue(newurl.getNodeValue());
-				newversionAttr.setNodeValue(newversion.getNodeValue());
-				attributeMap.setNamedItem(newurlAttr);
-				attributeMap.setNamedItem(newversionAttr);
-			}
-
-		}
-
-		return result;
-	}
-
-	private Node findMatchingNodeById(NodeList nodeList, Node attribute) {
-		Node result = null;
-		ArrayList matches = new ArrayList();
-		String idValue = attribute.getNodeValue();
-
-		for (int i = 0; i < nodeList.getLength(); i++) {
-			Node potentialnode = nodeList.item(i);
-			Node potentialMatch = potentialnode.getAttributes().getNamedItem("id");
-			if (potentialMatch != null) {
-				String potentialIdValue = potentialMatch.getNodeValue();
-				if (idValue.equals(potentialIdValue)) {
-					matches.add(potentialnode);
-				}
-			}
-		}
-		if (matches.size() > 1) {
-			System.out.println("     WARNING: there were mulitple matches for " + idValue);
-			System.out.println("              The last one in list was used, but sites(s) should be cleaned up so only newest one included");
-			for (int i = 0; i < matches.size(); i++) {
-				Node match = (Node) matches.get(i);
-				Node version = match.getAttributes().getNamedItem("version");
-
-				System.out.println("        " + version.getNodeValue());
-			}
-
-		}
-		if (matches.size() > 0) {
-			result = (Node) matches.get(matches.size() - 1);
-		}
-		return result;
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/CommonXML.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/CommonXML.java
deleted file mode 100644
index f68a570..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/CommonXML.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.europa.tools.utils;
-
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-
-/**
- */
-public class CommonXML {
-
-	/**
-	 * Provides a DocumentBuilder capable of creating a DOM Document from
-	 * input. Sets the desired characteristics for this instance, 
-	 * 	validating=false
-	 *  ignoringComments=false
-	 *  ignoringElementContentWhitespace=false
-	 * 
-	 * Example usage: Document document = null; try { DocumentBuilder builder =
-	 * CommonXML.getDocumentBuilder(); if (builder != null) { InputStream fis =
-	 * new FileInputStream(getFilename()); document = builder.parse(new
-	 * InputSource(fis)); } else { Logger.log(Logger.ERROR, "Couldn't obtain a
-	 * DocumentBuilder"); //$NON-NLS-1$ } } catch (FileNotFoundException e) { //
-	 * typical of new workspace, don't log it document = null; } catch
-	 * (IOException e) { Logger.logException("Could not load document", e);
-	 * //$NON-NLS-1$ return definitions; } catch (SAXException e) {
-	 * Logger.logException("Could not load document", e); //$NON-NLS-1$ return
-	 * definitions; }
-	 * 
-	 * @return DocumentBuilder
-	 */
-	public synchronized static DocumentBuilder getDocumentBuilder() {
-		DocumentBuilder result = null;
-		try {
-			DocumentBuilderFactory instance = DocumentBuilderFactory.newInstance();
-			instance.setValidating(false);
-			instance.setIgnoringComments(false);
-			instance.setIgnoringElementContentWhitespace(false);
-			
-			result = instance.newDocumentBuilder();
-			
-			
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	public synchronized static DocumentBuilder getDocumentBuilder(boolean validating) {
-		DocumentBuilder result = null;
-		try {
-			DocumentBuilderFactory instance = DocumentBuilderFactory.newInstance();
-			instance.setValidating(validating);
-			result = instance.newDocumentBuilder();
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	/**
-	 * Transforms a DOM document into a lightly-formatted UTF-16 represntation
-	 * and outputs it to an outputstream
-	 * 
-	 * @param document
-	 * @param ostream
-	 * @throws IOException
-	 */
-	public static void serialize(Document document, OutputStream ostream) throws IOException {
-		Source domSource = new DOMSource(document);
-		try {
-			Transformer serializer = TransformerFactory.newInstance().newTransformer();
-			try {
-				serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-				serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
-				serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-				
-				//Properties prop = serializer.getOutputProperties();
-				//prop.list(System.out);
-			}
-			catch (IllegalArgumentException e) {
-				e.printStackTrace();
-			}
-			serializer.transform(domSource, new StreamResult(ostream));
-		}
-		catch (TransformerConfigurationException e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerFactoryConfigurationError e) {
-			throw new IOException(e.getMessage());
-		}
-		catch (TransformerException e) {
-			throw new IOException(e.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/FullJarNameParser.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/FullJarNameParser.java
deleted file mode 100644
index d1b93be..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/FullJarNameParser.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.europa.tools.utils;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class FullJarNameParser {
-
-	private static final boolean DEBUG = false; 
-	// simplified pattern: (ID) '_' (N '.' M '.' O '.' S) '.jar'
-	private String START_GROUP = "(";//$NON-NLS-1$
-	private String END_GROUP = ")";
-	private String UNDERSCORE = "_";
-	private String BACKSLASH = "\\";
-	private String LITERAL_PERIOD = BACKSLASH + ".";
-	private String ANYDIGITS = BACKSLASH + "d" + "*";
-	private String ANY = ".*";
-	private Pattern pattern = Pattern.compile(START_GROUP + ANY + END_GROUP + UNDERSCORE + START_GROUP + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + START_GROUP + LITERAL_PERIOD + ANY + END_GROUP + "?" + END_GROUP + ".jar");
-
-	private String projectString;
-	private String versionString;
-
-
-
-	public FullJarNameParser() {
-		super();
-	}
-
-	public boolean parse(String line) {
-		boolean result = false;
-		projectString = "";
-		projectString = "";
-		Matcher matcher = pattern.matcher(line);
-
-		if (!matcher.matches()) {
-			System.out.println();
-			System.out.println("\tthe line did not match parse rule: ");
-			System.out.println("\t" + line);
-			System.out.println();
-			result = false;
-		}
-		else {
-
-			projectString = matcher.group(1);
-			versionString = matcher.group(2);
-			if (DEBUG) {
-				System.out.println(projectString);
-				System.out.println(versionString);
-				System.out.println();
-			}
-			result = true;
-		}
-		return result;
-	}
-
-
-
-	public String getProjectString() {
-		return projectString;
-	}
-
-
-
-	public String getVersionString() {
-		return versionString;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/LineInfo.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/LineInfo.java
deleted file mode 100644
index f58921f..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/LineInfo.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.europa.tools.utils;
-
-
-public class LineInfo {
-
-	private String lineInfo;
-	private Version version;
-	
-	public LineInfo(Version version, String line) {
-		this.version = version;
-		this.lineInfo = line;
-	}
-	
-	public Version getVersion() {
-		return version;
-	}
-	public String getLine() {
-		return lineInfo;
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/ProjectInfoPair.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/ProjectInfoPair.java
deleted file mode 100644
index a5dfbff..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/ProjectInfoPair.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.europa.tools.utils;
-
-
-public class ProjectInfoPair {
-	private String projectId;
-	private LineInfo lineInfo;
-	public LineInfo getLineInfo() {
-		return lineInfo;
-	}
-	public String getProjectId() {
-		return projectId;
-	}
-	public ProjectInfoPair(String projectId, LineInfo lineInfo) {
-		this.projectId = projectId;
-		this.lineInfo = lineInfo;
-	}
-
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/Version.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/Version.java
deleted file mode 100644
index a2143e2..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/utils/Version.java
+++ /dev/null
@@ -1,356 +0,0 @@
-package org.eclipse.europa.tools.utils;
-
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-
-/**
- * Temporary "copy" of class
- * 
- * Version identifier for bundles and packages.
- * 
- * <p>
- * Version identifiers have four components.
- * <ol>
- * <li>Major version. A non-negative integer.</li>
- * <li>Minor version. A non-negative integer.</li>
- * <li>Micro version. A non-negative integer.</li>
- * <li>Qualifier. A text string. See <code>Version(String)</code> for the
- * format of the qualifier string.</li>
- * </ol>
- * 
- * <p>
- * <code>Version</code> objects are immutable.
- * 
- * @version $Revision$
- * @since 1.3
- */
-
-public class Version implements Comparable {
-	private final int major;
-	private final int minor;
-	private final int micro;
-	private final String qualifier;
-	private static final String SEPARATOR = "."; //$NON-NLS-1$
-
-	/**
-	 * The empty version "0.0.0". Equivalent to calling
-	 * <code>new Version(0,0,0)</code>.
-	 */
-	public static final Version emptyVersion = new Version(0, 0, 0);
-
-	/**
-	 * Creates a version identifier from the specified numerical components.
-	 * 
-	 * <p>
-	 * The qualifier is set to the empty string.
-	 * 
-	 * @param major
-	 *            Major component of the version identifier.
-	 * @param minor
-	 *            Minor component of the version identifier.
-	 * @param micro
-	 *            Micro component of the version identifier.
-	 * @throws IllegalArgumentException
-	 *             If the numerical components are negative.
-	 */
-	public Version(int major, int minor, int micro) {
-		this(major, minor, micro, null);
-	}
-
-	/**
-	 * Creates a version identifier from the specifed components.
-	 * 
-	 * @param major
-	 *            Major component of the version identifier.
-	 * @param minor
-	 *            Minor component of the version identifier.
-	 * @param micro
-	 *            Micro component of the version identifier.
-	 * @param qualifier
-	 *            Qualifier component of the version identifier. If
-	 *            <code>null</code> is specified, then the qualifier will be
-	 *            set to the empty string.
-	 * @throws IllegalArgumentException
-	 *             If the numerical components are negative or the qualifier
-	 *             string is invalid.
-	 */
-	public Version(int major, int minor, int micro, String qualifier) {
-		if (qualifier == null) {
-			qualifier = ""; //$NON-NLS-1$
-		}
-
-		this.major = major;
-		this.minor = minor;
-		this.micro = micro;
-		this.qualifier = qualifier;
-		validate();
-	}
-
-	/**
-	 * Created a version identifier from the specified string.
-	 * 
-	 * <p>
-	 * Here is the grammar for version strings.
-	 * 
-	 * <pre>
-	 *  version ::= major('.'minor('.'micro('.'qualifier)?)?)?
-	 *  major ::= digit+
-	 *  minor ::= digit+
-	 *  micro ::= digit+
-	 *  qualifier ::= (alpha|digit|'_'|'-')+
-	 *  digit ::= [0..9]
-	 *  alpha ::= [a..zA..Z]
-	 * </pre>
-	 * 
-	 * There must be no whitespace in version.
-	 * 
-	 * @param version
-	 *            String representation of the version identifier.
-	 * @throws IllegalArgumentException
-	 *             If <code>version</code> is improperly formatted.
-	 */
-	public Version(String version) {
-		int major = 0;
-		int minor = 0;
-		int micro = 0;
-		String qualifier = ""; //$NON-NLS-1$
-
-		if (version == null) {
-			throw new IllegalArgumentException("version string can not be null");
-		}
-		if (version.length() == 0) {
-			throw new IllegalArgumentException("version string can not be empty");
-		}
-
-		try {
-			StringTokenizer st = new StringTokenizer(version, SEPARATOR, true);
-			major = Integer.parseInt(st.nextToken());
-
-			if (st.hasMoreTokens()) {
-				st.nextToken(); // consume delimiter
-				minor = Integer.parseInt(st.nextToken());
-
-				if (st.hasMoreTokens()) {
-					st.nextToken(); // consume delimiter
-					micro = Integer.parseInt(st.nextToken());
-
-					if (st.hasMoreTokens()) {
-						st.nextToken(); // consume delimiter
-						qualifier = st.nextToken();
-
-						if (st.hasMoreTokens()) {
-							throw new IllegalArgumentException("invalid format: " + version); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-		catch (NoSuchElementException e) {
-			throw new IllegalArgumentException("invalid format: " + version); //$NON-NLS-1$
-		}
-
-		this.major = major;
-		this.minor = minor;
-		this.micro = micro;
-		this.qualifier = qualifier;
-		validate();
-	}
-
-	/**
-	 * Called by the Version constructors to validate the version components.
-	 * 
-	 * @throws IllegalArgumentException
-	 *             If the numerical components are negative or the qualifier
-	 *             string is invalid.
-	 */
-	private void validate() {
-		if (major < 0) {
-			throw new IllegalArgumentException("negative major"); //$NON-NLS-1$
-		}
-		if (minor < 0) {
-			throw new IllegalArgumentException("negative minor"); //$NON-NLS-1$
-		}
-		if (micro < 0) {
-			throw new IllegalArgumentException("negative micro"); //$NON-NLS-1$
-		}
-		int length = qualifier.length();
-		for (int i = 0; i < length; i++) {
-			if ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-".indexOf(qualifier.charAt(i)) == -1) { //$NON-NLS-1$
-				throw new IllegalArgumentException("invalid qualifier"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Parses a version identifier from the specified string.
-	 * 
-	 * <p>
-	 * See <code>Version(String)</code> for the format of the version
-	 * string.
-	 * 
-	 * @param version
-	 *            String representation of the version identifier. Leading and
-	 *            trailing whitespace will be ignored.
-	 * @return A <code>Version</code> object representing the version
-	 *         identifier. If <code>version</code> is <code>null</code> or
-	 *         the empty string then <code>emptyVersion</code> will be
-	 *         returned.
-	 * @throws IllegalArgumentException
-	 *             If <code>version</code> is improperly formatted.
-	 */
-	public static Version parseVersion(String version) {
-		if (version == null) {
-			return emptyVersion;
-		}
-
-		version = version.trim();
-		if (version.length() == 0) {
-			return emptyVersion;
-		}
-
-		return new Version(version);
-	}
-
-	/**
-	 * Returns the major component of this version identifier.
-	 * 
-	 * @return The major component.
-	 */
-	public int getMajor() {
-		return major;
-	}
-
-	/**
-	 * Returns the minor component of this version identifier.
-	 * 
-	 * @return The minor component.
-	 */
-	public int getMinor() {
-		return minor;
-	}
-
-	/**
-	 * Returns the micro component of this version identifier.
-	 * 
-	 * @return The micro component.
-	 */
-	public int getMicro() {
-		return micro;
-	}
-
-	/**
-	 * Returns the qualifier component of this version identifier.
-	 * 
-	 * @return The qualifier component.
-	 */
-	public String getQualifier() {
-		return qualifier;
-	}
-
-	/**
-	 * Returns the string representation of this version identifier.
-	 * 
-	 * <p>
-	 * The format of the version string will be <code>major.minor.micro</code>
-	 * if qualifier is the empty string or
-	 * <code>major.minor.micro.qualifier</code> otherwise.
-	 * 
-	 * @return The string representation of this version identifier.
-	 */
-	public String toString() {
-		String base = major + SEPARATOR + minor + SEPARATOR + micro;
-		if (qualifier.length() == 0) { //$NON-NLS-1$
-			return base;
-		}
-		else {
-			return base + SEPARATOR + qualifier;
-		}
-	}
-
-	/**
-	 * Returns a hash code value for the object.
-	 * 
-	 * @return An integer which is a hash code value for this object.
-	 */
-	public int hashCode() {
-		return (major << 24) + (minor << 16) + (micro << 8) + qualifier.hashCode();
-	}
-
-	/**
-	 * Compares this <code>Version</code> object to another object.
-	 * 
-	 * <p>
-	 * A version is considered to be <b>equal to </b> another version if the
-	 * major, minor and micro components are equal and the qualifier component
-	 * is equal (using <code>String.equals</code>).
-	 * 
-	 * @param object
-	 *            The <code>Version</code> object to be compared.
-	 * @return <code>true</code> if <code>object</code> is a
-	 *         <code>Version</code> and is equal to this object;
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean equals(Object object) {
-		if (object == this) { // quicktest
-			return true;
-		}
-
-		if (!(object instanceof Version)) {
-			return false;
-		}
-
-		Version other = (Version) object;
-		return (major == other.major) && (minor == other.minor) && (micro == other.micro) && qualifier.equals(other.qualifier);
-	}
-
-	/**
-	 * Compares this <code>Version</code> object to another object.
-	 * 
-	 * <p>
-	 * A version is considered to be <b>less than </b> another version if its
-	 * major component is less than the other version's major component, or
-	 * the major components are equal and its minor component is less than the
-	 * other version's minor component, or the major and minor components are
-	 * equal and its micro component is less than the other version's micro
-	 * component, or the major, minor and micro components are equal and it's
-	 * qualifier component is less than the other version's qualifier
-	 * component (using <code>String.compareTo</code>).
-	 * 
-	 * <p>
-	 * A version is considered to be <b>equal to</b> another version if the
-	 * major, minor and micro components are equal and the qualifier component
-	 * is equal (using <code>String.compareTo</code>).
-	 * 
-	 * @param object
-	 *            The <code>Version</code> object to be compared.
-	 * @return A negative integer, zero, or a positive integer if this object
-	 *         is less than, equal to, or greater than the specified
-	 *         <code>Version</code> object.
-	 * @throws ClassCastException
-	 *             If the specified object is not a <code>Version</code>.
-	 */
-	public int compareTo(Object object) {
-		if (object == this) { // quicktest
-			return 0;
-		}
-
-		Version other = (Version) object;
-
-		int result = major - other.major;
-		if (result != 0) {
-			return result;
-		}
-
-		result = minor - other.minor;
-		if (result != 0) {
-			return result;
-		}
-
-		result = micro - other.micro;
-		if (result != 0) {
-			return result;
-		}
-
-		return qualifier.compareTo(other.qualifier);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/CheckForFeatureInSiteXml.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/CheckForFeatureInSiteXml.java
deleted file mode 100644
index 8d0c87e..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/CheckForFeatureInSiteXml.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.xml.parsers.DocumentBuilder;
-
-import org.eclipse.europa.tools.utils.CommonXML;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-public class CheckForFeatureInSiteXml {
-
-	public static void main(String[] args) throws IOException, SAXException {
-		String feature = args[0];
-		String sitefilename = args[1] + "/site.xml";
-		Map<String, Map<String, Object>> results = new Hashtable<String, Map<String, Object>>();
-		(new CheckForFeatureInSiteXml()).process(new File(feature), new File(
-				sitefilename), results);
-		for (Iterator iterator = results.keySet().iterator(); iterator
-				.hasNext();) {
-			String project = (String) iterator.next();
-			System.out.print(project + " --> ");
-			for(Iterator iter2 = results.get(project).keySet().iterator(); iter2.hasNext();) {
-				String id = (String) iter2.next();
-				System.out.print(id + ",");
-			}
-			System.out.println();
-		}
-	}
-
-	private Map<String, Boolean> siteInfo = new Hashtable<String, Boolean>();
-
-	private Map<String, Map<String, Object>> featuresInfo = new Hashtable<String, Map<String, Object>>();
-
-	public void process(File featuresDir, File siteXml,
-			Map<String, Map<String, Object>> results) throws IOException, SAXException {
-		readSiteXml(siteXml);
-		readFeaturesFiles(featuresDir);
-		compareSiteXml_to_FeaturesFiles();
-		compareFeaturesFiles_to_SiteXml();
-		reportMissingFromSiteXml(results);
-		reportMissingFromFeaturesFiles(results);
-	}
-
-	private void reportMissingFromSiteXml(Map<String, Map<String, Object>> results) {
-		for (Iterator iterator = this.featuresInfo.keySet().iterator(); iterator
-				.hasNext();) {
-			String id = (String) iterator.next();
-			if (!((Boolean) (featuresInfo.get(id).get("seen_in_site")))
-					.booleanValue()) {
-				String project = (String) featuresInfo.get(id).get("project");
-				Map<String, Object> res = new Hashtable<String, Object>();
-				if( results.containsKey(project) )
-					res = results.get(project);
-				res.put(id, new Boolean(true));
-				results.put(project, res);
-			}
-		}
-	}
-
-	private void reportMissingFromFeaturesFiles(Map<String, Map<String, Object>> results) {
-		for (Iterator iterator = this.siteInfo.keySet().iterator(); iterator
-				.hasNext();) {
-			String id = (String) iterator.next();
-			if (!siteInfo.get(id).booleanValue()) {
-				String project = "";
-				Map<String, Object> res = new Hashtable<String, Object>();
-				if( results.containsKey(project) )
-					res = results.get(project);
-				res.put(id, new Boolean(true));
-				results.put(project, res);
-			}
-		}
-	}
-
-	private void compareFeaturesFiles_to_SiteXml() {
-		for (Iterator iterator = this.featuresInfo.keySet().iterator(); iterator
-				.hasNext();) {
-			String id = (String) iterator.next();
-			if (siteInfo.containsKey(id)) {
-				featuresInfo.get(id).put("seen_in_site", new Boolean(true));
-			}
-		}
-	}
-
-	private void compareSiteXml_to_FeaturesFiles() {
-		for (Iterator iterator = this.siteInfo.keySet().iterator(); iterator
-				.hasNext();) {
-			String id = (String) iterator.next();
-			if (featuresInfo.containsKey(id)) {
-				siteInfo.put(id, new Boolean(true));
-			}
-		}
-	}
-
-	private void readFeaturesFiles(File featuresDir) throws IOException,
-			SAXException {
-		Pattern p1 = Pattern
-				.compile("\\-*\\s+Project:\\s+([\\w\\s_\\-\\.,]+)\\s+Responsible:\\s+(\\w+)");
-		FileInputStream updateMirrorAll = new FileInputStream(new File(
-				featuresDir, "updateMirrorAll.xml"));
-		try {
-			DocumentBuilder documentBuilder = CommonXML.getDocumentBuilder();
-			Document updateMirrorAllDom = documentBuilder
-					.parse(updateMirrorAll);
-
-			NodeList antNodeList = updateMirrorAllDom
-					.getElementsByTagName("ant");
-			int nNodes = antNodeList.getLength();
-			for (int i = 0; i < nNodes; i++) {
-				Node node = antNodeList.item(i);
-				NamedNodeMap attributeMap = node.getAttributes();
-				Node antfileAttribute = attributeMap.getNamedItem("antfile");
-				String id = antfileAttribute.getNodeValue();
-				if (id.startsWith("features-")) {
-					FileInputStream featureXml = new FileInputStream(new File(
-							featuresDir, id));
-					System.out.println("processing " + id);
-					try {
-						Document featureXmlDom = documentBuilder
-								.parse(featureXml);
-
-						NodeList echoNodeList = featureXmlDom
-								.getElementsByTagName("echo");
-						Node node3 = echoNodeList.item(0);
-						NamedNodeMap attributeMap3 = node3.getAttributes();
-						Node messageAttribute = attributeMap3
-								.getNamedItem("message");
-						String message = messageAttribute.getNodeValue();
-						Matcher m1 = p1.matcher(message);
-						m1.find();
-						String projectName = m1.group(1);
-
-						NodeList propertyNodeList = featureXmlDom
-								.getElementsByTagName("property");
-						int nNodes2 = propertyNodeList.getLength();
-						for (int j = 0; j < nNodes2; j++) {
-							Node node2 = propertyNodeList.item(j);
-							NamedNodeMap attributeMap2 = node2.getAttributes();
-							Node nameAttribute = attributeMap2
-									.getNamedItem("name");
-							Node valueAttribute = attributeMap2
-									.getNamedItem("value");
-							String name = nameAttribute.getNodeValue();
-							String value = valueAttribute.getNodeValue();
-							if (name.equals("featureId")) {
-								Map<String, Object> rec = new Hashtable<String, Object>();
-								rec.put("project", projectName);
-								rec.put("seen_in_site", new Boolean(false));
-								featuresInfo.put(value, rec);
-							}
-						}
-					} finally {
-						featureXml.close();
-					}
-				}
-			}
-		} finally {
-			updateMirrorAll.close();
-		}
-	}
-
-	private void readSiteXml(File siteXml) throws IOException, SAXException {
-		FileInputStream oldFile = new FileInputStream(siteXml);
-		try {
-			DocumentBuilder documentBuilder = CommonXML.getDocumentBuilder();
-			Document oldDom = documentBuilder.parse(oldFile);
-
-			NodeList oldNodeList = oldDom.getElementsByTagName("feature");
-
-			int nNodes = oldNodeList.getLength();
-
-			for (int i = 0; i < nNodes; i++) {
-				Node node = oldNodeList.item(i);
-				NamedNodeMap attributeMap = node.getAttributes();
-				Node oldIdAttribute = attributeMap.getNamedItem("id");
-				String id = oldIdAttribute.getNodeValue();
-				siteInfo.put(id, new Boolean(false));
-			}
-		} finally {
-			oldFile.close();
-		}
-	}
-
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/FeatureLog.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/FeatureLog.java
deleted file mode 100644
index 37bb893..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/FeatureLog.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.europa.tools.webgen.Status.Pack200Type;
-
-public class FeatureLog {
-	public ProjectLog project;
-
-	public String feature;
-
-	public String version;
-
-	public Status status;
-
-	public List<LogLine> lines;
-
-	public int packed = 0;
-
-	public int skipped = 0;
-	
-	public FeatureLog(ProjectLog p, String f, String v) {
-		this.project = p;
-		this.feature = f;
-		this.version = v;
-		lines = new ArrayList<LogLine>();
-	}
-
-	public void scan_for_status() {
-		this.status = Status.unknown;
-		setStatusBasedOnPack200();
-		Pattern[] ps = new Pattern[2];
-		Status[] ss = new Status[ps.length];
-		for (int i = 0; i < ss.length; i++) {
-			ss[i] = Status.success;
-		}
-		ps[0] = Pattern.compile("\\] Command completed successfully");
-		ps[1] = Pattern.compile("BUILD SUCCESSFUL");
-
-		Pattern[] pe = new Pattern[16];
-		Status[] se = new Status[pe.length];
-		for (int i = 0; i < se.length; i++) {
-			se[i] = Status.fail;
-		}
-		pe[0] = Pattern.compile("\\] !MESSAGE Application error");
-		pe[1] = Pattern
-				.compile("\\] org.eclipse.core.runtime.AssertionFailedException: assertion failed: Plug-in version identifier, \\\"[^\"]+\\\", can contain a maximum of four components.");
-		se[1] = Status.fail_bad_version_number;
-		pe[2] = Pattern
-				.compile("\\] !MESSAGE An exception occured while downloading feature from");
-		pe[3] = Pattern.compile("\\] java.io.FileNotFoundException: ");
-		se[3] = Status.fail_file_not_found;
-		pe[4] = Pattern
-				.compile("\\] Command failed. Please check log file");
-		pe[5] = Pattern
-				.compile("\\] !MESSAGE No matching features found");
-		se[5] = Status.no_matching_features;
-		pe[6] = Pattern
-				.compile("\\] !MESSAGE Unable to retrieve remote reference \\\".*\\\". \\[Server returned HTTP response code: \\\"404 Not Found\\\" for URL: ");
-		se[6] = Status.fail_file_not_found;
-		pe[7] = Pattern.compile("SIGSEGV");
-		se[7] = Status.internal_error;
-		pe[8] = Pattern.compile("java.lang.OutOfMemoryError");
-		se[8] = Status.internal_error;
-		pe[9] = Pattern
-				.compile("java.lang.IllegalArgumentException: invalid qualifier");
-		se[9] = Status.fail_bad_version_number;
-		pe[10] = Pattern.compile("No such file or directory");
-		se[10] = Status.fail_file_not_found;
-		pe[11] = Pattern.compile("Feature Missing:");
-		se[11] = Status.feature_not_in_site_xml;
-		pe[12] = Pattern.compile("The following ID was not found, so was skipped, and is not on miror site");
-		se[12] = Status.fail_file_not_found;
-		pe[13] = Pattern.compile("License Error");
-		se[13] = Status.license_error;
-		pe[14] = Pattern.compile("Error zero length file");
-		se[14] = Status.packing_corruption;
-		pe[15] = Pattern.compile("org.xml.sax.SAXParseException");
-		se[15] = Status.fail;
-
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			for (int i = 0; i < ps.length; i++) {
-				Pattern pattern = ps[i];
-				Matcher ms = pattern.matcher(line.line);
-				if (ms.find())
-					line.status = ss[i];
-			}
-			for (int i = 0; i < pe.length; i++) {
-				Pattern pattern = pe[i];
-				Matcher me = pattern.matcher(line.line);
-				if (me.find())
-					line.status = se[i];
-			}
-			this.status = this.status.combine(line.status);
-		}
-	}
-
-	public void setStatusBasedOnPack200() {
-		if (this.packed > 0 && this.skipped == 0)
-			this.status = this.status.addPack200Status(Pack200Type.All);
-		else if (this.packed == 0 && this.skipped > 0)
-			this.status = this.status.addPack200Status(Pack200Type.None);
-		else if (this.packed > 0 && this.skipped > 0)
-			this.status = this.status.addPack200Status(Pack200Type.Some);
-	}
-//
-//	public void scanForPack200Status(List<ProjectLog> projects) {
-//		Pattern pRunningFeature = Pattern
-//				.compile("Running Pack on .*/features/([a-z][a-z0-9\\._]+)_");
-//		Pattern pSkippingFeature = Pattern
-//				.compile("Skipping .*/features/([a-z][a-z0-9\\._]+)_");
-//		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-//			LogLine line = iterator.next();
-//			Matcher mRunningFeature = pRunningFeature.matcher(line.line);
-//			if (mRunningFeature.find()) {
-//				FeatureLog feature = findFeatureForFeature(mRunningFeature
-//						.group(1), projects);
-//				if( feature != null) feature.packed++;
-//			}
-//			Matcher mSkippingFeature = pSkippingFeature.matcher(line.line);
-//			if (mSkippingFeature.find()) {
-//				FeatureLog feature = findFeatureForFeature(mSkippingFeature
-//						.group(1), projects);
-//				if( feature != null) feature.skipped++;
-//			}
-//			// If I wanted to, I could also check for the plugins/* and then find the
-//			// feature for each plug-in and record that information as well. At the
-//			// moment I am assuming that a signed feature jar <=> signed plugins jars.
-//		}
-//	}
-
-	public FeatureLog findFeatureForFeature(String featureName,
-			List<ProjectLog> projects) {
-		for (Iterator<ProjectLog> iterator = projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			for (Iterator<FeatureLog> iterator2 = project.features.iterator(); iterator2
-					.hasNext();) {
-				FeatureLog feature = iterator2.next();
-				if (feature.feature.equals(featureName))
-					return feature;
-			}
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogFileParser.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogFileParser.java
deleted file mode 100644
index e7c9bbb..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogFileParser.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class LogFileParser {
-	public BufferedReader input;
-
-	public List<ProjectLog> projects;
-	public List<LogLine> lines;
-	public Status status;
-
-	public LogFileParser(File f) throws IOException {
-		input = new BufferedReader(new FileReader(f));
-	}
-
-	public void parse() throws IOException {
-		read_all_lines_into_memory();
-		divide_into_projects();
-		for (Iterator<ProjectLog> iterator = projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			project.divide_into_features();
-		}
-	}
-
-	void scan_for_status() throws IOException {
-		this.status = Status.unknown;
-		for (Iterator<ProjectLog> iterator = projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			project.scan_for_status();
-			this.status = this.status.combine(project.status);
-		}
-		if (this.status.isFail())
-			this.status = Status.fail;
-	}
-
-	void read_all_lines_into_memory() throws IOException {
-		lines = new ArrayList<LogLine>();
-		String line = input.readLine();
-		int num = 1;
-		while (line != null) {
-			LogLine logline = new LogLine(line, num++);
-			lines.add(logline);
-			line = input.readLine();
-		}
-	}
-
-	void divide_into_projects() {
-		/*
-		 * This algorithm works by looking through the lines of the log
-		 * file for special marker lines.  In general, it keeps three pointers:
-		 * 
-		 * ...
-		 * ...
-		 * ... <-- start (of the project I'm currently scanning)
-		 * ... \
-		 * ... |<-- (body of the project I'm currently scanning)
-		 * ... /
-		 * ... <-- potential_end (of the project I'm currently scanning)
-		 * ... \
-		 * ... |<-- (body of the next project)
-		 * ... /
-		 * ... <-- line_number (the current line)
-		 * 
-		 * This is because we don't know we're in a new project until we encounter
-		 * the "Project:" header, but at the same time the beginning of the new
-		 * project is the previous "update:" line before the Project: line.
-		 */
-		projects = new ArrayList<ProjectLog>();
-		ProjectLog current = new ProjectLog("prefix", "");
-		projects.add(current);
-		Pattern p1 = Pattern
-				.compile("\\[echo\\]\\s+\\-*\\s+Project:\\s+([\\w\\s_\\-\\.,]+)\\s+Responsible:\\s+(\\w+)");
-		Pattern p2 = Pattern.compile("update:");
-		Pattern p3 = Pattern.compile("^Total time:");
-		int start_of_current_project = 0;
-		int potential_end = 0;
-		Iterator<LogLine> iter = lines.iterator();
-		int line_number = 0;
-		while (iter.hasNext()) {
-			LogLine line = iter.next();
-			Matcher m1 = p1.matcher(line.line);
-			Matcher m2 = p2.matcher(line.line);
-			Matcher m3 = p3.matcher(line.line);
-			/*
-			 * If we've found a "Project:" line then we need
-			 * to start a new project section.
-			 */
-			if (m1.find()) {
-				/* special case for the first project in the file:
-				 * we haven't seen the end of the previous project yet (because
-				 * there isn't one), so the Project: line be the "end" of the
-				 * non-existent previous project	 */
-				if (start_of_current_project == potential_end)
-					potential_end = line_number;
-				/* save away the lines for the current project, i.e.,
-				 * the one we were collecting for, not the one for which
-				 * we've just seen the start line	 */
-				current.lines = lines.subList(start_of_current_project, potential_end);
-				/* the start of the next project section is the end
-				 * of the current one */
-				start_of_current_project = potential_end;
-				/* the end of the next project cannot be earlier than
-				 * it's beginning, so set it as well 		 */
-				potential_end = start_of_current_project;
-				/* start a new project with the new name, etc.
-				 * We are now scanning lines for this project.		 */
-				current = new ProjectLog(m1.group(1), m1.group(2));
-				projects.add(current);
-			}
-			/*
-			 * If we've found "update:" then it marks the potential
-			 * end to the current project. We won't know that until
-			 * we find a "Project:" line, but we record it as a
-			 * potential end here.
-			 */
-			if (m2.matches() )
-				potential_end = line_number;
-			/*
-			 * If we've found "Total time:" then the NEXT line is
-			 * the potential end to the current project. Again, we 
-			 * won't know that until...
-			 */
-			if (m3.find() )
-				potential_end = line_number + 1;
-			line_number++;
-		}
-		potential_end = line_number;
-		current.lines = lines.subList(start_of_current_project, potential_end);
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogFileToWebPages.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogFileToWebPages.java
deleted file mode 100644
index 63df9ec..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogFileToWebPages.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.io.File;
-import java.io.IOException;
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.xml.sax.SAXException;
-
-public class LogFileToWebPages {
-	public static void main(String[] argv) throws IOException, SAXException {
-		System.out.println("Generating Europa build status pages");
-
-		File f = new File(argv[0]);
-		File d = new File(argv[1]);
-		File s = new File(argv[4]);
-		LogFileParser parser = new LogFileParser(f);
-		parser.parse();
-		System.out.println("parsing complete");
-
-		String feature = argv[2];
-		String sitefilename = argv[3] + "/site.xml";
-		Map<String, Map<String, Object>> results = new Hashtable<String, Map<String, Object>>();
-		(new CheckForFeatureInSiteXml()).process(new File(feature), new File(
-				sitefilename), results);
-		System.out.println("site-features comparison complete");
-
-		for (Iterator<ProjectLog> iterator = parser.projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			if (project.project.equals("pack200")) {
-				project.scanForPack200Status(parser.projects);
-			}
-		}
-		System.out.println("pack200 status check complete");
-
-		for (Iterator<ProjectLog> iterator = parser.projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			if (project.project.equals("scanForLicenses")) {
-				project.annotate_features_with_license_information(parser.projects);
-			}
-		}
-		System.out.println("license check complete");
-
-		Date d1 = new Date(s.lastModified());
-		Date d2 = new Date(f.lastModified());
-		String bd = DateFormat.getDateTimeInstance(DateFormat.LONG,
-				DateFormat.LONG).format(d1);
-		String sd = DateFormat.getDateTimeInstance(DateFormat.LONG,
-				DateFormat.LONG).format(d2);
-		WebPageGenerator generator = new WebPageGenerator(parser, d, bd, sd,
-				results);
-		generator.generate();
-		System.out.println("web pages complete");
-
-		System.out.println("Generation complete.");
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogLine.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogLine.java
deleted file mode 100644
index 0ff4e12..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/LogLine.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.io.PrintWriter;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class LogLine {
-	public String line;
-
-	public int linenumber;
-
-	public Status status;
-
-	public String anchor;
-
-	public String anchor2;
-
-	private static int nextanchor = 1;
-//	private static Pattern p = Pattern
-	//.compile("(.*Command-line arguments:.*\\-from: )([^ ]+)( .*)");
-	private static Pattern p1 = Pattern
-	.compile("(.*Command-line arguments:.*-from file:///home/data/users/bfreeman/)(\\S+)(.*)");
-	private static Pattern p2 = Pattern.compile("(.*Command-line arguments:.*-from )(http://download.eclipse.org/\\S+)(.*)");
-	
-	public LogLine(String s, int number) {
-		this.linenumber = number;
-		this.line = s;
-		this.status = Status.unknown;
-	}
-
-	public void addAnchor() {
-		anchor = "" + nextanchor++;
-	}
-
-	public void saveAnchor() {
-		this.anchor2 = this.anchor;
-		this.anchor = null;
-	}
-
-	public void write_log_line(PrintWriter writer) {
-		if (status.isFail()) {
-			writer.print("<span style=\"background-color: "
-					+ WebPageGenerator.fail_color() + ";\">");
-		}
-		if (status.isSuccess()) {
-			writer.print("<span style=\"background-color: "
-					+ WebPageGenerator.success_color() + ";\">");
-		}
-		writer.print("<code>");
-		if (anchor != null) {
-			writer.print("<a name=\"" + anchor + "\"></a>");
-		}
-		Matcher m1 = p1.matcher(line);
-		Matcher m2 = p2.matcher(line);
-		if( m1.matches() ) {
-			writer.print(m1.group(1));
-			writer.print("<span style=\"background-color: "
-					+ WebPageGenerator.information_color() + ";\">");
-			writer.print(m1.group(2));
-			writer.print("</span>");
-			writer.print(m1.group(3));
-		} else if( m2.matches() ) {
-				writer.print(m2.group(1));
-				writer.print("<span style=\"background-color: "
-						+ WebPageGenerator.information_color() + ";\">");
-				writer.print(m2.group(2));
-				writer.print("</span>");
-				writer.print(m2.group(3));
-		} else {
-			writer.print(line);
-		}
-		writer.print("</code>");
-		if (status.isFail() || status.isSuccess() || status.isInformation()) {
-			writer.print("</span>");
-		}
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/ProjectLog.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/ProjectLog.java
deleted file mode 100644
index 7822fd5..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/ProjectLog.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class ProjectLog {
-	public String project;
-	public String responsible;
-	public Status status;
-	public List<LogLine> lines;
-	public List<FeatureLog> features;
-	public ProjectLog( String p, String r ) {
-		this.project = p;
-		this.responsible = r;
-		lines = new ArrayList<LogLine>();
-	}
-	public Status scan_for_status() {
-		status = Status.unknown;
-		for (Iterator<FeatureLog> iter = features.iterator(); iter.hasNext();) {
-			FeatureLog feature = iter.next();
-			feature.scan_for_status();
-			status = status.combine( feature.status );
-		}
-		return status;
-	}
-	public void scanForPack200Status( List<ProjectLog> projects ) {
-//		for (Iterator<FeatureLog> iter = features.iterator(); iter.hasNext();) {
-//			FeatureLog feature = iter.next();
-//			feature.scanForPack200Status( projects );
-//		}
-	}
-
-	public void annotate_features_with_license_information(List<ProjectLog> projects) {
-		Pattern feature_pat = Pattern.compile("\\sF\\s+(\\S+)\\.jar\\s+(\\S.+)");
-		Pattern plugin_pat = Pattern
-				.compile("\\sP\\s+(\\S+)\\.jar\\s+(\\S+)\\.jar\\s+(\\S.+)");
-		for (Iterator<LogLine> iterator = this.lines.iterator(); iterator
-				.hasNext();) {
-			LogLine line = iterator.next();
-			Matcher feature_m = feature_pat.matcher(line.line);
-			Matcher plugin_m = plugin_pat.matcher(line.line);
-			if (feature_m.find()) {
-				if( !annotate_feature_with_license_information(projects, feature_m.group(1),
-						feature_m.group(1) + ": " + feature_m.group(2)) ) {
-					line.status = Status.fail;
-				}
-			} else if (plugin_m.find()) {
-				if( !annotate_feature_with_license_information(projects, plugin_m.group(1),
-						plugin_m.group(2) + ": " + plugin_m.group(3)) ) {
-					line.status = Status.fail;
-				}
-			}
-		}
-	}
-
-	boolean annotate_feature_with_license_information(List<ProjectLog> projects, String featureid, String text) {
-		for (Iterator<ProjectLog> iterator = projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			for (Iterator<FeatureLog> iter2 = project.features.iterator(); iter2
-					.hasNext();) {
-				FeatureLog feature = iter2.next();
-				String fid = feature.feature + "_" + feature.version;
-				if (featureid.equals(fid)) {
-					project.add_license_errors_feature("License Error: "
-							+ text);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	void add_license_errors_feature(String text) {
-		for (Iterator<FeatureLog> iter2 = this.features.iterator(); iter2
-				.hasNext();) {
-			FeatureLog feature = iter2.next();
-			if (feature.feature.equals("license errors")) {
-				feature.lines.add(new LogLine(text, feature.lines.size() + 1));
-				return;
-			}
-		}
-		FeatureLog feature = new FeatureLog(this, "license errors", "");
-		feature.lines = new ArrayList<LogLine>();
-		feature.lines.add(new LogLine(text, feature.lines.size() + 1));
-		this.features.add(feature);
-	}
-	public void divide_into_features() {
-		features = new ArrayList<FeatureLog>();
-		FeatureLog current = new FeatureLog( this, "prefix", "");
-		features.add(current);
-		Pattern p1 = Pattern.compile("\\[echo\\] Updating ([\\w\\.]+) ([0-9\\.\\w\\-]+)");		
-		Pattern p2 = Pattern.compile("init:");
-		Pattern p3 = Pattern.compile(" Output to:");
-		int start = 0;
-		int end = 0;
-		Iterator<LogLine> iter = lines.iterator();
-		int i = 0;
-		while( iter.hasNext() ) {
-			LogLine line = iter.next();
-			Matcher m1 = p1.matcher(line.line);
-			Matcher m2 = p2.matcher(line.line);
-			Matcher m3 = p3.matcher(line.line);
-			if( m1.find() ) {
-				if( start == end ) 
-					end = i;
-				current.lines = lines.subList(start, end);
-				start = end;
-				end = start;
-				current = new FeatureLog( this, m1.group(1), m1.group(2) );
-				features.add(current);
-			}
-			if( m2.matches() || m3.matches() ) 
-				end = i;
-			i++;
-		}
-		end = i;
-		current.lines = lines.subList(start, end);
-		
-		if( current.feature == "prefix" )
-			current.feature = current.project.project;
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/Status.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/Status.java
deleted file mode 100644
index 04b33dc..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/Status.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-public class Status {
-	public enum SType {
-		Fail, Success, Information, Unknown
-	};
-
-	public enum Pack200Type {
-		All, Some, None, Unknown
-	};
-
-	public enum SigningType {
-		All, Some, None, Unknown
-	};
-
-	public static Status unknown = new Status("unable to determine status",
-			SType.Unknown);
-
-	public static Status success = new Status("Success", SType.Success, 500);
-
-	public static Status internal_error = new Status("build system error",
-			SType.Fail, 10);
-
-	public static Status fail_bad_version_number = new Status(
-			"Bad Version Number", SType.Fail, 100);
-
-	public static Status no_matching_features = new Status(
-			"No Matching Features", SType.Fail, 200);
-
-	public static Status fail_file_not_found = new Status("File Not Found",
-			SType.Fail, 300);
-
-	public static Status feature_not_in_site_xml = new Status(
-			"Site.xml Missing Feature", SType.Fail, 400);
-
-	public static Status license_error = new Status(
-			"License Error", SType.Fail, 500);
-
-	public static Status packing_corruption = new Status(
-			"Pack200 Corruption", SType.Fail, 600);
-
-	public static Status fail = new Status("Fail", SType.Fail, 1000);
-
-	public static Status information = new Status("unknown", SType.Information);
-
-	private String string;
-
-	private int badness;
-
-	private SType stype;
-
-	private Pack200Type ptype = Pack200Type.Unknown;
-
-	private SigningType ntype = SigningType.Unknown;
-
-	public Status(String s, SType t) {
-		this.string = s;
-		this.badness = 500;
-		this.stype = t;
-	}
-
-	public Status(String s, SType t, int b) {
-		this.string = s;
-		this.badness = b;
-		this.stype = t;
-	}
-
-	public boolean isFail() {
-		return this.stype == SType.Fail;
-	}
-
-	public Status moreSpecificFail(Status other) {
-		if (this.isFail() && other.isFail()) {
-			if (this.badness < other.badness)
-				return this;
-			else
-				return other;
-		}
-		if (this.isFail())
-			return this;
-		if (other.isFail())
-			return other;
-		throw new Error("badness 10,000 " + this + " " + other);
-	}
-
-	public boolean isInformation() {
-		return this.stype == SType.Information;
-	}
-
-	public boolean isSuccess() {
-		return this.stype == SType.Success;
-	}
-
-	public Status combine(Status other) {
-		// Status: Fail > Success > Unknown > Information
-		// Pack200: NN->N, AA->A, *S->S, AN->S, *U->*
-		// Signing: .ditto.
-
-		String rules = "NN->N,NA->S,NS->S,NU->N,AN->S,AA->A,AS->S,AU->A,"
-				+ "SN->S,SA->S,SS->S,SU->S,UN->N,UA->A,US->S,UU->U,";
-		Pack200Type newptype = combinePack200(other, rules);
-		SigningType newntype = combineSigning(other, rules);
-
-		Status newstatus = new Status("unknown", SType.Unknown);
-		if (this.isFail() || other.isFail())
-			newstatus = moreSpecificFail(other);
-		else if (this.isSuccess())
-			newstatus = this;
-		else if (other.isSuccess())
-			newstatus = other;
-		else if (this.isInformation())
-			newstatus = this;
-		else if (other.isInformation())
-			newstatus = other;
-		else
-			newstatus = this;
-
-		newstatus.ntype = newntype;
-		newstatus.ptype = newptype;
-		return newstatus;
-	}
-
-	public Status addPack200Status( Pack200Type p ) {
-		Status newstatus = new Status("unknown", SType.Unknown);
-		newstatus.ptype = p;
-		return this.combine(newstatus);
-	}
-	public String toString() {
-		return this.string;
-	}
-
-	private Pack200Type combinePack200(Status other, String combineRules) {
-		Pack200Type newptype = Pack200Type.Unknown;
-		String tmp = "";
-		if (this.ptype == Pack200Type.All)
-			tmp += "A";
-		if (this.ptype == Pack200Type.Some)
-			tmp += "S";
-		if (this.ptype == Pack200Type.None)
-			tmp += "N";
-		if (this.ptype == Pack200Type.Unknown)
-			tmp += "U";
-		if (other.ptype == Pack200Type.All)
-			tmp += "A";
-		if (other.ptype == Pack200Type.Some)
-			tmp += "S";
-		if (other.ptype == Pack200Type.None)
-			tmp += "N";
-		if (other.ptype == Pack200Type.Unknown)
-			tmp += "U";
-		tmp += "->";
-		int tmp2 = combineRules.indexOf(tmp);
-		String tmp3 = combineRules.substring(tmp2 + 4, tmp2 + 5);
-		if (tmp3.equals("A"))
-			newptype = Pack200Type.All;
-		if (tmp3.equals("N"))
-			newptype = Pack200Type.None;
-		if (tmp3.equals("S"))
-			newptype = Pack200Type.Some;
-		if (tmp3.equals("U"))
-			newptype = Pack200Type.Unknown;
-		return newptype;
-	}
-
-	private SigningType combineSigning(Status other, String combineRules) {
-		SigningType newptype = SigningType.Unknown;
-		String tmp = "";
-		if (this.ntype == SigningType.All)
-			tmp += "A";
-		if (this.ntype == SigningType.Some)
-			tmp += "S";
-		if (this.ntype == SigningType.None)
-			tmp += "N";
-		if (this.ntype == SigningType.Unknown)
-			tmp += "U";
-		if (other.ntype == SigningType.All)
-			tmp += "A";
-		if (other.ntype == SigningType.Some)
-			tmp += "S";
-		if (other.ntype == SigningType.None)
-			tmp += "N";
-		tmp += "U";
-		tmp += "->";
-		int tmp2 = combineRules.indexOf(tmp);
-		String tmp3 = combineRules.substring(tmp2 + 4, tmp2 + 5);
-		if (tmp3.equals("A"))
-			newptype = SigningType.All;
-		if (tmp3.equals("N"))
-			newptype = SigningType.None;
-		if (tmp3.equals("S"))
-			newptype = SigningType.Some;
-		if (tmp3.equals("U"))
-			newptype = SigningType.Unknown;
-		return newptype;
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/UnderConstructionWebPages.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/UnderConstructionWebPages.java
deleted file mode 100644
index 5323a86..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/UnderConstructionWebPages.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.xml.sax.SAXException;
-
-public class UnderConstructionWebPages {
-	public static void main(String[] argv) throws IOException, SAXException {
-		System.out
-				.println("Marking Europa build status pages as under construction");
-
-		File d = new File(argv[0]);
-		File f = new File(d, "index.html");
-		Reader r = new FileReader(f);
-		int len = (int) f.length();
-		char[] buf = new char[len];
-		r.read(buf);
-		String s = new String(buf);
-		r.close();
-
-		if (!s.contains("New Build in Progress")) {
-			Date d1 = new Date();
-			String ds = DateFormat.getDateTimeInstance(DateFormat.LONG,
-					DateFormat.LONG).format(d1);
-			Pattern p = Pattern.compile("\\<h1");
-			Matcher m = p.matcher(s);
-			s = m
-					.replaceFirst("<p><em><font size=-1>New build started " + ds + "</font></em></p><h1 style=\"background-color: #FFFFDF;\">New Build in Progress - these results are from the previous build</h1><h1");
-			p = Pattern.compile("\\<head\\>");
-			m = p.matcher(s);
-			s = m.replaceFirst("<head><meta http-equiv=\"refresh\" content=\"600\">" );
-			Writer w = new FileWriter(f);
-			w.write(s);
-			w.close();
-
-			System.out.println("Marking complete.");
-		} else {
-			System.out.println("Already marked; no change");
-		}
-	}
-}
diff --git a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/WebPageGenerator.java b/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/WebPageGenerator.java
deleted file mode 100644
index 182d19e..0000000
--- a/org.eclipse.europa.tools/src/org/eclipse/europa/tools/webgen/WebPageGenerator.java
+++ /dev/null
@@ -1,320 +0,0 @@
-package org.eclipse.europa.tools.webgen;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-public class WebPageGenerator {
-	public LogFileParser parser;
-
-	public File directory;
-
-	public String generated_date;
-
-	public String build_date;
-
-	public Map<String, Map<String, Object>> featureSiteResults;
-
-	public WebPageGenerator(LogFileParser p, File dir, String bd, String sd,
-			Map<String, Map<String, Object>> results) {
-		this.parser = p;
-		this.directory = dir;
-		this.build_date = bd;
-		this.generated_date = sd;
-		this.featureSiteResults = results;
-	}
-
-	public void generate() throws IOException {
-		generate_full_log_page();
-		for (Iterator<ProjectLog> iterator = this.parser.projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			generate_project_log_page(project);
-			if (project.project.equals("update site.xml")
-					&& featureSiteResults.get("") != null
-					&& !featureSiteResults.get("").isEmpty())
-				add_extra_features_feature(project);
-			for (Iterator<FeatureLog> iter2 = project.features.iterator(); iter2
-					.hasNext();) {
-				FeatureLog feature = iter2.next();
-				Map<String, Object> projmap = featureSiteResults
-						.get(project.project);
-				Object missing = null;
-				if (projmap != null)
-					missing = projmap.get(feature.feature);
-				generate_feature_log_page(feature, missing);
-			}
-		}
-		parser.scan_for_status();
-		generate_index_page();
-	}
-
-	void add_extra_features_feature(ProjectLog project) {
-		FeatureLog feature = new FeatureLog(project, "extra features", "");
-		feature.lines = new ArrayList<LogLine>();
-		feature.lines
-				.add(new LogLine(
-						"Feature Missing: Extra features in site.xml AND not in feature-{project}.xml files.",
-						feature.lines.size() + 1));
-		for (Iterator iterator = featureSiteResults.get("").keySet().iterator(); iterator
-				.hasNext();) {
-			String id = (String) iterator.next();
-			feature.lines.add(new LogLine(
-					"Feature Missing: &nbsp;&nbsp;&nbsp;&nbsp;" + id,
-					feature.lines.size() + 1));
-		}
-		project.features.add(feature);
-	}
-
-	public void generate_full_log_page() throws IOException {
-		generate_log_page(full_log_file(), "Complete Build Log",
-				this.parser.lines);
-		for (Iterator<LogLine> iterator = this.parser.lines.iterator(); iterator
-				.hasNext();) {
-			LogLine line = iterator.next();
-			line.saveAnchor();
-		}
-	}
-
-	public void generate_project_log_page(ProjectLog project)
-			throws IOException {
-		generate_log_page(project_log_file(project), project.project
-				+ " Build Log", project.lines);
-	}
-
-	public void generate_feature_log_page(FeatureLog feature, Object missing)
-			throws IOException {
-		List<LogLine> lines = new ArrayList<LogLine>();
-		for (Iterator iterator = feature.lines.iterator(); iterator.hasNext();) {
-			LogLine line = (LogLine) iterator.next();
-			lines.add(line);
-		}
-		if (missing != null) {
-			lines
-					.add(new LogLine(
-							"Feature Missing: This feature is missing from the org.eclipse.europa.updatesite/WebContents/site.xml file",
-							lines.size() + 1));
-			lines
-					.add(new LogLine(
-							"Feature Missing: Please enter this feature in the site.xml so that it can be classified",
-							lines.size() + 1));
-			lines
-					.add(new LogLine(
-							"Feature Missing: &nbsp;&nbsp;&nbsp;&nbsp;under the correct category. When entering the feature and category in",
-							lines.size() + 1));
-			lines
-					.add(new LogLine(
-							"Feature Missing: &nbsp;&nbsp;&nbsp;&nbsp;the site.xml file, there is no need to worry about the version - it",
-							lines.size() + 1));
-			lines
-					.add(new LogLine(
-							"Feature Missing: &nbsp;&nbsp;&nbsp;&nbsp;will be updated automatically by the build system from the information",
-							lines.size() + 1));
-			lines
-					.add(new LogLine(
-							"Feature Missing: &nbsp;&nbsp;&nbsp;&nbsp;in the feature-{project}.xml file.",
-							lines.size() + 1));
-			feature.lines = lines;
-		}
-		feature.scan_for_status();
-		generate_log_page(feature_log_file(feature), feature.feature
-				+ " Build Log", feature.lines);
-	}
-
-	public static String success_color() {
-		return "#CCFFCC";
-	}
-
-	public static String fail_color() {
-		return "#FFCCCC";
-	}
-
-	public static String information_color() {
-		return "#F4E0FF";
-	}
-
-	private File index_file() throws IOException {
-		return new File(this.directory, "index.html");
-	}
-
-	private File full_log_file() throws IOException {
-		return new File(this.directory, "fulllog.html");
-	}
-
-	private File project_log_file(ProjectLog project) throws IOException {
-		return new File(this.directory, project.project + "-log.html");
-	}
-
-	private File feature_log_file(FeatureLog feature) throws IOException {
-		return new File(this.directory, feature.project.project + "-"
-				+ feature.feature + "-log.html");
-	}
-
-	private String project_url(ProjectLog project) throws IOException {
-		return "#" + project.project;
-	}
-
-	public String status_style(Status status) {
-		if (status.isFail()) {
-			return " style=\"background-color: " + fail_color() + ";\"";
-		}
-		if (status.isSuccess()) {
-			return " style=\"background-color: " + success_color() + ";\"";
-		}
-		return "";
-	}
-
-	public void write_header(PrintWriter writer, String title)
-			throws IOException {
-		writer.println("<html>");
-		writer.println("<head>");
-		writer.println("<title>" + title + "</title>");
-		writer
-				.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css\" media=\"screen\" />");
-		writer.println("</head><body>");
-		writer
-				.println("<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
-		writer
-				.println("<tr style=\"background-image: url(http://dash.eclipse.org/dash/commits/web-app/header_bg.gif);\">");
-		writer.println("<td>");
-		writer
-				.println("<a href=\"http://www.eclipse.org/\"><img src=\"http://dash.eclipse.org/dash/commits/web-app/header_logo.gif\" width=\"163\" height=\"68\" border=\"0\" alt=\"Eclipse Logo\" class=\"logo\" /></a>");
-		writer.println("</td>");
-		writer
-				.println("<td align=\"right\" style=\"color: white; font-family: verdana,arial,helvetica; font-size: 1.25em; font-style: italic;\"><b>"
-						+ title + "&nbsp;</b></font> </td>");
-		writer.println("</tr>");
-		writer.println("</table>");
-		writer.println("<p><em><font size=-1>Build started " + this.build_date
-				+ "; completed " + this.generated_date + "</font></em></p>");
-	}
-
-	public void write_footer(PrintWriter writer) throws IOException {
-		writer.println("<p><em><font size=-1>Build started " + this.build_date
-				+ "; completed " + this.generated_date + "</font></em></p>");
-		writer.println("</body>");
-		writer.println("</html>");
-	}
-
-	public void generate_index_page() throws IOException {
-		File f = index_file();
-		if (!f.exists())
-			f.createNewFile();
-		PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(
-				f)));
-		write_header(writer, "Europa Build Status");
-
-		generate_main_table(writer);
-		for (Iterator<ProjectLog> iterator = this.parser.projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			generate_project_table(project, writer);
-		}
-		write_footer(writer);
-		writer.close();
-	}
-
-	public void generate_main_table(PrintWriter writer) throws IOException {
-		writer.println("<h1" + status_style(this.parser.status)
-				+ ">Overall Status: " + this.parser.status + "</h1>");
-		writer
-				.println("<table align=center border=1><tr><th colspan=2>Projects</th></tr>");
-		for (Iterator<ProjectLog> iterator = this.parser.projects.iterator(); iterator
-				.hasNext();) {
-			ProjectLog project = iterator.next();
-			writer.println("<tr " + status_style(project.status)
-					+ "><td><a href=\"" + project_url(project) + "\">"
-					+ project.project + "</a></td><td><a href=\""
-					+ full_log_file().getName()
-					+ anchor_if_any(project.lines, 2) + "\">" + project.status
-					+ "</a></td></tr>");
-		}
-		writer.println("<tr><td align=center colspan=2><a href=\""
-				+ full_log_file().getName()
-				+ "\">Complete build log</a></td></tr>");
-		writer
-				.println("<tr><td align=center colspan=2><a href=\"http://download.eclipse.org/releases/europa/staging/site.xml\">Staging update site</a></td></tr>");
-		writer
-				.println("<tr><td align=center colspan=2><a href=\"http://wiki.eclipse.org/index.php/Europa_Simultaneous_Release#Europa_Builds\">Europa wiki page</a></td></tr>");
-		writer
-				.println("<tr><td align=center colspan=2><a href=\"http://www.eclipse.org/epp/download.php\">Packaging Project Downloads</a></td></tr>");
-		writer.println("</table>");
-	}
-
-	public void generate_project_table(ProjectLog project, PrintWriter writer)
-			throws IOException {
-		writer.println("<a name=\"" + project.project + "\"><h2"
-				+ status_style(project.status) + ">" + project.project
-				+ " Status: " + project.status + "</h2></a>");
-
-		writer
-				.println("<table align=center border=1><tr><th colspan=2>Features</th></tr>");
-		for (Iterator<FeatureLog> iterator = project.features.iterator(); iterator
-				.hasNext();) {
-			FeatureLog feature = iterator.next();
-			writer.println("<tr " + status_style(feature.status)
-					+ "><td><a href=\"" + feature_log_file(feature).getName()
-					+ "\">" + feature.feature + " " + feature.version
-					+ "</a></td><td><a href=\""
-					+ feature_log_file(feature).getName()
-					+ anchor_if_any(feature.lines, 1) + "\">" + feature.status
-					+ "</a></td></tr>");
-		}
-		writer.println("<tr><td align=center colspan=2><a href=\""
-				+ project_log_file(project).getName() + "\">" + project.project
-				+ " build log</a></td></tr>");
-		writer.println("</table>");
-	}
-
-	public void generate_log_page(File f, String header, List<LogLine> lines)
-			throws IOException {
-		if (!f.exists())
-			f.createNewFile();
-		List<LogLine> anchors = new ArrayList<LogLine>();
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			if (line.status.isFail()) {
-				line.addAnchor();
-				anchors.add(line);
-			}
-		}
-		PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(
-				f)));
-		write_header(writer, "Europa Build Log");
-		writer.println("<h1>" + header + "</h1>");
-		if (!anchors.isEmpty()) {
-			writer.println("<p>Errors: ");
-			for (Iterator<LogLine> iterator = anchors.iterator(); iterator
-					.hasNext();) {
-				LogLine line = iterator.next();
-				writer.println("<a href=\"#" + line.anchor
-						+ "\"><span style=\"background-color: " + fail_color()
-						+ "\">" + line.linenumber + "</span></a> ");
-			}
-			writer.println("</p>");
-		}
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			line.write_log_line(writer);
-			writer.println("<br>");
-		}
-		write_footer(writer);
-		writer.close();
-	}
-
-	public String anchor_if_any(List<LogLine> lines, int anchor_number) {
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			String anchor = anchor_number == 1 ? line.anchor : line.anchor2;
-			if (line.status.isFail() && anchor != null)
-				return "#" + anchor;
-		}
-		return "";
-	}
-}
diff --git a/org.eclipse.europa.tools/updateOnlyNew.sh b/org.eclipse.europa.tools/updateOnlyNew.sh
deleted file mode 100644
index 18b6daf..0000000
--- a/org.eclipse.europa.tools/updateOnlyNew.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-
-if [ "$1" != "-doit" ] ; then
-   echo "    This is a dry run. Add -doit to actually remove"
-   doit="--dry-run"
-else
-   doit=""
-fi
-
-rsync $doit  --ignore-existing -rv ~/downloads/releases/europa/staging/plugins ~/downloads/releases/europa
-
-rsync $doit  --ignore-existing -rv ~/downloads/releases/europa/staging/features ~/downloads/releases/europa
-
-if [ "$doit" = "--dry-run" ] ; then
-   echo "    This was a dry run. Add -doit to actually remove"
-fi
-
diff --git a/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc b/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc
deleted file mode 100644
index da82387..0000000
--- a/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jardesc>
-    <jar path="D:/builds/Workspaces/pureHeadWTP/org.eclipse.europa.tools/build-home/siteFileUpdater.jar"/>
-    <options overwrite="true" compress="false" exportErrors="false" exportWarnings="true" saveDescription="true" descriptionLocation="/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFile.jardesc" useSourceFolders="false" buildIfNeeded="true" includeDirectoryEntries="false" storeRefactorings="false"/>
-    <refactoring structuralOnly="true" deprecationInfo="true"/>
-    <selectedProjects>
-        <project name="org.eclipse.europa.tools"/>
-    </selectedProjects>
-    <manifest manifestVersion="1.0" usesManifest="true" reuseManifest="false" saveManifest="true" generateManifest="false" manifestLocation="/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf" mainClassHandleIdentifier="=org.eclipse.europa.tools/src&lt;org.eclipse.europa.tools{SiteFileUpdater.java[SiteFileUpdater">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportOutputFolder="false" exportJavaFiles="false">
-        <folder path="/org.eclipse.europa.tools/META-INF"/>
-        <javaElement handleIdentifier="=org.eclipse.europa.tools/src"/>
-    </selectedElements>
-</jardesc>
diff --git a/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf b/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf
deleted file mode 100644
index 1a4e5b2..0000000
--- a/org.eclipse.europa.tools/updateSiteXmlFiles/updateSiteXmlFiles.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.europa.tools.SiteFileUpdater
-
diff --git a/org.eclipse.europa.updatesite/.classpath b/org.eclipse.europa.updatesite/.classpath
deleted file mode 100644
index d1e18f8..0000000
--- a/org.eclipse.europa.updatesite/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="build/classes"/>
-</classpath>
diff --git a/org.eclipse.europa.updatesite/.cvsignore b/org.eclipse.europa.updatesite/.cvsignore
deleted file mode 100644
index bfac94c..0000000
--- a/org.eclipse.europa.updatesite/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-.deployables
-bin
-.fbprefs
diff --git a/org.eclipse.europa.updatesite/.project b/org.eclipse.europa.updatesite/.project
deleted file mode 100644
index 5cfec7e..0000000
--- a/org.eclipse.europa.updatesite/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.europa.updatesite</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.europa.updatesite/.settings/.component b/org.eclipse.europa.updatesite/.settings/.component
deleted file mode 100644
index 7a0d53d..0000000
--- a/org.eclipse.europa.updatesite/.settings/.component
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId">
-<wb-module deploy-name="org.eclipse.europa.updatesite">
-<wb-resource deploy-path="/" source-path="/WebContent"/>
-<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
-<property name="context-root" value="org.eclipse.europa.updatesite"/>
-<property name="java-output-path" value="build/classes"/>
-</wb-module>
-</project-modules>
diff --git a/org.eclipse.europa.updatesite/.settings/org.eclipse.jst.common.project.facet.core.prefs b/org.eclipse.europa.updatesite/.settings/org.eclipse.jst.common.project.facet.core.prefs
deleted file mode 100644
index b4c5a7e..0000000
--- a/org.eclipse.europa.updatesite/.settings/org.eclipse.jst.common.project.facet.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Apr 09 02:32:02 EDT 2006
-classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:ibm-sdk-n142p-win32-x86/owners=jst.java\:1.4
-eclipse.preferences.version=1
diff --git a/org.eclipse.europa.updatesite/.settings/org.eclipse.wst.common.project.facet.core.xml b/org.eclipse.europa.updatesite/.settings/org.eclipse.wst.common.project.facet.core.xml
deleted file mode 100644
index 2ce0c89..0000000
--- a/org.eclipse.europa.updatesite/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-  <installed facet="jst.web" version="2.4"/>
-  <installed facet="jst.java" version="1.4"/>
-</faceted-project>
diff --git a/org.eclipse.europa.updatesite/WebContent/.cvsignore b/org.eclipse.europa.updatesite/WebContent/.cvsignore
deleted file mode 100644
index 3a4edf6..0000000
--- a/org.eclipse.europa.updatesite/WebContent/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-.project
diff --git a/org.eclipse.europa.updatesite/WebContent/Europa-moon.gif b/org.eclipse.europa.updatesite/WebContent/Europa-moon.gif
deleted file mode 100644
index a47515f..0000000
--- a/org.eclipse.europa.updatesite/WebContent/Europa-moon.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.updatesite/WebContent/META-INF/MANIFEST.MF b/org.eclipse.europa.updatesite/WebContent/META-INF/MANIFEST.MF
deleted file mode 100644
index 254272e..0000000
--- a/org.eclipse.europa.updatesite/WebContent/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-
diff --git a/org.eclipse.europa.updatesite/WebContent/WEB-INF/web.xml b/org.eclipse.europa.updatesite/WebContent/WEB-INF/web.xml
deleted file mode 100644
index e06bde9..0000000
--- a/org.eclipse.europa.updatesite/WebContent/WEB-INF/web.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app
-	id="WebApp_ID"
-	version="2.4"
-	xmlns="http://java.sun.com/xml/ns/j2ee"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
-	<display-name>org.eclipse.jst.webupdatesite</display-name>
-	<welcome-file-list>
-		<welcome-file>index.html</welcome-file>
-		<welcome-file>default.htm</welcome-file>
-		<welcome-file>index.jsp</welcome-file>
-		<welcome-file>index.htm</welcome-file>
-		<welcome-file>default.html</welcome-file>
-		<welcome-file>default.jsp</welcome-file>
-	</welcome-file-list>
-</web-app>
diff --git a/org.eclipse.europa.updatesite/WebContent/dummyfile.jpg b/org.eclipse.europa.updatesite/WebContent/dummyfile.jpg
deleted file mode 100644
index a47515f..0000000
--- a/org.eclipse.europa.updatesite/WebContent/dummyfile.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.europa.updatesite/WebContent/index.html b/org.eclipse.europa.updatesite/WebContent/index.html
deleted file mode 100644
index b31ac1d..0000000
--- a/org.eclipse.europa.updatesite/WebContent/index.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Europa Discovery Site</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<style type="">@import url("web/site.css");</style>
-</head>
-<body>
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
-<tr style="background-image: url(http://bugs.eclipse.org/bugs/header_bg.gif);">
-<td>
-<a href="http://www.eclipse.org/"><img src="http://bugs.eclipse.org/bugs/header_logo.gif" width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</td>
-<td align="right" style="color: white; font-family: verdana,arial,helvetica; font-size: 1.25em; font-style: italic;"><b>Europa&nbsp;</b></td>
-</tr>
-</table>
-
-<div style="float: right"><map name="moonmap">
-    <area shape="circle" coords="105,105,90"
-        href="http://en.wikipedia.org/wiki/Europa_%28moon%29" />
-</map>
-<p><img src="Europa-moon.gif" alt="The Europa Moon"
-    border="0" title="The Europa Moon" usemap="#moonmap" /></p>
-
-</div>
-
-<h1 class="title">Europa Discovery Site</h1>
-
-<h2>Just getting started?</h2>
-<p><b>See <a href="http://www.eclipse.org/europa/">http://www.eclipse.org/europa/</a>
-</b></p>
-
-
-<p>For most distributions of Eclipse, there should already be a
-"Europa Discovery Site" defined in the Update Manager. Otherwise you
-can add the following URL as a remote update site
-in the update manager.</p>
-<p>&nbsp;&nbsp;&nbsp;<code>http://download.eclipse.org/releases/europa/</code></p>
-
-<p>See <a
-    href="http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-34.htm">Eclipse
-Help</a> for general information about using Update Manager.</p>
-
-
-<hr />
-
-<h2>Links for Eclipse Projects Contributing to Europa</h2>
-<ul>
-<li><a href="http://dash.eclipse.org/~bfreeman/europa/">Europa Build Log</a></li>
-<li>Minimum starting platform: <a
-    href="http://download.eclipse.org/eclipse/downloads/drops/R-3.3-200706251500/index.php">Platform
-Runtime Binary 3.3</a></li>
-
-<li><a href="http://www.eclipse.org/projects/europa.php">Europa Simultaneous Release - Static Web Page</a></li>
-<li><a href="http://wiki.eclipse.org/index.php/Europa">Europa Simultaneous Release - Wiki Page</a></li>
-
-<li><a
-    href="http://www.eclipse.org/downloads/download.php?file=/releases/europa/site.xml&amp;format=html&amp;protocol=http">Europa
-Mirror sites</a></li>
-
-</ul>
-
-</body>
-</html>
-
-
diff --git a/org.eclipse.europa.updatesite/WebContent/site.dtd b/org.eclipse.europa.updatesite/WebContent/site.dtd
deleted file mode 100644
index a036bc7..0000000
--- a/org.eclipse.europa.updatesite/WebContent/site.dtd
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml encoding="UTF-8"?>
-<!-- Note: this is a slight improved version that what appears in 
-	"the spec" for site dtd .
-	Current Doc: 
-	http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/update_sitemap.html
-	See bug: 
-	https://bugs.eclipse.org/bugs/show_bug.cgi?id=129451
-	
-	
-	
-	<!DOCTYPE site PUBLIC "-//Eclipse.org//DTD Eclipse Update 3.2.001//EN" "http://www.eclipse.org/update/core/site.dtd">
-	
-	
--->
-<!ELEMENT site (description?, category-def*, feature+, archive*)> 
-<!ATTLIST site 
-    type          CDATA #IMPLIED 
-    url           CDATA #IMPLIED 
-    mirrorsURL    CDATA #IMPLIED 
-    digestURL    CDATA #IMPLIED 
-    pack200   (false | true) "false"
->
-
-<!ELEMENT description (#PCDATA)> 
-<!ATTLIST description 
-    url           CDATA #IMPLIED 
->
-
-<!ELEMENT feature (category*)> 
-<!ATTLIST feature 
-    type          CDATA #IMPLIED 
-    id            CDATA #IMPLIED 
-    version       CDATA #IMPLIED 
-    url           CDATA #REQUIRED     
-    patch         (false | true) "false"
-    
-    os            CDATA #IMPLIED 
-    nl            CDATA #IMPLIED 
-    arch          CDATA #IMPLIED 
-    ws            CDATA #IMPLIED
->
-
-<!ELEMENT archive EMPTY> 
-<!ATTLIST archive 
-    path          CDATA #REQUIRED 
-    url           CDATA #REQUIRED 
->
-
-<!ELEMENT category EMPTY> 
-<!ATTLIST category 
-    name          CDATA #REQUIRED 
->
-
-<!ELEMENT category-def (description?)> 
-<!ATTLIST category-def 
-    name          CDATA #REQUIRED 
-    label         CDATA #REQUIRED 
->
-
diff --git a/org.eclipse.europa.updatesite/WebContent/site.xml b/org.eclipse.europa.updatesite/WebContent/site.xml
deleted file mode 100644
index f19893c..0000000
--- a/org.eclipse.europa.updatesite/WebContent/site.xml
+++ /dev/null
@@ -1,921 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site
-    digestURL="http://download.eclipse.org/releases/europa/staging/"
-    mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/releases/europa/staging/site.xml&amp;format=xml&amp;protocol=http"
-    pack200="true">
-
-    <description url="http://www.eclipse.org/europa/">
-        This Europa Discovery Site contains a number of Eclipse based projects 
-        released simultaneously, June 2007.
-    </description>
-
-    <category-def
-        label="C and C++ Developement"
-        name="C and C++ Developement">
-        <description>Integrated Developement for C and C++ programs.</description>
-    </category-def>
-    <category-def
-        label="Charting and Reporting"
-        name="Charting and Reporting">
-        <description>Business Intelligence and Reporting Tools</description>
-    </category-def>
-    <category-def
-        label="Collaboration Tools"
-        name="Collaboration Tools">
-        <description>
-            Collaboration and integration tools for the Eclipse environment.
-        </description>
-    </category-def>
-    <category-def
-        label="Communications"
-        name="Communications">
-        <description>
-            Real-time communications for Eclipse.  To use applications (e.g. IM, real-time collab, etc.), both the Core API and Application features are required.
-        </description>
-    </category-def>
-    <category-def
-        label="Database Development"
-        name="Database Development">
-        <description>Tools to allow integration with and easy use of Databases.</description>
-    </category-def>
-    <category-def
-        label="Graphical Editors and Frameworks"
-        name="Graphical Editors and Frameworks">
-        <description>A framework to create graphical editors.</description>
-    </category-def>
-    <category-def
-        label="Java Development"
-        name="Java Development">
-        <description>
-            Integrated development tools for Java Development, including plugin developement with Java, and J2EE applications.
-        </description>
-    </category-def>
-    <category-def
-        label="Models and Model Development"
-        name="Models and Model Development">
-        <description>
-            Model creation and manipulation frameworks (e.g. EMF, GMF) and specific models (SDO, JEM, XSD Infoset).
-        </description>
-    </category-def>
-    <category-def
-        label="Remote Access and Device Development"
-        name="Remote Access and Device Development">
-        <description>Tools and Frameworks for accessing and managing remote computers or embedded devices</description>
-    </category-def>
-    <category-def
-        label="SOA Development"
-        name="SOA Development">
-        <description>A platform and tools for developing
-        Service-Oriented Component-based  Applications.</description>
-    </category-def>
-    <category-def
-        label="Testing and Performance"
-        name="Testing and Performance">
-        <description>Tools and Frameworks to improve performance and automatic testing.</description>
-    </category-def>
-    <category-def
-        label="Web and JEE Development"
-        name="Web and JEE Development">
-        <description>A platform and tools for developing XML, WebServices, and JEE Applications.</description>
-    </category-def>
-    <category-def
-        label="Programming Languages"
-        name="Programming Languages">
-        <description>
-            Tools and Frameworks supporting programming languages for the Eclipse environment.
-        </description>
-    </category-def>
-    <category-def
-        label="Other Tools"
-        name="Other Tools">
-        <description>
-            Other tools for the Eclipse environment.
-        </description>
-    </category-def>
-    <category-def
-        label="Enabling Features"
-        name="Enabling Features">
-        <description>
-            These features provide functionality required by one or more projects, but do not provide end-user functionality by
-            themselves.
-        </description>
-    </category-def>
-
-    <feature
-        id="org.eclipse.eclipsemonkey"
-        patch="false"
-        url="features/org.eclipse.eclipsemonkey_0.1.9.jar"
-        version="0.1.9">
-        <category name="Other Tools" />
-    </feature>
-    <feature
-        id="org.apache.batik"
-        patch="false"
-        url="features/org.apache.batik_1.6.0.v20060613-1220-0842282835-3442.jar"
-        version="1.6.0.v20060613-1220-0842282835-3442">
-        <category name="Enabling Features" />
-    </feature>
-
-
-
-    <feature
-        id="org.eclipse.platform"
-        patch="false"
-        url="features/org.eclipse.platform_3.3.0.v20061208-Fj22sCYGm0XDWm3.jar"
-        version="3.3.0.v20061208-Fj22sCYGm0XDWm3">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.cvs"
-        patch="false"
-        url="features/org.eclipse.cvs_1.0.0.jar"
-        version="1.0.0">
-        <category name="Collaboration Tools" />
-    </feature>
-
-
-    <feature
-        id="org.eclipse.equinox"
-        patch="false"
-        url="features/org.eclipse.equinox_3.3.0.v20061016---Kzf2EvSggbI7A.jar"
-        version="3.3.0.v20061016---Kzf2EvSggbI7A">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.birt"
-        patch="false"
-        url="features/org.eclipse.birt_2.1.0.N20060628-1351.jar"
-        version="2.1.0.N20060628-1351">
-        <category name="Charting and Reporting" />
-    </feature>
-    <feature
-        id="org.eclipse.birt.doc"
-        patch="false"
-        url="features/org.eclipse.birt.doc_2.2.0.v20070209-11--w31181731.jar"
-        version="2.2.0.v20070209-11--w31181731">
-        <category name="Charting and Reporting" />
-    </feature>
-    
-    <feature
-        id="org.apache.derby.core"
-        url="features/org.apache.derby.core_10.1.2.1.jar"
-        version="10.1.2.1">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="com.lowagie.itext"
-        url="features/com.lowagie.itext_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.apache.commons.codec"
-        url="features/org.apache.commons.codec_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.mozilla.rhino"
-        url="features/org.mozilla.rhino_1.6.0.N20060628-1351.jar"
-        version="1.6.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.w3c.sac"
-        url="features/org.w3c.sac_1.3.0.N20060628-1351.jar"
-        version="1.3.0.N20060628-1351">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.cdt"
-        patch="false"
-        url="features/org.eclipse.cdt_4.0.1.200709241202.jar"
-        version="4.0.1.200709241202">
-        <category name="C and C++ Developement" />
-    </feature>
-    <feature
-        id="org.eclipse.jdt"
-        patch="false"
-        url="features/org.eclipse.jdt_3.3.0.v20061213-1300b-KeyqHt5t5-Z9PT8.jar"
-        version="3.3.0.v20061213-1300b-KeyqHt5t5-Z9PT8">
-        <category name="Java Development" />
-    </feature>
-    <feature
-        id="org.eclipse.pde"
-        patch="false"
-        url="features/org.eclipse.pde_3.3.0.v20061114-0800-87cMN7UcTc-JRPJ.jar"
-        version="3.3.0.v20061114-0800-87cMN7UcTc-JRPJ">
-        <category name="Java Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.emf"
-        patch="false"
-        url="features/org.eclipse.emf_2.3.0.v200702121527.jar"
-        version="2.3.0.v200702121527">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.sdk"
-        patch="false"
-        url="features/org.eclipse.emf.sdk_2.3.0.v200702121527.jar"
-        version="2.3.0.v200702121527">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ecore.sdo"
-        patch="false"
-        url="features/org.eclipse.emf.ecore.sdo_2.3.0.v200702121527.jar"
-        version="2.3.0.v200702121527">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ecore.sdo.sdk"
-        patch="false"
-        url="features/org.eclipse.emf.ecore.sdo.sdk_2.3.0.v200702121527.jar"
-        version="2.3.0.v200702121527">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.xsd"
-        patch="false"
-        url="features/org.eclipse.xsd_2.3.0.v200702121527.jar"
-        version="2.3.0.v200702121527">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.xsd.sdk"
-        patch="false"
-        url="features/org.eclipse.xsd.sdk_2.3.0.v200702121527.jar"
-        version="2.3.0.v200702121527">
-        <category name="Models and Model Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.emf.common"
-        patch="false"
-        url="features/org.eclipse.emf.common_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.common.ui"
-        patch="false"
-        url="features/org.eclipse.emf.common.ui_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ecore"
-        patch="false"
-        url="features/org.eclipse.emf.ecore_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ecore.edit"
-        patch="false"
-        url="features/org.eclipse.emf.ecore.edit_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.edit"
-        patch="false"
-        url="features/org.eclipse.emf.edit_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.edit.ui"
-        patch="false"
-        url="features/org.eclipse.emf.edit.ui_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.xsd.edit"
-        patch="false"
-        url="features/org.eclipse.xsd.edit_2.3.0.v200705300200.jar"
-        version="2.3.0.v200705300200">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.eclipse.emf.emfqtv.all"
-        patch="false"
-        url="features/org.eclipse.emf.emfqtv.all_1.1.0.v200702141723.jar"
-        version="1.1.0.v200702141723">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.emfqtv.all.sdk"
-        patch="false"
-        url="features/org.eclipse.emf.emfqtv.all.sdk_1.1.0.v200702141723.jar"
-        version="1.1.0.v200702141723">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.query"
-        patch="false"
-        url="features/org.eclipse.emf.query_1.1.0.v200706071712-10-7w311817182823.jar"
-        version="1.1.0.v200706071712-10-7w311817182823">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.query.ocl"
-        patch="false"
-        url="features/org.eclipse.emf.query.ocl_1.1.0.v200706071712-10-7w311817182823.jar"
-        version="1.1.0.v200706071712-10-7w311817182823">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.validation"
-        patch="false"
-        url="features/org.eclipse.emf.validation_1.1.0.v200706071520-318Y9oA55P5M5P8JA5.jar"
-        version="1.1.0.v200706071520-318Y9oA55P5M5P8JA5">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.validation.ocl"
-        patch="false"
-        url="features/org.eclipse.emf.validation.ocl_1.1.0.v200706071520-10-7w311817182631.jar"
-        version="1.1.0.v200706071520-10-7w311817182631">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.transaction"
-        patch="false"
-        url="features/org.eclipse.emf.transaction_1.1.0.v200706071723-208Y8s733G3E4C5B96.jar"
-        version="1.1.0.v200706071723-208Y8s733G3E4C5B96">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.workspace"
-        patch="false"
-        url="features/org.eclipse.emf.workspace_1.1.0.v200706071723-208Y8s733G3E4C5B96.jar"
-        version="1.1.0.v200706071723-208Y8s733G3E4C5B96">
-        <category name="Enabling Features" />
-    </feature>
-    
-    <feature
-        id="org.eclipse.jet"
-        patch="false"
-        url="features/org.eclipse.jet_0.8.0.v20070425------2PD88S8LBO.jar"
-        version="0.8.0.v20070425------2PD88S8LBO">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.jet.sdk"
-        patch="false"
-        url="features/org.eclipse.jet.sdk_0.8.0.v20070425-84229D-eRJyJmWq.jar"
-        version="0.8.0.v20070425-84229D-eRJyJmWq">
-        <category name="Models and Model Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.gmf.europa"
-        patch="false"
-        url="features/org.eclipse.gmf.europa_1.0.0.v20070103-0300-kD331t1FbW6u_32.jar"
-        version="1.0.0.v20070103-0300-kD331t1FbW6u_32">
-        <category name="Models and Model Development" />
-    </feature>
-
-	<feature
-        id="org.eclipse.eodm"
-        patch="false"
-        url="features/org.eclipse.eodm_0.9.0.v200707052236.jar"
-        version="0.9.0.v200707052236">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.eodm.sdk"
-        patch="false"
-        url="features/org.eclipse.eodm.sdk_0.9.0.v200707052236.jar"
-        version="0.9.0.v200707052236">
-        <category name="Models and Model Development" />
-    </feature>
-	<feature
-	    id="org.eclipse.ocl.all"
-	    patch="false"
-	    url="features/org.eclipse.ocl.all_1.1.0.v200702141355.jar"
-	    version="1.1.0.v200702141355">
-		<category name="Models and Model Development"/>
-	</feature>
-	<feature
-	    id="org.eclipse.ocl.all.sdk"
-	    patch="false"
-	    url="features/org.eclipse.ocl.all.sdk_1.1.0.v200702141355.jar"
-	    version="1.1.0.v200702141355">
-		<category name="Models and Model Development"/>
-	</feature>
-    <feature
-        id="org.eclipse.ocl"
-        patch="false"
-        url="features/org.eclipse.ocl_1.1.0.v200706071450-32-9oA55P5M5O8LH_.jar"
-        version="1.1.0.v200706071450-32-9oA55P5M5O8LH_">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.ocl.uml"
-        patch="false"
-        url="features/org.eclipse.ocl.uml_1.1.0.v200706071450-10-7w311817182561.jar"
-        version="1.1.0.v200706071450-10-7w311817182561">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.emf.ocl"
-        patch="false"
-        url="features/org.eclipse.emf.ocl_1.1.0.v200706071450-10-7w311817182561.jar"
-        version="1.1.0.v200706071450-10-7w311817182561">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.uml2"
-        patch="false"
-        url="features/org.eclipse.uml2_2.1.0.v200701040816.jar"
-        version="2.1.0.v200701040816">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.uml2.sdk"
-        patch="false"
-        url="features/org.eclipse.uml2.sdk_2.1.0.v200701040816.jar"
-        version="2.1.0.v200701040816">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.uml2tools"
-        patch="false"
-        url="features/org.eclipse.uml2tools_0.7.0.v200707030850.jar"
-        version="0.7.0.v200707030850">
-        <category name="Models and Model Development" />
-    </feature>
-    <feature
-        id="org.eclipse.uml2tools.sdk"
-        patch="false"
-        url="features/org.eclipse.uml2tools.sdk_0.7.0.v200707030850.jar"
-        version="0.7.0.v200707030850">
-        <category name="Models and Model Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.tptp.birt"
-        patch="false"
-        url="features/org.eclipse.tptp.birt_4.3.0.v200610310100--J3FdfCeFfCe5dd.jar"
-        version="4.3.0.v200610310100--J3FdfCeFfCe5dd">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.wtp"
-        patch="false"
-        url="features/org.eclipse.tptp.wtp_4.4.0.v200702181551--4hNDDlDRGkGUOO.jar"
-        version="4.4.0.v200702181551--4hNDDlDRGkGUOO">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.monitoring.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.monitoring.runtime_4.4.0.v200702160100--aZEOQzPEWrR0Uf.jar"
-        version="4.4.0.v200702160100--aZEOQzPEWrR0Uf">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.platform.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.platform.runtime_4.4.0.v200702160100-H9Sey8S45KN2_59.jar"
-        version="4.4.0.v200702160100-H9Sey8S45KN2_59">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.test.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.test.runtime_4.3.0.v200610310100--Hp5ghyh5ixgwgg.jar"
-        version="4.3.0.v200610310100--Hp5ghyh5ixgwgg">
-        <category name="Testing and Performance" />
-    </feature>
-    <feature
-        id="org.eclipse.tptp.trace.runtime"
-        patch="false"
-        url="features/org.eclipse.tptp.trace.runtime_4.3.0.v200702030100--6ZHBBcBHCZCFCB.jar"
-        version="4.3.0.v200702030100--6ZHBBcBHCZCFCB">
-        <category name="Testing and Performance" />
-    </feature>
-
-    <feature
-        id="org.eclipse.wst.xml_ui.feature"
-        url="features/org.eclipse.wst.xml_ui.feature_1.0.0.v200704250000-2--84B22MbYFN02FmRkMEESZRDDz.jar"
-        version="1.0.0.v200704250000-2--84B22MbYFN02FmRkMEESZRDDz">
-        <category name="Web and JEE Development" />
-    </feature>
-    <feature
-        id="org.eclipse.wst"
-        patch="false"
-        url="features/org.eclipse.wst_1.5.0.v200606092300-U4T922yjOWsGK5Y.jar"
-        version="1.5.0.v200606092300-U4T922yjOWsGK5Y">
-        <category name="Web and JEE Development" />
-    </feature>
-    <feature
-        id="org.eclipse.jst"
-        patch="false"
-        url="features/org.eclipse.jst_1.5.0.v200606092300-kW-O_ysCRLJsxJt.jar"
-        version="1.5.0.v200606092300-kW-O_ysCRLJsxJt">
-        <category name="Web and JEE Development" />
-        <category name="Java Development" />
-    </feature>
-    <feature
-        id="org.eclipse.jpt.feature"
-        patch="false"
-        url="features/org.eclipse.jpt.feature_1.5.0.v200606092300-kW-O_ysCRLJsxJt.jar"
-        version="1.5.0.v200606092300-kW-O_ysCRLJsxJt">
-        <category name="Web and JEE Development" />
-        <category name="Java Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.wst.common_ui.feature"
-        url="features/org.eclipse.wst.common_ui.feature_1.0.0.v200704250000-2--84B22MbYFN02FmRkMEESZRDDz.jar"
-        version="1.0.0.v200704250000-2--84B22MbYFN02FmRkMEESZRDDz">
-        <category name="Enabling Features" />
-    </feature>        
-    
-    
-    <feature
-        id="org.eclipse.gef"
-        patch="false"
-        url="features/org.eclipse.gef_3.2.0.v20060626.jar"
-        version="3.2.0.v20060626">
-        <category name="Graphical Editors and Frameworks" />
-    </feature>
-    
-    <feature
-        id="org.eclipse.gef.sdk"
-        patch="false"
-        url="features/org.eclipse.gef.sdk_3.2.0.v20060626.jar"
-        version="3.2.0.v20060626">
-        <category name="Graphical Editors and Frameworks" />
-    </feature>
-    
-    <feature
-        id="org.eclipse.datatools.connectivity.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.connectivity.oda.designer.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.oda.designer.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.connectivity.oda.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.connectivity.oda.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.doc.user"
-        patch="false"
-        url="features/org.eclipse.datatools.doc.user_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.apache.derby.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.apache.derby.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.hsqldb.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.hsqldb.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.ibm.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.ibm.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.jdbc.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.jdbc.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.jdt.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.jdt.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.msft.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.msft.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.mysql.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.mysql.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.oda.designer.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.oda.designer.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.oda.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.oda.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.oracle.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.oracle.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.postgresql.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.postgresql.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.enablement.sybase.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.enablement.sybase.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.intro"
-        patch="false"
-        url="features/org.eclipse.datatools.intro_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.modelbase.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.modelbase.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sdk.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sdk.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.data.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.data.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.ddl.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.ddl.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Database Development" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.parsers.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.parsers.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    <feature
-        id="org.eclipse.datatools.sqldevtools.results.feature"
-        patch="false"
-        url="features/org.eclipse.datatools.sqldevtools.results.feature_1.5.1.200708211.jar"
-        version="1.5.1.200708211">
-        <category name="Enabling Features" />
-    </feature>
-    
-    <feature
-        id="org.eclipse.rse"
-        patch="false"
-        url="features/org.eclipse.rse_1.0.2.v20061220-XF__Y8_TO3xg3xu.jar"
-        version="1.0.2.v20061220-XF__Y8_TO3xg3xu">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.rse.sdk"
-        patch="false"
-        url="features/org.eclipse.rse.sdk_1.0.2.v20061220-5AFG5oVMW6a5DIW.jar"
-        version="1.0.2.v20061220-5AFG5oVMW6a5DIW">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.rse.remotecdt"
-        patch="false"
-        url="features/org.eclipse.rse.remotecdt_1.0.1.v20061215a-----1G955G797Eo.jar"
-        version="1.0.1.v20061215a-----1G955G797Eo">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.tm.terminal.sdk"
-        patch="false"
-        url="features/org.eclipse.tm.terminal.sdk_0.9.1.v20061220-YIAAYR-jZIhLPNQ.jar"
-        version="0.9.1.v20061220-YIAAYR-jZIhLPNQ">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.tm.discovery"
-        patch="false"
-        url="features/org.eclipse.tm.discovery_1.0.2.v20061220------9FhPQFYhay.jar"
-        version="1.0.2.v20061220------9FhPQFYhay">
-        <category name="Remote Access and Device Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.dd.dsf.sdk"
-        patch="false"
-        url="features/org.eclipse.dd.dsf.sdk_0.9.0.v20070615.jar"
-        version="0.9.0.v20070615">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.dd.dsf.gdb"
-        patch="false"
-        url="features/org.eclipse.dd.dsf.gdb_0.9.0.v20070615.jar"
-        version="0.9.0.v20070615">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.dd.debug.memory.renderings"
-        patch="false"
-        url="features/org.eclipse.dd.debug.memory.renderings_0.9.0.v20070615.jar"
-        version="0.9.0.v20070615">
-        <category name="Remote Access and Device Development" />
-    </feature>
-    <feature
-        id="org.eclipse.dd.ipxact"
-        patch="false"
-        url="features/org.eclipse.dd.ipxact_0.2.0.v20070615.jar"
-        version="0.2.0.v20070615">
-        <category name="Remote Access and Device Development" />
-    </feature>
-
-    <feature
-        id="org.eclipse.ecf.core"
-        patch="false"
-        url="features/org.eclipse.ecf.core_2.0.0.v20080406-1615.jar"
-        version="2.0.0.v20080406-1615">
-        <category name="Communications" />
-    </feature>
-    <feature
-        id="org.eclipse.ecf.examples"
-        patch="false"
-        url="features/org.eclipse.ecf.examples_2.0.0.v20080406-1615.jar"
-        version="2.0.0.v20080406-1615">
-        <category name="Communications" />
-    </feature>
-
-    <feature
-        id="org.eclipse.ajdt"
-        patch="false"
-        url="features/org.eclipse.ajdt_1.5.0.200706070619.jar"
-        version="1.5.0.200706070619">
-        <category name="Java Development" />
-        <category name="Programming Languages" />
-    </feature>
-    
-    <feature
-        id="org.eclipse.dltk.core"
-        patch="false"
-        url="features/org.eclipse.dltk.core_0.9.0.v20070530b-08O-E8McIJNJ4mO_.jar"
-        version="0.9.0.v20070530b-08O-E8McIJNJ4mO_">
-        <category name="Enabling Features" />
-    </feature>
-
-    <feature
-        id="org.eclipse.dltk.ruby"
-        patch="false"
-        url="features/org.eclipse.dltk.ruby_0.9.0.v20070530b-07q-BcMAAqAeSDi.jar"
-        version="0.9.0.v20070530b-07q-BcMAAqAeSDi">
-        <category name="Programming Languages" />
-    </feature>
-
-    <feature
-        id="org.eclipse.dltk.tcl"
-        patch="false"
-        url="features/org.eclipse.dltk.tcl_0.9.0.v20070530d-087-DUUEF6EscIx.jar"
-        version="0.9.0.v20070530d-087-DUUEF6EscIx">
-        <category name="Programming Languages" />
-    </feature>
-
-
-	   <feature url="features/org.eclipse.buckminster.core.feature_1.0.0.v20070212.jar" id="org.eclipse.buckminster.core.feature" version="1.0.0.v20070212">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature url="features/org.eclipse.buckminster.cvs.feature_1.0.0.v20070208.jar" id="org.eclipse.buckminster.cvs.feature" version="1.0.0.v20070208">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature url="features/org.eclipse.buckminster.maven.feature_1.0.0.v20070209.jar" id="org.eclipse.buckminster.maven.feature" version="1.0.0.v20070209">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature url="features/org.eclipse.buckminster.p4.feature_1.0.0.v20070210.jar" id="org.eclipse.buckminster.p4.feature" version="1.0.0.v20070210">
-	      <category name="Other Tools"/>
-	   </feature>
-	   <feature url="features/org.eclipse.buckminster.pde.feature_1.0.0.v20070210.jar" id="org.eclipse.buckminster.pde.feature" version="1.0.0.v20070210">
-	      <category name="Other Tools"/>
-	   </feature>
-
-        <category-def name="Mylyn" label="Mylyn"/>
-   <feature url="features/org.eclipse.mylyn_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-   <feature url="features/org.eclipse.mylyn.context_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn.context_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-   <feature url="features/org.eclipse.mylyn.ide_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn.ide_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-   <feature url="features/org.eclipse.mylyn.java_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn.java_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-   <feature url="features/org.eclipse.mylyn.pde_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn.pde_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-   <feature url="features/org.eclipse.mylyn.bugzilla_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn.bugzilla_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-   <feature url="features/org.eclipse.mylyn.trac_feature_2.0.0.v20070330-2030.jar" id="org.eclipse.mylyn.trac_feature" version="2.0.0.v20070330-2030">
-      <category name="Mylyn"/>
-   </feature>
-
-   <!-- SOA Tools -->
-   <feature url="features/org.eclipse.stp.b2j.feature_0.5.0.200705300907--79--733G3C933K3G.jar" id="org.eclipse.stp.b2j.feature" version="0.5.0.200705300907--79--733G3C933K3G">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature url="features/org.eclipse.stp.bpmn.feature_0.5.0.200705300907-3.jar" id="org.eclipse.stp.bpmn.feature" version="0.5.0.200705300907-3" >
-     <category name="SOA Development"/>
-   </feature>
-
-   <feature url="features/org.eclipse.stp.core.feature_0.5.0.200705300907--7I--E77Y7QI77g7Y.jar"  id="org.eclipse.stp.core.feature" version="0.5.0.200705300907--7I--E77Y7QI77g7Y">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature url="features/org.eclipse.stp.servicecreation_0.5.0.200705300907--7S--MAAqAeSAB0Aq.jar" id="org.eclipse.stp.servicecreation" version="0.5.0.200705300907--7S--MAAqAeSAB0Aq">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature url="features/org.eclipse.stp.sc.jaxws.feature_0.5.0.200705300907--79--733G3C933K3G.jar" id="org.eclipse.stp.sc.jaxws.feature" version="0.5.0.200705300907--79--733G3C933K3G">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature url="features/org.eclipse.stp.sc.sca.feature_0.5.0.200705300907--7D--A55P5JD55V5P.jar" id="org.eclipse.stp.sc.sca.feature" version="0.5.0.200705300907--7D--A55P5JD55V5P">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature url="features/org.eclipse.stp.soas.feature_0.5.0.200705300907--7S--MAAqAeSAB0Aq.jar" id="org.eclipse.stp.soas.feature" version="0.5.0.200705300907--7S--MAAqAeSAB0Aq">
-     <category name="SOA Development"/>
-   </feature>
-   
-   <feature url="features/org.eclipse.stp.soas.runtime.feature_0.5.0.200705300907--7S--MAAqAeSAB0Aq.jar" id="org.eclipse.stp.soas.runtime.feature" version="0.5.0.200705300907--7S--MAAqAeSAB0Aq">
-     <category name="SOA Development"/>
-   </feature>
-</site>
diff --git a/org.eclipse.europa.updatesite/WebContent/web/site.css b/org.eclipse.europa.updatesite/WebContent/web/site.css
deleted file mode 100644
index 62c6f9f..0000000
--- a/org.eclipse.europa.updatesite/WebContent/web/site.css
+++ /dev/null
@@ -1,12 +0,0 @@
-<STYLE type="text/css">
-td.spacer {padding-bottom: 10px; padding-top: 10px;}
-.title { font-family: sans-serif; color: #99AACC;}
-.bodyText { font-family: sans-serif; font-size: 9pt; color:#000000;  }
-.sub-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white;}
-.log-text {font-family: sans-serif; font-style: normal; font-weight: lighter; font-size: 8pt; color:black;}
-.big-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white; border-top:10px solid white;}
-.light-row {background:#FFFFFF}
-.dark-row {background:#EEEEFF}
-.header {background:#99AADD}
-#indent {word-wrap : break-word;width :300px;text-indent:10px;}
-</STYLE>
diff --git a/org.eclipse.europa.updatesite/WebContent/web/site.xsl b/org.eclipse.europa.updatesite/WebContent/web/site.xsl
deleted file mode 100644
index 9dd9c3c..0000000
--- a/org.eclipse.europa.updatesite/WebContent/web/site.xsl
+++ /dev/null
@@ -1,495 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet
-	version='1.0'
-	xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
-	xmlns:msxsl="urn:schemas-microsoft-com:xslt">
-	<xsl:output
-		method="html"
-		encoding="UTF-8" />
-	<xsl:key
-		name="cat"
-		match="category"
-		use="@name" />
-	<xsl:template match="/">
-		<xsl:for-each select="site">
-			<html>
-				<head>
-					<title>
-						Europa Update Discovery Site
-					</title>
-					<style>@import url("web/site.css");</style>
-				</head>
-				<body>
-					<h2 class="title">Europa Update Discovery Site</h2>
-					<p class="bodyText">
-						<xsl:value-of select="description" />
-					</p>
-					<table
-						width="100%"
-						border="0"
-						cellspacing="1"
-						cellpadding="2">
-						<xsl:for-each select="category-def">
-
-							<xsl:sort
-								select="@label"
-								order="ascending"
-								case-order="upper-first" />
-							<xsl:sort
-								select="@name"
-								order="ascending"
-								case-order="upper-first" />
-
-
-
-
-
-
-
-							<xsl:if
-								test="count(key('cat',@name)) != 0">
-
-
-								<tr class="header">
-									<td
-										class="sub-header"
-										width="30%">
-										<xsl:value-of select="@name" />
-									</td>
-									<td
-										class="sub-header"
-										width="70%">
-										<xsl:value-of select="@label" />
-									</td>
-								</tr>
-								<xsl:for-each
-									select="key('cat',@name)">
-									<xsl:sort
-										select="ancestor::feature//@version"
-										order="ascending" />
-									<xsl:sort
-										select="ancestor::feature//@id"
-										order="ascending"
-										case-order="upper-first" />
-									<tr>
-										<xsl:choose>
-											<xsl:when
-												test="(position() mod 2 = 1)">
-												<xsl:attribute
-													name="class">
-													dark-row
-												</xsl:attribute>
-											</xsl:when>
-											<xsl:otherwise>
-												<xsl:attribute
-													name="class">
-													light-row
-												</xsl:attribute>
-											</xsl:otherwise>
-										</xsl:choose>
-										<td
-											class="log-text"
-											id="indent">
-											<xsl:choose>
-												<xsl:when
-													test="ancestor::feature//@label">
-													<p
-														href="{ancestor::feature//@url}">
-														<xsl:value-of
-															select="ancestor::feature//@label" />
-													</p>
-													<br />
-													<div id="indent">
-														(
-														<xsl:value-of
-															select="ancestor::feature//@id" />
-														-
-														<xsl:value-of
-															select="ancestor::feature//@version" />
-														)
-													</div>
-												</xsl:when>
-												<xsl:otherwise>
-													<p
-														href="{ancestor::feature//@url}">
-														<xsl:value-of
-															select="ancestor::feature//@id" />
-														-
-														<xsl:value-of
-															select="ancestor::feature//@version" />
-													</p>
-												</xsl:otherwise>
-											</xsl:choose>
-											<br />
-										</td>
-										<td>
-											<table>
-												<xsl:if
-													test="ancestor::feature//@os">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Operating
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@os" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if
-													test="ancestor::feature//@ws">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Windows
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@ws" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if
-													test="ancestor::feature//@nl">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Languages:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@nl" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if
-													test="ancestor::feature//@arch">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Architecture:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="ancestor::feature//@arch" />
-														</td>
-													</tr>
-												</xsl:if>
-											</table>
-										</td>
-									</tr>
-								</xsl:for-each>
-								<tr>
-									<td class="spacer">
-										<br />
-									</td>
-									<td class="spacer">
-										<br />
-									</td>
-								</tr>
-
-
-
-							</xsl:if>
-						</xsl:for-each>
-						<xsl:if
-							test="count(feature)  &gt; count(feature/category)">
-							<tr class="header">
-								<td
-									class="sub-header"
-									colspan="2">
-									Uncategorized
-								</td>
-							</tr>
-						</xsl:if>
-						<xsl:choose>
-							<xsl:when
-								test="function-available('msxsl:node-set')">
-								<xsl:variable name="rtf-nodes">
-									<xsl:for-each
-										select="feature[not(category)]">
-										<xsl:sort
-											select="@id"
-											order="ascending"
-											case-order="upper-first" />
-										<xsl:sort
-											select="@version"
-											order="ascending" />
-										<xsl:value-of select="." />
-										<xsl:copy-of select="." />
-									</xsl:for-each>
-								</xsl:variable>
-								<xsl:variable
-									name="myNodeSet"
-									select="msxsl:node-set($rtf-nodes)/*" />
-								<xsl:for-each select="$myNodeSet">
-									<tr>
-										<xsl:choose>
-											<xsl:when
-												test="position() mod 2 = 1">
-												<xsl:attribute
-													name="class">
-													dark-row
-												</xsl:attribute>
-											</xsl:when>
-											<xsl:otherwise>
-												<xsl:attribute
-													name="class">
-													light-row
-												</xsl:attribute>
-											</xsl:otherwise>
-										</xsl:choose>
-										<td
-											class="log-text"
-											id="indent">
-											<xsl:choose>
-												<xsl:when
-													test="@label">
-													<p href="{@url}">
-														<xsl:value-of
-															select="@label" />
-													</p>
-													<br />
-													<div id="indent">
-														(
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-														)
-													</div>
-												</xsl:when>
-												<xsl:otherwise>
-													<p href="{@url}">
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-													</p>
-												</xsl:otherwise>
-											</xsl:choose>
-											<br />
-											<br />
-										</td>
-										<td>
-											<table>
-												<xsl:if test="@os">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Operating
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@os" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@ws">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Windows
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@ws" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@nl">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Languages:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@nl" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@arch">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Architecture:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@arch" />
-														</td>
-													</tr>
-												</xsl:if>
-											</table>
-										</td>
-									</tr>
-								</xsl:for-each>
-							</xsl:when>
-							<xsl:otherwise>
-								<xsl:for-each
-									select="feature[not(category)]">
-									<xsl:sort
-										select="@id"
-										order="ascending"
-										case-order="upper-first" />
-									<xsl:sort
-										select="@version"
-										order="ascending" />
-									<tr>
-										<xsl:choose>
-											<xsl:when
-												test="count(preceding-sibling::feature[not(category)]) mod 2 = 1">
-												<xsl:attribute
-													name="class">
-													dark-row
-												</xsl:attribute>
-											</xsl:when>
-											<xsl:otherwise>
-												<xsl:attribute
-													name="class">
-													light-row
-												</xsl:attribute>
-											</xsl:otherwise>
-										</xsl:choose>
-										<td
-											class="log-text"
-											id="indent">
-											<xsl:choose>
-												<xsl:when
-													test="@label">
-													<p href="{@url}">
-														<xsl:value-of
-															select="@label" />
-													</p>
-													<br />
-													<div id="indent">
-														(
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-														)
-													</div>
-												</xsl:when>
-												<xsl:otherwise>
-													<p href="{@url}">
-														<xsl:value-of
-															select="@id" />
-														-
-														<xsl:value-of
-															select="@version" />
-													</p>
-												</xsl:otherwise>
-											</xsl:choose>
-											<br />
-											<br />
-										</td>
-										<td>
-											<table>
-												<xsl:if test="@os">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Operating
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@os" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@ws">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Windows
-															Systems:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@ws" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@nl">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Languages:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@nl" />
-														</td>
-													</tr>
-												</xsl:if>
-												<xsl:if test="@arch">
-													<tr>
-														<td
-															class="log-text"
-															id="indent">
-															Architecture:
-														</td>
-														<td
-															class="log-text"
-															id="indent">
-															<xsl:value-of
-																select="@arch" />
-														</td>
-													</tr>
-												</xsl:if>
-											</table>
-										</td>
-									</tr>
-								</xsl:for-each>
-							</xsl:otherwise>
-						</xsl:choose>
-					</table>
-				</body>
-			</html>
-		</xsl:for-each>
-	</xsl:template>
-</xsl:stylesheet>
diff --git a/org.eclipse.galileo-feature/.project b/org.eclipse.galileo-feature/.project
deleted file mode 100644
index a6a129c..0000000
--- a/org.eclipse.galileo-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.galileo-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.galileo-feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.galileo-feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 649c13c..0000000
--- a/org.eclipse.galileo-feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 28 00:36:27 EDT 2009
-encoding/<project>=ISO-8859-1
-eclipse.preferences.version=1
diff --git a/org.eclipse.galileo-feature/build.properties b/org.eclipse.galileo-feature/build.properties
deleted file mode 100755
index 8772655..0000000
--- a/org.eclipse.galileo-feature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 Borland Software Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Borland Software Corporation - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               feature.properties,\
-               epl-v10.html,\
-               license.html,\
-               eclipse_update_120.jpg
-root=file:rootfiles/epl-v10.html,file:rootfiles/notice.html
\ No newline at end of file
diff --git a/org.eclipse.galileo-feature/eclipse_update_120.jpg b/org.eclipse.galileo-feature/eclipse_update_120.jpg
deleted file mode 100755
index 68e3e02..0000000
--- a/org.eclipse.galileo-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo-feature/epl-v10.html b/org.eclipse.galileo-feature/epl-v10.html
deleted file mode 100755
index ed4b196..0000000
--- a/org.eclipse.galileo-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.galileo-feature/feature.properties b/org.eclipse.galileo-feature/feature.properties
deleted file mode 100755
index 984207a..0000000
--- a/org.eclipse.galileo-feature/feature.properties
+++ /dev/null
@@ -1,133 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 Borland Software Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Borland Software Corporation - initial API and implementation
-###############################################################################
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Galileo Capability Definitions
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Modeling Project
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Galileo Updates
-
-# "description" property - description of the feature
-description=This feature contains capability definitions provided by the projects in the Galileo Release. Installing this feature can help you control what's visible in the User Interface (UI), so your UI clutter can be reduced, and the functions you need will be easier to find.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Modeling Project CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/org.eclipse.galileo-feature/feature.xml b/org.eclipse.galileo-feature/feature.xml
deleted file mode 100755
index 7d7efe1..0000000
--- a/org.eclipse.galileo-feature/feature.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.galileo"
-      label="%featureName"
-      version="1.0.0.qualifier"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description url="http://www.eclipse.org/galileo">
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
-      Copyright (c) 2008, 2009 Borland Software Corporation and others.
-All rights reserved.   This program and the accompanying materials
-are made available under the terms of the Eclipse Public License
-v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/galileo/releases/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.galileo"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.datatools.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.tptp.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.rse.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.uml2.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.mylyn.ide.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.uml2tools.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.gef.examples.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.rap.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecoretools.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-         
-   <plugin
-         id="org.eclipse.actf.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-         
-   <plugin
-         id="org.eclipse.ecf.ui.capabilities"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-</feature>
diff --git a/org.eclipse.galileo-feature/license.html b/org.eclipse.galileo-feature/license.html
deleted file mode 100755
index 15a10cf..0000000
--- a/org.eclipse.galileo-feature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.galileo-feature/rootfiles/epl-v10.html b/org.eclipse.galileo-feature/rootfiles/epl-v10.html
deleted file mode 100755
index ed4b196..0000000
--- a/org.eclipse.galileo-feature/rootfiles/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.galileo-feature/rootfiles/notice.html b/org.eclipse.galileo-feature/rootfiles/notice.html
deleted file mode 100755
index c6af966..0000000
--- a/org.eclipse.galileo-feature/rootfiles/notice.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/org.eclipse.galileo.build/.project b/org.eclipse.galileo.build/.project
deleted file mode 100644
index a1b525a..0000000
--- a/org.eclipse.galileo.build/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.galileo.build</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.galileo.build/.settings/org.eclipse.core.resources.prefs b/org.eclipse.galileo.build/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index cc36a57..0000000
--- a/org.eclipse.galileo.build/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 28 00:35:47 EDT 2009
-encoding/<project>=ISO-8859-1
-eclipse.preferences.version=1
diff --git a/org.eclipse.galileo.build/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.galileo.build/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index a14e99c..0000000
--- a/org.eclipse.galileo.build/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue May 12 01:47:55 EDT 2009
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.eclipse.galileo.build/actf.build b/org.eclipse.galileo.build/actf.build
deleted file mode 100644
index f18e034..0000000
--- a/org.eclipse.galileo.build/actf.build
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="ACTF">
-  <contacts name="Kentarou Fukuda" email="kentarou@jp.ibm.com"/>
-  <features id="org.eclipse.actf.visualization.sdk" version="0.7.2.R201002031025" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.actf.visualization.ui.pdt" version="0.7.2.R201002031025" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.actf.visualization.ui.wst" version="0.7.2.R201002031025" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <repositories location="http://download.eclipse.org/technology/actf/0.7.2/" label="ACTF maintenance"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/birt.build b/org.eclipse.galileo.build/birt.build
deleted file mode 100644
index 430c7d2..0000000
--- a/org.eclipse.galileo.build/birt.build
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="BIRT">
-  <contacts name="Xiaoying Gu" email="xgu@actuate.com"/>
-  <contacts name="Wenfeng Li" email="wli@actuate.com"/>
-  <contacts name="Yong Jiang" email="yjiang@actuate.com"/>
-  <features id="org.eclipse.birt" version="2.5.2.v20090925-9dE-9CGJexwJPcfpfqGkK_4lg9Ti" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.10"/>
-  </features>
-  <features id="org.eclipse.birt.cshelp" version="2.5.2.v20090925-3417w31211318" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.10"/>
-  </features>
-  <features id="org.eclipse.birt.chart.cshelp" version="2.5.2.v20090925-3417w31211318" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.10"/>
-  </features>
-  <features id="org.eclipse.birt.doc" version="2.5.2.v20090925-3417w31211226" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.10"/>
-  </features>
-  <features id="org.eclipse.birt.example" version="2.5.2.v20090925-7F7Y7CDZRDIVERMm" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.10"/>
-  </features>
-  <features id="org.eclipse.birt.source" version="2.5.2.v20090925-9dE-9CGJexwJPcfpfqGkK_4lg9Ti" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.10"/>
-  </features>
-  <features id="org.eclipse.birt.osgi.runtime.sdk" version="2.5.2.v20090925-579385tF0KMS-Eb6SPBIO0qaQNgB" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/birt/update-site/2.5-interim/" label="BIRT interim"/>
-</build:Contribution>
-
diff --git a/org.eclipse.galileo.build/buckminster.build b/org.eclipse.galileo.build/buckminster.build
deleted file mode 100644
index 7655ea6..0000000
--- a/org.eclipse.galileo.build/buckminster.build
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Buckminster">
-  <contacts name="Thomas Hallgren" email="thomas@tada.se"/>
-  <features id="org.eclipse.buckminster.core.feature" version="" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.buckminster.cvs.feature" version="" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.buckminster.maven.feature" version="" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.buckminster.pde.feature" version="" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.buckminster.subversive.feature" version="" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <repositories location="http://download.eclipse.org/tools/buckminster/updates-galileo/" label="Buckminster Milestones"/>
-  <bundles id="org.eclipse.buckminster.ui.capabilities" repo="//@repositories.0"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/cdt.build b/org.eclipse.galileo.build/cdt.build
deleted file mode 100644
index 2e65697..0000000
--- a/org.eclipse.galileo.build/cdt.build
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="CDT">
-  <contacts name="Vivian Kong" email="vivkong@ca.ibm.com"/>
-  <contacts name="Doug Schaefer" email="dschaefer@rogers.com"/>
-  <features id="org.eclipse.cdt.platform" version="6.0.2.201002161416" repo="//@repositories.0"/>
-  <features id="org.eclipse.cdt" version="6.0.2.201002161416" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.cdt.mylyn" version="5.1.0.201002161416" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.cdt.p2" version="1.0.0.201002161416" repo="//@repositories.0"/>
-  <features id="org.eclipse.cdt.gnu.dsf" version="2.0.0.201002161416" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <features id="org.eclipse.cdt.debug.ui.memory" version="1.2.0.201002161416" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <features id="org.eclipse.cdt.launch.remote" version="6.0.0.201002161416" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <repositories location="http://download.eclipse.org/tools/cdt/updates/galileo/" label="CDT updates"/>
-  <repositories location="http://download.eclipse.org/tools/cdt/releases/galileo/" label="CDT releases"/>
-  <bundles id="org.eclipse.cdt.core.aix" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.linux" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.linux.ia64" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.linux.ppc" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.linux.x86" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.linux.x86_64" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.macosx" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.qnx" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.solaris" version="5.1.0.201002161416" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.cdt.core.win32" version="5.1.0.201002161416" repo="//@repositories.0"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/dltk.build b/org.eclipse.galileo.build/dltk.build
deleted file mode 100644
index 75178fe..0000000
--- a/org.eclipse.galileo.build/dltk.build
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="DLTK">
-  <contacts name="DLTK Build Team" email="alex@xored.com"/>
-  <contacts name="DLTK Build Team" email="andrey@xored.com"/>
-  <features id="org.eclipse.dltk.core" version="1.0.2.v20100208-7C-77EAAoORwQXXqBeY-d" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.dltk.ruby" version="1.0.0.v20090610-1638-7B--E_EkMO1PJYsAZIz-C" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.dltk.tcl" version="1.0.1.v20090903-2153-7D-4EB7sQSMTibkCiTAc" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.dltk.xotcl" version="1.0.0.v20090610-1638-4-0_kE77g7W_V29IEA" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.dltk.itcl" version="1.0.0.v20090613-1432-3--9oA55V5L9K28LC_" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.dltk.rse" version="1.0.0.v20090610-1638-2--8s733K3E5615C9C" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.dltk.mylyn" version="1.0.0.v20090610-1638-1--7w311_17261119" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <repositories location="http://download.eclipse.org/technology/dltk/updates-dev/1.0-stable/" label="DLTK 1.0.2RC3"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/dsdp-mtj.build b/org.eclipse.galileo.build/dsdp-mtj.build
deleted file mode 100755
index e025c69..0000000
--- a/org.eclipse.galileo.build/dsdp-mtj.build
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="DSDP MTJ">
-  <contacts name="Gustavo de Paula" email="gustavo.eliano@gmail.com"/>
-  <contacts name="Diego Sandin" email="diegosandin@gmail.com"/>
-  <features id="org.eclipse.mtj" version="1.0.1.v200909181641-7W7D7EFFt6Zb-appdsJXo" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <features id="org.eclipse.mtj.sdk" version="1.0.1.v200909181641-4-290eCIUJbNCDpo6cz0Mo6To4Gu" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <features id="org.eclipse.mtj.examples" version="1.0.1.v200909181641-6-0BgJ99r9rEmEcTE" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <features id="org.eclipse.mtj.pulsar" version="1.0.1.v200909181641-3-18s733L3L5J5FB5" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <repositories location="http://download.eclipse.org/dsdp/mtj/updates/1.0.1/stable/" label="MTJ 1.0.1 Updates"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/dsdp-tm.build b/org.eclipse.galileo.build/dsdp-tm.build
deleted file mode 100644
index 12e6fa0..0000000
--- a/org.eclipse.galileo.build/dsdp-tm.build
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="DSDP TM">
-  <contacts name="David Dykstal" email="dykstal@acm.org"/>
-  <contacts name="Martin Oberhuber" email="martin.oberhuber@windriver.com"/>
-  <features id="org.eclipse.rse" version="3.1.2.R31x_v200911051655-7L5AF8wqaIPUdtOM8wtNiNh0Rez-" repo="//@repositories.2">
-    <category href="galileo.build#//@categories.5"/>
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.rse.useractions" version="1.1.100.v200905272300-31A78s733L3D7H7933" repo="//@repositories.2">
-    <category href="galileo.build#//@categories.5"/>
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.tm.terminal.sdk" version="3.0.2.R31x_v200911051655-7N-FBcBbPtZLuz-SHv_pcfLSKR22" repo="//@repositories.2">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <repositories location="http://download.eclipse.org/dsdp/tm/updates/3.1milestones/" label="TM 3.1 Milestones"/>
-  <repositories location="http://download.eclipse.org/dsdp/tm/updates/3.1interim/" label="TM 3.1 Interim"/>
-  <repositories location="http://download.eclipse.org/dsdp/tm/updates/3.1/" label="TM 3.1"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/dsdp-tml.build b/org.eclipse.galileo.build/dsdp-tml.build
deleted file mode 100644
index 0b769fb..0000000
--- a/org.eclipse.galileo.build/dsdp-tml.build
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="DSDP TML">
-  <contacts name="Mauren Brenner" email="frp743@motorola.com"/>
-  <contacts name="Daniel Barboza Franco" email="nkvg64@motorola.com"/>
-  <contacts name="Eric Cloninger" email="ericc@motorola.com"/>
-  <features id="org.eclipse.tml.feature" version="0.3.0.200906152200" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <features id="org.eclipse.tml.sdk.feature" version="0.3.0.200906152200" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.5"/>
-  </features>
-  <repositories location="http://download.eclipse.org/dsdp/tml/updates/0.3/" label="TmL 0.3 Updates"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/dtp.build b/org.eclipse.galileo.build/dtp.build
deleted file mode 100644
index 343b105..0000000
--- a/org.eclipse.galileo.build/dtp.build
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="DataTools">
-  <contacts name="Xiaoying Gu" email="xgu@actuate.com"/>
-  <contacts name="Yong Jiang" email="yjiang@actuate.com"/>
-  <features id="org.eclipse.datatools.sdk.feature" version="1.7.2.v200909251450-7O9I7bFD0IVIPElYvW1YBTgDFOgj" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.3"/>
-  </features>
-  <features id="org.eclipse.datatools.enablement.sdk.feature" version="1.7.2.v200909251450-7I8r7XFE9JfFs0wYgDsB0wKAZttV" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.3"/>
-  </features>
-  <repositories location="http://download.eclipse.org/datatools/downloads/drops/N_updates_1.7" label="DTP 1.7.2 updates"/>
-</build:Contribution>
-
diff --git a/org.eclipse.galileo.build/ecf.build b/org.eclipse.galileo.build/ecf.build
deleted file mode 100644
index 70fd22e..0000000
--- a/org.eclipse.galileo.build/ecf.build
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="ECF">
-  <contacts name="Scott Lewis" email="slewis@eclipsesource.com"/>
-  <features id="org.eclipse.ecf.core" version="3.0.1.v20090916-2238" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/rt/ecf/integration/v20090916-2238/repo" label="ECF updates"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/eclipselink.build b/org.eclipse.galileo.build/eclipselink.build
deleted file mode 100644
index 4bdabbb..0000000
--- a/org.eclipse.galileo.build/eclipselink.build
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EclipseLink">
-  <contacts name="Eric Gwin" email="eric.gwin@oracle.com"/>
-  <features id="org.eclipse.persistence.jpa" version="1.1.3.v20091002-r5404" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.persistence.jpa.source" version="1.1.3.v20091002-r5404" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.persistence.moxy" version="1.1.3.v20091002-r5404" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.persistence.moxy.source" version="1.1.3.v20091002-r5404" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.persistence.sdo" version="1.1.3.v20091002-r5404" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.persistence.sdo.source" version="1.1.3.v20091002-r5404" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/rt/eclipselink/galileo-integration/" label="EclipseLink"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emf-cdo.build b/org.eclipse.galileo.build/emf-cdo.build
deleted file mode 100644
index d84a442..0000000
--- a/org.eclipse.galileo.build/emf-cdo.build
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMF CDO">
-  <contacts name="EMF CDO Build Team" email="stepper@esc-net.de"/>
-  <contacts name="EMF CDO Build Team" email="smcduff@hotmail.com"/>
-  <contacts name="EMF CDO Build Team" email="mtaal@elver.org"/>
-  <contacts name="EMF CDO Build Team" email="stefan.winkler-et@fernuni-hagen.de"/>
-  <contacts name="EMF CDO Build Team" email="vroldan@opencanarias.com"/>
-  <contacts name="EMF CDO Build Team" email="dietisheim@puzzle.ch"/>
-  <features id="org.eclipse.emf.cdo.sdk" version="2.0.0.v200906160459" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/releases/" label="EMF CDO releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emf-compare.build b/org.eclipse.galileo.build/emf-compare.build
deleted file mode 100644
index bff2461..0000000
--- a/org.eclipse.galileo.build/emf-compare.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMFT COMPARE">
-  <contacts name="EMFT COMPARE Build Team" email="cedric.brun@obeo.fr"/>
-  <features id="org.eclipse.emf.compare.sdk" version="1.0.1.v200909161031" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/releases/" label="EMFT COMPARE milestones"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emf-emf.build b/org.eclipse.galileo.build/emf-emf.build
deleted file mode 100644
index 6abc997..0000000
--- a/org.eclipse.galileo.build/emf-emf.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMF (Core)">
-  <contacts name="EMF Build Team" email="davidms@ca.ibm.com"/>
-  <features id="org.eclipse.emf.sdk" version="2.5.0.v200906151043" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/releases/" label="EMF (Core) releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emf-net4j.build b/org.eclipse.galileo.build/emf-net4j.build
deleted file mode 100644
index d7aaa15..0000000
--- a/org.eclipse.galileo.build/emf-net4j.build
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMF NET4J">
-  <contacts name="EMF NET4J Build Team" email="stepper@esc-net.de"/>
-  <contacts name="EMF NET4J Build Team" email="smcduff@hotmail.com"/>
-  <contacts name="EMF NET4J Build Team" email="mtaal@elver.org"/>
-  <contacts name="EMF NET4J Build Team" email="stefan.winkler-et@fernuni-hagen.de"/>
-  <contacts name="EMF NET4J Build Team" email="vroldan@opencanarias.com"/>
-  <contacts name="EMF NET4J Build Team" email="dietisheim@puzzle.ch"/>
-  <features id="org.eclipse.net4j.sdk" version="2.0.0.v200906160348" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/releases/" label="EMF NET4J releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emf-teneo.build b/org.eclipse.galileo.build/emf-teneo.build
deleted file mode 100644
index cf3eb53..0000000
--- a/org.eclipse.galileo.build/emf-teneo.build
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMF TENEO">
-  <contacts name="EMF TENEO Build Team" email="mtaal@elver.org"/>
-  <contacts name="EMF TENEO Build Team" email="stepper@esc-net.de"/>
-  <features id="org.eclipse.emf.teneo.sdk" version="1.1.1.v200909151729-42188FAFLgfKYI_KdreDKXR_SEFC" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <features id="org.eclipse.emf.teneo.eclipselink.sdk" version="1.0.0.v200909151729-31184E43QYgJOQQRZuYI_PFWWGHN" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/releases/" label="EMF TENEO releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emf-transaction.build b/org.eclipse.galileo.build/emf-transaction.build
deleted file mode 100644
index 4d7ddec..0000000
--- a/org.eclipse.galileo.build/emf-transaction.build
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMF TRANSACTION">
-  <contacts name="EMF TRANSACTION Build Team" email="boris.gruschko@sap.com"/>
-  <contacts name="EMF TRANSACTION Build Team" email="anthonyh@ca.ibm.com"/>
-  <features id="org.eclipse.emf.emfqtv.all.sdk" version="1.3.1.v20090819-1457-4778_90GCMOEJccDOSfSYw5qz-LE" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" label="EMF TRANSACTION milestones"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emft-ecoretools.build b/org.eclipse.galileo.build/emft-ecoretools.build
deleted file mode 100644
index 6d0faae..0000000
--- a/org.eclipse.galileo.build/emft-ecoretools.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMFT ECORETOOLS">
-  <contacts name="EMFT ECORETOOLS Build Team" email="jacques.lescot@anyware-tech.com"/>
-  <features id="org.eclipse.emf.ecoretools.sdk" version="0.9.0.v200906221231" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emft/updates/releases/" label="EMFT ECORETOOLS releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emft-mint.build b/org.eclipse.galileo.build/emft-mint.build
deleted file mode 100644
index 02f6c82..0000000
--- a/org.eclipse.galileo.build/emft-mint.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMFT MINT">
-  <contacts name="EMFT MINT Build Team" email="pnehrer@eclipticalsoftware.com"/>
-  <features id="org.eclipse.emf.mint.sdk" version="0.8.0.v200906161513" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emft/updates/releases/" label="EMFT MINT releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/emft-mwe.build b/org.eclipse.galileo.build/emft-mwe.build
deleted file mode 100644
index 0d8fb26..0000000
--- a/org.eclipse.galileo.build/emft-mwe.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EMFT MWE">
-  <contacts name="EMFT MWE Build Team" email="alle-ki@itemis.de"/>
-  <features id="org.eclipse.emf.mwe.sdk" version="0.7.2.v200908120417" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emft/updates/releases/" label="EMFT MWE releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/ep.build b/org.eclipse.galileo.build/ep.build
deleted file mode 100644
index 542a8d2..0000000
--- a/org.eclipse.galileo.build/ep.build
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Eclipse">
-  <contacts name="Kim Moir" email="kmoir@ca.ibm.com"/>
-  <features id="org.eclipse.sdk" version="3.5.2.R35x_v20100119-7Q7bARBPWUHM_CSjz-8bF1f7_n8rLSyWHoiKoyxBQSGT4" repo="//@repositories.0"/>
-  <features id="org.eclipse.cvs" version="1.1.101.R35x_v20100125-7E79FGD9kKF67BPDZ7PKCE1911" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.pde" version="3.5.2.R35x_v20100119-7Z7_FA2FDX-aXQYWqYDBz-z0qufo" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.jdt" version="3.5.2.r352_v20100108-7r88FEwFI0WTuoBl0iaG0tyhfZH6" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.pde.api.tools.ee.fragments" version="1.0.0.v20090512-7C-0F9JgLMsM0MXAWLrL" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.equinox.p2.user.ui" version="1.1.2.R35x_v20091106-7u6FbQFUAtsCKD5Fxz0qz0fb2932" repo="//@repositories.0"/>
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.5.x/" label="Eclipse and Equinox 3.5.x release candidates"/>
-  <products id="org.eclipse.sdk.ide" version="3.5.2.M20100211-1343" repo="//@repositories.0"/>
-  <products id="org.eclipse.platform.ide" version="3.5.2.M20100211-1343" repo="//@repositories.0"/>
-  <products id="org.eclipse.platform.sdk" version="3.5.2.M20100211-1343" repo="//@repositories.0"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/epp-udc.build b/org.eclipse.galileo.build/epp-udc.build
deleted file mode 100644
index 4272faa..0000000
--- a/org.eclipse.galileo.build/epp-udc.build
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="EPP UDC">
-  <contacts name="Wayne Beaton" email="wayne@eclipse.org"/>
-  <contacts name="Markus Knauer" email="mknauer@eclipsesource.com"/>
-  <features id="org.eclipse.epp.usagedata.feature" version="1.1.1.R201001291118" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <repositories location="http://download.eclipse.org/technology/epp/updates/1.1milestones/1.1.1.R201001291118/" label="EPP updates"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/equinox.build b/org.eclipse.galileo.build/equinox.build
deleted file mode 100644
index c41c8bd..0000000
--- a/org.eclipse.galileo.build/equinox.build
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Equinox">
-  <contacts name="Kim Moir" email="kmoir@ca.ibm.com"/>
-  <features id="org.eclipse.equinox.sdk" version="3.5.2.r352_v20100209-7G7MAD7lQiEeG_QL5AOoAHLYaYBg">
-    <repo href="ep.build#//@repositories.0"/>
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.5.x/" label="Eclipse and Equinox 3.5.x release candidates"/>
-  <products id="org.eclipse.rcp.sdk.id" version="3.5.2.M20100211-1343" repo="//@repositories.0"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/galileo.build b/org.eclipse.galileo.build/galileo.build
deleted file mode 100644
index d669bc9..0000000
--- a/org.eclipse.galileo.build/galileo.build
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<build:Build xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" type="I" buildRoot="/opt/public/galileo/buckyBuild/buildresults" fetchTag="CVS=HEAD" label="Galileo" base="//@platforms.0" builder="//@platforms.0" date="" launchVM="/shared/common/ibm-java2-ppc-50/bin" builderURL="http://build.eclipse.org/galileo/buckyBuild/buildresults/" sendmail="true">
-  <platforms file="eclipse-SDK-3.5M6-linux-gtk-ppc.tar.gz" location="http://download.eclipse.org/eclipse/downloads/drops/S-3.5M6-200903130100/" config="//@configs.3" deltapack="eclipse-3.5M6-delta-pack.zip"/>
-  <configs os="macosx" ws="cocoa" archiveFormat="tar"/>
-  <configs os="macosx" ws="cocoa" arch="x86_64" archiveFormat="tar"/>
-  <configs os="linux" ws="gtk" archiveFormat="tar"/>
-  <configs os="linux" ws="gtk" arch="ppc" archiveFormat="tar"/>
-  <configs os="linux" ws="gtk" arch="x86_64" archiveFormat="tar"/>
-  <configs arch="x86_64"/>
-  <configs/>
-  <map root="org.eclipse.galileo.build" repo=":pserver:anonymous@dev.eclipse.org/cvsroot/callisto" tag="HEAD"/>
-  <categories name="Modeling" label="Modeling" description="Model definition, creation, and manipulation frameworks (e.g. EMF, OCL, GMF, M2M, M2T) and industry models (e.g. UML, JEM, XSD).">
-    <features href="emf-emf.build#//@features.0"/>
-    <features href="mdt-xsd.build#//@features.0"/>
-    <features href="gmf.build#//@features.0"/>
-    <features href="mdt-uml2.build#//@features.0"/>
-    <features href="mdt-uml2tools.build#//@features.0"/>
-    <features href="mdt-ocl.build#//@features.0"/>
-    <features href="emf-transaction.build#//@features.0"/>
-    <features href="m2t-jet.build#//@features.0"/>
-    <features href="m2t-acceleo.build#//@features.0"/>
-    <features href="m2m-qvtoml.build#//@features.0"/>
-    <features href="m2m-atl.build#//@features.0"/>
-    <features href="emf-teneo.build#//@features.0"/>
-    <features href="tmf-xtext.build#//@features.0"/>
-    <features href="m2t-xpand.build#//@features.0"/>
-    <features href="emft-mwe.build#//@features.0"/>
-    <features href="emf-compare.build#//@features.0"/>
-    <features href="emft-ecoretools.build#//@features.0"/>
-    <features href="emft-mint.build#//@features.0"/>
-    <features href="emf-net4j.build#//@features.0"/>
-    <features href="emf-cdo.build#//@features.0"/>
-  </categories>
-  <categories name="Programming Languages" label="Programming Languages" description="Tools to allow development with specific languages, such as Java and C++">
-    <features href="ep.build#//@features.3"/>
-    <features href="cdt.build#//@features.1"/>
-    <features href="webtools.build#//@features.7"/>
-    <features href="webtools.build#//@features.8"/>
-    <features href="pdt.build#//@features.0"/>
-  </categories>
-  <categories name="Web, XML, and Java EE Development" label="Web, XML, and Java EE Development" description="Tools to help create web applications, including JavaScript, XML, XSL, XSD, HTML, XHTML, CSS, JSP, EJBs, Webservices, and JPA tools">
-    <features href="webtools.build#//@features.0"/>
-    <features href="webtools.build#//@features.1"/>
-    <features href="webtools.build#//@features.2"/>
-    <features href="webtools.build#//@features.3"/>
-    <features href="webtools.build#//@features.5"/>
-    <features href="webtools.build#//@features.6"/>
-    <features href="webtools.build#//@features.7"/>
-    <features href="pdt.build#//@features.0"/>
-    <features href="webtools.build#//@features.8"/>
-    <features href="webtools.build#//@features.4"/>
-    <features href="rap.build#//@features.0"/>
-  </categories>
-  <categories name="Database Development" label="Database Development" description="Tools to define and access a wide variety of databases.">
-    <features href="dtp.build#//@features.0"/>
-    <features href="dtp.build#//@features.1"/>
-  </categories>
-  <categories name="Test and Performance" label="Test and Performance" description="Tools used to improve testing and performance.">
-    <features href="tptp.build#//@features.0"/>
-    <features href="tptp.build#//@features.1"/>
-    <features href="tptp.build#//@features.2"/>
-    <features href="tptp.build#//@features.3"/>
-    <features href="tptp.build#//@features.4"/>
-    <features href="tptp.build#//@features.5"/>
-    <features href="tptp.build#//@features.6"/>
-  </categories>
-  <categories name="Mobile and Device Development" label="Mobile and Device Development" description="Tools used to develop mobile and device applications. ">
-    <features href="dsdp-tm.build#//@features.0"/>
-    <features href="dsdp-tm.build#//@features.1"/>
-    <features href="dsdp-tm.build#//@features.2"/>
-    <features href="dsdp-mtj.build#//@features.0"/>
-    <features href="dsdp-mtj.build#//@features.1"/>
-    <features href="dsdp-mtj.build#//@features.2"/>
-    <features href="dsdp-tml.build#//@features.0"/>
-    <features href="dsdp-tml.build#//@features.1"/>
-    <features href="cdt.build#//@features.4"/>
-    <features href="cdt.build#//@features.5"/>
-    <features href="cdt.build#//@features.6"/>
-  </categories>
-  <categories name="Collaboration" label="Collaboration" description="Tools to foster collaboration between developers.">
-    <features href="ep.build#//@features.1"/>
-    <features href="mylyn.build#//@features.0"/>
-    <features href="mylyn.build#//@features.1"/>
-    <features href="mylyn.build#//@features.2"/>
-    <features href="mylyn.build#//@features.3"/>
-    <features href="mylyn.build#//@features.4"/>
-    <features href="mylyn.build#//@features.5"/>
-    <features href="mylyn.build#//@features.6"/>
-    <features href="mylyn.build#//@features.7"/>
-    <features href="subversive.build#//@features.0"/>
-    <features href="subversive.build#//@features.3"/>
-    <features href="ecf.build#//@features.0"/>
-    <features href="cdt.build#//@features.2"/>
-    <features href="dltk.build#//@features.6"/>
-  </categories>
-  <categories name="General Purpose Tools" label="General Purpose Tools" description="Tools that can be used by a wide variety of developers.">
-    <features href="actf.build#//@features.0"/>
-    <features href="actf.build#//@features.1"/>
-    <features href="actf.build#//@features.2"/>
-    <features href="buckminster.build#//@features.0"/>
-    <features href="buckminster.build#//@features.1"/>
-    <features href="buckminster.build#//@features.2"/>
-    <features href="buckminster.build#//@features.3"/>
-    <features href="ep.build#//@features.2"/>
-    <features href="jwt.build#//@features.0"/>
-    <features href="dsdp-tm.build#//@features.0"/>
-    <features href="dsdp-tm.build#//@features.1"/>
-    <features href="dltk.build#//@features.0"/>
-    <features href="epp-udc.build#//@features.0"/>
-    <features href="mat.build#//@features.0"/>
-    <features href="mat.build#//@features.1"/>
-    <features href="#//@contributions.45/@features.0"/>
-  </categories>
-  <categories name="SOA Development" label="SOA Development" description="Tools for SOA Developers">
-    <features href="stp.build#//@features.0"/>
-    <features href="stp.build#//@features.1"/>
-    <features href="stp.build#//@features.2"/>
-    <features href="stp.build#//@features.3"/>
-    <features href="stp.build#//@features.4"/>
-    <features href="stp.build#//@features.5"/>
-    <features href="stp.build#//@features.6"/>
-    <features href="stp.build#//@features.7"/>
-    <features href="stp.build#//@features.8"/>
-    <features href="stp.build#//@features.9"/>
-    <features href="stp.build#//@features.10"/>
-    <features href="stp.build#//@features.11"/>
-    <features href="swordfish.build#//@features.0"/>
-  </categories>
-  <categories name="EclipseRT Target Platform Components" label="EclipseRT Target Platform Components" description="This category identifies various Eclipse technology that is commonly used in runtime scenarios from RCP to embedded to server side. The components in this category are intended to be added to your Target Platform, rather than your IDE.">
-    <features href="riena.build#//@features.0"/>
-    <features href="equinox.build#//@features.0"/>
-    <features href="eclipselink.build#//@features.0"/>
-    <features href="eclipselink.build#//@features.1"/>
-    <features href="eclipselink.build#//@features.2"/>
-    <features href="eclipselink.build#//@features.3"/>
-    <features href="eclipselink.build#//@features.4"/>
-    <features href="eclipselink.build#//@features.5"/>
-    <features href="ecf.build#//@features.0"/>
-    <features href="rap.build#//@features.1"/>
-    <features href="swordfish.build#//@features.1"/>
-    <features href="swordfish.build#//@features.2"/>
-    <features href="swordfish.build#//@features.3"/>
-    <features href="birt.build#//@features.6"/>
-  </categories>
-  <categories name="Business Intelligence, Reporting and Charting" label="Business Intelligence, Reporting and Charting" description="Tools to visualize information, create data-driven web pages, PDF documents and other content using data from a wide variety of sources.">
-    <features href="birt.build#//@features.0"/>
-    <features href="birt.build#//@features.1"/>
-    <features href="birt.build#//@features.2"/>
-    <features href="birt.build#//@features.3"/>
-    <features href="birt.build#//@features.4"/>
-    <features href="birt.build#//@features.5"/>
-  </categories>
-  <contributions href="equinox.build#/"/>
-  <contributions href="ep.build#/"/>
-  <contributions href="emf-emf.build#/"/>
-  <contributions href="ecf.build#/"/>
-  <contributions href="mdt-xsd.build#/"/>
-  <contributions href="gef.build#/"/>
-  <contributions href="mdt-ocl.build#/"/>
-  <contributions href="emf-transaction.build#/"/>
-  <contributions href="emf-compare.build#/"/>
-  <contributions href="m2t-acceleo.build#/"/>
-  <contributions href="m2t-jet.build#/"/>
-  <contributions href="mdt-uml2.build#/"/>
-  <contributions href="m2m-atl.build#/"/>
-  <contributions href="m2m-qvtoml.build#/"/>
-  <contributions href="gmf.build#/"/>
-  <contributions href="mdt-uml2tools.build#/"/>
-  <contributions href="emft-ecoretools.build#/"/>
-  <contributions href="emft-mint.build#/"/>
-  <contributions href="emft-mwe.build#/"/>
-  <contributions href="m2t-xpand.build#/"/>
-  <contributions href="tmf-xtext.build#/"/>
-  <contributions href="dtp.build#/"/>
-  <contributions href="webtools.build#/"/>
-  <contributions href="mylyn.build#/"/>
-  <contributions href="cdt.build#/"/>
-  <contributions href="dsdp-tm.build#/"/>
-  <contributions href="dsdp-mtj.build#/"/>
-  <contributions href="dsdp-tml.build#/"/>
-  <contributions href="jwt.build#/"/>
-  <contributions href="dltk.build#/"/>
-  <contributions href="pdt.build#/"/>
-  <contributions href="rap.build#/"/>
-  <contributions href="stp.build#/"/>
-  <contributions href="subversive.build#/"/>
-  <contributions href="actf.build#/"/>
-  <contributions href="epp-udc.build#/"/>
-  <contributions href="buckminster.build#/"/>
-  <contributions href="emf-net4j.build#/"/>
-  <contributions href="emf-cdo.build#/"/>
-  <contributions href="riena.build#/"/>
-  <contributions href="eclipselink.build#/"/>
-  <contributions href="emf-teneo.build#/"/>
-  <contributions href="birt.build#/"/>
-  <contributions href="mat.build#/"/>
-  <contributions href="tptp.build#/"/>
-  <contributions href="swordfish.build#/"/>
-  <contributions label="Galileo">
-    <features id="org.eclipse.galileo" version="1.0.0.qualifier" category="//@categories.7"/>
-  </contributions>
-  <compiler args="-warn:-serial,discouraged,unchecked,raw,intfAnnotation,varargsCast -showversion -enableJavadoc -encoding ISO-8859-1"/>
-  <promotion uploadDirectory="${user.home}/downloads/releases/galileo/" downloadDirectory="/releases/galileo/" baseURL="http://www.eclipse.org/downloads/download.php" buildAlias=""/>
-  <buildmaster name="David Williams" email="david_williams@us.ibm.com"/>
-</build:Build>
diff --git a/org.eclipse.galileo.build/galileo.product b/org.eclipse.galileo.build/galileo.product
deleted file mode 100644
index b56814a..0000000
--- a/org.eclipse.galileo.build/galileo.product
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<product xmlns="http://www.eclipse.org/amalgam/2008/product" name="galileo" id="org.eclipse.galileo.product" application="org.eclipse.ui.ide.workbench" useFeatures="true" version="1.0.0.qualifier">
-  <configIni use="default"/>
-  <launcherArgs>
-    <vmArgs>-Xms40m
--Xmx768m
--XX:MaxPermSize=256m</vmArgs>
-    <vmArgsMac>-Xdock:icon=../Resources/Eclipse.icns
--XstartOnFirstThread 
--Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-  </launcherArgs>
-  <vm/>
-  <launcher name="galileo">
-    <macosx icon="/org.eclipse.galileo/Eclipse.icns"/>
-    <solaris/>
-    <win>
-      <bmp/>
-    </win>
-  </launcher>
-  <splash location="org.eclipse.galileo" startupProgressRect="0,290,450,15" startupMessageRect="5,270,450,15" startupForegroundColor="E6E6E6"/>
-  <windowImages i16="/org.eclipse.galileo/icons/eclipse.gif" i32="/org.eclipse.galileo/icons/eclipse32.gif" i48="/org.eclipse.galileo/icons/eclipse48.gif"/>
-  <aboutInfo>
-    <image path="/org.eclipse.galileo/about.png"/>
-    <text>
-         %aboutDialogText
-      </text>
-  </aboutInfo>
-  <intro introId="org.eclipse.ui.intro.universal"/>
-  <plugins/>
-  <features/>
-</product>
diff --git a/org.eclipse.galileo.build/gef.build b/org.eclipse.galileo.build/gef.build
deleted file mode 100644
index 89541cc..0000000
--- a/org.eclipse.galileo.build/gef.build
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="GEF">
-  <contacts name="GEF Build Team" email="anthonyh@ca.ibm.com"/>
-  <contacts name="GEF Build Team" email="nickboldt@gmail.com"/>
-  <features id="org.eclipse.gef.sdk" version="3.5.2.v20100111-1352-7G7O5A5WNXWQF_OVSWjaZLTWkNKY" repo="//@repositories.0">
-  </features>
-  <features id="org.eclipse.zest.sdk" version="1.1.2.v20100111-1352-6658CNDT4R8WTQUMhLVdgPbPObOX" repo="//@repositories.0">
-  </features>
-  <repositories location="http://download.eclipse.org/tools/gef/updates/releases/" label="GEF releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/gmf.build b/org.eclipse.galileo.build/gmf.build
deleted file mode 100644
index 51cacf7..0000000
--- a/org.eclipse.galileo.build/gmf.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="GMF">
-  <contacts name="GMF Build Team" email="anthonyh@ca.ibm.com"/>
-  <features id="org.eclipse.gmf.sdk" version="2.2.2.v20100209-2200-7C7I-BLxlyz-uojrqeOfnk4eytKd" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/gmf/updates/releases/" label="GMF releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/jwt.build b/org.eclipse.galileo.build/jwt.build
deleted file mode 100644
index 529e0e6..0000000
--- a/org.eclipse.galileo.build/jwt.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Java Workflow Tooling">
-  <contacts name="Christian Saad" email="saad@informatik.uni-augsburg.de"/>
-  <features id="org.eclipse.jwt" version="0.7.0.v20091222-1510-R" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <repositories location="http://download.eclipse.org/technology/jwt/update-site/" label="JWT releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/m2m-atl.build b/org.eclipse.galileo.build/m2m-atl.build
deleted file mode 100644
index 17a9d8e..0000000
--- a/org.eclipse.galileo.build/m2m-atl.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="M2M ATL">
-  <contacts name="M2M ATL Build Team" email="william.piers@obeo.fr"/>
-  <features id="org.eclipse.m2m.atl.sdk" version="3.0.2.v201001190421" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/m2m/updates/milestones/" label="M2M ATL milestones"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/m2m-qvtoml.build b/org.eclipse.galileo.build/m2m-qvtoml.build
deleted file mode 100644
index b9cef20..0000000
--- a/org.eclipse.galileo.build/m2m-qvtoml.build
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="QVT">
-  <contacts name="Radek Dvorak" email="dvorak.radek@gmail.com"/>
-  <contacts name="Sergey Boyko" email="sboyko@borland.com"/>
-  <features id="org.eclipse.m2m.qvt.oml.sdk" version="2.0.1.v20090701-2200-7N-5CLrGiFfYqKJ7FOaWVaJlXLqT" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/m2m/updates/releases/" label="QVTO releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/m2t-acceleo.build b/org.eclipse.galileo.build/m2t-acceleo.build
deleted file mode 100755
index 647b7ae..0000000
--- a/org.eclipse.galileo.build/m2t-acceleo.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="M2T ACCELEO">
-  <contacts name="M2T ACCELEO Build Team" email="cedric.brun@obeo.fr"/>
-  <features id="org.eclipse.acceleo.sdk" version="0.8.1.v200909161003" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/m2t/updates/releases/" label="M2T ACCELEO releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/m2t-jet.build b/org.eclipse.galileo.build/m2t-jet.build
deleted file mode 100644
index d86b9e7..0000000
--- a/org.eclipse.galileo.build/m2t-jet.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="M2T JET">
-  <contacts name="M2T JET Build Team" email="pelder@ca.ibm.com"/>
-  <features id="org.eclipse.jet.sdk" version="1.0.2.v201001281539-4-5866Eq9sMGMeJfZQJZPL" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/m2t/updates/milestones/" label="M2T JET milestones"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/m2t-xpand.build b/org.eclipse.galileo.build/m2t-xpand.build
deleted file mode 100644
index 98eac95..0000000
--- a/org.eclipse.galileo.build/m2t-xpand.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="M2T XPAND">
-  <contacts name="M2T XPAND Build Team" email="alle-ki@itemis.de"/>
-  <features id="org.eclipse.xpand.sdk" version="0.7.2.v200908120436" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/m2t/updates/releases/" label="M2T XPAND releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/maps/galileo.map b/org.eclipse.galileo.build/maps/galileo.map
deleted file mode 100644
index 5e546ca..0000000
--- a/org.eclipse.galileo.build/maps/galileo.map
+++ /dev/null
@@ -1,42 +0,0 @@
-!*** Galileo map *****************************************************************
-feature@org.eclipse.galileo=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto,,org.eclipse.galileo-feature
-plugin@org.eclipse.galileo=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto,,org.eclipse.galileo
-
-!*** GMF Capabilities ************************************************************
-plugin@org.eclipse.gmf.ui.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling,,org.eclipse.gmf/plugins/org.eclipse.gmf.ui.capabilities
-
-!*** DTP Capabilities ************************************************************
-plugin@org.eclipse.datatools.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/datatools,,org.eclipse.datatools.build/org.eclipse.datatools.capabilities
-
-!*** ACTF Capabilities ************************************************************
-plugin@org.eclipse.actf.ui.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.actf/org.eclipse.actf.common/plugins/org.eclipse.actf.ui.capabilities,org.eclipse.actf.ui.capabilities
-
-!*** TPTP Capabilities ************************************************************
-plugin@org.eclipse.tptp.ui.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/tptp,,platform/org.eclipse.tptp.ui.capabilities
-
-!*** JWT Capabilities *************************************************************
-plugin@org.eclipse.jwt.ui.capabilities=Galileo_0_6_RC4,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.jwt/releng/jwt-ui-capabilities
-
-!*** TM/RSE Capabilities *************************************************************
-plugin@org.eclipse.rse.ui.capabilities=v200906082045,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.ui.capabilities
-
-!*** EMF Capabilities *************************************************************
-plugin@org.eclipse.emf.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling,,org.eclipse.emf/org.eclipse.emf/coord/org.eclipse.emf.capabilities
-
-!*** UML2 Capabilities *************************************************************
-plugin@org.eclipse.uml2.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling,,org.eclipse.mdt/org.eclipse.uml2/plugins/org.eclipse.uml2.capabilities
-
-!*** Mylyn Capabilities *************************************************************
-plugin@org.eclipse.mylyn.ide.capabilities=e_3_5_m_3_2_x,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,,org.eclipse.mylyn/org.eclipse.mylyn.ide.capabilities
-
-!*** UML2Tools Capabilities *************************************************************
-plugin@org.eclipse.uml2tools.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling,,org.eclipse.mdt/org.eclipse.uml2tools/plugins/org.eclipse.uml2tools.capabilities
-
-!*** GEF Capabilities *************************************************************
-plugin@org.eclipse.gef.examples.ui.capabilities=v20090105-1632,:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,,org.eclipse.gef/examples/org.eclipse.gef.examples.ui.capabilities
-
-!*** RAP Capabilities *************************************************************
-plugin@org.eclipse.rap.ui.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/rt,,org.eclipse.rap/tooling/org.eclipse.rap.ui.capabilities
-
-!*** EMFT Ecore Tools Capabilities ***********************************************
-plugin@org.eclipse.emf.ecoretools.ui.capabilities=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling,,org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.ui.capabilities
diff --git a/org.eclipse.galileo.build/mat.build b/org.eclipse.galileo.build/mat.build
deleted file mode 100644
index 46f858c..0000000
--- a/org.eclipse.galileo.build/mat.build
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Memory Analyzer (MAT)">
-  <contacts name="Andreas Buchen" email="andreas.buchen@sap.com"/>
-  <contacts name="Erwin Margewitsch" email="erwin.margewitsch@sap.com"/>
-  <features id="org.eclipse.mat.feature" version="0.8.0.200906170940" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <features id="org.eclipse.mat.chart.feature" version="0.8.0.200906170940" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.7"/>
-  </features>
-  <repositories location="http://download.eclipse.org/technology/mat/galileo/update-site/" label="Memory Analyzer Updates"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/mdt-ocl.build b/org.eclipse.galileo.build/mdt-ocl.build
deleted file mode 100644
index b0ea4e7..0000000
--- a/org.eclipse.galileo.build/mdt-ocl.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="MDT OCL">
-  <contacts name="MDT OCL Build Team" email="aigdalov@borland.com"/>
-  <features id="org.eclipse.ocl.all.sdk" version="1.3.0.v200901271800-787B8aA3PRRgQUXlKwbe1tshdIma" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/mdt/updates/releases/" label="MDT OCL releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/mdt-uml2.build b/org.eclipse.galileo.build/mdt-uml2.build
deleted file mode 100644
index 8b7c04b..0000000
--- a/org.eclipse.galileo.build/mdt-uml2.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="MDT UML2">
-  <contacts name="MDT UML2 Build Team" email="jbruck@ca.ibm.com"/>
-  <features id="org.eclipse.uml2.sdk" version="3.0.1.v200908281330" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/mdt/updates/releases/" label="MDT UML2 releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/mdt-uml2tools.build b/org.eclipse.galileo.build/mdt-uml2tools.build
deleted file mode 100644
index 70f01bc..0000000
--- a/org.eclipse.galileo.build/mdt-uml2tools.build
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="MDT UML2TOOLS">
-  <contacts name="MDT UML2TOOLS Build Team" email="borlander@gmail.com"/>
-  <contacts name="MDT UML2TOOLS Build Team" email="michael.golubev@borland.com"/>
-  <features id="org.eclipse.uml2tools.sdk" version="0.9.0.v200906190654" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/mdt/updates/releases/" label="MDT UML2TOOLS releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/mdt-xsd.build b/org.eclipse.galileo.build/mdt-xsd.build
deleted file mode 100644
index efa32d0..0000000
--- a/org.eclipse.galileo.build/mdt-xsd.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="MDT XSD">
-  <contacts name="EMF Build Team" email="davidms@ca.ibm.com"/>
-  <features id="org.eclipse.xsd.sdk" version="2.5.0.v200906151043" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/releases/" label="MDT XSD releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/mylyn.build b/org.eclipse.galileo.build/mylyn.build
deleted file mode 100644
index 6b25d24..0000000
--- a/org.eclipse.galileo.build/mylyn.build
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Mylyn">
-  <contacts name="Mik Kersten" email="mik.kersten@tasktop.com"/>
-  <contacts name="Steffen Pingel" email="steffen.pingel@tasktop.com"/>
-  <features id="org.eclipse.mylyn_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.bugzilla_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.context_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.pde_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.java_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.ide_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.team_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.wikitext_feature" version="1.1.3.v20100217-0100-e3x" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.mylyn.sdk_feature" version="3.2.3.v20100217-0100-e3x" repo="//@repositories.0"/>
-  <features id="org.eclipse.mylyn.wikitext.sdk" version="1.1.3.v20100217-0100-e3x" repo="//@repositories.0"/>
-  <repositories location="http://download.eclipse.org/tools/mylyn/update/galileo/" label="Mylyn Updates"/>
-</build:Contribution>
\ No newline at end of file
diff --git a/org.eclipse.galileo.build/pdt.build b/org.eclipse.galileo.build/pdt.build
deleted file mode 100644
index c79f3a4..0000000
--- a/org.eclipse.galileo.build/pdt.build
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="PDT">
-  <contacts name="PDT Build Team" email="roy@zend.com"/>
-  <contacts name="PDT Build Team" email="michael@zend.com"/>
-  <features id="org.eclipse.php.sdk" version="2.1.1.v20090707-1108-51584QACJCRCUeNRkNYbOJecWK9O" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.1"/>
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <repositories location="http://download.eclipse.org/tools/pdt/updates/2.0/milestones/" label="PDT milestones"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/rap.build b/org.eclipse.galileo.build/rap.build
deleted file mode 100644
index 2730c48..0000000
--- a/org.eclipse.galileo.build/rap.build
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="RAP">
-  <contacts name="Ralf Sternberg" email="rsternberg@eclipsesource.com"/>
-  <contacts name="Ruediger Herrmann" email="rherrmann@eclipsesource.com"/>
-  <features id="org.eclipse.rap.tooling" version="1.2.2.20100126-1129" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.rap.sdk" version="1.2.2.20100126-1119" repo="//@repositories.1">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/rt/rap/1.2/update/" label="RAP updates"/>
-  <repositories location="http://download.eclipse.org/rt/rap/1.2/runtime-update/" label="RAP SDK repository"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/riena.build b/org.eclipse.galileo.build/riena.build
deleted file mode 100644
index 2007ea4..0000000
--- a/org.eclipse.galileo.build/riena.build
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Riena">
-  <contacts name="Christian Campo" email="Christian.Campo@compeople.de"/>
-  <features id="org.eclipse.riena.build.feature.core.sdk" version="1.1.0.1" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.riena.build.feature.samples.sdk" version="1.1.0.0" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/rt/riena/1.1.0.1/update/" label="Riena SDK + Samples"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/stp.build b/org.eclipse.galileo.build/stp.build
deleted file mode 100644
index da5cdd6..0000000
--- a/org.eclipse.galileo.build/stp.build
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="STP">
-  <contacts name="Oisin Hurley" email="ohurley@progress.com"/>
-  <contacts name="Oisin Hurley" email="oisin.hurley@gmail.com"/>
-  <contacts name="Antoine Toulme" email="antoine@lunar-ocean.com"/>
-  <contacts name="Stephane Drapeau" email="stephane.drapeau@obeo.fr"/>
-  <features id="org.eclipse.stp.bpmn.feature" version="1.2.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.sca.feature" version="2.0.1.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.sca.feature.frascati" version="2.0.1.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.sca.feature.tuscany" version="2.0.1.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.sca.feature.xmleditors" version="2.0.1.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.sca.feature.semantic" version="2.0.1.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.im.core.feature" version="1.1.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.im.bpmn.feature" version="1.1.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.im.runtime.feature" version="1.1.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.im.sca.feature" version="1.1.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.policy.feature" version="1.1.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.stp.branding.feature" version="2.0.0.201002010854" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <repositories location="http://download.eclipse.org/stp/updates/galileo" label="SOA Tools Repository"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/subversive.build b/org.eclipse.galileo.build/subversive.build
deleted file mode 100644
index bda37f4..0000000
--- a/org.eclipse.galileo.build/subversive.build
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Subversive">
-  <contacts name="Igor Burilo" email="igor.burilo@polarion.org"/>
-  <features id="org.eclipse.team.svn" version="0.7.8.I20091023-1300" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.team.svn.nl1" version="0.7.8.I20091023-1300" repo="//@repositories.0"/>
-  <features id="org.eclipse.team.svn.resource.ignore.rules.jdt" version="0.7.8.I20091023-1300" repo="//@repositories.0"/>
-  <features id="org.eclipse.team.svn.mylyn" version="0.7.8.I20091023-1300" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.6"/>
-  </features>
-  <features id="org.eclipse.team.svn.source" version="0.7.8.I20091023-1300" repo="//@repositories.0"/>
-  <features id="org.eclipse.team.svn.ui.capabilities" version="0.7.8.I20091023-1300" repo="//@repositories.0"/>
-  <repositories location="http://download.eclipse.org/technology/subversive/0.7/update-site/" label="Subversive updates"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/swordfish.build b/org.eclipse.galileo.build/swordfish.build
deleted file mode 100644
index 3100273..0000000
--- a/org.eclipse.galileo.build/swordfish.build
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="Swordfish">
-  <contacts name="Oliver Wolf" email="oliver.wolf@sopera.de"/>
-  <contacts name="Zsolt Beothy-Elo" email="zsolt.beothy-elo@sopera.de"/>
-  <features id="org.eclipse.swordfish.tooling.feature" version="0.9.2.v201002111330" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.8"/>
-  </features>
-  <features id="org.eclipse.swordfish.sdk.feature" version="0.9.2.v201002111330" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.swordfish.registry.feature" version="0.9.2.v201002111330" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <features id="org.eclipse.swordfish.samples.feature" version="0.9.2.v201002111330" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.9"/>
-  </features>
-  <repositories location="http://download.eclipse.org/rt/swordfish/releases/galileo" label="Swordfish Galileo Release"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/tmf-xtext.build b/org.eclipse.galileo.build/tmf-xtext.build
deleted file mode 100644
index 8a6df19..0000000
--- a/org.eclipse.galileo.build/tmf-xtext.build
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="TMF XTEXT">
-  <contacts name="TMF XTEXT Build Team" email="alle-ki@itemis.de"/>
-  <features id="org.eclipse.xtext.sdk" version="0.7.2.v200908120607" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.0"/>
-  </features>
-  <repositories location="http://download.eclipse.org/modeling/tmf/updates/releases/" label="TMF XTEXT releases"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/tptp.build b/org.eclipse.galileo.build/tptp.build
deleted file mode 100644
index 3661b98..0000000
--- a/org.eclipse.galileo.build/tptp.build
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<build:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:build="http://www.eclipse.org/amalgam/2008/build" label="TPTP">
-  <contacts name="Joel Cayne" email="jcayne@ca.ibm.com"/>
-  <contacts name="Sean Lamers" email="slamers@ca.ibm.com"/>
-  <features id="org.eclipse.tptp.platform.runtime" version="4.6.2.v200912101900-8H8DFPt9a0jTox2imR64740u0x8b" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <features id="org.eclipse.tptp.monitoring.runtime" version="4.4.202.v200912101900-7X7UFMY81nCAKB0kAULbRQNlHILV" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <features id="org.eclipse.tptp.test.runtime" version="4.4.2.v200912101900-7H7E777VrO3HUMRaq-kvBCij9tva" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <features id="org.eclipse.tptp.trace.runtime" version="4.3.302.v200912101900-7H78FHp7XaTSqh-CLQsSUVlUjhZA" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <features id="org.eclipse.tptp.birt" version="4.4.302.v200912101900-7L7MFA17i5iA2_u8xWieWwjxa-dt" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <features id="org.eclipse.tptp.wtp" version="4.4.302.v200912101900-795Bj7HXHNXOVN_TFJfFeKUIkNQ" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <features id="org.eclipse.tptp.examples" version="4.5.101.v200912101900-7D7AF9y89DQtTvC7I78B955B55" repo="//@repositories.0">
-    <category href="galileo.build#//@categories.4"/>
-  </features>
-  <repositories location="http://download.eclipse.org/tptp/updates/galileo/" label="Testing and Performance"/>
-  <bundles id="org.eclipse.tptp.platform.ac.win_ia32" version="4.4.202.v201002100300" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.tptp.platform.ac.win_em64t" version="4.4.202.v201002100300" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.tptp.platform.ac.win_ipf" version="4.4.202.v201002100300" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.tptp.platform.ac.linux_ia32" version="4.4.202.v201002100300" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.tptp.platform.ac.linux_em64t" version="4.4.202.v201002100300" repo="//@repositories.0"/>
-  <bundles id="org.eclipse.tptp.platform.ac.linux_ipf" version="4.4.202.v201002100300" repo="//@repositories.0"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.build/webtools.build b/org.eclipse.galileo.build/webtools.build
deleted file mode 100644
index a57f594..0000000
--- a/org.eclipse.galileo.build/webtools.build
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<build:Contribution xmlns:build="http://www.eclipse.org/amalgam/2008/build" xmlns:xmi="http://www.omg.org/XMI" label="WebTools" xmi:version="2.0">
-  <contacts email="david_williams@us.ibm.com" name="David Williams"/>
-  <features id="org.eclipse.wst.web_ui.feature" repo="//@repositories.0" version="3.1.1.v200908120400-7R77FStEVw2z07WtDz-OZrhL5C-3">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.enterprise_ui.feature" repo="//@repositories.0" version="3.1.1.v200908101600-7_7EGrjFQRwRb4P511ebObS5XZhq">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jpt.feature" repo="//@repositories.0" version="2.2.2.v200911250220-7L7OAPFBBoPS0TBgXV1je">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.ws.axis2tools.feature" repo="//@repositories.0" version="1.1.0.v200905242110-78-FBpDZRDE6FdPdLYYe">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jpt.eclipselink.feature" repo="//@repositories.0" version="2.2.2.v200911250220-65A9AkF77g8OFL7BB7">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.webpageeditor.feature" repo="//@repositories.0" version="2.2.2.v201001271707-43799oB5855B7A2242">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature" repo="//@repositories.0" version="2.2.0.v20090517-20-7w311A1636">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.wst.xml_ui.feature" repo="//@repositories.0" version="3.1.1.v200907161031-7H6FMbDxtkMs9OeLGF98LRhdPKeo">
-    <category href="galileo.build#//@categories.2"/>
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.wst.jsdt.feature" repo="//@repositories.0" version="1.1.2.v200908101420-77-FGDCcNBDjBXMoBbFb">
-    <category href="galileo.build#//@categories.2"/>
-    <category href="galileo.build#//@categories.1"/>
-  </features>
-  <features id="org.eclipse.wtp.capabilities" repo="//@repositories.0" version="1.0.0.v200905221827-5--AkF77g7V7ZFJ77"/>
-  <features id="org.eclipse.wst.common.fproj" repo="//@repositories.0" version="3.1.1.v200908111817-37718s733L4C585I7F">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.wst.server_adapters.feature" repo="//@repositories.0" version="3.1.0.v200906020451-51DFAkF77g7GCNc">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.wst.xsl.feature" repo="//@repositories.0" version="1.0.2.v200908271520-7R7T8sFIhIehWg454rq_U1">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.common.fproj.enablement.jdt" repo="//@repositories.0" version="3.1.1.v200908111817-37718s733L56485K8H">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.server_ui.feature" repo="//@repositories.0" version="3.1.1.v20090817-7A2FBb9xFaHovXGLUCTMQ2355">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.server_adapters.feature" repo="//@repositories.0" version="3.1.0.v20090311c-20-7w311A1422c">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.server_adapters.ext.feature" repo="//@repositories.0" version="3.1.1.v20090813-777HFDPCcNBBz0BjJU4BA8">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <features id="org.eclipse.jst.web_ui.feature" repo="//@repositories.0" version="3.1.1.v200908121609-7E77FBiDlwYcICNdz-5z-9PGqZCy">
-    <category href="galileo.build#//@categories.2"/>
-  </features>
-  <repositories label="Web Tools 3.1.2 maintenance updates" location="http://download.eclipse.org/webtools/updates/3.1/3.1.2/"/>
-</build:Contribution>
diff --git a/org.eclipse.galileo.tests/.classpath b/org.eclipse.galileo.tests/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/org.eclipse.galileo.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.galileo.tests/.project b/org.eclipse.galileo.tests/.project
deleted file mode 100644
index 31234e8..0000000
--- a/org.eclipse.galileo.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.galileo.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.galileo.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.galileo.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 851424a..0000000
--- a/org.eclipse.galileo.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Wed Jun 10 01:20:40 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.galileo.tests/META-INF/MANIFEST.MF b/org.eclipse.galileo.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index df51ca5..0000000
--- a/org.eclipse.galileo.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.galileo.tests;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.core.runtime,
- org.junit;bundle-version="[3.8.0,4.0.0)",
- org.eclipse.ant.core,
- org.apache.ant,
- org.eclipse.equinox.p2.jarprocessor
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.galileo.tests
-Bundle-ClassPath: checkLayout.jar,
- .
diff --git a/org.eclipse.galileo.tests/OSGI-INF/l10n/bundle.properties b/org.eclipse.galileo.tests/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index ee2a91e..0000000
--- a/org.eclipse.galileo.tests/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.galileo.tests
-Bundle-Name = Releng Tests for Galileo Release
-Bundle-Vendor = Eclipse Web Tools Platform Releng
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/about.html b/org.eclipse.galileo.tests/about.html
deleted file mode 100644
index bcd98a8..0000000
--- a/org.eclipse.galileo.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/ant.sh b/org.eclipse.galileo.tests/ant.sh
deleted file mode 100644
index ced3836..0000000
--- a/org.eclipse.galileo.tests/ant.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-source galileo_properties.shsource
-
-ANT_CMD="${ANT_HOME}/bin/ant"
-${ANT_HOME}/bin/ant "$@"
diff --git a/org.eclipse.galileo.tests/build.properties b/org.eclipse.galileo.tests/build.properties
deleted file mode 100644
index 18fb417..0000000
--- a/org.eclipse.galileo.tests/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/,\
-               plugin.xml,\
-               OSGI-INF/l10n/
diff --git a/org.eclipse.galileo.tests/checkLayout.jar b/org.eclipse.galileo.tests/checkLayout.jar
deleted file mode 100644
index 934aa85..0000000
--- a/org.eclipse.galileo.tests/checkLayout.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo.tests/checkLayout.jardesc b/org.eclipse.galileo.tests/checkLayout.jardesc
deleted file mode 100644
index 116d136..0000000
--- a/org.eclipse.galileo.tests/checkLayout.jardesc
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>
-<jardesc>
-    <jar path="org.eclipse.galileo.tests/checkLayout.jar"/>
-    <options buildIfNeeded="true" compress="false" descriptionLocation="/org.eclipse.galileo.tests/checkLayout.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
-    <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
-    <selectedProjects/>
-    <manifest generateManifest="false" manifestLocation="/org.eclipse.galileo.tests/META-INF/MANIFEST.MF" manifestVersion="1.0" reuseManifest="false" saveManifest="true" usesManifest="true">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="false" exportJavaFiles="true" exportOutputFolder="true">
-        <file path="/org.eclipse.galileo.tests/galileo_properties.shsource"/>
-        <file path="/org.eclipse.galileo.tests/checkLayout.jardesc"/>
-        <file path="/org.eclipse.galileo.tests/cleanupBuildResults.sh"/>
-        <file path="/org.eclipse.galileo.tests/plugin.xml"/>
-        <file path="/org.eclipse.galileo.tests/invokeAntRunner.xml"/>
-        <file path="/org.eclipse.galileo.tests/runTests.xml"/>
-        <folder path="/org.eclipse.galileo.tests/META-INF"/>
-        <file path="/org.eclipse.galileo.tests/getRelengTests.sh"/>
-        <file path="/org.eclipse.galileo.tests/verify.sh"/>
-        <javaElement handleIdentifier="=org.eclipse.galileo.tests/src"/>
-        <folder path="/org.eclipse.galileo.tests/OSGI-INF"/>
-        <file path="/org.eclipse.galileo.tests/.project"/>
-        <file path="/org.eclipse.galileo.tests/verifydir.sh"/>
-        <file path="/org.eclipse.galileo.tests/.classpath"/>
-        <file path="/org.eclipse.galileo.tests/runEclipseAntRunner.sh"/>
-        <file path="/org.eclipse.galileo.tests/checkLayoutManifest.mf"/>
-        <file path="/org.eclipse.galileo.tests/galileo.properties"/>
-        <file path="/org.eclipse.galileo.tests/ant.sh"/>
-        <file path="/org.eclipse.galileo.tests/about.html"/>
-    </selectedElements>
-</jardesc>
diff --git a/org.eclipse.galileo.tests/checkLayoutManifest.mf b/org.eclipse.galileo.tests/checkLayoutManifest.mf
deleted file mode 100644
index 59499bc..0000000
--- a/org.eclipse.galileo.tests/checkLayoutManifest.mf
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/org.eclipse.galileo.tests/cleanupBuildResults.sh b/org.eclipse.galileo.tests/cleanupBuildResults.sh
deleted file mode 100644
index 29c5880..0000000
--- a/org.eclipse.galileo.tests/cleanupBuildResults.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-# small utility to remove old (temporary) builds from work area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-
-# remove artifacts over n days old
-# (where hours = 24 + (n * 24), basically, so that
-# even n=0 means "1 day")
-
-# set at 10 days, under assumption that before that time,
-# artifacts will be "saved" elsewhere, if needed.
-# if more cleanup is needed, we should take time, and
-# existence of more recent builds into account, so we never
-# delete the last existing build (even if "old").
-
-ndays=1;
-artifactsDir=${BUILD_RESULTS};
-
-echo;
-echo "    Removing artifact directories older than ${ndays} days";
-echo "        (from ${artifactsDir})";
-before=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories before cleaning: ${before}";
-
-# empty directories often result from "bad builds". We remove those no matter how old
-find ${artifactsDir} -mindepth 1 -maxdepth 2 -type d -empty -exec rm -fr '{}' \;
-# now remove old ones
-find ${artifactsDir} -mindepth 1 -maxdepth 1 -type d -ctime +$ndays -execdir ${BUILD_HOME}${RELENG_TOOLS}/removeIf.sh '{}' \;
-
-after=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories after cleaning: ${after}";
-echo
diff --git a/org.eclipse.galileo.tests/galileo.properties b/org.eclipse.galileo.tests/galileo.properties
deleted file mode 100644
index 67f6d04..0000000
--- a/org.eclipse.galileo.tests/galileo.properties
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in utility scripts
-# (note: at this point, not all are necessarily used)
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/galileo/buckyBuild
-# a common variation for someone doing a local build on their own machine
-#BUILD_HOME=J:/gbuild/buckyBuild
-
-# on any non-production machines it is important to _not_ use eclipse.p2.mirrors=false
-# so supply BUILDER_VM_ARGS that does not include it
-#BUILDER_VM_ARGS=-vmargs -Xmx256m 
-
-# on a non-production machine, will sometimes want to tweak the BUILDER_APP_ARGS to do less, and finish faster, 
-# such as use -verifyOnly or -updateOnly
-# as well as avoid the -production flag! 
-# and possibly setup mockEmail
-#BUILDER_APP_ARGS=-noBrandingBuild -verifyOnly -updateOnly -buildModel ${BUILD_HOME}/org.eclipse.galileo.build/galileo.build -buildRoot ${BUILD_RESULTS} -packedStrategy copy -brandingContribution Galileo -trustedContributions Eclipse -logLevel DEBUG
-
-# SKIP_MODEL_RETRIEVE should never be set (not even to false) on production machine. 
-# You can set when testing local versions you don't want them overwritten by HEAD version.  
-# SKIP_MODEL_RETRIEVE=true
-
-
-# Ant and Java should be configured per machine, so this variable point to valid installs
-ANT_HOME=/shared/common/apache-ant-1.7.1
-#ANT_HOME=J:/work/apache-ant-1.7.0
-
-JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-JAVA_6_HOME=/shared/common/ibm-java-ppc-604
-#JAVA_5_HOME=J:/JDKs/ibm-java2-sdk-50-win-i386
-#JAVA_6_HOME=J:/JDKs/ibm-jdk-6-sr3
-
-
-
-# typically the following would not have to be changed on a local, non-production machine
-
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-RELENG_TOOLS=org.eclipse.galileo.tools
-RELENG_TESTS=org.eclipse.galileo.tests
-
-# platform install. One level above what will contain the 'eclipse' directory.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-# the directory that contains the eclipse executable
-ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-
-# Holds the build results
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-
-
-# common location to store pre-reqs to avoid re-downloading Platforms, etc.
-PREREQS_CACHE=${BUILD_HOME}/prereqsCache
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/galileo
-
-#Note: this directory on build.eclipse.org has an alias so that
-#it is accessible as a pseudo update site via this URL: 
-#http://build.eclipse.org/galileo/staging/
-
-#It can not really be used as an update site
-#as an update site, since the mirror URLs in the 
-#artifacts.jar and content.jar are set to the 
-#eventual /releases/galileo. 
-#It can be used, however, to make sure categories are 
-#showing up correctly. 
diff --git a/org.eclipse.galileo.tests/galileo_properties.shsource b/org.eclipse.galileo.tests/galileo_properties.shsource
deleted file mode 100644
index d81b8f9..0000000
--- a/org.eclipse.galileo.tests/galileo_properties.shsource
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in utility scripts
-# (note: at this point, not all are necessarily used)
-
-# the top level directory, that should "contain" all else involved with build, control and output
-export BUILD_HOME=/shared/galileo/buckyBuild
-# a common variation for someone doing a local build on their own machine
-#export BUILD_HOME=${HOME}/buckyBuild
-
-
-RELENG_TOOLS=org.eclipse.galileo.tools
-RELENG_TESTS=org.eclipse.galileo.tests
-
-# platform install. One level above what will contain the 'eclipse' directory.
-export ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-export ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-export ECLIPSE_INSTALL_TEST=${BUILD_HOME}/tests
-export ECLIPSE_HOME_TEST=${ECLIPSE_INSTALL_TEST}/eclipse
-
-# common location to store pre-reqs to avoid re-downloading Platforms, etc.
-export PREREQS_CACHE=${BUILD_HOME}/prereqsCache
-
-
-export ANT_HOME=/shared/common/apache-ant-1.7.1
-
-export JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-export JAVA_6_HOME=/shared/common/ibm-java-ppc-60
-
-export JAVA_HOME=${JAVA_5_HOME}
-
-export JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/galileo
-
-# Holds a list of dated directories, each with a build result
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-
-#Note: this directory on build.eclipse.org has an alias so that
-#it is accessible as a pseudo update site via this URL: 
-#http://build.eclipse.org/galileo/maintenance/
-
-#It can not really be used as an update site
-#as an update site, since the mirror URLs in the 
-#artifacts.jar and content.jar are set to the 
-#eventual /releases/galileo. 
-#It can be used, however, to make sure categories are 
-#showing up correctly. 
diff --git a/org.eclipse.galileo.tests/getRelengTests.sh b/org.eclipse.galileo.tests/getRelengTests.sh
deleted file mode 100644
index 9736ae7..0000000
--- a/org.eclipse.galileo.tests/getRelengTests.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env bash
-
-# it is assumed we are executing this in RELENG_TESTS or the parent of RELENG_TESTS
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-  
-# This script file is to help get builds started "fresh", when
-# the ${RELENG_TESTS} directory already exists on local file system.
-# While it is in the cvs repository in ${RELENG_TESTS}, it is
-# meant to be executed from the parent directory
-# of ${RELENG_TESTS} on the file system.
-
-# export is used, instead of checkout, just to avoid the CVS directories and since this code
-# for a local build, there should never be a need to check it back in to CVS.
-
-# If there is no subdirectory, try going up one directory and looking again (in case we are in it).
-if [ ! -e ${RELENG_TESTS} ]
-then
-	cd ..
-	if [ ! -e ${RELENG_TESTS} ]
-	then	
-    echo "${RELENG_TESTS} does not exist as sub directory";
-	exit 1;
-	fi
-fi
-
-
-# make sure RELENG_TESTS has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${RELENG_TESTS}" ]
-then
-   echo "The variable RELENG_TESTS must be defined to run this script"
-   exit 1;
-fi
-echo "    removing all of ${RELENG_TESTS} ..."
-rm -fr "${RELENG_TESTS}"/*
-rm -fr "${RELENG_TESTS}"/.project
-rm -fr "${RELENG_TESTS}"/.settings
-rm -fr "${RELENG_TESTS}"/.classpath
-mkdir -p "${RELENG_TESTS}"
-
-#controltag=david_williams_tempBranch3
-controltag=HEAD
-echo "    checking out $controltag of ${RELENG_TESTS} from cvs ..."
-cvs -Q -f -d :pserver:anonymous@dev.eclipse.org:/cvsroot/callisto  export -d ${RELENG_TESTS} -r $controltag ${RELENG_TESTS}
-
-
-
-echo "    making sure releng control files are executable and have proper EOL ..."
-dos2unix ${RELENG_TESTS}/*.sh* ${RELENG_TESTS}/*.properties ${RELENG_TESTS}/*.xml >/dev/null 2>>/dev/null
-chmod +x ${RELENG_TESTS}/*.sh > /dev/null
-echo
-
-rm -fr ../tests/eclipse/dropins/${RELENG_TESTS}
-cp -r ${RELENG_TESTS} tests/eclipse/dropins/
diff --git a/org.eclipse.galileo.tests/invokeAntRunner.xml b/org.eclipse.galileo.tests/invokeAntRunner.xml
deleted file mode 100644
index 8c6be6b..0000000
--- a/org.eclipse.galileo.tests/invokeAntRunner.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="galileoAntRunner" basedir="." default="invokeAnt">
-	    <property
-	        environment="env" />
-	        	
-	<target name="invokeAnt">
-
-		<echo message="invoke ant runner, from ant" />
-		<exec executable="${env.ECLIPSE_HOME}/eclipse" 
-			failonerror="false" 
-			append="true">
-			<arg line="-consolelog -data ./runEclipseWorkspace -debug -nosplash --launcher.suppressErrors -vm ${env.JAVA_EXEC_DIR} -application org.eclipse.ant.core.antRunner -f runTests.xml" />
-		</exec>
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/plugin.xml b/org.eclipse.galileo.tests/plugin.xml
deleted file mode 100644
index 97c6105..0000000
--- a/org.eclipse.galileo.tests/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.eclipse.ant.core.antTasks">
-         <antTask
-         library="checkLayout.jar"
-         name="testLayouttask"
-         class="org.eclipse.galileo.tests.TestLayoutTask" />
-         
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.galileo.tests/runEclipseAntRunner.sh b/org.eclipse.galileo.tests/runEclipseAntRunner.sh
deleted file mode 100644
index 6d00944..0000000
--- a/org.eclipse.galileo.tests/runEclipseAntRunner.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-source galileo_properties.shsource
-
-"${ECLIPSE_HOME_TEST}"/eclipse -consolelog -data ./runEclipseTests -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application org.eclipse.ant.core.antRunner -f runTests.xml "$@"
diff --git a/org.eclipse.galileo.tests/runTests.xml b/org.eclipse.galileo.tests/runTests.xml
deleted file mode 100644
index 05fd14b..0000000
--- a/org.eclipse.galileo.tests/runTests.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<project name="galileoTests" basedir="." default="runtests">
-
-	<!--
-       <taskdef name="testLayouttask" 
-       	classname="org.eclipse.galileo.tests.TestLayoutTask"
-       	classpath="./checkLayout.jar">
-       </taskdef>
-       -->
-	<target name="runtests">
-		<echo message="Running tests" />
-
-		<testLayouttask 
-			tempWorkingDir="/tmp/tempWorkingLocation" 
-			directoryToCheck="/home/data/httpd/download.eclipse.org/eclipse/updates/3.5milestones/S-3.5RC4-200906051444/" 
-			failuresoccurred="failuresoccurred" />
-
-		<testLayouttask 
-		       tempWorkingDir="/tmp/tempWorkingLocation" 
-			directoryToCheck="/home/data/httpd/download.eclipse.org/releases/maintenance/aggregate/" 
-			failuresoccurred="failuresoccurred" />
-
-		<delete dir="/tmp/tempWorkingLocation" />
-
-		<fail if="failuresoccurred" />
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/BREETest.java b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/BREETest.java
deleted file mode 100644
index 64c3680..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/BREETest.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.galileo.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarInputStream;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @since 3.3
- */
-public class BREETest extends TestCase {
-
-	private static final String EXTENSION_JAR = ".jar";
-	private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-	private static final String EXTENSION_ZIP = ".zip";
-	private static final Object PROPERTY_BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT = "Bundle-RequiredExecutionEnvironment";
-	private static final FullJarNameParser nameParser = new FullJarNameParser();
-	private static final String BACKSLASH = "\\";
-	private static final String LITERAL_PERIOD = BACKSLASH + ".";
-	private static final String ANY = ".*";
-
-	public static void main(String[] args) {
-		System.out.println("start BREE Checks main");
-		BREETest testlayout = new BREETest();
-		testlayout.setDirectoryToCheck("D:\\temptest");
-		testlayout.testBREESettingRule();
-
-	}
-
-	public static Test suite() {
-		return new TestSuite(BREETest.class);
-	}
-
-	private String directoryToCheck;
-	private String tempWorkingDir;
-
-
-	public String getDirectoryToCheck() {
-		return directoryToCheck;
-	}
-
-	public void setDirectoryToCheck(String bundleDirToCheck) {
-		this.directoryToCheck = bundleDirToCheck;
-	}
-
-	public boolean testBREESettingRule() {
-
-		String property = getDirectoryToCheck();
-		assertNotNull("Need to set input directory to check against.", property);
-		String bundleDirectory = null;
-		if (property.endsWith("/")) {
-			bundleDirectory = property + "plugins";
-		}
-		else {
-			bundleDirectory = property + "/plugins";
-		}
-		File inputdir = new File(bundleDirectory);
-		assertTrue("bundle direcotry (" + bundleDirectory + ") must be an existing directory.", inputdir.exists() && inputdir.isDirectory());
-
-		boolean failuresOccured = checkBundleBREE(inputdir);
-		return failuresOccured;
-	}
-
-	private boolean checkBundleBREE(File inputdir) {
-		// reset/initialize errors
-		InputStream propertyStream = this.getClass().getResourceAsStream("exceptions.properties");
-		Properties breeExceptionProperties = new Properties();
-		String breeExceptions = "";
-		try {
-			breeExceptionProperties.load(propertyStream);
-			breeExceptions = breeExceptionProperties.getProperty("breeExceptions");
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-		finally {
-			if (propertyStream != null) {
-				try {
-					propertyStream.close();
-				}
-				catch (IOException e) {
-					// would be unusual to get here?
-					e.printStackTrace();
-				}
-			}
-		}
-		List errors = new ArrayList();
-		Map javaWithBree = new HashMap();
-		List nonjavaWithBree = new ArrayList();
-		List javaWithoutBree = new ArrayList();
-		int nonJavaNoBREE = 0;
-		boolean failuresOccured = false;
-		File[] children = inputdir.listFiles();
-		int totalsize = children.length;
-		int checked = 0;
-		for (int i = 0; i < totalsize; i++) {
-			File child = children[i];
-			String name = child.getName();
-			if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-				child = getFileFromPACKEDJAR(child);
-			}
-			if (child != null) {
-				String bundleName = getBundleName(child.getName());
-				if (bundleName != null && !breeExceptions.contains(bundleName)) {
-					checked++;
-					String bree = getBREEFromJAR(child);
-					if (bree != null && bree.length() > 0) {
-						// has BREE, confirm is java file
-						if (containsJava(child)) {
-							incrementCounts(javaWithBree, bree);
-						}
-						else {
-							trackFalseInclusions(nonjavaWithBree, child);
-							failuresOccured = true;
-						}
-					}
-					else {
-						// no BREE, confirm is non-java
-						if (containsJava(child)) {
-							trackOmissions(javaWithoutBree, child);
-							failuresOccured = true;
-						}
-						else {
-							nonJavaNoBREE++;
-						}
-					}
-				}
-			}
-		}
-		System.out.println("   Checked " + checked + " of " + totalsize + ".");
-
-		System.out.println("  Bundles with correct BREE:");
-		System.out.println("   Java with BREE: " + totalCount(javaWithBree));
-		System.out.println("   Non Java without BREE:" + nonJavaNoBREE);
-		System.out.println("    Distribution of BREEs: ");
-		Set allBREEs = javaWithBree.keySet();
-		for (Object object : allBREEs) {
-			Integer count = (Integer) javaWithBree.get(object);
-			System.out.println("   " + count.intValue() + "  " + object);
-		}
-
-		System.out.println("  Bundles with incorrect BREE:");
-		System.out.println("    Java Bundles without BREE: " + javaWithoutBree.size());
-		Collections.sort(javaWithoutBree);
-		for (Iterator iterator = javaWithoutBree.iterator(); iterator.hasNext();) {
-			Object object = (Object) iterator.next();
-			System.out.println("       " + object);
-		}
-		System.out.println("    Non Java Bundles with BREE: " + nonjavaWithBree.size());
-		Collections.sort(nonjavaWithBree);
-		for (Iterator iterator = nonjavaWithBree.iterator(); iterator.hasNext();) {
-			Object object = (Object) iterator.next();
-			System.out.println("       " + object);
-		}
-
-		return failuresOccured;
-	}
-
-	private int totalCount(Map javaWithBree) {
-
-		Collection allCounts = javaWithBree.values();
-		int total = 0;
-		for (Iterator iterator = allCounts.iterator(); iterator.hasNext();) {
-			Integer count = (Integer) iterator.next();
-			total = total + count.intValue();
-		}
-		return total;
-	}
-
-	private void trackOmissions(List javaWithoutBree, File child) {
-		javaWithoutBree.add(child.getName());
-
-	}
-
-	private void trackFalseInclusions(List list, File child) {
-		list.add(child.getName());
-
-	}
-
-	private void incrementCounts(Map breeMap, String bree) {
-		Integer count = (Integer) breeMap.get(bree);
-		if (count == null) {
-			breeMap.put(bree, new Integer(1));
-		}
-		else {
-			breeMap.put(bree, increment(count));
-		}
-
-	}
-
-	private Integer increment(Integer count) {
-		return new Integer(count.intValue() + 1);
-	}
-
-	private boolean containsJava(File jarfile) {
-		// We assume the file is a 'jar' file.
-		boolean containsJava = false;
-		JarFile jar = null;
-		try {
-			jar = new JarFile(jarfile, false, ZipFile.OPEN_READ);
-			Enumeration<JarEntry> entries = jar.entries();
-			while (entries.hasMoreElements()) {
-				JarEntry entry = entries.nextElement();
-				if (entry.getName().endsWith(".class")) {
-					containsJava = true;
-					break;
-				}
-				else if (entry.getName().endsWith(".jar")) {
-					InputStream input = jar.getInputStream(entry);
-					if (containsJava(input)) {
-						containsJava = true;
-						break;
-					}
-				}
-			}
-
-		}
-		catch (IOException e) {
-			System.out.println(e.getMessage());
-		}
-		finally {
-			if (jar != null)
-				try {
-					jar.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-		return containsJava;
-	}
-
-	private boolean containsJava(InputStream input) {
-		// We assume the file is a 'jar' file.
-		boolean containsJava = false;
-
-		try {
-			JarInputStream jarInputStream = new JarInputStream(input);
-			while (jarInputStream.available() > 0) {
-				ZipEntry entry = jarInputStream.getNextEntry();
-				if (entry != null) {
-					if (entry.getName().endsWith(".class")) {
-						containsJava = true;
-						break;
-					}
-				}
-			}
-
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-		return containsJava;
-	}
-
-	private String getBundleName(String fullname) {
-		String result = null;
-		boolean parsable = nameParser.parse(fullname);
-		if (parsable) {
-			result = nameParser.getProjectString();
-		}
-		return result;
-	}
-
-	/*
-	 * Return the bundle id from the manifest pointed to by the given input
-	 * stream.
-	 */
-	private String getBREEFromManifest(InputStream input, String path) {
-		String bree = null;
-		try {
-			Map attributes = ManifestElement.parseBundleManifest(input, null);
-			bree = (String) attributes.get(PROPERTY_BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT);
-		}
-		catch (BundleException e) {
-			e.printStackTrace();
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-
-		return bree;
-	}
-
-	/*
-	 * The given file points to a bundle contained in an archive. Look into
-	 * the bundle manifest file to find the bundle identifier.
-	 */
-	private File getFileFromPACKEDJAR(File file) {
-		String id = null;
-		JarFile jar = null;
-		File tmpjar = null;
-		try {
-			JarProcessor jarprocessor = JarProcessor.getUnpackProcessor(null);
-			jarprocessor.setWorkingDirectory(getTempWorkingDir());
-			tmpjar = jarprocessor.processJar(file);
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-			tmpjar = null;
-		}
-		return tmpjar;
-	}
-
-	public String getTempWorkingDir() {
-		return tempWorkingDir;
-	}
-
-	public void setTempWorkingDir(String tempWorkingDir) {
-		this.tempWorkingDir = tempWorkingDir;
-	}
-
-	/*
-	 * The given file points to a bundle contained in an archive. Look into
-	 * the bundle manifest file to find the bundle identifier.
-	 */
-	private String getBREEFromJAR(File file) {
-		InputStream input = null;
-		JarFile jar = null;
-		try {
-			jar = new JarFile(file, false, ZipFile.OPEN_READ);
-			JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-			if (entry == null) {
-				// addError("Bundle does not contain a MANIFEST.MF file: " +
-				// file.getAbsolutePath());
-				return null;
-			}
-			input = jar.getInputStream(entry);
-			return getBREEFromManifest(input, file.getAbsolutePath());
-		}
-		catch (IOException e) {
-			System.out.println(e.getMessage());
-			// addError(e.getMessage());
-			return null;
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-			if (jar != null)
-				try {
-					jar.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-}
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/FullJarNameParser.java b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/FullJarNameParser.java
deleted file mode 100644
index 3627e7e..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/FullJarNameParser.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.galileo.tests;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-class FullJarNameParser {
-
-	private static final boolean DEBUG = false;
-	// simplified pattern: (ID) '_' (N '.' M '.' O '.' S) '.jar'
-	private String START_GROUP = "(";
-	private String END_GROUP = ")";
-	private String UNDERSCORE = "_";
-	private String BACKSLASH = "\\";
-	private String LITERAL_PERIOD = BACKSLASH + ".";
-	private String ANYDIGITS = BACKSLASH + "d" + "*";
-	private String ANY = ".*";
-	private Pattern pattern = Pattern.compile(START_GROUP + ANY + END_GROUP + UNDERSCORE + START_GROUP + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + START_GROUP + LITERAL_PERIOD + ANY + END_GROUP + "?" + END_GROUP);
-
-	private String projectString;
-	private String versionString;
-
-
-
-	public FullJarNameParser() {
-		super();
-	}
-
-	public boolean parse(String line) {
-		boolean result = false;
-		projectString = "";
-		versionString = "";
-		Matcher matcher = pattern.matcher(line);
-
-		if (!matcher.matches()) {
-			result = false;
-			if (DEBUG) {
-				System.out.println();
-				System.out.println("\tthe line did not match parse rule: ");
-				System.out.println("\t" + line);
-				System.out.println();
-			}
-		}
-		else {
-			projectString = matcher.group(1);
-			versionString = matcher.group(2);
-			result = true;
-			if (DEBUG) {
-				System.out.println(projectString);
-				System.out.println(versionString);
-				System.out.println();
-			}
-		}
-		return result;
-	}
-
-
-	public String getProjectString() {
-		return projectString;
-	}
-
-
-
-	public String getVersionString() {
-		return versionString;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/Pack200Test.java b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/Pack200Test.java
deleted file mode 100644
index 5665d4b..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/Pack200Test.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.galileo.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarInputStream;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @since 3.3
- */
-public class Pack200Test extends TestCase {
-
-	private static final String EXTENSION_JAR = ".jar";
-	private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-	private static final String EXTENSION_ZIP = ".zip";
-	private FullJarNameParser nameParser = new FullJarNameParser();
-	private String BACKSLASH = "\\";
-	private String LITERAL_PERIOD = BACKSLASH + ".";
-	private String ANY = ".*";
-
-	public static void main(String[] args) {
-		System.out.println("start Pack200Test main");
-		Pack200Test testlayout = new Pack200Test();
-		testlayout.setDirectoryToCheck("D:\\temptest");
-		testlayout.testBundlePack();
-
-	}
-
-	public static Test suite() {
-		return new TestSuite(Pack200Test.class);
-	}
-
-	private String directoryToCheck;
-
-
-	public String getDirectoryToCheck() {
-		return directoryToCheck;
-	}
-
-	public void setDirectoryToCheck(String bundleDirToCheck) {
-		this.directoryToCheck = bundleDirToCheck;
-	}
-
-	public boolean testBundlePack() {
-
-		String property = getDirectoryToCheck();
-		assertNotNull("Need to set input directory to check against.", property);
-		String bundleDirectory = null;
-		if (property.endsWith("/")) {
-			bundleDirectory = property + "plugins";
-		}
-		else {
-			bundleDirectory = property + "/plugins";
-		}
-		File inputdir = new File(bundleDirectory);
-		assertTrue("bundle direcotry (" + bundleDirectory + ") must be an existing directory.", inputdir.exists() && inputdir.isDirectory());
-		System.out.println(" List Bundles not packed.");
-		boolean failuresOccured = checkFilesPacked(inputdir);
-		return failuresOccured;
-	}
-
-	private boolean checkFilesPacked(File inputdir) {
-		// reset/initialize errors
-		List errors = new ArrayList();
-		boolean failuresOccured = false;
-		File[] children = inputdir.listFiles();
-		int totalsize = children.length;
-		int checked = 0;
-		for (int i = 0; i < totalsize; i++) {
-			File child = children[i];
-			String name = child.getName();
-			// assume directory if not file
-			if (child.isFile()) {
-				checked++;
-				if (!name.endsWith(EXTENSION_PACEKD_JAR)) {
-					String basicName = getBasicName(name, EXTENSION_JAR);
-					boolean valid = nameParser.parse(basicName);
-					String bundlename = basicName;
-					if (!valid) {
-						errors.add(name + " does not have a valid version (it is unparsable)");
-					}
-					else {
-						if (containsJava(child)) {
-							bundlename = nameParser.getProjectString();
-							errors.add(name + " is not packed");
-						}
-					}
-				}
-			}
-
-		}
-		System.out.println("   Checked " + checked + " of " + totalsize + ".");
-		System.out.println("   Errors found: " + errors.size());
-
-		if (errors.size() > 0) {
-			Collections.sort(errors);
-			for (Iterator iter = errors.iterator(); iter.hasNext();) {
-				System.out.println(iter.next());
-			}
-			System.out.println("Errors in pack200 rule. Check error log for details.");
-			failuresOccured = true;
-		}
-		return failuresOccured;
-	}
-
-	private boolean containsJava(File jarfile) {
-		// We assume the file is a 'jar' file.
-		boolean containsJava = false;
-		JarFile jar = null;
-		try {
-			jar = new JarFile(jarfile, false, ZipFile.OPEN_READ);
-			Enumeration<JarEntry> entries = jar.entries();
-			while (entries.hasMoreElements()) {
-				JarEntry entry = entries.nextElement();
-				if (entry.getName().endsWith(".class")) {
-					containsJava = true;
-					break;
-				}
-				else if (entry.getName().endsWith(".jar")) {
-					InputStream input = jar.getInputStream(entry);
-					if (containsJava(input)) {
-						containsJava = true;
-						break;
-					}
-				}
-			}
-
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-		finally {
-			if (jar != null)
-				try {
-					jar.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-		return containsJava;
-	}
-
-	private boolean containsJava(InputStream input) {
-		// We assume the file is a 'jar' file.
-		boolean containsJava = false;
-
-		try {
-			JarInputStream jarInputStream = new JarInputStream(input);
-			while (jarInputStream.available() > 0) {
-				ZipEntry entry = jarInputStream.getNextEntry();
-				if (entry != null) {
-					if (entry.getName().endsWith(".class")) {
-						containsJava = true;
-						break;
-					}
-				}
-			}
-
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-		return containsJava;
-	}
-
-	private String getBasicName(String fullname, String extension) {
-		String result = fullname;
-		int pos = fullname.lastIndexOf(extension);
-		if (pos >= 0) {
-			result = fullname.substring(0, pos);
-		}
-		return result;
-	}
-}
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/TestLayoutTask.java b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/TestLayoutTask.java
deleted file mode 100644
index 4d3d79d..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/TestLayoutTask.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.galileo.tests;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-public class TestLayoutTask extends Task {
-
-	private String directoryToCheck;
-	private String tempWorkingDir;
-	private boolean failuresOccurred = false;
-	private boolean featureFailures = false;
-	private boolean bundleFailures = false;
-
-	@Override
-	public void execute() throws BuildException {
-		
-		System.out.println("Starting BREE Rule Test");
-		BREETest breeTest = new BREETest();
-		breeTest.setDirectoryToCheck(getDirectoryToCheck());
-		breeTest.setTempWorkingDir(getTempWorkingDir());
-		bundleFailures = breeTest.testBREESettingRule();
-		if (bundleFailures) {
-			setFailuresOccurred(true);
-		}
-		
-		System.out.println("Starting Version Form Test");
-		Pack200Test packTest = new Pack200Test();
-		packTest.setDirectoryToCheck(getDirectoryToCheck());
-		bundleFailures = packTest.testBundlePack();
-		if (bundleFailures) {
-			setFailuresOccurred(true);
-		}
-		
-		System.out.println("Starting Version Form Test");
-		VersionTest versionTest = new VersionTest();
-		versionTest.setDirectoryToCheck(getDirectoryToCheck());
-		featureFailures = versionTest.testFeatureVersions();
-		bundleFailures = versionTest.testBundleVersions();
-		if (featureFailures || bundleFailures) {
-			setFailuresOccurred(true);
-		}
-		
-		System.out.println("Starting TestLayoutTask");
-		TestLayoutTest test = new TestLayoutTest();
-		test.setDirectoryToCheck(getDirectoryToCheck());
-		test.setTempWorkingDir(getTempWorkingDir());
-		featureFailures = test.testFeatureLayout();
-		bundleFailures = test.testBundleLayout();
-		if (featureFailures || bundleFailures) {
-			setFailuresOccurred(true);
-		}
-	}
-
-	public String getDirectoryToCheck() {
-		return directoryToCheck;
-	}
-
-	public void setDirectoryToCheck(String bundleDirToCheck) {
-		this.directoryToCheck = bundleDirToCheck;
-	}
-
-	public String getTempWorkingDir() {
-		return tempWorkingDir;
-	}
-
-	public void setTempWorkingDir(String tempWorkingDir) {
-		this.tempWorkingDir = tempWorkingDir;
-	}
-
-	public boolean isFailuresOccurred() {
-		return failuresOccurred;
-	}
-
-	public void setFailuresOccurred(boolean failuresOccurred) {
-		this.failuresOccurred = failuresOccurred;
-	}
-
-}
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/TestLayoutTest.java b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/TestLayoutTest.java
deleted file mode 100644
index 6381a0a..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/TestLayoutTest.java
+++ /dev/null
@@ -1,713 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.galileo.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.regex.PatternSyntaxException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @since 3.3
- */
-public class TestLayoutTest extends TestCase {
-
-	private static final String EXTENSION_JAR = ".jar";
-	private static final String EXTENSION_PACEKD_JAR = ".pack.gz";
-	private static final String EXTENSION_ZIP = ".zip";
-	private static final String PROPERTY_BUNDLE_ID = "Bundle-SymbolicName";
-	private String configFilename = "config.properties";
-	private static final String KEY_DFT_BIN_JAR = "default.binary.jar";
-	private static final String KEY_DFT_SRC_JAR = "default.source.jar";
-	private static final String KEY_DFT_BIN_ZIP = "default.binary.zip";
-	private static final String KEY_DFT_SRC_ZIP = "default.source.zip";
-	private static final String KEY_DFT_FEATURE = "default.feature";
-	private Properties config;
-	private List errors = new ArrayList();
-	private String directoryToCheck;
-	private String tempWorkingDir;
-
-	public static void main(String[] args) {
-		System.out.println("start TestLayoutTest main");
-		TestLayoutTest testlayout = new TestLayoutTest();
-		testlayout.setDirectoryToCheck("D:\\temptest");
-		testlayout.setTempWorkingDir("D:/temp");
-		testlayout.testFeatureLayout();
-		testlayout.testBundleLayout();
-
-	}
-
-	public static Test suite() {
-		return new TestSuite(TestLayoutTest.class);
-	}
-
-	private void addError(String message) {
-		errors.add(message);
-	}
-
-	public boolean testBundleLayout() {
-
-		errors = new ArrayList();
-		boolean failuresOccured = false;
-		String property = getDirectoryToCheck();
-		assertNotNull("Need to set input directory to check against.", property);
-		String bundleDirectory = null;
-		if (property.endsWith("/")) {
-			bundleDirectory = property + "plugins";
-		}
-		else {
-			bundleDirectory = property + "/plugins";
-		}
-		File inputdir = new File(bundleDirectory);
-		assertTrue("bundle direcotry (" + bundleDirectory + ") must be an existing directory.", inputdir.exists() && inputdir.isDirectory());
-		File[] children = inputdir.listFiles();
-		int totalsize = children.length;
-		int checked = 0;
-		for (int i = 0; i < children.length; i++) {
-			File child = children[i];
-			if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-				child = getFileFromPACKEDJAR(child);
-			}
-			if (child != null) {
-				String id = getBundleId(child);
-				if (id != null) {
-					if (id.endsWith(".source") || id.endsWith(".infopop") || id.endsWith(".doc.user") || id.endsWith(".doc") || id.endsWith(".doc.isv") || id.endsWith(".doc.dev") || id.endsWith(".doc.api") || id.endsWith("standard.schemas") || id.endsWith(".branding")) {
-						processBundle(child, getExpected(id, true, child.getName().endsWith(EXTENSION_ZIP)));
-						checked++;
-					}
-					else {
-						processBundle(child, getExpected(id, false, child.getName().endsWith(EXTENSION_ZIP)));
-						checked++;
-					}
-				}
-			}
-		}
-		System.out.println("   Checked " + checked + " of " + totalsize + ".");
-		System.out.println("   Errors found: " + errors.size());
-		
-		if (errors.size() > 0) {
-			Collections.sort(errors);
-			for (Iterator iter = errors.iterator(); iter.hasNext();) {
-				System.out.println(iter.next());
-			}
-			System.out.println("Errors in bundle layout. Check error log for details.");
-			failuresOccured = true;
-		}
-		return failuresOccured;
-	}
-
-	/*
-	 * Check the configuration file and return a set of regular expressions
-	 * which match the list of files that are expected to be in the bundle.
-	 */
-	private Set getExpected(String id, boolean source, boolean zip) {
-		// is the config cached?
-		if (config == null) {
-			getConfig();
-		}
-		String line = config.getProperty(id);
-		if (line == null) {
-			if (source)
-				line = zip ? config.getProperty(KEY_DFT_SRC_ZIP) : config.getProperty(KEY_DFT_SRC_JAR);
-			else
-				line = zip ? config.getProperty(KEY_DFT_BIN_ZIP) : config.getProperty(KEY_DFT_BIN_JAR);
-		}
-		if (line == null)
-			fail("Unable to load settings for: " + id);
-		Set result = new HashSet();
-		for (StringTokenizer tokenizer = new StringTokenizer(line, ","); tokenizer.hasMoreTokens();)
-			result.add(tokenizer.nextToken().trim());
-		return result;
-	}
-
-	private Set getFeatureExpected(String id, boolean source, boolean zip) {
-		// is the config cached?
-		if (config == null) {
-			getConfig();
-		}
-		String line = config.getProperty(id);
-		if (line == null) {
-			line = config.getProperty(KEY_DFT_FEATURE);
-		}
-		if (line == null)
-			fail("Unable to load settings for: " + id);
-		Set result = new HashSet();
-		for (StringTokenizer tokenizer = new StringTokenizer(line, ","); tokenizer.hasMoreTokens();)
-			result.add(tokenizer.nextToken().trim());
-		return result;
-	}
-
-	private void getConfig() {
-		config = new Properties();
-		InputStream input = null;
-		try {
-			// if we can read this file, it's been set by caller
-			File configFile = new File(getConfigFilename());
-			if (configFile.exists()) {
-				input = new FileInputStream(configFile);
-			}
-			else {
-				// else, use the default we "ship"
-				input = this.getClass().getResourceAsStream(getConfigFilename());
-			}
-
-			assertNotNull("Unable to load configuration file.", input);
-			config.load(input);
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-			fail(e.getMessage());
-		}
-		finally {
-			try {
-				if (input != null)
-					input.close();
-			}
-			catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * Process the bundle at the specified location, with the given set of
-	 * expected results.
-	 */
-	private void processBundle(File file, Set expected) {
-		if (file.isDirectory()) {
-			String[] array = (String[]) expected.toArray(new String[expected.size()]);
-			processDir("", file, array);
-			for (int i = 0; i < array.length; i++)
-				if (array[i] != null)
-					addError("Missing pattern: " + array[i] + " in dir: " + file.getAbsolutePath());
-		}
-		else
-			processArchive(file, (String[]) expected.toArray(new String[expected.size()]));
-	}
-
-	private void processFeature(File file, Set expected) {
-		if (file.isDirectory()) {
-			String[] array = (String[]) expected.toArray(new String[expected.size()]);
-			processDir("", file, array);
-			for (int i = 0; i < array.length; i++)
-				if (array[i] != null)
-					addError("Missing pattern: " + array[i] + " in dir: " + file.getAbsolutePath());
-		}
-		else
-			processArchive(file, (String[]) expected.toArray(new String[expected.size()]));
-	}
-
-	/*
-	 * The bundle is an archive. Make sure it has the right contents.
-	 */
-	private void processArchive(File file, String[] expected) {
-		ZipFile zip = null;
-		try {
-			zip = new ZipFile(file, ZipFile.OPEN_READ);
-			for (Enumeration e = zip.entries(); e.hasMoreElements();) {
-				ZipEntry entry = (ZipEntry) e.nextElement();
-				String name = entry.getName();
-				for (int i = 0; i < expected.length; i++) {
-					String pattern = expected[i];
-					if (pattern == null)
-						continue;
-					try {
-						if (name.matches(pattern))
-							expected[i] = null;
-					}
-					catch (PatternSyntaxException ex) {
-						ex.printStackTrace();
-						fail(ex.getMessage());
-					}
-				}
-			}
-			for (int i = 0; i < expected.length; i++) {
-				if (expected[i] != null)
-					addError("Missing pattern: " + expected[i] + " in file: " + file.getAbsolutePath());
-			}
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-			fail(e.getMessage());
-		}
-		finally {
-			if (zip != null)
-				try {
-					zip.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-
-	/*
-	 * The bundle is in a directory.
-	 */
-	private void processDir(String root, File dir, String[] expected) {
-		File[] children = dir.listFiles();
-		for (int index = 0; index < children.length; index++) {
-			File child = children[index];
-			String name = root.length() == 0 ? child.getName() : root + '/' + child.getName();
-			if (child.isDirectory()) {
-				processDir(name, child, expected);
-				continue;
-			}
-			for (int i = 0; i < expected.length; i++) {
-				String pattern = expected[i];
-				if (pattern == null)
-					continue;
-				try {
-					if (name.matches(pattern))
-						expected[i] = null;
-				}
-				catch (PatternSyntaxException ex) {
-					// ex.printStackTrace();
-					addError(ex.getMessage());
-					continue;
-				}
-			}
-		}
-	}
-
-	/*
-	 * Return the bundle id from the manifest pointed to by the given input
-	 * stream.
-	 */
-	private String getBundleIdFromManifest(InputStream input, String path) {
-		String id = null;
-		try {
-			Map attributes = ManifestElement.parseBundleManifest(input, null);
-			id = (String) attributes.get(PROPERTY_BUNDLE_ID);
-			if (id == null || id.length() == 0) {
-				addError("BundleSymbolicName header not set in manifest for bundle: " + path);
-			}
-			else {
-				// identifier can be followed by attributes such as
-				// 'singleton'
-				int pos = id.indexOf(';');
-				if (pos > 0) {
-					id = id.substring(0, pos);
-				}
-			}
-
-		}
-		catch (BundleException e) {
-			// e.printStackTrace();
-			addError(e.getMessage());
-		}
-		catch (IOException e) {
-			// e.printStackTrace();
-			addError(e.getMessage());
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-
-		return id;
-	}
-
-	/*
-	 * Return the bundle identifier for the bundle contained in the given
-	 * archive/directory.
-	 */
-	private String getBundleId(File file) {
-		String id = null;
-		if (file.isDirectory())
-			id = getBundleIdFromDir(file);
-		else if (file.getName().toLowerCase().endsWith(EXTENSION_ZIP))
-			id = getBundleIdFromZIP(file);
-		else if (file.getName().toLowerCase().endsWith(EXTENSION_JAR))
-			id = getBundleIdFromJAR(file);
-		return id;
-	}
-
-	private String getBundleIdFromZIP(File file) {
-		ZipFile zip = null;
-		try {
-			zip = new ZipFile(file);
-			for (Enumeration e = zip.entries(); e.hasMoreElements();) {
-				ZipEntry entry = (ZipEntry) e.nextElement();
-				if (entry.getName().matches("^.*/" + JarFile.MANIFEST_NAME)) {
-					InputStream input = zip.getInputStream(entry);
-					try {
-						return getBundleIdFromManifest(input, file.getAbsolutePath());
-					}
-					finally {
-						try {
-							input.close();
-						}
-						catch (IOException ex) {
-							// ignore
-						}
-					}
-				}
-			}
-		}
-		catch (IOException ex) {
-			// ex.printStackTrace();
-			addError(ex.getMessage());
-		}
-		finally {
-			try {
-				zip.close();
-			}
-			catch (IOException ex) {
-				// ignore
-			}
-		}
-		addError("Bundle manifest (MANIFEST.MF) not found in bundle: " + file.getAbsolutePath());
-		return null;
-	}
-
-	/*
-	 * The given file points to an expanded bundle on disc. Look into the
-	 * bundle manifest file to find the bundle identifier.
-	 */
-	private String getBundleIdFromDir(File dir) {
-		String id = null;
-		File manifestFile = new File(dir, JarFile.MANIFEST_NAME);
-		if (!manifestFile.exists() || !manifestFile.isFile()) {
-			addError("Bundle manifest (MANIFEST.MF) not found at: " + manifestFile.getAbsolutePath());
-		}
-		else {
-			try {
-				id = getBundleIdFromManifest(new FileInputStream(manifestFile), manifestFile.getAbsolutePath());
-			}
-			catch (FileNotFoundException e) {
-				// e.printStackTrace();
-				addError(e.getMessage());
-			}
-		}
-		return id;
-	}
-
-	/*
-	 * The given file points to a bundle contained in an archive. Look into
-	 * the bundle manifest file to find the bundle identifier.
-	 */
-	private File getFileFromPACKEDJAR(File file) {
-		String id = null;
-		JarFile jar = null;
-		File tmpjar = null;
-		try {
-			JarProcessor jarprocessor = JarProcessor.getUnpackProcessor(null);
-			jarprocessor.setWorkingDirectory(getTempWorkingDir());
-			tmpjar = jarprocessor.processJar(file);
-		}
-		catch (IOException e) {
-			addError(e.getMessage());
-			tmpjar = null;
-		}
-		return tmpjar;
-	}
-
-	public String getDirectoryToCheck() {
-		return directoryToCheck;
-	}
-
-	public void setDirectoryToCheck(String bundleDirToCheck) {
-		this.directoryToCheck = bundleDirToCheck;
-	}
-
-	public String getConfigFilename() {
-		return configFilename;
-	}
-
-	public void setConfigFilename(String configFilename) {
-		this.configFilename = configFilename;
-	}
-
-	/*
-	 * The given file points to a bundle contained in an archive. Look into
-	 * the bundle manifest file to find the bundle identifier.
-	 */
-	private String getBundleIdFromJAR(File file) {
-		InputStream input = null;
-		JarFile jar = null;
-		try {
-			jar = new JarFile(file, false, ZipFile.OPEN_READ);
-			JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-			if (entry == null) {
-				addError("Bundle does not contain a MANIFEST.MF file: " + file.getAbsolutePath());
-				return null;
-			}
-			input = jar.getInputStream(entry);
-			return getBundleIdFromManifest(input, file.getAbsolutePath());
-		}
-		catch (IOException e) {
-			// e.printStackTrace();
-			addError(e.getMessage());
-			return null;
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-			if (jar != null)
-				try {
-					jar.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-	}
-
-	public String getTempWorkingDir() {
-		return tempWorkingDir;
-	}
-
-	public void setTempWorkingDir(String tempWorkingDir) {
-		this.tempWorkingDir = tempWorkingDir;
-	}
-
-	public boolean testFeatureLayout() {
-		
-		errors = new ArrayList();
-		boolean failuresOccurred = false;
-		String property = getDirectoryToCheck();
-		assertNotNull("Need to set input directory to check against.", property);
-		String featureDirectory = null;
-		if (property.endsWith("/")) {
-			featureDirectory = property + "features";
-		}
-		else {
-			featureDirectory = property + "/features";
-		}
-		File inputdir = new File(featureDirectory);
-		assertTrue("feature direcotry (" + featureDirectory + ") must be an existing directory.", inputdir.exists() && inputdir.isDirectory());
-		File[] children = inputdir.listFiles();
-		int totalsize = children.length;
-		int checked = 0;
-		for (int i = 0; i < children.length; i++) {
-			File child = children[i];
-			if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-				child = getFileFromPACKEDJAR(child);
-			}
-			if (child != null) {
-				String id = getFeatureId(child);
-				if (id != null) {
-					processFeature(child, getFeatureExpected(id, true, child.getName().endsWith(EXTENSION_ZIP)));
-					checked++;
-				}
-			}
-		}
-		System.out.println("   Checked " + checked + " of " + totalsize + ".");
-		System.out.println("   Errors found: " + errors.size());
-		if (errors.size() > 0) {
-			Collections.sort(errors);
-			for (Iterator iter = errors.iterator(); iter.hasNext();) {
-				System.out.println(iter.next());
-			}
-			System.out.println("Errors in feature layout. Check error log for details.");
-			failuresOccurred = true;
-		}
-		return failuresOccurred;
-
-	}
-
-	private String getFeatureId(File file) {
-		String id = null;
-		if (file.isDirectory()) {
-			id = getFeatureIdFromDir(file);
-		}
-		else if (file.getName().toLowerCase().endsWith(EXTENSION_JAR)) {
-			id = getFeatureIdFromJAR(file);
-		}
-		return id;
-	}
-
-	private String getFeatureIdFromJAR(File file) {
-		InputStream input = null;
-		JarFile jar = null;
-		String id = null;
-		try {
-			jar = new JarFile(file, false, ZipFile.OPEN_READ);
-			JarEntry entry = jar.getJarEntry("feature.xml");
-			if (entry == null) {
-				addError("Feature jar does not contain a feature.xml file: " + file.getAbsolutePath());
-			}
-			input = jar.getInputStream(entry);
-			id = getFeatureFromFeatureXML(input);
-		}
-		catch (IOException e) {
-			// e.printStackTrace();
-			addError(e.getMessage());
-		}
-		catch (ParserConfigurationException e) {
-			addError(e.getMessage());
-		}
-		catch (SAXException e) {
-			addError(e.getMessage());
-		}
-		finally {
-			if (input != null)
-				try {
-					input.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-			if (jar != null)
-				try {
-					jar.close();
-				}
-				catch (IOException e) {
-					// ignore
-				}
-		}
-		return id;
-	}
-
-	private String getFeatureIdFromDir(File dir) {
-		String id = null;
-		File featureFile = new File(dir, "feature.xml");
-		if (!featureFile.exists() || !featureFile.isFile()) {
-			addError("Feature.xml not found at: " + featureFile.getAbsolutePath());
-		}
-		else {
-			id = getFeatureFromFeatureXML(featureFile);
-		}
-		return id;
-	}
-
-	private String getFeatureFromFeatureXML(File file) {
-		Document document = getDOM(file);
-		return getFeatureIdFromDOM(document);
-	}
-
-	private String getFeatureIdFromDOM(Document document) {
-		String id = null;
-		if (document != null) {
-			NodeList featureElements = document.getElementsByTagName("feature");
-			Element featureElement = null;
-			if (featureElements.getLength() > 0) {
-				Node featureNode = featureElements.item(0);
-				if (featureNode instanceof Element) {
-					featureElement = (Element) featureNode;
-				}
-			}
-			if (featureElement != null) {
-				NamedNodeMap aNamedNodeMap = featureElement.getAttributes();
-				Node idAttribute = aNamedNodeMap.getNamedItem("id");
-				id = idAttribute.getNodeValue();
-			}
-		}
-		return id;
-	}
-
-	private String getFeatureFromFeatureXML(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
-		Document document = getDOM(stream);
-		return getFeatureIdFromDOM(document);
-	}
-
-	private Document getDOM(File file) {
-
-		Document aDocument = null;
-		BufferedReader reader = null;
-		try {
-			reader = new BufferedReader(new FileReader(file));
-			InputSource inputSource = new InputSource(reader);
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder builder = factory.newDocumentBuilder();
-			aDocument = builder.parse(inputSource);
-		}
-		catch (SAXException e) {
-			e.printStackTrace();
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-		catch (ParserConfigurationException e) {
-			e.printStackTrace();
-		}
-		finally {
-			if (reader != null) {
-				try {
-					reader.close();
-				}
-				catch (IOException e) {
-					// ignore this one
-				}
-			}
-		}
-
-		if (aDocument == null) {
-			String msg = "Error: could not parse xml in classpath file: " + file.getAbsolutePath();
-			throw new BuildException(msg);
-		}
-		return aDocument;
-
-	}
-
-	private Document getDOM(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
-
-		Document aDocument = null;
-		InputSource inputSource = new InputSource(stream);
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder builder = factory.newDocumentBuilder();
-		aDocument = builder.parse(inputSource);
-
-		return aDocument;
-
-	}
-}
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/VersionTest.java b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/VersionTest.java
deleted file mode 100644
index 3a09fbc..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/VersionTest.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.galileo.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @since 3.3
- */
-public class VersionTest extends TestCase {
-
-	private static final String EXTENSION_JAR = ".jar";
-	private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-	private static final String EXTENSION_ZIP = ".zip";
-	FullJarNameParser nameParser = new FullJarNameParser();
-	private String BACKSLASH = "\\";
-	private String LITERAL_PERIOD = BACKSLASH + ".";
-	private String ANY = ".*";
-	private Pattern threedots = Pattern.compile(ANY + LITERAL_PERIOD + ANY + LITERAL_PERIOD + ANY + LITERAL_PERIOD + ANY);
-
-	public static void main(String[] args) {
-		System.out.println("start TestLayoutTest main");
-		VersionTest testlayout = new VersionTest();
-		testlayout.setDirectoryToCheck("D:\\temptest");
-		testlayout.testFeatureVersions();
-		testlayout.testBundleVersions();
-
-	}
-
-	public static Test suite() {
-		return new TestSuite(VersionTest.class);
-	}
-
-	private String directoryToCheck;
-
-
-	public String getDirectoryToCheck() {
-		return directoryToCheck;
-	}
-
-	public void setDirectoryToCheck(String bundleDirToCheck) {
-		this.directoryToCheck = bundleDirToCheck;
-	}
-
-	public boolean testBundleVersions() {
-
-		String property = getDirectoryToCheck();
-		assertNotNull("Need to set input directory to check against.", property);
-		String bundleDirectory = null;
-		if (property.endsWith("/")) {
-			bundleDirectory = property + "plugins";
-		}
-		else {
-			bundleDirectory = property + "/plugins";
-		}
-		File inputdir = new File(bundleDirectory);
-		assertTrue("bundle direcotry (" + bundleDirectory + ") must be an existing directory.", inputdir.exists() && inputdir.isDirectory());
-		System.out.println(" Test Bundle Versions");
-		boolean failuresOccured = checkFilesVersions(inputdir);
-		return failuresOccured;
-	}
-
-	private boolean checkFilesVersions(File inputdir) {
-		// reset/initialize errors
-		List errors = new ArrayList();
-		boolean failuresOccured = false;
-		File[] children = inputdir.listFiles();
-		int totalsize = children.length;
-		int checked = 0;
-		for (int i = 0; i < children.length; i++) {
-			File child = children[i];
-			String name = child.getName();
-			// assume directory if not file
-			if (child.isFile()) {
-				if (name.endsWith(EXTENSION_PACEKD_JAR)) {
-					name = getBasicName(name, EXTENSION_PACEKD_JAR);
-				}
-				else if (name.endsWith(EXTENSION_JAR)) {
-					name = getBasicName(name, EXTENSION_JAR);
-				}
-				else if (name.endsWith(EXTENSION_ZIP)) {
-					name = getBasicName(name, EXTENSION_ZIP);
-				}
-			}
-			checked++;
-			boolean valid = nameParser.parse(name);
-			if (!valid) {
-				errors.add(name + " does not have a valid version (it is unparsable)");
-			}
-			else {
-				String version = nameParser.getVersionString();
-				Matcher matcher = threedots.matcher(version);
-
-				if (!matcher.matches()) {
-					errors.add(name + " does not contain 4 parts");
-				}
-			}
-		}
-		System.out.println("   Checked " + checked + " of " + totalsize + ".");
-		System.out.println("   Errors found: " + errors.size());
-
-		if (errors.size() > 0) {
-			Collections.sort(errors);
-			for (Iterator iter = errors.iterator(); iter.hasNext();) {
-				System.out.println(iter.next());
-			}
-			System.out.println("Errors in versions. Check error log for details.");
-			failuresOccured = true;
-		}
-		return failuresOccured;
-	}
-
-	private String getBasicName(String fullname, String extension) {
-		String result = fullname;
-		int pos = fullname.lastIndexOf(extension);
-		if (pos >= 0) {
-			result = fullname.substring(0, pos);
-		}
-		return result;
-	}
-
-	public boolean testFeatureVersions() {
-
-		String property = getDirectoryToCheck();
-		assertNotNull("Need to set input directory to check against.", property);
-		String featureDirectory = null;
-		if (property.endsWith("/")) {
-			featureDirectory = property + "features";
-		}
-		else {
-			featureDirectory = property + "/features";
-		}
-		File inputdir = new File(featureDirectory);
-		assertTrue("feature direcotry (" + featureDirectory + ") must be an existing directory.", inputdir.exists() && inputdir.isDirectory());
-		System.out.println(" Test Feature Versions");
-		File[] children = inputdir.listFiles();
-		boolean failuresOccured = checkFilesVersions(inputdir);
-		return failuresOccured;
-
-	}
-}
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/config.properties b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/config.properties
deleted file mode 100644
index c4b41a8..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/config.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about.
-default.source.jar = META-INF/MANIFEST\.MF, \
-		about\.html
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR
-default.binary.jar = META-INF/MANIFEST\.MF, \
-		about\.html
-
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about. Note the
-# extra directory entry at the beginning
-default.source.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR. Note the
-# extra directory entry at the beginning
-default.binary.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html
-
-
-# default layout for a feature
-default.feature = license\.html, \
-		epl-v10\.html
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/configHOLD.properties b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/configHOLD.properties
deleted file mode 100644
index 08695af..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/configHOLD.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about.
-default.source.jar = META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR
-default.binary.jar = META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties, \
-		.*\.(class|jar)$
-
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about. Note the
-# extra directory entry at the beginning
-default.source.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html, \
-		^.*/(plugin|bundle)\.properties
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR. Note the
-# extra directory entry at the beginning
-default.binary.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html, \
-		^.*/(plugin|bundle)\.properties, \
-		.*\.(class|jar)$
-
-# special case of a code bundle not containing code ?
-org.eclipse.wst.xsl.saxon= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 
-		
-# special case with no code: branding bundle
-org.eclipse.wst.xsl= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 
-		
-# special case with no code: branding bundle	
-org.eclipse.wst.common.fproj.sdk= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-
-# special case with no code: branding bundle			
-org.eclipse.jst.common.fproj.enablement.jdt.sdk= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-		
-# special case of a bundle with no code		
-org.eclipse.jst.ws.creation.ejb.ui= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-					
\ No newline at end of file
diff --git a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/exceptions.properties b/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/exceptions.properties
deleted file mode 100644
index 64c9bfc..0000000
--- a/org.eclipse.galileo.tests/src/org/eclipse/galileo/tests/exceptions.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-breeExceptions=org.eclipse.swt, \
- org.eclipse.compare.examples.xml, \
- org.eclipse.compare.examples, \
- org.eclipse.sdk.examples, \
- org.eclipse.swt.examples.browser.demos, \
- org.eclipse.swt.examples.browser, \
- org.eclipse.swt.examples.controls, \
- org.eclipse.swt.examples.launcher, \
- org.eclipse.swt.examples.layouts, \
- org.eclipse.swt.examples.ole.win32, \
- org.eclipse.swt.examples.paint, \
- org.eclipse.swt.examples, \
- org.eclipse.team.examples.filesystem, \
- org.eclipse.ui.examples.javaeditor, \
- org.eclipse.compare.examples.xml, \
- org.eclipse.compare.examples, \
- org.eclipse.sdk.examples, \
- org.eclipse.swt.examples.browser.demos, \
- org.eclipse.swt.examples.browser, \
- org.eclipse.swt.examples.controls, \
- org.eclipse.swt.examples.launcher, \
- org.eclipse.swt.examples.layouts, \
- org.eclipse.swt.examples.ole.win32, \
- org.eclipse.swt.examples.paint, \
- org.eclipse.swt.examples, \
- org.eclipse.team.examples.filesystem, \
- org.eclipse.ui.examples.javaeditor, \
diff --git a/org.eclipse.galileo.tests/verify.sh b/org.eclipse.galileo.tests/verify.sh
deleted file mode 100644
index 2881f9c..0000000
--- a/org.eclipse.galileo.tests/verify.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-# echo 
-# echo $(basename $1
-filename="${1}"
-jarname=$(basename "${filename}")
-
-export JAVA_HOME=/shared/common/ibm-java2-ppc-50
-#JAVA_HOME=/shared/common/ibm-java-ppc-604
-#JAVA_HOME=/shared/common/ibm-java-jdk-ppc-60
-
-if [[ -z $VERIFYOUTDIR ]] 
-then
-    VERIFYOUTDIR="${HOME}"/verifyoutput
-fi
-
-if [[ "$jarname" =~ "(.*).pack.gz$" ]]
-then 
-    basejarname=${BASH_REMATCH[1]}
-    #echo -e "\n basejarname: " $basejarname "\n"
-    $JAVA_HOME/jre/bin/unpack200 $filename /tmp/$basejarname
-    #unpack200 $filename /tmp/$basejarname
-    vresult=`$JAVA_HOME/bin/jarsigner -verify /tmp/$basejarname`
-    exitcode=$?
-    rm /tmp/$basejarname
-else
-    #echo -e "\n filename: " $filename "\n"
-    vresult=`$JAVA_HOME/bin/jarsigner -verify $filename`
-    exitcode=$?
-fi
-
-if [[ "${vresult}" =~ "^jar verified.*" ]]
-then
-    printf '%-100s \t\t' "   ${jarname}: " >> "${VERIFYOUTDIR}"/verified.txt 
-    printf '%s\n' " ${vresult} " >> "${VERIFYOUTDIR}"/verified.txt
-elif [[ "${vresult}" =~ "^jar is unsigned.*" ]]
-then
-
-# purposely no line delimiter, so output of jarsigner is on same line
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${VERIFYOUTDIR}"/unsigned.txt 
-    printf '%s\n' " ${vresult} "  >> "${VERIFYOUTDIR}"/unsigned.txt 
-elif [[ "${vresult}" =~ "^no manifest.*" ]]
-then
-
-# purposely no line delimiter, so output of jarsigner is on same line
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${VERIFYOUTDIR}"/nomanifest.txt 
-    printf '%s\n' " ${vresult} "  >> "${VERIFYOUTDIR}"/nomanifest.txt 
-
-else 
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${VERIFYOUTDIR}"/error.txt 
-    printf '%s\n' " ${vresult} "  >> "${VERIFYOUTDIR}"/error.txt 
-fi
- 
-if [[ $exitcode -gt 0 ]]
-then
-
-    echo -e "\n exitcode: " $exitcode: $(basename $filename)" \n"  >> "${VERIFYOUTDIR}"/errorexit.txt  
-fi
-
-
diff --git a/org.eclipse.galileo.tests/verifydir.sh b/org.eclipse.galileo.tests/verifydir.sh
deleted file mode 100644
index 44851b8..0000000
--- a/org.eclipse.galileo.tests/verifydir.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-
-if [ -z $1 ]
-then
-    loc=./
-else
-    loc=${1}
-fi
-if [ -z $2 ]
-then
-    pat=".*\(\.jar$\|\.jar\.pack\.gz$\)"
-else
-    pat="${2}"
-fi
-
-# VERIFYOUTDIR is used in 'verify.sh' and must be clean before
-# beginning
-export VERIFYOUTDIR="${HOME}"/verifyoutdir
-
-# make, in case doesn't exist
-mkdir -p "${VERIFYOUTDIR}"
-
-# even though we just set it above, include the if check 
-# here to gaurd against future errors, since if 'verfiyoutdir' is 
-# not defined, the remove if for the root directory! 
-if [[ -n "${VERIFYOUTDIR}" ]]
-then 
-       rm -fr "${VERIFYOUTDIR}"/*
-fi
-
-echo "   verify directory: ${loc}";
-echo "      for pattern:    ${pat}";
-echo "   output files in " "${VERIFYOUTDIR}" 
-
-find "${loc}" -regex "${pat}" -exec verify.sh '{}' \;
-
diff --git a/org.eclipse.galileo.tools/.classpath b/org.eclipse.galileo.tools/.classpath
deleted file mode 100644
index c835067..0000000
--- a/org.eclipse.galileo.tools/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.galileo.tools/.project b/org.eclipse.galileo.tools/.project
deleted file mode 100644
index e7e9331..0000000
--- a/org.eclipse.galileo.tools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.galileo.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-       <buildSpec>
-              <buildCommand>
-                     <name>org.eclipse.jdt.core.javabuilder</name>
-                     <arguments>
-                     </arguments>
-              </buildCommand>
-              <buildCommand>
-                     <name>org.eclipse.pde.ManifestBuilder</name>
-                     <arguments>
-                     </arguments>
-              </buildCommand>
-              <buildCommand>
-                     <name>org.eclipse.pde.SchemaBuilder</name>
-                     <arguments>
-                     </arguments>
-              </buildCommand>
-       </buildSpec>
-       <natures>
-              <nature>org.eclipse.jdt.core.javanature</nature>
-              <nature>org.eclipse.pde.PluginNature</nature>
-       </natures>
-</projectDescription>
diff --git a/org.eclipse.galileo.tools/.settings/org.eclipse.core.resources.prefs b/org.eclipse.galileo.tools/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 567a3a5..0000000
--- a/org.eclipse.galileo.tools/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Apr 18 18:20:52 EDT 2009
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.galileo.tools/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.galileo.tools/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5b5dd53..0000000
--- a/org.eclipse.galileo.tools/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Apr 18 18:20:52 EDT 2009
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.eclipse.galileo.tools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.galileo.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c4b35c3..0000000
--- a/org.eclipse.galileo.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Sun Jun 07 14:44:37 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.galileo.tools/META-INF/MANIFEST.MF b/org.eclipse.galileo.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index 11c5fbe..0000000
--- a/org.eclipse.galileo.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.galileo.tools
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.galileo.tools/about.html b/org.eclipse.galileo.tools/about.html
deleted file mode 100644
index bcd98a8..0000000
--- a/org.eclipse.galileo.tools/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/ant.sh b/org.eclipse.galileo.tools/ant.sh
deleted file mode 100644
index ced3836..0000000
--- a/org.eclipse.galileo.tools/ant.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-source galileo_properties.shsource
-
-ANT_CMD="${ANT_HOME}/bin/ant"
-${ANT_HOME}/bin/ant "$@"
diff --git a/org.eclipse.galileo.tools/build.properties b/org.eclipse.galileo.tools/build.properties
deleted file mode 100644
index bdfbe6d..0000000
--- a/org.eclipse.galileo.tools/build.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               about.html,\
-               plugin.properties,\
-               ant.sh,\
-               build.xml,\
-               cleanupBuildResults.sh,\
-               galileo.properties,\
-               galileo_properties.shsource,\
-               getBuckminsterBuildUpdate.sh,\
-               getModel.sh,\
-               getPlatform.sh,\
-               getRelengTools.sh,\
-               pauseAll.sh,\
-               promoteToReleases.sh,\
-               promoteToStaging.sh,\
-               removeIf.sh,\
-               runBuckyBuild.sh
diff --git a/org.eclipse.galileo.tools/build.xml b/org.eclipse.galileo.tools/build.xml
deleted file mode 100644
index c899312..0000000
--- a/org.eclipse.galileo.tools/build.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<project name="buckyBuilder" basedir="." default="default">
-
-	<property environment="env"/>
-	<!-- 
-	      This property file name is itself a property, so it 
-	      can be overridden on one machine versus another.
-	      We do it this way, instead of just specifying -propertyFile on 
-	      command line, so that the property values can be "nested" in 
-	      other property values.
-	-->
-	<property name="galileoPropertyFile" value="galileo.properties" />
-	<property file="${galileoPropertyFile}" />
-
-	<target name="updateBuckyBuilder" depends="init">
-		<property name="APP_NAME" value="org.eclipse.equinox.p2.director.app.application" />
-		<property name="OTHER_ARGS" value="-metadataRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -artifactRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -installIU org.eclipse.buckminster.galileo.builder.feature.feature.group" />
-		<!--
-		    usually do not need the version, just to "get the latest" from buckminster builder site
-		    -version 1.0.0.v20090415-1651
-		-->
-		<property name="VM_ARGS" value="-vmargs -Xmx256m" />
-
-		<exec executable="/bin/sh" dir="${basedir}" failonerror="true">
-			<arg line="${basedir}/getPlatform.sh"/>
-		</exec>
-
-		<exec executable="${eclipseExecutable}" dir="${basedir}" failonerror="true">
-			<arg line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_EXEC_DIR} -application ${APP_NAME} ${OTHER_ARGS} ${VM_ARGS}" />
-		</exec>
-	</target>
-
-	<target name="getModel" unless="SKIP_MODEL_RETRIEVE">
-		<echo message="   removing all of previous project ..." />
-		<delete dir="${BUILD_HOME}/org.eclipse.galileo.build" />
-          
-              <cvs failonerror="true" cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/callisto" package="org.eclipse.galileo.build" dest="${BUILD_HOME}" command="export" tag="HEAD" />
-		<!--
-		<cvs failonerror="true" cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/callisto" package="org.eclipse.galileo.build" dest="${BUILD_HOME}" command="export" tag="david_williams_tempBranch1" />
-		-->
-	</target>
-
-	<target name="runBuckyBuild" depends="init,getModel">
-
-		<!-- 
-		     If not otherwise set in properties file, use these values. Note
-		     the build.eclipse.org production machine must override these values
-		     for property values appropriate for it. 
-		-->
-		
-		<property name="BUILDER_APP_ARGS" value="-buildModel ${BUILD_HOME}/org.eclipse.galileo.build/galileo.build -buildRoot ${BUILD_RESULTS} -mirrorReferences -packedStrategy verify -brandingContribution Galileo -trustedContributions Eclipse,Equinox -logLevel DEBUG  -emailFromName GalileoBuilder -logURL ${logURL}"/>
-		<!-- 
-		     Important: on any non-production machines it is important to _not_ use eclipse.p2.mirrors=false, so this value should be supplied by calling script's properties.
-		     Note, we include '-vmargs' here, in case there are not any. Not sure if the use of -vmargs _requires_ arguments or not, but probably would.
-		     
-		     note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-		     (should not actually be required ... but have left note for historical reference)
-		     
-		     note: rememeber that JAVA_6 PPC should not be used for jar processor, see for example, 
-		     bug 244603 and bug 279596. 
-		     
-		-->
-		<property name="BUILDER_VM_ARGS" value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin" />
-
-		<exec executable="${eclipseExecutable}" dir="${basedir}" failonerror="true">
-			<arg line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_5_HOME}/jre/bin -application org.eclipse.buckminster.galileo.builder.app -buildId ${buildId} ${BUILDER_APP_ARGS} ${BUILDER_VM_ARGS}" />
-		</exec>
-
-	</target>
-
-	<target name="init" depends="getTimestamp">
-
-		<!-- I don't think we really need a letter prefix ... break habits! --> 
-		<property name="buildId" value="${buildTimestamp}" />
-
-		
-		<!-- if we are not runing in Huson, we some up with a reasonable default --> 
-               <condition
-                   property="hudsonHome"
-                   value="${env.HUDSON_HOME}"
-                   else="${basedir}">
-                   <isset
-                       property="env.HUDSON_HOME" />
-               </condition>
-               <condition
-                   property="jobName"
-                   value="${env.JOB_NAME}"
-                   else="localBuild">
-                   <isset
-                       property="env.JOB_NAME" />
-               </condition>
-               <condition
-                   property="logURL"
-                   value="${LOG_URL}"
-                   else="${env.HOSTNAME}">
-                   <isset
-                       property="LOG_URL" />
-               </condition>
-       		
-       	<property name="eclipseWorkspace" value="${hudsonHome}/jobs/${jobName}/builds/${buildId}/eclipseworkspace" />
-              <property name="eclipseExecutable" value="${ECLIPSE_EXE}" />
-       
-       	<echo message="galileoPropertyFile: ${galileoPropertyFile}" />
-       	<echo message="buildId: ${buildId}" />
-       	<echo message="hudsonHome: ${hudsonHome}" /> 
-       	<echo message="user.dir: ${user.dir}" />
-       	<echo message="user.home: ${user.home}" />
-       	<echo message="Hudson WORKSPACE: ${env.WORKSPACE}" />
-       	<echo message="Eclipse WORKSPACE: ${eclipseWorkspace}" />
-       	<echo message="PATH: ${env.PATH}" />
-       	<echo message="JAVA_HOME: ${env.JAVA_HOME}" />
-              <echo message="HOSTNAME: ${env.HOSTNAME}" />
-       	<echo message="JOB_NAME: ${env.JOB_NAME}" />
-       	<echo message="BUILD_NUMBER: ${env.BUILD_NUMBER}" />
-       	<echo message="logURL: ${logURL}" />
-       	<echo message="ECLIPSE_EXE:  ${ECLIPSE_EXE}" />
-       	<echo message="BUILDER_APP_ARGS: ${BUILDER_APP_ARGS}" />
-              <echo message="BUILDER_VM_ARGS: ${BUILDER_VM_ARGS}" />
-
-	</target>
-
-	<target name="getTimestamp" depends="getHudsonTimestamp" unless="buildTimestamp">
-		<tstamp>
-			<format property="buildTimestamp" pattern="yyyy-MM-dd_HH-mm-ss" timezone="UTC_TIME" />
-		</tstamp>
-		<echo message="Using ant computed timestamp" />
-	</target>
-	<target name="getHudsonTimestamp" if="env.BUILD_ID">
-		<property name="buildTimestamp" value="${env.BUILD_ID}" />	
-		<echo message="Using timestamp from Hudson Build ID" />
-	</target>
-	<target name="default">
-		<echo message="There is no default target for this build file" />
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/cleanupBuildResults.sh b/org.eclipse.galileo.tools/cleanupBuildResults.sh
deleted file mode 100644
index 29c5880..0000000
--- a/org.eclipse.galileo.tools/cleanupBuildResults.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-# small utility to remove old (temporary) builds from work area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-
-# remove artifacts over n days old
-# (where hours = 24 + (n * 24), basically, so that
-# even n=0 means "1 day")
-
-# set at 10 days, under assumption that before that time,
-# artifacts will be "saved" elsewhere, if needed.
-# if more cleanup is needed, we should take time, and
-# existence of more recent builds into account, so we never
-# delete the last existing build (even if "old").
-
-ndays=1;
-artifactsDir=${BUILD_RESULTS};
-
-echo;
-echo "    Removing artifact directories older than ${ndays} days";
-echo "        (from ${artifactsDir})";
-before=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories before cleaning: ${before}";
-
-# empty directories often result from "bad builds". We remove those no matter how old
-find ${artifactsDir} -mindepth 1 -maxdepth 2 -type d -empty -exec rm -fr '{}' \;
-# now remove old ones
-find ${artifactsDir} -mindepth 1 -maxdepth 1 -type d -ctime +$ndays -execdir ${BUILD_HOME}${RELENG_TOOLS}/removeIf.sh '{}' \;
-
-after=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories after cleaning: ${after}";
-echo
diff --git a/org.eclipse.galileo.tools/fixupMirrorURL.sh b/org.eclipse.galileo.tools/fixupMirrorURL.sh
deleted file mode 100644
index 2e6fadd..0000000
--- a/org.eclipse.galileo.tools/fixupMirrorURL.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env bash
-# script to fix mirror URL in an artifact.jar file
-
-function fixupMirrorURL {
-
-	artifactFilePath=$1
-	
-	# target segment is what ever comes beteeen 'releases/' and '/aggregate'. Typically, 
-	# maintenance
-	# galileo/<datetimestamp>
-	# staging
-	# helios/<datetimestamp>
-	targetSegment=$2
-	
-	# make sure 'artifactFilePath' has been defined and is not zero length
-	if [ -z "${artifactFilePath}" ]
-	then
-		echo;
-	    echo "   Fatal Error: The variable 'artifactFilePath' must be defined as first argument to run this script"
-	    echo;
-	    return 1;
-	fi
-	
-	# make sure 'artifactFilePath' exists
-	if [ ! -f "${artifactFilePath}" ]
-	then
-	    echo;
-	    echo "   Fatal Error: The file '${artifactFilePath}' does not exist."
-	    echo;
-	    return 2;
-	fi
-	
-	# make sure 'targetSegment' has been defined and is not zero length
-	if [ -z "${targetSegment}" ]
-	then
-		echo;
-	    echo "   Fatal Error: The variable 'targetSegment' must be defined as first argument to run this script";
-	    echo;
-	    return 3;
-	fi
-	
-	tempDir=${HOME}/temp/work
-	mkdir -p "${tempDir}"
-	# now correct the URLs
-	fromFile=artifacts.jar
-	workFile=artifacts.xml
-	unzip ${artifactFilePath} -d ${tempDir}
-	
-	matchingPhrase="p2\.mirrorsURL.*/releases/.*/aggregate"
-	matchedLines=`grep "${matchingPhrase}" "${tempDir}"/"$workFile"`
-	nMatches=`echo $matchedLines | wc -l`
-	echo
-	echo "    matches before replacement: "${nMatches}
-	echo "    matchedLine(s) before replacement: "
-	echo "        "$matchedLines
-	echo
-	
-	if [[ $nMatches == 1 ]]
-	then
-		 # note we make no restiction what is between p2.mirrorsURL and 'releases'
-		 # nor between 'releases' and 'aggregate'. 
-		 # our particular case allows us to "throw away" the later, but restore the former.
-		 fromString="p2\.mirrorsURL(.*)/releases/.*/aggregate"
-		
-		 # compose toString and replacement command
-		 toString="p2\.mirrorsURL\$1/releases/${targetSegment}/aggregate"
-		 replaceCommand="s!${fromString}!${toString}!g"
-		 echo "    replaceCommand: ${replaceCommand}"
-		
-		 perl -pi -w -e ${replaceCommand} "${tempDir}"/"${workFile}"
-		
-		 perlResult=$?
-		 if [[ $perlResult -ne 0 ]] 
-		 then 
-		 	echo;
-		    echo "   Fatal Error: Perl return code was non-zero, ${perlResult}, so returning and not changing original file.";
-		    echo;
-		    return $perlResult;
-		 fi
-		
-		 resultingPhrase="p2\.mirrorsURL.*/releases/${targetSegment}/aggregate"
-		 changedLines=`grep  "${resultingPhrase}" "${tempDir}"/"$workFile"`
-		 nChangedLines=`echo $changedLines  | wc -l`
-		 echo
-		 echo "   Number of lines changed: " $nChangedLines
-		 echo "   Changeded lines: " 
-		 echo "      "$changedLines
-		 echo
-		 
-		 if [[ $nChangedLines -ne 1 ]]
-		 then
-		 	echo;
-		    echo "   Fatal Error: number of matches to expected ("$nChangedLines") after replacement was not as expected, so returning and not changing original file.";
-		    echo;
-		    return 10;
-		 fi
-	else
-	    echo;
-	    echo "   Fatal Error: number of matches to original ("$nMatches") before replacment was not as expected, so returning and not changing original file.";
-	    echo;
-	    return 11;
-	fi
-	
-	echo;
-	echo "   Rezipping the modified version and replacing original file";
-	echo; 
-	zip -Djm ${artifactFilePath} "${tempDir}"/"${workFile}"
-
-}
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/galileo.properties b/org.eclipse.galileo.tools/galileo.properties
deleted file mode 100644
index 6774080..0000000
--- a/org.eclipse.galileo.tools/galileo.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in build.xml script
-
-#
-#
-#
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/galileo/buckyBuild
-
-
-# SKIP_MODEL_RETRIEVE should never be set (not even to false) 
-# on production machine. You can set when testing local 
-# versions you don't want them overwritten by HEAD version.  
-# SKIP_MODEL_RETRIEVE=true
-
-
-# Java should be configured per machine, 
-# so this variable point to valid installs
-
-JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-JAVA_6_HOME=/shared/common/ibm-java-ppc-605
-
-
-# typically the remaining variables not have to be 
-# changed on a local, non-production machine,
-# as they just "compute" variables based on others
-
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-
-# platform install. One level above what will contain the 'eclipse' directory.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-# the directory that contains the eclipse executable
-ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse
-
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
diff --git a/org.eclipse.galileo.tools/galileo_properties.shsource b/org.eclipse.galileo.tools/galileo_properties.shsource
deleted file mode 100644
index 5dee91a..0000000
--- a/org.eclipse.galileo.tools/galileo_properties.shsource
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in utility scripts
-# (note: at this point, not all are necessarily used)
-
-# the top level directory, that should "contain" all else involved with build, control and output
-export BUILD_HOME=/shared/galileo/buckyBuild
-# a common variation for someone doing a local build on their own machine
-#export BUILD_HOME=${HOME}/buckyBuild
-
-
-RELENG_TOOLS=org.eclipse.galileo.tools
-
-# platform install. One level above what will contain the 'eclipse' directory.
-export ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-export ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-export ECLIPSE_INSTALL_TEST=${BUILD_HOME}/tests
-export ECLIPSE_HOME_TEST=${ECLIPSE_INSTALL_TEST}/eclipse
-
-# common location to store pre-reqs to avoid re-downloading Platforms, etc.
-export PREREQS_CACHE=${BUILD_HOME}/prereqsCache
-
-
-export ANT_HOME=/shared/common/apache-ant-1.7.1
-
-export JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-export JAVA_6_HOME=/shared/common/ibm-java-ppc-60
-
-export JAVA_HOME=${JAVA_5_HOME}
-
-export JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/galileo
-
-# Holds a list of dated directories, each with a build result
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-
-#Note: this directory on build.eclipse.org has an alias so that
-#it is accessible as a pseudo update site via this URL: 
-#http://build.eclipse.org/galileo/staging/
-
-#It can not really be used as an update site
-#as an update site, since the mirror URLs in the 
-#artifacts.jar and content.jar are set to the 
-#eventual /releases/galileo. 
-#It can be used, however, to make sure categories are 
-#showing up correctly. 
diff --git a/org.eclipse.galileo.tools/getBuckminsterBuildUpdate.sh b/org.eclipse.galileo.tools/getBuckminsterBuildUpdate.sh
deleted file mode 100644
index 8278d0a..0000000
--- a/org.eclipse.galileo.tools/getBuckminsterBuildUpdate.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
- 
-APP_NAME=org.eclipse.equinox.p2.director.app.application
-OTHER_ARGS="-metadataRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -artifactRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -installIU org.eclipse.buckminster.galileo.builder.feature.feature.group"
-# usually do not need the version, just to "get the latest" from buckminster builder site
-# -version 1.0.0.v20090415-1651
-VM_ARGS="-vmargs -Xmx256m"
-
-"${ECLIPSE_HOME}"/eclipse -consolelog -data ./workspace-getBuckminsterBuildUpdate -debug -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application ${APP_NAME} ${OTHER_ARGS} ${VM_ARGS}
-
-
-
diff --git a/org.eclipse.galileo.tools/getModel.sh b/org.eclipse.galileo.tools/getModel.sh
deleted file mode 100644
index efc7c38..0000000
--- a/org.eclipse.galileo.tools/getModel.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
- 
-echo "   removing all of previous project ..."
-rm -fr ${BUILD_HOME}/org.eclipse.galileo.build/*
-mkdir -p ${BUILD_HOME}/org.eclipse.galileo.build
-
-buildBranch=HEAD
-
-cd ${BUILD_HOME}
-echo "   checking out branch of project from cvs ..."
-cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/callisto  export -d org.eclipse.galileo.build -r $buildBranch org.eclipse.galileo.build
-
diff --git a/org.eclipse.galileo.tools/getPlatform.sh b/org.eclipse.galileo.tools/getPlatform.sh
deleted file mode 100644
index 9566f8b..0000000
--- a/org.eclipse.galileo.tools/getPlatform.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-# Little utility to unzip Eclipse Platfrom into ${ECLIPSE_INSTALL}
-
-# The first to variables will need to be set accurately for
-# a particular release.
-
-# DROP_DIR and DROP_ID must be changed to match desired version to fetch
-DROP_DIR=R-3.5-200906111540
-
-# DROP_ID can be different from DROP_DIR, such as for milestone's it'd
-# be similar to S-3.5M6, but for I-builds is the same.
-DROP_ID=3.5
-
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-
-
-# The following should not need to be changed ... well, hm, except the OS details, if running elsewhere
-
-# Note that 'downloads home' could also be written as "${HOME}/downloads" for most users
-# but this form should work for all (unless 'downloads' sym link changes, which is unlikely)
-DOWNLOADS_HOME=/home/data/httpd/download.eclipse.org
-PLATFORM_FILENAME=eclipse-SDK-${DROP_ID}-linux-gtk-ppc.tar.gz
-FULL_FILENAME=${DOWNLOADS_HOME}/eclipse/downloads/drops/${DROP_DIR}/${PLATFORM_FILENAME}
-
-# make sure we are completely fresh before unzipping
-if [ -d ${ECLIPSE_HOME} ]
-then
-	# bug make sure we really can get our computed
-	# filename before removing old one
-	if [ -e ${FULL_FILENAME} ]
-	then
-        rm -fr ${ECLIPSE_HOME}
-        tar -zvxf ${FULL_FILENAME} -C ${ECLIPSE_INSTALL}
-	else
-	    echo "Error. File did not exist: ${FULL_FILENAME}"
-    fi
-else
-    # didn't previously exist, so just try to unzip
-    mkdir -p ${ECLIPSE_INSTALL}
-    tar -zvxf ${FULL_FILENAME} -C ${ECLIPSE_INSTALL}
-fi
-
-
-
diff --git a/org.eclipse.galileo.tools/getRelengTools.sh b/org.eclipse.galileo.tools/getRelengTools.sh
deleted file mode 100644
index 2acd6cc..0000000
--- a/org.eclipse.galileo.tools/getRelengTools.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env bash
-
-# it is assumed we are executing this in RELENG_TOOLS or the parent of RELENG_TOOLS
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-  
-echo "Hudson WORKSPACE: " ${WORKSPACE}  
-  
-# This script file is to help get builds started "fresh", when
-# the ${RELENG_TOOLS} directory already exists on local file system.
-# While it is in the cvs repository in ${RELENG_TOOLS}, it is
-# meant to be executed from the parent directory
-# of ${RELENG_TOOLS} on the file system.
-
-# export is used, instead of checkout, just to avoid the CVS directories and since this code
-# for a local build, there should never be a need to check it back in to CVS.
-
-# If there is no subdirectory, try going up one directory and looking again (in case we are in it).
-if [ ! -e ${RELENG_TOOLS} ]
-then
-	cd ..
-	if [ ! -e ${RELENG_TOOLS} ]
-	then	
-    echo "${RELENG_TOOLS} does not exist as sub directory";
-	exit 1;
-	fi
-fi
-
-
-# make sure RELENG_TOOLS has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${RELENG_TOOLS}" ]
-then
-   echo "The variable RELENG_TOOLS must be defined to run this script"
-   exit 1;
-fi
-echo "    removing all of ${RELENG_TOOLS} ..."
-rm -fr "${RELENG_TOOLS}"/*
-rm -fr "${RELENG_TOOLS}"/.project
-rm -fr "${RELENG_TOOLS}"/.settings
-rm -fr "${RELENG_TOOLS}"/.classpath
-mkdir -p "${RELENG_TOOLS}"
-
-#controltag=david_williams_tempBranch3
-controltag=HEAD
-echo "    checking out $controltag of ${RELENG_TOOLS} from cvs ..."
-
-#set CVS_RSH=SSH
-#TODO: allos protocol and user id to be in helios_properties.shsource?
-
-cvs -Q -f -d :pserver:anonymous@dev.eclipse.org:/cvsroot/callisto  export -d ${RELENG_TOOLS} -r $controltag ${RELENG_TOOLS}
-
-
-
-echo "    making sure releng control files are executable and have proper EOL ..."
-dos2unix ${RELENG_TOOLS}/*.sh* ${RELENG_TOOLS}/*.properties ${RELENG_TOOLS}/*.xml >/dev/null 2>>/dev/null
-chmod +x ${RELENG_TOOLS}/*.sh > /dev/null
-echo
-
diff --git a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.bootstrap releng files/config.xml b/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.bootstrap releng files/config.xml
deleted file mode 100644
index ca92ede..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.bootstrap releng files/config.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This manual-only job will get the latest (HEAD) version of org.eclipse.galileo.tools, which contains the build.xml file that controls the other jobs. </description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Run.Update:david_williams</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Build:david_williams</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Configure:david_williams</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Run.Delete:david_williams</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:david_williams</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Delete:david_williams</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Shell>
-      <command>/shared/galileo/buckyBuild/org.eclipse.galileo.tools/getRelengTools.sh</command>
-    </hudson.tasks.Shell>
-  </builders>
-  <publishers/>
-  <buildWrappers/>
-  <customWorkspace>/shared/galileo/buckyBuild/org.eclipse.galileo.tools/</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.bootstrap releng files/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.bootstrap releng files/nextBuildNumber
deleted file mode 100644
index 98d9bcb..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.bootstrap releng files/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-17
diff --git a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.runBuckyBuild/config.xml b/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.runBuckyBuild/config.xml
deleted file mode 100644
index 76a0d3c..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.runBuckyBuild/config.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job gets the latest contributions from galileo build files (from HEAD) and invokes the Buckminster based builder. &#xd;
-Results can be seen in &#xd;
-http://build.eclipse.org/galileo/buckyBuild/buildresults/&#xd;
-and a peek at update site categories can be seen at &#xd;
-http://build.eclipse.org/galileo/buckyBuild/buildresults/final&#xd;
-</description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Build:gobrien</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:gobrien</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:gobrien</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.CVSSCM">
-    <cvsroot>:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto</cvsroot>
-    <module>org.eclipse.galileo.build</module>
-    <canUseUpdate>true</canUseUpdate>
-    <flatten>true</flatten>
-    <isTag>false</isTag>
-    <excludedRegions></excludedRegions>
-  </scm>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>false</disabled>
-  <jdk>Java 6.0 SR4</jdk>
-  <triggers class="vector">
-    <hudson.triggers.SCMTrigger>
-      <spec># every 15 mins past the hour 
-0 * * * *
-15 * * * *
-30 * * * *
-45 * * * *
-</spec>
-    </hudson.triggers.SCMTrigger>
-    <com.progress.hudson.ScheduleFailedBuildsTrigger>
-      <spec>* * * * *</spec>
-    </com.progress.hudson.ScheduleFailedBuildsTrigger>
-  </triggers>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>runBuckyBuild</targets>
-      <antName>Ant 1.7.1</antName>
-      <buildFile>/shared/galileo/buckyBuild/org.eclipse.galileo.tools/build.xml</buildFile>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.runBuckyBuild/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.runBuckyBuild/nextBuildNumber
deleted file mode 100644
index 84df352..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.runBuckyBuild/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-87
diff --git a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.updateBuckyBuilder/config.xml b/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.updateBuckyBuilder/config.xml
deleted file mode 100644
index 8ca18d1..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.updateBuckyBuilder/config.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job pulls the latest version of the buckminster galileo builder from it&apos;s update site. It should not have to be ran very often. </description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Run.Update:gobrien</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Build:gobrien</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:gobrien</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:gobrien</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:gobrien</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Delete:gobrien</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>false</disabled>
-  <jdk>Base Java 6.0 Installation (/shared/common)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>updateBuckyBuilder</targets>
-      <antName>Ant 1.7.1</antName>
-      <buildFile>/shared/galileo/buckyBuild/org.eclipse.galileo.tools/build.xml</buildFile>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers/>
-  <buildWrappers/>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.updateBuckyBuilder/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.updateBuckyBuilder/nextBuildNumber
deleted file mode 100644
index e85087a..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/buckyBuilder/galileo.updateBuckyBuilder/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-31
diff --git a/org.eclipse.galileo.tools/hudsonconfig/description.txt b/org.eclipse.galileo.tools/hudsonconfig/description.txt
deleted file mode 100644
index eaef9e9..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/description.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory contains some config files from the build.eclipse.org hudson server. 
-
-They are not necessarily up to date, I just put some copies here to have some long term record of a copy.
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.build/config.xml b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.build/config.xml
deleted file mode 100644
index 05b2cc1..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.build/config.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Invokes the p2-enabled product-based build script generated by galileo.generate.</description>
-  <logRotator>
-    <daysToKeep>10</daysToKeep>
-    <numToKeep>20</numToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>-logfile galileo.build.log.txt</targets>
-      <antName>(Default)</antName>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.ArtifactArchiver>
-      <artifacts>galileo.build.log.txt</artifacts>
-      <latestOnly>false</latestOnly>
-    </hudson.tasks.ArtifactArchiver>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-  <customWorkspace>/shared/galileo/build/galileo</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.build/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.build/nextBuildNumber
deleted file mode 100644
index 964480f..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.build/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-213
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.fixperm/config.xml b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.fixperm/config.xml
deleted file mode 100644
index c5ca3e4..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.fixperm/config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Sets proper permissions on files/directories in build and staging directories.</description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets></targets>
-      <antName>(Default)</antName>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers/>
-  <buildWrappers/>
-  <customWorkspace>/shared/galileo/build</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.fixperm/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.fixperm/nextBuildNumber
deleted file mode 100644
index fd03ab2..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.fixperm/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-130
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.generate/config.xml b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.generate/config.xml
deleted file mode 100644
index 7a03d2a..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.generate/config.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Generates the galileo build scripts from models found in /cvsroot/callisto/org.eclipse.galileo.build</description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.CVSSCM">
-    <cvsroot>:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto</cvsroot>
-    <module>org.eclipse.galileo.build</module>
-    <canUseUpdate>true</canUseUpdate>
-    <flatten>true</flatten>
-    <isTag>false</isTag>
-    <excludedRegions></excludedRegions>
-  </scm>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets></targets>
-      <antName>(Default)</antName>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>richard.gronback@borland.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-  <customWorkspace>/shared/galileo/build/config</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.generate/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.generate/nextBuildNumber
deleted file mode 100644
index dc6f4a8..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.generate/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-218
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.promote/config.xml b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.promote/config.xml
deleted file mode 100644
index 3b6ce7f..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.promote/config.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Copies the build result to ~/hudsonbuild/downloads/galileo for later (manual) promotion to /downloads/releases/galileo</description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets></targets>
-      <antName>(Default)</antName>
-      <buildFile>promote.xml</buildFile>
-      <properties>targetDirectory=/opt/users/hudsonbuild/downloads/galileo</properties>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>richard.gronback@borland.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-  <customWorkspace>/shared/galileo/build/galileo</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.promote/nextBuildNumber b/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.promote/nextBuildNumber
deleted file mode 100644
index 95f9650..0000000
--- a/org.eclipse.galileo.tools/hudsonconfig/galileoBuilder/galileo.promote/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-49
diff --git a/org.eclipse.galileo.tools/obfuscateEmail.sh b/org.eclipse.galileo.tools/obfuscateEmail.sh
deleted file mode 100644
index 3096955..0000000
--- a/org.eclipse.galileo.tools/obfuscateEmail.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
- 
-toDirectory=${stagingDirectory} 
-#toDirectory=${releaseDirectory}
-
-# obfuscate email addresses
-fromString="mailto:(.*)@"
-toString="mailto:"'$1'"<at>"
-replaceCommand="s!$fromString!$toString!"
-echo "replaceCommand: $replaceCommand"
-pexec=`echo "perl -pi -w -e " $replaceCommand "${toDirectory}/index.php"`
-echo "$pexec"
-perl -pi -w -e $replaceCommand "${toDirectory}/index.php"
-
-
diff --git a/org.eclipse.galileo.tools/pauseAll.sh b/org.eclipse.galileo.tools/pauseAll.sh
deleted file mode 100644
index 4ae8ae3..0000000
--- a/org.eclipse.galileo.tools/pauseAll.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-
-# utility script to "lock" galileo workspace and builds 
-# while "shell work" is going on. 
-# for example, can execute this from hudson (with hudson 
-# lock) before promoting to staging directory, to make 
-# sure another build doesn't start while promoting, thereby
-# erasing the build we are promoting.
-
-# to end lock, the lockfile must be removed, which can be 
-# done manually, or as part of the script work
-# There is a one-hour time-out built in, which should be plenty 
-
-source galileo_properties.shsource
-
-LOCKFILE="${BUILD_HOME}"/lockfile
-
-if [[ -f "$LOCKFILE" ]]
-then
-   echo "  LOCKFILE already exists, so not continuing"
-   echo "  if there is no pending job, you must manually remove"
-   echo "  " "$LOCKFILE"
-fi
-
-
-touch "$LOCKFILE"
-PAUSE_SECONDS=5
-MAX_TIME=3600
-COUNT=0
-COUNT_MAX=$(($MAX_TIME/$PAUSE_SECONDS))
-#echo "Maximum wait loops: " $COUNT_MAX
-
-while [ -f "$LOCKFILE" -a $COUNT -lt $COUNT_MAX ]
-do
-
-   sleep $PAUSE_SECONDS
-   COUNT=$(($COUNT+1))
-#   echo "Loop number: " $COUNT
-   
-done
-
-if [[ -f "$LOCKFILE"  ]]
-then
-   echo "loop hit maximum count (timed out) so lockfile removed"
-   rm "$LOCKFILE"
-fi
-       
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/plugin.properties b/org.eclipse.galileo.tools/plugin.properties
deleted file mode 100644
index af4bf1f..0000000
--- a/org.eclipse.galileo.tools/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.wtp.releng.tests
-Bundle-Name.0 = Releng Tests
-Bundle-Vendor.0 = Eclipse Web Tools Platform
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/production.properties b/org.eclipse.galileo.tools/production.properties
deleted file mode 100644
index d0bce24..0000000
--- a/org.eclipse.galileo.tools/production.properties
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in build.xml script
-
-# These values, and this file, is specific to the 
-# build.eclipse.org machine and is specified in the 
-# hudson set up that runs the build.
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/galileo/buckyBuild
-
-
-#
-#
-#
-#
-
-
-# Java should be configured per machine, 
-# so this variable point to valid installs
-
-JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-JAVA_6_HOME=/shared/common/ibm-java-ppc-605
-
-
-# typically the remaining variables not have to be 
-# changed on a local, non-production machine,
-# as they just "compute" variables based on others
-
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-
-# platform install. One level above what will contain the 'eclipse' directory.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-# the directory that contains the eclipse executable
-ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse
-
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-
-
-
-# These values are specific to production builds 
-# on build.eclipse.org
-# Do not use these on other machines or context. 
-# Doing to can cause email to be sent to Galileo 
-# release engineers, etc. 
-# You can use 'galileo.properties' as an example
-# to follow for values which are required. 
-
-LOG_URL=https://${env.HOSTNAME}.eclipse.org/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-BUILDER_APP_ARGS=-production -buildModel ${BUILD_HOME}/org.eclipse.galileo.build/galileo.build -buildRoot ${BUILD_RESULTS} -mirrorReferences -referenceExcludePattern .*/site.xml -packedStrategy verify -brandingContribution Galileo -trustedContributions Eclipse,Equinox -logLevel DEBUG  -emailFromName GalileoBuilder -logURL ${LOG_URL}
-#     Important: on any non-production machines it is important to _not_ use eclipse.p2.mirrors=false, so this value should be supplied by calling script's properties.
-#     Note, we include '-vmargs' here, in case there are not any. Not sure if the use of -vmargs _requires_ arguments or not, but probably would.
-#		     
-#     note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-#     (should not actually be required ... but have left note for historical reference)
-#		     
-#     note: rememeber that JAVA_6 PPC (less that SR5) should not be used for jar processor, see for example, 
-#     bug 244603 and bug 279596. 
-#		     
-BUILDER_VM_ARGS=-vmargs -Declipse.p2.mirrors=false -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin
diff --git a/org.eclipse.galileo.tools/promoteToReleases.sh b/org.eclipse.galileo.tools/promoteToReleases.sh
deleted file mode 100644
index 088805b..0000000
--- a/org.eclipse.galileo.tools/promoteToReleases.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their staging area to the releases area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-
-source fixupMirrorURL.sh
- 
-fromDirectory=${stagingDirectory}
-toDirectory=${releaseDirectory} 
-
-datetimestamp=$1
-
-# make sure 'toDirectory' has been defined and is not zero length
-if [ -z "${toDirectory}" ]
-then
-	echo;
-    echo "   Fatal Error: the variable toDirectory must be defined to run this script";
-    echo;
-else
-
-	# make sure 'datetimestamp' has been defined and is no zero length
-	if [ -z "${datetimestamp}" ]
-	then
-	   echo;
-	   echo "   Fatal Error: the variable datetimestamp must be defined to run this script"
-	   echo;
-	else
-	
-		toSubDir=${toDirectory}/${datetimestamp}
-		
-		echo ""
-		echo "    Copying new plugins and features "
-		echo "        from  ${fromDirectory}"
-		echo "          to  ${toSubDir}"
-		echo ""
-		
-        # plugins and features
-        rsync -rvp ${fromDirectory}/aggregate ${toSubDir}
-
-        # composite artifact and content files
-        rsync -vp ${fromDirectory}/*.jar ${toSubDir}
-
-        # static index page
-        rsync -vp templateFiles/release/index.html ${toDirectory}
-
-		fixupMirrorURL ${toSubDir}/aggregate/artifacts.jar galileo/${datetimestamp}
-	fi
-
-fi
-
-# remove lock file from hundson build's "pauseAll.sh" script once we are all done.
-# remember, we need to _always_ remove the lock file, so do not "exit" from any previous script
-rm -vf "${BUILD_HOME}"/lockfile
-
diff --git a/org.eclipse.galileo.tools/promoteToStaging.sh b/org.eclipse.galileo.tools/promoteToStaging.sh
deleted file mode 100644
index 8ba924d..0000000
--- a/org.eclipse.galileo.tools/promoteToStaging.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
- 
-source fixupMirrorURL.sh
- 
-fromDirectory=${BUILD_RESULTS}
-
-toDirectory=${stagingDirectory} 
-# temp area for testing
-#toDirectory=${HOME}/temp/testdir
-tempDir=${HOME}/temp/work
-
-# make sure 'toDirectory' has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${toDirectory}" ]
-then
-	echo;
-    echo "   Fatal Error: the variable toDirectory must be defined to run this script"
-    echo;
-else
-
-	echo "";
-	echo "    Removing previous staging directory files at"
-	echo "    "${toDirectory} 
-	echo "";
-
-if [ -d ${toDirectory} ]
-then
-  rm -fr "${toDirectory}"/*
-fi
-
-echo ""
-echo "    Copying new plugins and features "
-echo "        from  ${fromDirectory}"
-echo "          to  ${toDirectory}"
-echo ""
-
-# plugins and features
-rsync -rvp ${fromDirectory}/final/aggregate ${toDirectory}
-
-# composite artifact and content files
-rsync -vp ${fromDirectory}/final/*.jar ${toDirectory}
-
-# generic html index page for 'staging'
-rsync -vp templateFiles/staging/index.html ${toDirectory}
-
-fixupMirrorURL ${toDirectory}/aggregate/artifacts.jar maintenance
-fi
-
-# remove lock file from hundson build's "pauseAll.sh" script once we are all done.
-# remember, we need to _always_ remove the lock file, so do not "exit" from any previous script
-rm -vf "${BUILD_HOME}"/lockfile
diff --git a/org.eclipse.galileo.tools/removeIf.sh b/org.eclipse.galileo.tools/removeIf.sh
deleted file mode 100644
index 78d69d9..0000000
--- a/org.eclipse.galileo.tools/removeIf.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-# echo "arg: $1";
-
-if [ -z $1 ]
-  then
-    echo "  This script requires an argument. " ;
-    exit 1;
-  fi
-
-foundDirectory=$1
-# should already be in foundDirectory, if execDir used
-cd $foundDirectory
-# move up one so we can examine syblings
-cd ..
-currentDirectory=`pwd`
-echo $currentDirectory
-ndirs=`ls -lA | wc -l`
-ndirs=$(($ndirs - 1)); # don't count the "totals" line
-# echo "NDirs: $ndirs"
-
-# if only one left, do not remove it, no matter how old
-if [ $ndirs -eq 1 ]
-then
-    exit 0;
-fi
-# This is unexpected, since otherwise this method should not have been called. 
-# So, this check is just a safety check.
-if [ $ndirs -lt 1 ]
-then
-    exit 101;
-fi
-
-# ok, it is old, and not the only one left
-# adding a few "should never happen" errror checks
-if [ -d $foundDirectory ] 
-then
-  basedirname=$(basename $foundDirectory)
-  if [[ "$basedirname" =~ "[[:digit:]]{14}" ]]
-    then
-       echo "removing $basedirname"
-       rm -fr $foundDirectory
-    else
-     # patches is expected, warn of others
-      if [ "patches" != $foundDirectory ]
-       then 
-         echo "ERROR: The foundDirectory, $foundDirectory, didn't match timestamp pattern"
-       fi 
-    fi
-else
-    echo "ERROR: the foundDirectory, $foundDirectory, is not a directory"
-fi
diff --git a/org.eclipse.galileo.tools/runBuckyBuild.sh b/org.eclipse.galileo.tools/runBuckyBuild.sh
deleted file mode 100644
index b9d72dc..0000000
--- a/org.eclipse.galileo.tools/runBuckyBuild.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
- 
-export BUILD_TIMESTAMP=$(date --utc +%Y%m%d%H%M%S); 
-echo "BUILD_TIMESTAMP: " $BUILD_TIMESTAMP
-
-export BUILD_ID=${BUILD_TIMESTAMP}
-
-OTHER_ARGS="-mockEmailTo david_williams@us.ibm.com -buildModel ${BUILD_HOME}/org.eclipse.galileo.build/galileo.build -buildRoot ${BUILD_RESULTS} -buildId ${BUILD_ID} -logLevel DEBUG"
-
-VM_ARGS="-vmargs -Declipse.p2.mirrors=false -Xmx256m"
-# -Declipse.p2.MD5Check=false
-
-APP_NAME=org.eclipse.buckminster.galileo.builder.app
-
-"${ECLIPSE_HOME}"/eclipse -consolelog -data ${BUILD_HOME}/${BUILD_TIMESTAMP}/workspace-runBuckyBuild -debug -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application ${APP_NAME} ${OTHER_ARGS} ${VM_ARGS}
-
-
diff --git a/org.eclipse.galileo.tools/templateFiles/release/index.html b/org.eclipse.galileo.tools/templateFiles/release/index.html
deleted file mode 100644
index dae0b4a..0000000
--- a/org.eclipse.galileo.tools/templateFiles/release/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Galileo Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css" href="/eclipse/eclipse.org-common/stylesheets/visual.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse/eclipse.org-common/stylesheets/layout.css" media="screen" />
-</head>
-<body>
-<div id="header">
-<a href="http://www.eclipse.org/"><img src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif" width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</div>
-<div id="midcolumn">
-<p>
-This software repository URL, <code>http://download.eclipse.org/releases/galileo/</code>,  provides access to the software 
-repository for the <a href="http://www.eclipse.org/galileo/">Eclipse Galileo release</a>.</p>
-<p>The repository site URL is typically pre-populated in the list of software repositories when
-you install the Eclipse Platform or SDK. </p>
-<p>For more information about installing or updating software, see the
-<a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse Platform Help</a>.</p>
-<p>There is also a collection of handy,
-downloadable <a href="http://www.eclipse.org/downloads/">all-in-one zip files</a> available for
-many interests and platforms. Many people find these all-in-one packages the easiest way to get started.</p>
-</div>
-</body>
-</html>
diff --git a/org.eclipse.galileo.tools/templateFiles/staging/index.html b/org.eclipse.galileo.tools/templateFiles/staging/index.html
deleted file mode 100644
index c609d76..0000000
--- a/org.eclipse.galileo.tools/templateFiles/staging/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Staging Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-	href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-	media="screen" />
-<link rel="stylesheet" type="text/css"
-	href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-	media="screen" />
-</head>
-<body>
-<div id="header"><a href="http://www.eclipse.org/"><img
-	src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-	width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</div>
-<div id="midcolumn">
-<p>This software repository URL, <code>http://download.eclipse.org/releases/maintenance/</code>,
-provides temporary access to a software repository for the <a
-	href="http://www.eclipse.org/helios/">Eclipse Galeio release</a> before its released.
-	
-<p>For more information about installing or updating software, see
-the <a
-	href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse
-Platform Help</a>.</p>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.galileo.tools/updateCompositeURL.sh b/org.eclipse.galileo.tools/updateCompositeURL.sh
deleted file mode 100644
index 9c7db4c..0000000
--- a/org.eclipse.galileo.tools/updateCompositeURL.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source galileo_properties.shsource
-  
-fromDirectory=${stagingDirectory}
-
-toDirectory=${HOME}/temp/testdir
-
-mkdir -p "${toDirectory}"
-
-fromFile=compositeArtifacts.jar
-workFile=compositeArtifacts.xml
-
-
-echo ""
-echo "    Fixup URL "
-echo "        original: ${fromDirectory}/${fromFile}"
-echo "         working: ${toDirectory}/${workFile}"
-echo ""
-
-echo "copy compositeArtifacts.jar to working area" 
-rsync -vp ${fromDirectory}/${fromFile} ${toDirectory}
-
-echo "unzip the jar, and make a backup of it for later comparison"
-unzip -o ${toDirectory}/${fromFile} -d ${toDirectory}
-cp ${toDirectory}/${workFile} ${toDirectory}/${workFile}.bak
-
-echo "make sure there is only one occurance that will be changed in file"
-matchingPhrase="<child location='http://download\.eclipse\.org/eclipse/updates/3\.5milestones/I20090611-1540/'/>"
-matchedLines=`grep "^ *${matchingPhrase} *$" "${tempDir}"/"$workFile"`
-nMatches=`echo $matchedLines | wc -l`
-echo
-echo "    matches before replacement: "${nMatches}
-echo "    matchedLine(s) before replacement: "
-echo "        "$matchedLines
-echo
-
-if [[ $nMatches == 1 ]]
-then
-
-    fromString="${matchingPhrase}"
-
-    # compose toString and replacement command
-    toString="<child location='http://download.eclipse.org/eclipse/updates/3.5/'/>"
-    
-    replaceCommand="s!^( *)${fromString} *\$!\$1${toString}!g"
-    echo "    replaceCommand: ${replaceCommand}"
-
-    echo "    use perl to do replacement"
-    perl -pi -w -e "${replaceCommand}" "${toDirectory}"/"$workFile"
-
-    perlResult=$?
-    if [[ $perlResult -ne 0 ]] 
-    then 
-    	echo "Perl return code was non-zero, ${perlResult}, so exiting and not changing anything"
-    	exit $perlResult
-    fi
-
-    echo "make sure no matches to original remaining"
-    nOriginalMatches=`grep "^ *${matchingPhrase} *$" "${toDirectory}"/"$workFile" | wc -l`
-    echo
-    echo "   matchedLine(s) after replacement: " $nOriginalMatches " (should be zero)"
-    echo
-    if [[ $nOriginalMatches -ne 0 ]]
-    then
-        echo " Error: number of matches to original phrase (" $nOriginalMatches ") after replacement was greater than expected (should be zero), so exiting and not changing anything"
-        exit 1
-    fi
-    
-    echo "make sure there is exactly one match for new string"
-    resultingPhrase="${toString}"
-    changedLines=`grep  "^ *${resultingPhrase} *$" "${toDirectory}"/"$workFile"`
-    nChangedLines=`echo $changedLines  | wc -l`
-    echo
-    echo "   Number of lines changed: " $nChangedLines
-    echo "   Changeded lines: " 
-    echo "      "$changedLines
-    echo
-    
-    if [[ $nChangedLines -ne 1 ]]
-    then
-        echo " Error: number of matches to expected ("$nChangedLines") after replacement was not as expected (should be zero), so exiting and not changing anything"
-        exit 1
-    fi
-else
-    echo " Error: number of matches to original ("$nMatches") before replacment was not as expected, so exiting and not changing anything"
-    exit 1
-fi
-              
-echo "rezip our modified version"
-zip -Dj ${toDirectory}/${fromFile} ${toDirectory}/${workFile}
-#echo "set file times to match original"
-#touch ${toDirectory}/${fromFile} --reference=${fromDirectory}/${fromFile}
-echo "create backup of original"
-cp ${fromDirectory}/${fromFile} ${fromDirectory}/${fromFile}.bak
-echo "copy new over old"
-cp ${toDirectory}/${fromFile} ${fromDirectory}/
-
-
-
diff --git a/org.eclipse.galileo/.classpath b/org.eclipse.galileo/.classpath
deleted file mode 100644
index c835067..0000000
--- a/org.eclipse.galileo/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.galileo/.project b/org.eclipse.galileo/.project
deleted file mode 100644
index f726501..0000000
--- a/org.eclipse.galileo/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.galileo</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.galileo/.settings/org.eclipse.core.resources.prefs b/org.eclipse.galileo/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index a38d0b9..0000000
--- a/org.eclipse.galileo/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Apr 28 00:36:05 EDT 2009
-encoding/<project>=ISO-8859-1
-eclipse.preferences.version=1
diff --git a/org.eclipse.galileo/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.galileo/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4ef386e..0000000
--- a/org.eclipse.galileo/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Wed Jul 23 14:49:35 EDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.galileo/Eclipse.icns b/org.eclipse.galileo/Eclipse.icns
deleted file mode 100644
index 610976e..0000000
--- a/org.eclipse.galileo/Eclipse.icns
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/META-INF/MANIFEST.MF b/org.eclipse.galileo/META-INF/MANIFEST.MF
deleted file mode 100755
index 3224f1d..0000000
--- a/org.eclipse.galileo/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.galileo;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.galileo/about.html b/org.eclipse.galileo/about.html
deleted file mode 100755
index 1b8f940..0000000
--- a/org.eclipse.galileo/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 5, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.galileo/about.ini b/org.eclipse.galileo/about.ini
deleted file mode 100755
index 945d061..0000000
--- a/org.eclipse.galileo/about.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%featureText
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=modeling32.png
-
-# Property "appName" contains name of the application (translated)
-appName=%featureName
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-welcomePage=$nl$/welcome.xml
diff --git a/org.eclipse.galileo/about.mappings b/org.eclipse.galileo/about.mappings
deleted file mode 100755
index 529ce23..0000000
--- a/org.eclipse.galileo/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@buildId@
diff --git a/org.eclipse.galileo/about.png b/org.eclipse.galileo/about.png
deleted file mode 100644
index 27bb85c..0000000
--- a/org.eclipse.galileo/about.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/about.properties b/org.eclipse.galileo/about.properties
deleted file mode 100755
index 012a39b..0000000
--- a/org.eclipse.galileo/about.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2008 Borland Software Corporation and others.
-#  * All rights reserved.   This program and the accompanying materials
-#  * are made available under the terms of the Eclipse Public License v1.0
-#  * which accompanies this distribution, and is available at
-#  * http://www.eclipse.org/legal/epl-v10.html
-#  *
-#  * Contributors:
-#  *   Borland Software Corporation - Initial API and implementation
-#  *
-#  * </copyright>
-#  */
-
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-featureName=Galileo
-
-featureText=Eclipse Galileo Releae \n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2008.  All rights reserved.\n\
-\n\
-Amalgam is the project that unifies several Eclipse Modeling projects.\n\
-Visit http://wiki.eclipse.org/Galileo_Simultaneous_Release
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/org.eclipse.galileo/build.properties b/org.eclipse.galileo/build.properties
deleted file mode 100755
index 22d9c2c..0000000
--- a/org.eclipse.galileo/build.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 Borland Software Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Borland Software Corporation - initial API and implementation
-###############################################################################
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties,\
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               modeling32.png,\
-               splash.bmp,\
-               plugin.xml,\
-               Eclipse.icns,\
-               icons/,\
-               plugin_customization.ini,\
-               about.png,\
-               modeling_logo.png
-
diff --git a/org.eclipse.galileo/icons/eclipse.gif b/org.eclipse.galileo/icons/eclipse.gif
deleted file mode 100644
index 7d7e32b..0000000
--- a/org.eclipse.galileo/icons/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/icons/eclipse32.gif b/org.eclipse.galileo/icons/eclipse32.gif
deleted file mode 100644
index 811eccb..0000000
--- a/org.eclipse.galileo/icons/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/icons/eclipse48.gif b/org.eclipse.galileo/icons/eclipse48.gif
deleted file mode 100644
index 80a40d6..0000000
--- a/org.eclipse.galileo/icons/eclipse48.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/modeling32.png b/org.eclipse.galileo/modeling32.png
deleted file mode 100755
index 6b08de2..0000000
--- a/org.eclipse.galileo/modeling32.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/modeling_logo.png b/org.eclipse.galileo/modeling_logo.png
deleted file mode 100644
index 6dec083..0000000
--- a/org.eclipse.galileo/modeling_logo.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.galileo/plugin.properties b/org.eclipse.galileo/plugin.properties
deleted file mode 100755
index f8408f3..0000000
--- a/org.eclipse.galileo/plugin.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2009 Borland Software Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     Borland Software Corporation - initial API and implementation
-###############################################################################
-pluginName = Galileo
-providerName = Eclipse Modeling Project
-aboutDialogText=Galileo Simultaneous Release\n\
-\n\
-Version: 1.0.0\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2008.  All rights reserved.\n\
-Visit http://wiki.eclipse.org/Galileo_Simultaneous_Release\n\
-\n\
-This product includes software developed by the\n\
-Apache Software Foundation http://www.apache.org/
-
-# Intro
-productIntroTitle = Welcome to Galileo
-productIntroBrandingText = Eclipse Modeling Project
-introDescription-overview = Galileo is the 2009 simultaneous release of Eclipse projects.
-introDescription-tutorials = Learn how to be productive using Galileo by completing end-to-end tutorials that will guide you along the way.
-introDescription-samples = Explore Eclipse Modeling projects by installing prefabricated samples (may require an Internet connection).
-
-activity.cat.modeling=Modeling
-activity.cat.modeling.desc=Features related to modeling activities.
-
-activity.cat.diagramming=Diagraming
-activity.cat.diagramming.desc=Features related to diagramming activities.
-
-activity.cat.model.transformation=Model Transformation
-activity.cat.model.transformation.desc=Features related to model transformation activities, both model-to-model and model-to-text.
-
-activity.cat.actf=Accessibility Tools
-activity.cat.actf.desc=Use ACTF functions to confirm accessibility.
-
-activity.cat.tptp=Test and Performance
-activity.cat.tptp.desc=Use the test and performance framework and tools for testing, monitoring, tracing, and profiling applications.
-
-activity.cat.dsdp=Remote Access
-activity.cat.dsdp.desc=Features related to interaction with remote systems, communication and device software development
-
-activity.cat.abd=Assemble, Build, and Deploy
-activity.cat.abd.desc=Tools that help you populate a workspace, build, and deploy working solutions
-
-activity.cat.tasks=Task Management
-activity.cat.tasks.desc=Use task management for integrated task management, the task-focused interface and wiki markup editing.
diff --git a/org.eclipse.galileo/plugin.xml b/org.eclipse.galileo/plugin.xml
deleted file mode 100644
index 46c7b54..0000000
--- a/org.eclipse.galileo/plugin.xml
+++ /dev/null
@@ -1,344 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="org.eclipse.ui.ide.workbench"
-            description="The 2009 annual release train of projects from Eclipse."
-            name="Galileo">
-         <property
-               name="windowImages"
-               value="icons/eclipse.gif,icons/eclipse32.gif,icons/eclipse48.gif">
-         </property>
-         <property
-               name="aboutText"
-               value="%aboutDialogText">
-         </property>
-         <property
-               name="aboutImage"
-               value="about.png">
-         </property>
-         <property
-               name="appName"
-               value="Galileo">
-         </property>
-         <property name="preferenceCustomization" value="plugin_customization.ini"/>
-         <property
-               name="startupForegroundColor"
-               value="E6E6E6">
-         </property>
-         <property
-                name="startupMessageRect"
-                value="7,220,441,20"/>
-          <property
-                name="startupProgressRect"
-                value="0,280,455,15"/>
-         <property
-          		name="introTitle"
-          		value="%productIntroTitle"/>
-          <property
-          		name="introBrandingImage"
-          		value="product:modeling_logo.png"/>
-          <property
-          		name="introBrandingImageText"
-          		value="%productIntroBrandingText"/>
-		  <property
-				name="introDescription-overview"
-				value="%introDescription-overview"/>
-		  <property
-				name="introDescription-tutorials"
-				value="%introDescription-tutorials"/>
-		  <property
-				name="introDescription-samples"
-				value="%introDescription-samples"/>
-      </product>
-   </extension>
-   
-   <!-- General category definitions -->
-   <extension
-       point="org.eclipse.ui.activities">
-       
-    <!-- A Modeling category, where EMF, etc. can live -->
-    <category
-          description="%activity.cat.modeling.desc"
-          id="org.eclipse.galileo.modeling.Category"
-          name="%activity.cat.modeling">
-    </category>
-    
-    <!-- A Diagramming category where specific diagram types (i.e. UML) and supporting capabilities can live (i.e. GEF/GMF runtime) -->
-    <category
-          description="%activity.cat.diagramming.desc"
-          id="org.eclipse.galileo.diagramming.Category"
-          name="%activity.cat.diagramming">
-    </category>
-    
-    <!-- A Model Transformation category, where JET, Xpand, etc. can live -->
-    <category
-          description="%activity.cat.model.transformation.desc"
-          id="org.eclipse.galileo.model.transformation.Category"
-          name="%activity.cat.model.transformation">
-    </category>
-    
-    <!-- ACTF category -->
-    <category
-          description="%activity.cat.actf.desc"
-          id="org.eclipse.galileo.actf.Category"
-          name="%activity.cat.actf">
-    </category>
-    
-    <!-- Test and Performance Tools Platform (TPTP) category-->
-    <category
-          description="%activity.cat.tptp.desc"
-          id="org.eclipse.galileo.tptp.Category"
-          name="%activity.cat.tptp">
-    </category>
-
-	<!-- Remote Access and Device Development category -->
-	<category id="org.eclipse.galileo.dsdp.Category"
-		description="%activity.cat.dsdp.desc"
-		name="%activity.cat.dsdp" />
-
-	<!-- Assemble, Build, and Deploy category -->
-	<category id="org.eclipse.galileo.abd.Category"
-		description="%activity.cat.abd.desc"
-		name="%activity.cat.abd" />
-
-	<!-- Task Management category -->
-	<category id="org.eclipse.galileo.tasks.Category"
-		description="%activity.cat.tasks.desc"
-		name="%activity.cat.tasks" />
-
-   </extension>
-    
-   <!-- GMF activity bindings to Galileo categories -->
-   <extension
-       point="org.eclipse.ui.activities">
-       
-    <!-- GMF Tooling in Development category -->
-    <categoryActivityBinding
-          activityId="org.eclipse.gmf.tooling.activity"
-          categoryId="org.eclipse.categories.developmentCategory">
-    </categoryActivityBinding>
-    
-    <!-- GMF Runtime in general Diagramming category -->
-    <categoryActivityBinding
-          activityId="org.eclipse.gmf.runtime.activity"
-          categoryId="org.eclipse.galileo.diagramming.Category">
-    </categoryActivityBinding>
-    
-    <!-- GMF Xpand in Model Transformation category -->
-    <categoryActivityBinding
-          activityId="org.eclipse.gmf.xpand.activity"
-          categoryId="org.eclipse.galileo.model.transformation.Category">
-    </categoryActivityBinding>
-    
-    <!-- GMF Runtime enabled by default -->
-    <defaultEnablement
-          id="org.eclipse.gmf.runtime.activity">
-    </defaultEnablement>
-    
-    <!-- Data Tooling enabled by default -->
-    <defaultEnablement
-          id="org.eclipse.datatools.capabilities.activity">
-    </defaultEnablement>
-    
-        <!-- Data Tools in Development category -->
-    <categoryActivityBinding
-          activityId="org.eclipse.datatools.capabilities.activity"
-          categoryId="org.eclipse.categories.developmentCategory">
-    </categoryActivityBinding>
-    
-    <!-- ACTF category binding -->
-    <categoryActivityBinding
-          activityId="org.eclipse.actf.activity"
-          categoryId="org.eclipse.galileo.actf.Category">
-    </categoryActivityBinding>
-
-    <!-- ACTF capability enabled by default -->
-    <defaultEnablement
-          id="org.eclipse.actf.activity">
-    </defaultEnablement>
-    
-    <!-- Test and Performance Tools Platform (TPTP) category binding -->
-    <categoryActivityBinding
-          activityId="org.eclipse.tptp.platform.runtime.activity"
-          categoryId="org.eclipse.galileo.tptp.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.tptp.monitoring.runtime.activity"
-          categoryId="org.eclipse.galileo.tptp.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.tptp.trace.runtime.activity"
-          categoryId="org.eclipse.galileo.tptp.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.tptp.test.runtime.activity"
-          categoryId="org.eclipse.galileo.tptp.Category">
-    </categoryActivityBinding>
-    
-    <!-- Test and Performance Tools Platform (TPTP) category enabled by default -->
-    <defaultEnablement
-          id="org.eclipse.tptp.platform.runtime.activity">
-    </defaultEnablement>
-    <defaultEnablement
-          id="org.eclipse.tptp.monitoring.runtime.activity">
-    </defaultEnablement>
-    <defaultEnablement
-          id="org.eclipse.tptp.trace.runtime.activity">
-    </defaultEnablement>
-    <defaultEnablement
-          id="org.eclipse.tptp.test.runtime.activity">
-    </defaultEnablement>
-    <defaultEnablement
-          id="org.eclipse.jwt.Activity">
-    </defaultEnablement>
-    <categoryActivityBinding
-          activityId="org.eclipse.jwt.Activity"
-          categoryId="org.eclipse.categories.developmentCategory">
-    </categoryActivityBinding>
-
-	<!-- DSDP-TM / RSE and Terminal category binding -->
-	<categoryActivityBinding activityId="org.eclipse.rse.activity"
-		categoryId="org.eclipse.galileo.dsdp.Category" />
-	<categoryActivityBinding activityId="org.eclipse.tm.terminal.activity"
-		categoryId="org.eclipse.galileo.dsdp.Category" />
-	<!-- DSDP-TM / RSE and Terminal enabled by default -->
-    <defaultEnablement id="org.eclipse.rse.activity" />
-    <defaultEnablement id="org.eclipse.tm.terminal.activity" />
-
-    <!-- EMF category bindings and default enablement -->
-    <categoryActivityBinding
-          activityId="org.eclipse.emf.activity"
-          categoryId="org.eclipse.galileo.modeling.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.emf.reflective.activity"
-          categoryId="org.eclipse.galileo.modeling.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.emf.jet.activity"
-          categoryId="org.eclipse.galileo.model.transformation.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.xsd.activity"
-          categoryId="org.eclipse.galileo.modeling.Category">
-    </categoryActivityBinding>
-    <categoryActivityBinding
-          activityId="org.eclipse.emf.examples.activity"
-          categoryId="org.eclipse.galileo.modeling.Category">
-    </categoryActivityBinding>
-    <defaultEnablement
-          id="org.eclipse.emf.activity">
-    </defaultEnablement>
-    <defaultEnablement
-          id="org.eclipse.emf.reflective.activity">
-    </defaultEnablement>
-    <defaultEnablement
-          id="org.eclipse.emf.examples.activity">
-    </defaultEnablement>
-        
-     <!-- UML2 category bindings and default enablement -->
-     <categoryActivityBinding
-            activityId="org.eclipse.uml2.activity"
-            categoryId="org.eclipse.galileo.modeling.Category" >                           
-      </categoryActivityBinding>
-      <defaultEnablement
-            id="org.eclipse.uml2.activity">
-      </defaultEnablement>
-
-    <!-- Mylyn category bindings and default enablement -->
-	<categoryActivityBinding
-		activityId="org.eclipse.mylyn.capabilities.taskManagement"
-		categoryId="org.eclipse.galileo.tasks.Category">
-	</categoryActivityBinding>
-	<defaultEnablement
-		id="org.eclipse.mylyn.capabilities.taskManagement">
-	</defaultEnablement>
-	<categoryActivityBinding
-		activityId="org.eclipse.mylyn.capabilities.taskFocusedInterface"
-		categoryId="org.eclipse.galileo.tasks.Category">
-	</categoryActivityBinding>
-	<defaultEnablement
-		id="org.eclipse.mylyn.capabilities.taskFocusedInterface">
-	</defaultEnablement>
-	<categoryActivityBinding
-		activityId="org.eclipse.mylyn.capabilities.wikiText"
-		categoryId="org.eclipse.galileo.tasks.Category">
-	</categoryActivityBinding>
-	<defaultEnablement
-		id="org.eclipse.mylyn.capabilities.wikiText">
-	</defaultEnablement>
-	
-	    <!-- RAP category binding and default enablement -->
-	    <categoryActivityBinding
-            activityId="org.eclipse.rap.ui.rapPluginDevelopment"
-            categoryId="org.eclipse.categories.developmentCategory">
-      </categoryActivityBinding>
-
-      <defaultEnablement
-            id="org.eclipse.rap.ui.rapPluginDevelopment">
-      </defaultEnablement>
-
-	<!-- EMFT Ecore Tools category bindings and default enablement -->
-	<categoryActivityBinding
-		activityId="org.eclipse.emf.ecoretools.ui.capabilities"
-		categoryId="org.eclipse.galileo.modeling.Category">
-	</categoryActivityBinding>
-	<defaultEnablement
-		id="org.eclipse.emf.ecoretools.ui.capabilities">
-	</defaultEnablement>
-	
-	<!-- WTP category bindings and default enablement -->
-	<!-- JavaScript -->
-	<categoryActivityBinding
-            activityId="org.eclipse.wtp.javascript.capabilities"
-            categoryId="org.eclipse.categories.developmentCategory">
-        </categoryActivityBinding>
-        <defaultEnablement
-            id="org.eclipse.wtp.javascript.capabilities">
-        </defaultEnablement>
-        
-        <!-- XML (XSD, DTD, XSL) -->
-        <categoryActivityBinding
-            activityId="org.eclipse.wtp.xml.capabilities"
-            categoryId="org.eclipse.categories.developmentCategory">
-        </categoryActivityBinding>
-        <defaultEnablement
-            id="org.eclipse.wtp.xml.capabilities">
-        </defaultEnablement>
-       
-       <!-- Web (HTML, CSS, XHTML) --> 
-       <categoryActivityBinding
-            activityId="org.eclipse.wst.web.capabilities"
-            categoryId="org.eclipse.categories.developmentCategory">
-       </categoryActivityBinding>
-       <defaultEnablement
-            id="org.eclipse.wtp.web.capabilities">
-       </defaultEnablement>
-       
-       <!-- Java EE, Web Services -->
-        <categoryActivityBinding
-            activityId="org.eclipse.wtp.webservices.capabilities"
-            categoryId="org.eclipse.categories.developmentCategory">
-        </categoryActivityBinding>
-        
-        <defaultEnablement
-            id="org.eclipse.wtp.webservices.capabilities">
-        </defaultEnablement>
-        
-        <categoryActivityBinding
-            activityId="org.eclipse.wtp.jee.capabilities"
-            categoryId="org.eclipse.categories.developmentCategory">
-        </categoryActivityBinding>
-       
-       <defaultEnablement
-            id="org.eclipse.wtp.jee.capabilities">
-       </defaultEnablement>
-        
-       
-  </extension>
-  
-</plugin>
diff --git a/org.eclipse.galileo/plugin_customization.ini b/org.eclipse.galileo/plugin_customization.ini
deleted file mode 100644
index 3b6fdc4..0000000
--- a/org.eclipse.galileo/plugin_customization.ini
+++ /dev/null
@@ -1,35 +0,0 @@
-# plugin_customization.ini 
-# sets default values for plug-in-specific preferences
-# keys are qualified by plug-in id
-# e.g., com.example.acmeplugin/myproperty=myvalue
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in plugin_customization.properties
-# This file does not need to be translated.
-
-# Property "org.eclipse.ui/defaultPerspectiveId" controls the 
-# perspective that the workbench opens initially
-org.eclipse.ui/defaultPerspectiveId=org.eclipse.jdt.ui.JavaPerspective
-
-# new-style tabs by default
-org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
-
-# put the perspective switcher on the top right
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-
-# show progress on startup
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = true
-
-# show build id in the splash - only for nightly, integration, and milestone builds
-# org.eclipse.ui.workbench/SHOW_BUILDID_ON_STARTUP=true
-
-# use the window set by default
-org.eclipse.ui/USE_WINDOW_WORKING_SET_BY_DEFAULT=true
-
-# Welcome theme to use
-org.eclipse.ui.intro/INTRO_THEME = org.eclipse.ui.intro.universal.purpleMesh
-
-# Root page links to show in the Universal Welcome
-org.eclipse.ui.intro.universal/INTRO_ROOT_PAGES = overview,tutorials,samples,whatsnew
-
-# Initial page layout of the Universal Welcome
-org.eclipse.ui.intro.universal/INTRO_DATA = product:introData.xml
\ No newline at end of file
diff --git a/org.eclipse.galileo/splash.bmp b/org.eclipse.galileo/splash.bmp
deleted file mode 100644
index 0c4f760..0000000
--- a/org.eclipse.galileo/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ganymede.sitecontributions/.project b/org.eclipse.ganymede.sitecontributions/.project
deleted file mode 100644
index bb4b1ae..0000000
--- a/org.eclipse.ganymede.sitecontributions/.project
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-    <name>org.eclipse.ganymede.sitecontributions</name>
-    <comment></comment>
-    <projects></projects>
-    <buildSpec></buildSpec>
-    <natures></natures>
-</projectDescription>
diff --git a/org.eclipse.ganymede.sitecontributions/.settings/org.eclipse.core.resources.prefs b/org.eclipse.ganymede.sitecontributions/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c2022db..0000000
--- a/org.eclipse.ganymede.sitecontributions/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Oct 20 02:28:38 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.ganymede.sitecontributions/birt.sc b/org.eclipse.ganymede.sitecontributions/birt.sc
deleted file mode 100755
index 0674e23..0000000
--- a/org.eclipse.ganymede.sitecontributions/birt.sc
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/birt/update-site/2.3-interim/site.xml">
-    <sc:member
-        name="Xiaoying Gu"
-        email="xgu@actuate.com" />
-    <sc:member
-        name="Wenfeng Li"
-        email="wli@actuate.com" />
-    <sc:member
-        name="Yong Jiang"
-        email="yjiang@actuate.com" />
-    <sc:cspec name="org.eclipse.birt-sc">
-        <dependencies>
-            <dependency
-                name="com.lowagie.itext"
-                versionDesignator="[1.5.4.v20080225-1437w31191339]" />
-            <dependency
-                name="org.apache.commons.codec"
-                versionDesignator="[1.3.0.v20070920-12-7w3119164102711]" />
-            <dependency
-                name="org.mozilla.rhino"
-                versionDesignator="[1.6.7.v20071217-1567w31191325]" />
-            <dependency
-                name="org.w3c.sac"
-                versionDesignator="[1.3.0.v20080102-46-_kE77b7U_N56BA]" />
-            <dependency
-                name="org.apache.derby.core"
-                versionDesignator="[10.3.1.4]" />
-            <dependency
-                name="org.eclipse.birt"
-                versionDesignator="[2.3.2.r232_v20081010-7N7Y7MAIe2QJZSgfOaAphGBR4t7b]" />
-            <dependency
-                name="org.eclipse.birt.doc"
-                versionDesignator="[2.3.2.r232_v20081010-2217s343Aw31192216]" />
-            <dependency
-                name="org.eclipse.birt.integration.wtp"
-                versionDesignator="[2.3.2.r232_v20081204-2217s343A311_1233]" />
-            <dependency
-                name="org.eclipse.birt.chart.integration.wtp"
-                versionDesignator="[2.3.2.r232_v20081010-2217s343A3119211_]" />
-        </dependencies>
-        <groups>
-            <public name="Charting and Reporting">
-                <attribute component="org.eclipse.birt" />
-                <attribute component="org.eclipse.birt.doc" />
-                <attribute component="org.eclipse.birt.integration.wtp" />
-                <attribute component="org.eclipse.birt.chart.integration.wtp" />
-            </public>
-            <public name="Enabling Features">
-                <attribute component="com.lowagie.itext" />
-                <attribute component="org.apache.commons.codec" />
-                <attribute component="org.mozilla.rhino" />
-                <attribute component="org.w3c.sac" />
-                <attribute component="org.apache.derby.core" />
-            </public>
-        </groups>
-    </sc:cspec>
-    
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/buckminster.sc b/org.eclipse.ganymede.sitecontributions/buckminster.sc
deleted file mode 100755
index dcc5b23..0000000
--- a/org.eclipse.ganymede.sitecontributions/buckminster.sc
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/tools/buckminster/updates-ganymede/site.xml">
-    <sc:member
-        name="Thomas Hallgren"
-        email="thomas@tada.se" />
-    <sc:cspec name="org.eclipse.buckminster-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.buckminster.core.feature"
-                versionDesignator="[1.1.0.r09948]" />
-            <dependency
-                name="org.eclipse.buckminster.cvs.feature"
-                versionDesignator="[1.0.0.r09930]" />
-            <dependency
-                name="org.eclipse.buckminster.maven.feature"
-                versionDesignator="[1.1.0.r09904]" />
-            <dependency
-                name="org.eclipse.buckminster.p4.feature"
-                versionDesignator="[1.0.0.r09908]" />
-            <dependency
-                name="org.eclipse.buckminster.pde.feature"
-                versionDesignator="[1.1.340.r09942]" />
-            <dependency
-                name="org.eclipse.buckminster.remote.feature"
-                versionDesignator="[1.0.0.r09842]" />
-        </dependencies>
-        <groups>
-            <public name="Other Tools">
-                <attribute component="org.eclipse.buckminster.core.feature" />
-                <attribute component="org.eclipse.buckminster.cvs.feature" />
-                <attribute component="org.eclipse.buckminster.maven.feature" />
-                <attribute component="org.eclipse.buckminster.p4.feature" />
-                <attribute component="org.eclipse.buckminster.pde.feature" />
-                <attribute component="org.eclipse.buckminster.remote.feature" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/cdt.sc b/org.eclipse.ganymede.sitecontributions/cdt.sc
deleted file mode 100755
index d899f28..0000000
--- a/org.eclipse.ganymede.sitecontributions/cdt.sc
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/tools/cdt/updates/ganymede/site.xml">
-    <sc:member
-        name="Vivian Kong"
-        email="vivkong@gmail.com" />
-    <sc:member
-        name="Doug Schaefer"
-        email="dschaefer@rogers.com" />
-    <sc:cspec name="org.eclipse.cdt-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.cdt.platform"
-                versionDesignator="[5.0.2.200902130801]" />
-            <dependency
-                name="org.eclipse.cdt"
-                versionDesignator="[5.0.2.200902130801]" />
-            <dependency
-            	name="org.eclipse.cdt.mylyn"
-            	versionDesignator="[5.0.2.200902130801]" />
-        </dependencies>
-        <groups>
-            <public name="C and C++ Development">
-                <attribute component="org.eclipse.cdt.platform" />
-                <attribute component="org.eclipse.cdt" />
-                <attribute component="org.eclipse.cdt.mylyn" />
-            </public>
-            <public name="Collaboration Tools">
-                <attribute component="org.eclipse.cdt.mylyn" />
-            </public>            
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/dltk.sc b/org.eclipse.ganymede.sitecontributions/dltk.sc
deleted file mode 100755
index 3f159d0..0000000
--- a/org.eclipse.ganymede.sitecontributions/dltk.sc
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/technology/dltk/updates-dev/0.95/site.xml">
-    <sc:member
-        name="DLTK Build Master"
-        email="andrey@xored.com" />
-    <sc:cspec name="org.eclipse.dltk-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.dltk.core"
-                versionDesignator="[0.95.1.v20080626-2043-0EEJ6E9IgKLhLZW8AKz0uq5]" />
-            <dependency
-                name="org.eclipse.dltk.ruby"
-                versionDesignator="[0.95.1.v20080626-2043-0ECq6E8McIJXJUOr9upp-2]" />
-            <dependency
-                name="org.eclipse.dltk.tcl"
-                versionDesignator="[0.95.1.v20080626-2043-0EEJ77E9IgKLhLeUz0ALs1x5]" />
-            <dependency
-                name="org.eclipse.dltk.xotcl"
-                versionDesignator="[0.95.1.v20080903-1434-0Bw2_kE77c7a9N3BFKL]" />
-            <dependency
-                name="org.eclipse.dltk.itcl"
-                versionDesignator="[0.95.1.v20080903-1434-0AR09oA55S5N9J28GBE]" />
-            <dependency
-                name="org.eclipse.dltk.rse"
-                versionDesignator="[0.95.1.v20080903-1434-09y08s733I3H3E15B_7]" />
-            <dependency
-                name="org.eclipse.dltk.mylyn"
-                versionDesignator="[0.95.1.v20080626-2043-08T07w31191_1402545]" />
-        </dependencies>
-        <groups>
-            <public name="Programming Languages">
-                <attribute component="org.eclipse.dltk.ruby" />
-                <attribute component="org.eclipse.dltk.tcl" />
-                <attribute component="org.eclipse.dltk.xotcl" />
-                <attribute component="org.eclipse.dltk.itcl" />
-            </public>
-            <public name="Remote Access and Device Development">
-                <attribute component="org.eclipse.dltk.rse" />
-            </public>            
-            <public name="Collaboration Tools">
-                <attribute component="org.eclipse.dltk.mylyn" />
-            </public>            
-            <public name="Enabling Features">
-                <attribute component="org.eclipse.dltk.core" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/dsdp-dd.sc b/org.eclipse.ganymede.sitecontributions/dsdp-dd.sc
deleted file mode 100755
index 311f568..0000000
--- a/org.eclipse.ganymede.sitecontributions/dsdp-dd.sc
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/dsdp/dd/updates/site.xml">
-    <sc:member
-        name="Ted Williams"
-        email="ted.williams@windriver.com" />
-    <sc:cspec name="org.eclipse.dsdp-dd-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.dd.dsf.sdk"
-                versionDesignator="[1.0.0.v20080609]" />
-            <dependency
-                name="org.eclipse.dd.dsf.gdb_launch"
-                versionDesignator="[1.0.0.v20080609]" />
-            <dependency
-                name="org.eclipse.dd.dsf.gdb"
-                versionDesignator="[1.0.0.v20080609]" />
-            <dependency
-                name="org.eclipse.dd.debug.memory.renderings"
-                versionDesignator="[1.0.0.v20080609]" />
-            <dependency
-                name="org.eclipse.dd.ipxact"
-                versionDesignator="[0.9.0.v20080609]" />
-        </dependencies>
-        <groups>
-            <public name="Remote Access and Device Development">
-                <attribute component="org.eclipse.dd.dsf.sdk" />
-                <attribute component="org.eclipse.dd.dsf.gdb" />
-                <attribute component="org.eclipse.dd.dsf.gdb_launch" />
-                <attribute component="org.eclipse.dd.debug.memory.renderings" />
-                <attribute component="org.eclipse.dd.ipxact" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/dsdp-nab.sc b/org.eclipse.ganymede.sitecontributions/dsdp-nab.sc
deleted file mode 100644
index a9dc0e8..0000000
--- a/org.eclipse.ganymede.sitecontributions/dsdp-nab.sc
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/dsdp/nab/updates/site.xml">
-    <sc:member
-        name="Shigeki Moride"
-        email="moride.shigeki@jp.fujitsu.com" />
-    <sc:member
-        name="Martin Oberhuber"
-        email="martin.oberhuber@windriver.com" />
-    <sc:cspec name="org.eclipse.dsdp-nab-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.nab.mwt.native.win32"
-                versionDesignator="[0.9.9.200806181757]" />
-            <dependency
-                name="org.eclipse.nab.mwt.native.linux.gtk"
-                versionDesignator="[0.9.9.200806181757]" />
-        </dependencies>
-        <groups>
-            <public name="Remote Access and Device Development">
-                <attribute component="org.eclipse.nab.mwt.native.win32" />
-                <attribute component="org.eclipse.nab.mwt.native.linux.gtk" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/dsdp-tm.sc b/org.eclipse.ganymede.sitecontributions/dsdp-tm.sc
deleted file mode 100755
index b8c877a..0000000
--- a/org.eclipse.ganymede.sitecontributions/dsdp-tm.sc
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/dsdp/tm/updates/3.0milestones/site-europa.xml">
-    <sc:member
-        name="Martin Oberhuber"
-        email="martin.oberhuber@windriver.com" />
-    <sc:member
-        name="David Dykstal"
-        email="dykstal@acm.org" />
-    <sc:cspec name="org.eclipse.dsdp-tm-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.rse"
-                versionDesignator="[3.0.3.v200902042310-7H37E8qfisI6diJKMbrhR-TV-a3]" />
-            <dependency
-                name="org.eclipse.rse.remotecdt"
-                versionDesignator="[2.1.1.v200809041200-4118s733I3J4F5C48]" />
-            <dependency
-                name="org.eclipse.rse.useractions"
-                versionDesignator="[1.1.2.v200812041720-2138s733I573A5G73]" />
-            <dependency
-                name="org.eclipse.tm.terminal.sdk"
-                versionDesignator="[2.0.3.v200902181600-7J-7EB-NLwTYlTNN4PlbFLKRNHYG]" />
-            <dependency
-                name="org.eclipse.tm.discovery"
-                versionDesignator="[3.0.0.v20080530-7N-E8ME8McIJXIwdh]" />
-        </dependencies>
-        <groups>
-            <public name="Remote Access and Device Development">
-                <attribute component="org.eclipse.rse" />
-                <attribute component="org.eclipse.rse.remotecdt" />
-                <attribute component="org.eclipse.rse.useractions" />
-                <attribute component="org.eclipse.tm.terminal.sdk" />
-                <attribute component="org.eclipse.tm.discovery" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/dtp.sc b/org.eclipse.ganymede.sitecontributions/dtp.sc
deleted file mode 100755
index b524121..0000000
--- a/org.eclipse.ganymede.sitecontributions/dtp.sc
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/datatools/downloads/drops/N_updates/site.xml">
-    <sc:member
-        name="Xiaoying Gu"
-        email="xgu@actuate.com" />
-    <sc:cspec name="org.eclipse.dtp-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.datatools.connectivity.feature"
-                versionDesignator="[1.6.2.v200810071455-7_7K7NDn-QYKjkBKlmD4edYsAX]" />
-            <dependency
-                name="org.eclipse.datatools.connectivity.oda.designer.feature"
-                versionDesignator="[1.6.2.v200901211403-7C67XCYQCD7ESIqIQco]" />
-            <dependency
-                name="org.eclipse.datatools.connectivity.oda.feature"
-                versionDesignator="[1.6.2.v200810071455-7F27SBcMAAxCcHmCNWi]" />
-            <dependency
-                name="org.eclipse.datatools.doc.user"
-                versionDesignator="[1.6.2.v200810071455-37A09oA55S6H_L8DFG24]" />
-            <dependency
-                name="org.eclipse.datatools.common.doc.user"
-                versionDesignator="[1.6.2.v200810071455-1507w31191939244824]" />
-            <dependency
-                name="org.eclipse.datatools.connectivity.doc.user"
-                versionDesignator="[1.6.2.v200810071455-27A18s733I3I7I599G59]" />
-            <dependency
-                name="org.eclipse.datatools.sqltools.doc.user"
-                versionDesignator="[1.6.2.v200810071455-1507w31191939244824]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.apache.derby.feature"
-                versionDesignator="[1.6.2.v200810071455-6577AlJCKcLZI2Ljcc8MDD]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.feature"
-                versionDesignator="[1.6.2.v200810071455-7D8H7P9FT9Ofz-RuiDlMiw8OR2pj]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.hsqldb.feature"
-                versionDesignator="[1.6.2.v200810071455-57_2_pFAIQJZIsLSXb8MDD]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.ibm.feature"
-                versionDesignator="[1.6.2.v200810071455-7D47FEB7sQSBV7hXWQ6R]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.jdbc.feature"
-                versionDesignator="[1.6.2.v200810071455-3-29oA55S7__D7LCC]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.jdt.feature"
-                versionDesignator="[1.6.2.v200810071455-1-07w311_12281248]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.msft.feature"
-                versionDesignator="[1.6.2.v200810071455-442_kE77c7VBQDFNW]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.mysql.feature"
-                versionDesignator="[1.6.2.v200810071455-446_kE77d8H_VALOJ]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.oda.designer.feature"
-                versionDesignator="[1.6.2.v200810071455-2138s733J465I548A]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.oda.feature"
-                versionDesignator="[1.6.2.v200810071455-797P78CYQCD5DjGdEURT]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.oracle.feature"
-                versionDesignator="[1.6.2.v200810071455-443_kE77d7OAPAMJQ]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.postgresql.feature"
-                versionDesignator="[1.6.2.v200810071455-442_kE77d7N9VANON]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.sap.feature"
-                versionDesignator="[1.6.2.v200810071455-440_kE77c7QAQEIQQ]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.sybase.feature"
-                versionDesignator="[1.6.2.v200810071455-7A-5E9IgKLjM1d1Oepu]" />
-            <dependency
-                name="org.eclipse.datatools.intro"
-                versionDesignator="[1.6.2.v200810071455-1507w311918132411]" />
-            <dependency
-                name="org.eclipse.datatools.modelbase.feature"
-                versionDesignator="[1.6.2.v200810071455-6-2BcMAAyBWDkEVSb]" />
-            <dependency
-                name="org.eclipse.datatools.sdk.feature"
-                versionDesignator="[1.6.2.v200810071455-67S779KdRRFAuQFpKZ2z-0mp49Vx]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.data.feature"
-                versionDesignator="[1.6.2.v200810071455-3019oA55V599K5M9_]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.ddl.feature"
-                versionDesignator="[1.6.2.v200810071455-25184B23NbbGK_OXQXHz-QP]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.ddlgen.feature"
-                versionDesignator="[1.6.2.v200810071455-77-0CYQCD7FTIWGyPO]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.feature"
-                versionDesignator="[1.6.2.v200810071455-7F7d7AE8yz-YIwEvOFuOF3SqVz-z]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.parsers.feature"
-                versionDesignator="[1.6.2.v200810071455-502AgI99mASCdBYCN]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.results.feature"
-                versionDesignator="[1.6.2.v200810071455-3019oA55U6_7H6KAC]" />
-        </dependencies>
-        <groups>
-            <public name="Enabling Features">
-                <attribute component="org.eclipse.datatools.connectivity.feature" />
-                <attribute component="org.eclipse.datatools.connectivity.oda.designer.feature" />
-                <attribute component="org.eclipse.datatools.connectivity.oda.feature" />
-                <attribute component="org.eclipse.datatools.enablement.apache.derby.feature" />
-                <attribute component="org.eclipse.datatools.enablement.hsqldb.feature" />
-                <attribute component="org.eclipse.datatools.enablement.ibm.feature" />
-                <attribute component="org.eclipse.datatools.enablement.jdbc.feature" />
-                <attribute component="org.eclipse.datatools.enablement.jdt.feature" />
-                <attribute component="org.eclipse.datatools.enablement.msft.feature" />
-                <attribute component="org.eclipse.datatools.enablement.mysql.feature" />
-                <attribute component="org.eclipse.datatools.enablement.oda.designer.feature" />
-                <attribute component="org.eclipse.datatools.enablement.oda.feature" />
-                <attribute component="org.eclipse.datatools.enablement.oracle.feature" />
-                <attribute component="org.eclipse.datatools.enablement.postgresql.feature" />
-                <attribute component="org.eclipse.datatools.enablement.sap.feature" />
-                <attribute component="org.eclipse.datatools.enablement.sybase.feature" />
-                <attribute component="org.eclipse.datatools.modelbase.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.data.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.ddl.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.ddlgen.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.parsers.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.results.feature" />
-            </public>
-            <public name="Database Development">
-                <attribute component="org.eclipse.datatools.doc.user" />
-                <attribute component="org.eclipse.datatools.common.doc.user" />
-                <attribute component="org.eclipse.datatools.connectivity.doc.user" />
-                <attribute component="org.eclipse.datatools.sqltools.doc.user" />
-                <attribute component="org.eclipse.datatools.enablement.feature" />
-                <attribute component="org.eclipse.datatools.intro" />
-                <attribute component="org.eclipse.datatools.sdk.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.feature" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
-
-
diff --git a/org.eclipse.ganymede.sitecontributions/ecf.sc b/org.eclipse.ganymede.sitecontributions/ecf.sc
deleted file mode 100755
index c10fd3a..0000000
--- a/org.eclipse.ganymede.sitecontributions/ecf.sc
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/rt/ecf/ganymede-update/site.xml">
-    <sc:member
-        name="Scott Lewis"
-        email="slewis@composent.com" />
-    <sc:cspec name="org.eclipse.ecf-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.ecf.examples"
-                versionDesignator="[2.1.0.v20081224-1728]" />
-            <dependency
-                name="org.eclipse.ecf.core"
-                versionDesignator="[2.1.0.v20081224-1728]" />
-        </dependencies>
-        <groups>
-            <public name="Communications">
-                <attribute component="org.eclipse.ecf.examples" />
-                <attribute component="org.eclipse.ecf.core" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/emf-cdo.sc b/org.eclipse.ganymede.sitecontributions/emf-cdo.sc
deleted file mode 100644
index 2291d3d..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-cdo.sc
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF CDO Build Team" email="stepper@esc-net.de" />
-	<sc:member name="EMF CDO Build Team" email="smcduff@hotmail.com" />
-	<sc:member name="EMF CDO Build Team" email="mtaal@elver.org" />
-	<sc:member name="EMF CDO Build Team" email="stefan.winkler-et@fernuni-hagen.de" />
-	<sc:member name="EMF CDO Build Team" email="vroldan@opencanarias.com" />
-	<sc:member name="EMF CDO Build Team" email="dietisheim@puzzle.ch" />
-	<sc:cspec name="org.eclipse.emf-cdo-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.cdo.sdk" versionDesignator="[1.0.9.v200902280039]" />
-			<dependency name="org.eclipse.emf.cdo" versionDesignator="[1.0.9.v200902280039]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.cdo.sdk" />
-				<attribute component="org.eclipse.emf.cdo" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emf-emf.sc b/org.eclipse.ganymede.sitecontributions/emf-emf.sc
deleted file mode 100755
index 9692140..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-emf.sc
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF Build Team" email="davidms@ca.ibm.com" />
-	<sc:cspec name="org.eclipse.emf-emf-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.common.ui" versionDesignator="[2.4.0.v200902171115]" />
-			<dependency name="org.eclipse.emf.common" versionDesignator="[2.4.0.v200902171115]" />
-			<dependency name="org.eclipse.emf.ecore.edit" versionDesignator="[2.4.1.v200902171115]" />
-			<dependency name="org.eclipse.emf.ecore.sdo.sdk" versionDesignator="[2.4.0.v200902171115]" />
-			<dependency name="org.eclipse.emf.ecore.sdo" versionDesignator="[2.4.0.v200902171115]" />
-			<dependency name="org.eclipse.emf.ecore" versionDesignator="[2.4.2.v200902171115]" />
-			<dependency name="org.eclipse.emf.edit.ui" versionDesignator="[2.4.2.v200902171115]" />
-			<dependency name="org.eclipse.emf.edit" versionDesignator="[2.4.2.v200902171115]" />
-			<dependency name="org.eclipse.emf.sdk" versionDesignator="[2.4.2.v200902171115]" />
-			<dependency name="org.eclipse.emf" versionDesignator="[2.4.2.v200902171115]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.emf.common.ui" />
-				<attribute component="org.eclipse.emf.common" />
-				<attribute component="org.eclipse.emf.ecore.edit" />
-				<attribute component="org.eclipse.emf.ecore" />
-				<attribute component="org.eclipse.emf.edit.ui" />
-				<attribute component="org.eclipse.emf.edit" />
-			</public>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.ecore.sdo.sdk" />
-				<attribute component="org.eclipse.emf.ecore.sdo" />
-				<attribute component="org.eclipse.emf.sdk" />
-				<attribute component="org.eclipse.emf" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emf-net4j.sc b/org.eclipse.ganymede.sitecontributions/emf-net4j.sc
deleted file mode 100644
index 2341cff..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-net4j.sc
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF NET4J Build Team" email="stepper@esc-net.de" />
-	<sc:member name="EMF NET4J Build Team" email="smcduff@hotmail.com" />
-	<sc:member name="EMF NET4J Build Team" email="mtaal@elver.org" />
-	<sc:member name="EMF NET4J Build Team" email="stefan.winkler-et@fernuni-hagen.de" />
-	<sc:member name="EMF NET4J Build Team" email="vroldan@opencanarias.com" />
-	<sc:member name="EMF NET4J Build Team" email="dietisheim@puzzle.ch" />
-	<sc:cspec name="org.eclipse.emf-net4j-sc">
-		<dependencies>
-			<dependency name="org.eclipse.net4j.sdk" versionDesignator="[1.0.9.v200902272310]" />
-			<dependency name="org.eclipse.net4j" versionDesignator="[1.0.9.v200902272310]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.net4j.sdk" />
-				<attribute component="org.eclipse.net4j" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emf-query.sc b/org.eclipse.ganymede.sitecontributions/emf-query.sc
deleted file mode 100644
index 276a885..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-query.sc
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF QUERY Build Team" email="give.a.damus@gmail.com" />
-	<sc:member name="EMF QUERY Build Team" email="nickboldt@gmail.com" />
-	<sc:cspec name="org.eclipse.emf-query-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.query.ocl" versionDesignator="[1.2.0.v200805130238-11-7w311916241349]" />
-			<dependency name="org.eclipse.emf.query" versionDesignator="[1.2.0.v200805130238-11-7w311916241349]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.emf.query.ocl" />
-				<attribute component="org.eclipse.emf.query" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emf-teneo.sc b/org.eclipse.ganymede.sitecontributions/emf-teneo.sc
deleted file mode 100644
index a2f7d33..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-teneo.sc
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/interim/site-ganymede.xml">
-	<sc:member name="EMF TENEO Build Team" email="mtaal@elver.org" />
-	<sc:member name="EMF TENEO Build Team" email="stepper@esc-net.de" />
-	<sc:cspec name="org.eclipse.emf-teneo-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.teneo.sdk" versionDesignator="[1.0.4.v200906300343-4-7888F4KFMgdUMaT65sYNmutWWG]" />
-			<dependency name="org.eclipse.emf.teneo" versionDesignator="[1.0.4.v200906300343-79-77EVVFGMFz0cFFckc]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.teneo.sdk" />
-				<attribute component="org.eclipse.emf.teneo" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emf-transaction.sc b/org.eclipse.ganymede.sitecontributions/emf-transaction.sc
deleted file mode 100644
index 5fdd52f..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-transaction.sc
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF TRANSACTION Build Team" email="give.a.damus@gmail.com" />
-	<sc:member name="EMF TRANSACTION Build Team" email="nickboldt@gmail.com" />
-	<sc:cspec name="org.eclipse.emf-transaction-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.transaction" versionDesignator="[1.2.1.v200807161719-2308s733I3E5B4B7J]" />
-			<dependency name="org.eclipse.emf.workspace" versionDesignator="[1.2.3.v200810041753-2328s733J3_56398B]" />
-			<dependency name="org.eclipse.emf.emfqtv.all.sdk" versionDesignator="[1.2.3.v200810041753-3539-FFBRDMVOp5jnPbgRbDUVz0G]" />
-			<dependency name="org.eclipse.emf.emfqtv.all" versionDesignator="[1.2.3.v200810041753-67A3_sOCSMOaKz-GhWyDbXcddQEE]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.emf.transaction" />
-				<attribute component="org.eclipse.emf.workspace" />
-			</public>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.emfqtv.all.sdk" />
-				<attribute component="org.eclipse.emf.emfqtv.all" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emf-validation.sc b/org.eclipse.ganymede.sitecontributions/emf-validation.sc
deleted file mode 100644
index 37c532d..0000000
--- a/org.eclipse.ganymede.sitecontributions/emf-validation.sc
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF VALIDATION Build Team" email="give.a.damus@gmail.com" />
-	<sc:member name="EMF VALIDATION Build Team" email="nickboldt@gmail.com" />
-	<sc:cspec name="org.eclipse.emf-validation-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.validation.ocl" versionDesignator="[1.2.0.v200805130238-11-7w311916241349]" />
-			<dependency name="org.eclipse.emf.validation" versionDesignator="[1.2.0.v200805130238-35-9oA55S5L8G6FCT]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.emf.validation.ocl" />
-				<attribute component="org.eclipse.emf.validation" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emft-compare.sc b/org.eclipse.ganymede.sitecontributions/emft-compare.sc
deleted file mode 100644
index b4157ca..0000000
--- a/org.eclipse.ganymede.sitecontributions/emft-compare.sc
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emft/updates/milestones/site-ganymede.xml">
-	<sc:member name="EMFT COMPARE Build Team" email="cedric.brun@obeo.fr" />
-	<sc:cspec name="org.eclipse.emft-compare-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.compare.sdk" versionDesignator="[0.8.1.v200902100450]" />
-			<dependency name="org.eclipse.emf.compare" versionDesignator="[0.8.1.v200902100450]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.compare.sdk" />
-				<attribute component="org.eclipse.emf.compare" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emft-ecoretools.sc b/org.eclipse.ganymede.sitecontributions/emft-ecoretools.sc
deleted file mode 100644
index 69549f1..0000000
--- a/org.eclipse.ganymede.sitecontributions/emft-ecoretools.sc
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emft/updates/releases/site-ganymede.xml">
-	<sc:member name="EMFT ECORETOOLS Build Team" email="jacques.lescot@anyware-tech.com" />
-	<sc:member name="EMFT ECORETOOLS Build Team" email="jacques.lescot@anyware-tech.com" />
-	<sc:cspec name="org.eclipse.emft-ecoretools-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.ecoretools.sdk" versionDesignator="[0.8.0.v200806130600]" />
-			<dependency name="org.eclipse.emf.ecoretools" versionDesignator="[0.8.0.v200806130600]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.ecoretools.sdk" />
-				<attribute component="org.eclipse.emf.ecoretools" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emft-mint.sc b/org.eclipse.ganymede.sitecontributions/emft-mint.sc
deleted file mode 100644
index b2ef776..0000000
--- a/org.eclipse.ganymede.sitecontributions/emft-mint.sc
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emft/updates/releases/site-ganymede.xml">
-	<sc:member name="EMFT MINT Build Team" email="pnehrer@eclipticalsoftware.com" />
-	<sc:cspec name="org.eclipse.emft-mint-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.mint.sdk" versionDesignator="[0.7.1.v200809162149]" />
-			<dependency name="org.eclipse.emf.mint" versionDesignator="[0.7.1.v200809162149]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.mint.sdk" />
-				<attribute component="org.eclipse.emf.mint" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/emft-search.sc b/org.eclipse.ganymede.sitecontributions/emft-search.sc
deleted file mode 100644
index 6bfa58a..0000000
--- a/org.eclipse.ganymede.sitecontributions/emft-search.sc
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emft/updates/releases/site-ganymede.xml">
-	<sc:member name="EMFT SEARCH Build Team" email="lucas.bigeardel@gmail.com" />
-	<sc:member name="EMFT SEARCH Build Team" email="lucas.bigeardel@gmail.com" />
-	<sc:cspec name="org.eclipse.emft-search-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.ecoretools.diagram.search" versionDesignator="[0.7.0.v200806130939]" />
-			<dependency name="org.eclipse.emf.search.sdk" versionDesignator="[0.7.0.v200806130939]" />
-			<dependency name="org.eclipse.emf.search" versionDesignator="[0.7.0.v200806130939]" />
-			<dependency name="org.eclipse.uml2.diagram.clazz.search" versionDesignator="[0.7.0.v200806130939]" />
-			<dependency name="org.eclipse.uml2.search" versionDesignator="[0.7.0.v200806130939]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.emf.ecoretools.diagram.search" />
-				<attribute component="org.eclipse.emf.search.sdk" />
-				<attribute component="org.eclipse.emf.search" />
-				<attribute component="org.eclipse.uml2.diagram.clazz.search" />
-				<attribute component="org.eclipse.uml2.search" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/ep.sc b/org.eclipse.ganymede.sitecontributions/ep.sc
deleted file mode 100755
index 1287e65..0000000
--- a/org.eclipse.ganymede.sitecontributions/ep.sc
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/eclipse/updates/3.4.x/site.xml">
-    <sc:member
-        name="Kim Moir"
-        email="kmoir@ca.ibm.com" />
-    <sc:cspec name="org.eclipse.ep-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.cvs"
-                versionDesignator="[1.1.2.R342_v20090122-7C79E9x9sLM1t6M9YD7_A7]" />
-            <dependency
-                name="org.eclipse.equinox"
-                versionDesignator="[3.4.1.R342_v20090126-7w7TENgETuNblxYRhBOLydU3ADDC]" />
-            <dependency
-                name="org.eclipse.platform"
-                versionDesignator="[3.4.2.R342_v20090122-9I96EiWElHi8lheoJKJIvhM3JfVsYbRrgVIWL]" />
-            <dependency
-                name="org.eclipse.pde"
-                versionDesignator="[3.4.2.R342_v20090122-7T7U1E9imVKz-A8Vz-p_jRS]" />
-            <dependency
-                name="org.eclipse.jdt"
-                versionDesignator="[3.4.2.r342_v20081217-7o7tEAoEEDWEm5HTrKn-svO4BbDI]" />
-            <dependency
-                name="org.eclipse.help"
-                versionDesignator="[1.0.2.R342_v20090122-7r7xEKaEJBZu5oGhP3u6nOmbM9VK]" />           
-        </dependencies>
-        <groups>
-            <public name="Collaboration Tools">
-                <attribute component="org.eclipse.cvs" />
-            </public>
-            <public name="Enabling Features">
-                <attribute component="org.eclipse.equinox" />
-                <attribute component="org.eclipse.platform" />
-                <attribute component="org.eclipse.help" />              
-            </public>
-            <public name="Java Development">
-                <attribute component="org.eclipse.jdt" />
-                <attribute component="org.eclipse.pde" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/epp-udc.sc b/org.eclipse.ganymede.sitecontributions/epp-udc.sc
deleted file mode 100755
index bf7bcc0..0000000
--- a/org.eclipse.ganymede.sitecontributions/epp-udc.sc
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-  xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-  xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-  updateSite="${downloads}/technology/epp/updates/1.0milestones/site.xml">
-  <sc:member 
-    name="Wayne Beaton" 
-    email="wayne@eclipse.org" />
-  <sc:member
-    name="Markus Knauer"
-    email="mknauer@innoopract.com" />
-	<sc:cspec name="org.eclipse.epp-udc-sc">
-		<dependencies>
-			<dependency 
-				name="org.eclipse.epp.usagedata.feature" 
-				versionDesignator="[1.0.1.R200809220400]" /> 
-		</dependencies>
-		<groups>
-			<public name="Other Tools">
-				<attribute component="org.eclipse.epp.usagedata.feature" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/gef.sc b/org.eclipse.ganymede.sitecontributions/gef.sc
deleted file mode 100755
index eab7da0..0000000
--- a/org.eclipse.ganymede.sitecontributions/gef.sc
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/tools/gef/updates/releases/site-ganymede.xml">
-	<sc:member name="GEF Build Team" email="anthonyh@ca.ibm.com" />
-	<sc:member name="GEF Build Team" email="nickboldt@gmail.com" />
-	<sc:cspec name="org.eclipse.gef-sc">
-		<dependencies>
-			<dependency name="org.eclipse.draw2d.sdk" versionDesignator="[3.4.2.v20090218-1145-67738084A6665K366B84__58x422]" />
-			<dependency name="org.eclipse.draw2d" versionDesignator="[3.4.2.v20090218-1145-3317w311_122502441]" />
-			<dependency name="org.eclipse.gef.sdk" versionDesignator="[3.4.2.v20090218-1145-7B7E597OKBd7QHgEHNHn9JKTFJJR]" />
-			<dependency name="org.eclipse.gef" versionDesignator="[3.4.2.v20090218-1145-67728084A56B4I233613552]" />
-			<dependency name="org.eclipse.zest.sdk" versionDesignator="[1.0.0.v20080115-5318_GCGFGJMZHOMaa6PMUULSPXD]" />
-			<dependency name="org.eclipse.zest" versionDesignator="[1.0.0.v20080115-5318xB6CE899P233613552]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.draw2d.sdk" />
-				<attribute component="org.eclipse.draw2d" />
-			</public>
-			<public name="Graphical Editors and Frameworks">
-				<attribute component="org.eclipse.gef.sdk" />
-				<attribute component="org.eclipse.gef" />
-				<attribute component="org.eclipse.zest.sdk" />
-				<attribute component="org.eclipse.zest" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/gmf.sc b/org.eclipse.ganymede.sitecontributions/gmf.sc
deleted file mode 100755
index f5ac3d5..0000000
--- a/org.eclipse.ganymede.sitecontributions/gmf.sc
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/gmf/updates/releases/site-ganymede.xml">
-	<sc:member name="GMF Build Team" email="gmf-releng@eclipse.org" />
-	<sc:cspec name="org.eclipse.gmf-sc">
-		<dependencies>
-			<dependency name="org.eclipse.gmf.sdk" versionDesignator="[2.1.3.v20090122-1525-7A7879AIkpv6FZKxKlVYDv7PguLk]" />
-			<dependency name="org.eclipse.gmf" versionDesignator="[1.1.3.v20090122-1525-7c7a7gEWvhKvnd6yDGljor8ukFgQ]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.gmf.sdk" />
-				<attribute component="org.eclipse.gmf" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/m2m-atl.sc b/org.eclipse.ganymede.sitecontributions/m2m-atl.sc
deleted file mode 100644
index 0c7d18e..0000000
--- a/org.eclipse.ganymede.sitecontributions/m2m-atl.sc
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/m2m/updates/releases/site-ganymede.xml">
-	<sc:member name="M2M ATL Build Team" email="william.piers@obeo.fr" />
-	<sc:cspec name="org.eclipse.m2m-atl-sc">
-		<dependencies>
-			<dependency name="org.eclipse.m2m.atl.sdk" versionDesignator="[2.0.2.v200812191010]" />
-			<dependency name="org.eclipse.m2m.atl" versionDesignator="[2.0.2.v200812191010]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.m2m.atl.sdk" />
-				<attribute component="org.eclipse.m2m.atl" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/m2m-qvtoml.sc b/org.eclipse.ganymede.sitecontributions/m2m-qvtoml.sc
deleted file mode 100644
index ad654b7..0000000
--- a/org.eclipse.ganymede.sitecontributions/m2m-qvtoml.sc
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/m2m/updates/releases/site-ganymede.xml">
-	<sc:member 
-		name="Radek Dvorak" 
-		email="radek.dvorak@borland.com" />
-	<sc:member
-        name="Sergey Boyko"
-        email="sboyko@borland.com" />
-	<sc:cspec name="org.eclipse.m2m-qvtoml-sc">
-		<dependencies>
-			<dependency name="org.eclipse.m2m.qvt.oml.sdk" versionDesignator="[1.0.1.v20080917-1645-7_-79AAKTAeCFp6h-LgmwTh5l8wU]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.m2m.qvt.oml.sdk" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/m2t-jet.sc b/org.eclipse.ganymede.sitecontributions/m2t-jet.sc
deleted file mode 100755
index 841e2c1..0000000
--- a/org.eclipse.ganymede.sitecontributions/m2t-jet.sc
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/m2t/updates/releases/site.xml">
-	<sc:member name="M2T JET Build Team" email="pelder@ca.ibm.com" />
-	<sc:cspec name="org.eclipse.m2t-jet-sc">
-		<dependencies>
-			<dependency name="org.eclipse.jet.sdk" versionDesignator="[0.9.2.v200809290937-17Y385Ue8djXGNtNVUY6I48]" />
-			<dependency name="org.eclipse.jet" versionDesignator="[0.9.2.v200809290937-27I39oB55V5CBO5H37]" />
-			<dependency name="org.eclipse.jet.editor" versionDesignator="[0.9.0.v20080516-17807w311A12372813]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.jet.sdk" />
-				<attribute component="org.eclipse.jet" />
-				<attribute component="org.eclipse.jet.editor" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/mdt-ocl.sc b/org.eclipse.ganymede.sitecontributions/mdt-ocl.sc
deleted file mode 100755
index 15f2c28..0000000
--- a/org.eclipse.ganymede.sitecontributions/mdt-ocl.sc
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/mdt/updates/releases/site-ganymede.xml">
-	<sc:member name="MDT OCL Build Team" email="give.a.damus@gmail.com" />
-	<sc:member name="MDT OCL Build Team" email="nickboldt@gmail.com" />
-	<sc:cspec name="org.eclipse.mdt-ocl-sc">
-		<dependencies>
-			<dependency name="org.eclipse.emf.ocl" versionDesignator="[1.1.101.v200808291106-108Z7w3119193_2217]" />
-			<dependency name="org.eclipse.ocl.all" versionDesignator="[1.2.3.v200810101725-348f7__HvvCDBjJNMXObIP8]" />
-			<dependency name="org.eclipse.ocl.uml" versionDesignator="[1.2.3.v200811021759-1127w311_12182518]" />
-			<dependency name="org.eclipse.ocl" versionDesignator="[1.2.3.v200810101725-3439oA55T5F8H8PAB]" />
-			<dependency name="org.eclipse.ocl.all.sdk" versionDesignator="[1.2.3.v200810101725-67_8k_-NRWdNZaZIsiv0nu2bJqYd]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.emf.ocl" />
-				<attribute component="org.eclipse.ocl.uml" />
-				<attribute component="org.eclipse.ocl" />
-			</public>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.ocl.all" />
-				<attribute component="org.eclipse.ocl.all.sdk" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/mdt-uml2.sc b/org.eclipse.ganymede.sitecontributions/mdt-uml2.sc
deleted file mode 100755
index 15440a9..0000000
--- a/org.eclipse.ganymede.sitecontributions/mdt-uml2.sc
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/mdt/updates/releases/site-ganymede.xml">
-	<sc:member name="MDT UML2 Build Team" email="jbruck@ca.ibm.com" />
-	<sc:cspec name="org.eclipse.mdt-uml2-sc">
-		<dependencies>
-			<dependency name="org.eclipse.uml2.sdk" versionDesignator="[2.2.2.v200902101430]" />
-			<dependency name="org.eclipse.uml2" versionDesignator="[2.2.2.v200902101430]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.uml2.sdk" />
-				<attribute component="org.eclipse.uml2" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/mdt-uml2tools.sc b/org.eclipse.ganymede.sitecontributions/mdt-uml2tools.sc
deleted file mode 100755
index 8873fc8..0000000
--- a/org.eclipse.ganymede.sitecontributions/mdt-uml2tools.sc
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/mdt/updates/releases/site-ganymede.xml">
-	<sc:member name="MDT UML2TOOLS Build Team" email="borlander@gmail.com" />
-	<sc:member name="MDT UML2TOOLS Build Team" email="michael.golubev@borland.com" />
-	<sc:cspec name="org.eclipse.mdt-uml2tools-sc">
-		<dependencies>
-			<dependency name="org.eclipse.uml2tools.sdk" versionDesignator="[0.8.0.v200809231457]" />
-			<dependency name="org.eclipse.uml2tools" versionDesignator="[0.8.1.v200809231457]" />
-		</dependencies>
-		<groups>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.uml2tools.sdk" />
-				<attribute component="org.eclipse.uml2tools" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/mdt-xsd.sc b/org.eclipse.ganymede.sitecontributions/mdt-xsd.sc
deleted file mode 100644
index 2e7c7b5..0000000
--- a/org.eclipse.ganymede.sitecontributions/mdt-xsd.sc
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-	xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-	updateSite="${downloads}/modeling/emf/updates/releases/site-ganymede.xml">
-	<sc:member name="EMF Build Team" email="davidms@ca.ibm.com" />
-	<sc:cspec name="org.eclipse.mdt-xsd-sc">
-		<dependencies>
-			<dependency name="org.eclipse.xsd.edit" versionDesignator="[2.4.0.v200902171115]" />
-			<dependency name="org.eclipse.xsd.sdk" versionDesignator="[2.4.2.v200902171115]" />
-			<dependency name="org.eclipse.xsd" versionDesignator="[2.4.2.v200902171115]" />
-		</dependencies>
-		<groups>
-			<public name="Enabling Features">
-				<attribute component="org.eclipse.xsd.edit" />
-			</public>
-			<public name="Models and Model Development">
-				<attribute component="org.eclipse.xsd.sdk" />
-				<attribute component="org.eclipse.xsd" />
-			</public>
-		</groups>
-	</sc:cspec>
-</sc:siteContribution>
-
diff --git a/org.eclipse.ganymede.sitecontributions/mylyn.sc b/org.eclipse.ganymede.sitecontributions/mylyn.sc
deleted file mode 100755
index 123bd92..0000000
--- a/org.eclipse.ganymede.sitecontributions/mylyn.sc
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/tools/mylyn/update/ganymede/site.xml">
-    <sc:member
-        name="Mik Kersten"
-        email="mik.kersten@tasktop.com" />
-    <sc:cspec name="org.eclipse.mylyn-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.mylyn_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-            <dependency
-                name="org.eclipse.mylyn.bugzilla_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-            <dependency
-                name="org.eclipse.mylyn.pde_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-            <dependency
-                name="org.eclipse.mylyn.java_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-            <dependency
-                name="org.eclipse.mylyn.ide_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-            <dependency
-                name="org.eclipse.mylyn.context_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-			<dependency
-                name="org.eclipse.mylyn.team_feature"
-                versionDesignator="[3.0.5.v20090218-1800-e3x]" />
-        </dependencies>
-        <groups>
-            <public name="Collaboration Tools">
-                <attribute component="org.eclipse.mylyn_feature" />
-                <attribute component="org.eclipse.mylyn.bugzilla_feature" />
-                <attribute component="org.eclipse.mylyn.pde_feature" />
-                <attribute component="org.eclipse.mylyn.java_feature" />
-                <attribute component="org.eclipse.mylyn.ide_feature" />
-                <attribute component="org.eclipse.mylyn.context_feature" />
-                <attribute component="org.eclipse.mylyn.team_feature" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/rap.sc b/org.eclipse.ganymede.sitecontributions/rap.sc
deleted file mode 100644
index 103d44e..0000000
--- a/org.eclipse.ganymede.sitecontributions/rap.sc
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-   xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-   xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-   updateSite="${downloads}/rt/rap/update-site/site.xml">
-   <sc:member
-       name="Benny Muskalla"
-       email="bmuskalla@innoopract.com" />
-   <sc:member
-       name="Ruediger Herrmann"
-       email="rherrmann@innoopract.com" />
-   <sc:cspec name="org.eclipse.rap.tooling-sc">
-       <dependencies>
-           <dependency
-               name="org.eclipse.rap.tooling"
-               versionDesignator="[1.1.2.20090218-1359]" />
-       </dependencies>
-       <groups>
-           <public name="Java Development">
-               <attribute component="org.eclipse.rap.tooling" />
-           </public>
-       </groups>
-   </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/site.xml b/org.eclipse.ganymede.sitecontributions/site.xml
deleted file mode 100644
index 66b6e9c..0000000
--- a/org.eclipse.ganymede.sitecontributions/site.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<site
-    mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/releases/ganymede/staging/site.xml&amp;format=xml&amp;protocol=http"
-    digestURL="http://download.eclipse.org/releases/ganymede/staging/"
-    pack200="true">
-
-    <description url="http://www.eclipse.org/ganymede/">
-        This Ganymede Discovery Site contains a number of Eclipse based projects released simultaneously, June 2008.
-    </description>
-    <category-def
-        label="C and C++ Development"
-        name="C and C++ Development">
-        <description>Integrated Development for C and C++ programs.</description>
-    </category-def>
-    <category-def
-        label="Charting and Reporting"
-        name="Charting and Reporting">
-        <description>Business Intelligence and Reporting Tools</description>
-    </category-def>
-    <category-def
-        label="Collaboration Tools"
-        name="Collaboration Tools">
-        <description>Collaboration and integration tools for the Eclipse environment.</description>
-    </category-def>
-    <category-def
-        label="Communications"
-        name="Communications">
-        <description>Communications and Messaging APIs with Example Applications.</description>
-    </category-def>
-    <category-def
-        label="Database Development"
-        name="Database Development">
-        <description>Tools to allow integration with and easy use of Databases.</description>
-    </category-def>
-    <category-def
-        label="Graphical Editors and Frameworks"
-        name="Graphical Editors and Frameworks">
-        <description>A framework to create graphical editors.</description>
-    </category-def>
-    <category-def
-        label="Java Development"
-        name="Java Development">
-        <description>
-            Integrated development tools for Java Development, including plugin developement with Java, and J2EE
-            applications.
-        </description>
-    </category-def>
-    <category-def
-        label="Models and Model Development"
-        name="Models and Model Development">
-        <description>
-            Model creation and manipulation frameworks (e.g. EMF, GMF) and specific models (SDO, JEM, XSD Infoset).
-        </description>
-    </category-def>
-    <category-def
-        label="Remote Access and Device Development"
-        name="Remote Access and Device Development">
-        <description>Tools and Frameworks for accessing and managing remote computers or embedded devices</description>
-    </category-def>
-    <category-def
-        label="SOA Development"
-        name="SOA Development">
-        <description>A platform and tools for developing Service-Oriented Component-based Applications.</description>
-    </category-def>
-    <category-def
-        label="Testing and Performance"
-        name="Testing and Performance">
-        <description>Tools and Frameworks to improve performance and automatic testing.</description>
-    </category-def>
-    <category-def
-        label="Web and Java EE Development"
-        name="Web and Java EE Development">
-        <description>A platform and tools for developing XML, WebServices, and JEE Applications.</description>
-    </category-def>
-    <category-def
-        label="Programming Languages"
-        name="Programming Languages">
-        <description>Tools and Frameworks supporting programming languages for the Eclipse environment.</description>
-    </category-def>
-    <category-def
-        label="Other Tools"
-        name="Other Tools">
-        <description>Other tools for the Eclipse environment.</description>
-    </category-def>
-    <category-def
-        label="Enabling Features"
-        name="Enabling Features">
-        <description>
-            These features provide functionality required by one or more projects, but do not provide end-user
-            functionality by themselves.
-        </description>
-    </category-def>
-</site>
\ No newline at end of file
diff --git a/org.eclipse.ganymede.sitecontributions/stp.sc b/org.eclipse.ganymede.sitecontributions/stp.sc
deleted file mode 100755
index 3ccaa36..0000000
--- a/org.eclipse.ganymede.sitecontributions/stp.sc
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/stp/updates/ganymede/site.xml">
-    <sc:member
-        name="Oisin Hurley"
-        email="ohurley@iona.com" />
-    <sc:cspec name="org.eclipse.stp-sc">
-        <dependencies>
-          <dependency name="org.eclipse.stp.b2j.feature" versionDesignator="[1.0.0.200806121858-2--7733I3E575ICI]" />
-          <dependency name="org.eclipse.stp.bpmn.feature" versionDesignator="[1.0.0.200806121858-4--7E77c7UAEAcQc]" />
-          <dependency name="org.eclipse.stp.eid.feature" versionDesignator="[0.8.0.200806121858-17k-8IECyKmLOPyly6]" />
-          <dependency name="org.eclipse.stp.im.feature" versionDesignator="[1.0.0.200806121858-7_--7cIJXJDScTY5X]" />
-          <dependency name="org.eclipse.stp.policy.feature" versionDesignator="[1.0.0.200806121858-78--8MGF6MuOST6t66]" />
-          <dependency name="org.eclipse.stp.sca.feature" versionDesignator="[1.0.0.200806121858-7_--7cIJXJDScTY5X]" />
-          <dependency name="org.eclipse.stp.sc.jaxws.feature" versionDesignator="[0.9.0.200806121858-67O-_-GAYYSMGWaja7]" />
-          <dependency name="org.eclipse.stp.sc.sca.feature" versionDesignator="[0.9.0.200806121858-07P-7A55S5M8A8SJS]" />
-          <dependency name="org.eclipse.stp.servicecreation" versionDesignator="[0.9.0.200806121858-07h-7I99m9cDIDmXm]" />
-          <dependency name="org.eclipse.stp.soas.feature" versionDesignator="[0.8.0.200806121858-07k-7MAAwAkGMGwew]" />
-          <dependency name="org.eclipse.stp.soas.runtime.feature" versionDesignator="[0.8.0.200806121858-07M-7A55S5M8A8SJS]" />
-        </dependencies>
-        <groups>
-            <public name="SOA Development">
-                  <attribute component="org.eclipse.stp.b2j.feature" />
-                  <attribute component="org.eclipse.stp.bpmn.feature" />
-                  <attribute component="org.eclipse.stp.eid.feature" />
-                  <attribute component="org.eclipse.stp.im.feature" />
-                  <attribute component="org.eclipse.stp.policy.feature" />
-                  <attribute component="org.eclipse.stp.sca.feature" />
-                  <attribute component="org.eclipse.stp.sc.jaxws.feature" />
-                  <attribute component="org.eclipse.stp.sc.sca.feature" />
-                  <attribute component="org.eclipse.stp.servicecreation" />
-                  <attribute component="org.eclipse.stp.soas.feature" />
-                  <attribute component="org.eclipse.stp.soas.runtime.feature" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/subversive.sc b/org.eclipse.ganymede.sitecontributions/subversive.sc
deleted file mode 100644
index 4918e97..0000000
--- a/org.eclipse.ganymede.sitecontributions/subversive.sc
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/technology/subversive/0.7/update-site/site.xml">
-    <sc:member
-        name="Igor Burilo"
-        email="igor.burilo@polarion.org"/>
-    <sc:cspec name="org.eclipse.subversive-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.team.svn"
-                versionDesignator="[0.7.8.I20091023-1300]"/>
-            <dependency
-                name="org.eclipse.team.svn.nl1"
-                versionDesignator="[0.7.8.I20091023-1300]"/>
-            <dependency
-                name="org.eclipse.team.svn.resource.ignore.rules.jdt"
-                versionDesignator="[0.7.8.I20091023-1300]"/>
-            <dependency
-                name="org.eclipse.team.svn.mylyn"
-                versionDesignator="[0.7.8.I20091023-1300]"/>
-            <dependency
-                name="org.eclipse.team.svn.source"
-                versionDesignator="[0.7.8.I20091023-1300]"/>
-        </dependencies>
-        <groups>
-            <public name="Collaboration Tools">
-                <attribute component="org.eclipse.team.svn"/>
-                <attribute component="org.eclipse.team.svn.nl1"/>
-                <attribute component="org.eclipse.team.svn.resource.ignore.rules.jdt"/>
-                <attribute component="org.eclipse.team.svn.mylyn"/>
-                <attribute component="org.eclipse.team.svn.source"/>
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/tptp.sc b/org.eclipse.ganymede.sitecontributions/tptp.sc
deleted file mode 100644
index 2bd784d..0000000
--- a/org.eclipse.ganymede.sitecontributions/tptp.sc
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/tptp/updates/ganymede/site.xml">
-    <sc:member
-        name="Joel Cayne"
-        email="jcayne@ca.ibm.com" />
-    <sc:cspec name="org.eclipse.tptp">
-        <dependencies>
-        	<dependency
-                name="org.eclipse.tptp.lta.runtime"
-                versionDesignator="[4.5.1.v200901090956-7V7c08xB1XHKcrfSySMEnN0N52LO]" />        
-            <dependency
-                name="org.eclipse.tptp.monitoring.runtime"
-                versionDesignator="[4.4.101.v200902031919-7V7SEC87zhygHTdxJ6WH9aPaJBP5]" />
-            <dependency
-                name="org.eclipse.tptp.platform.runtime"
-                versionDesignator="[4.5.2.v200901090956-8F82EsM9TofPP4ogyX-bRjDoPYGV]" />
-            <dependency
-                name="org.eclipse.tptp.test.runtime"
-                versionDesignator="[4.3.301.v200902031919-7F7_EFE7SnetoV4PQ4r7amKKnav2]" />
-            <dependency
-                name="org.eclipse.tptp.trace.runtime"
-                versionDesignator="[4.3.201.v200902031919-7F78EAW7VXOsLy-BKPqZLIqZqslF]" />
-            <dependency
-                name="org.eclipse.tptp.birt"
-                versionDesignator="[4.4.201.v200901090956-7J7KAm7i0i7TRQgZX_nhZ_oR034]" />
-            <dependency
-                name="org.eclipse.tptp.wtp"
-                versionDesignator="[4.4.201.v200901090956-784CF7GUGJW0D-yMEcrKLWoHIE8]" />
-            <dependency
-                name="org.eclipse.tptp.examples"
-                versionDesignator="[4.5.1.v200901090956-7B7_Dq87CFtF2_7OF98G_DAA2]" />
-        </dependencies>
-        <groups>
-            <public name="Testing and Performance">
-                <attribute component="org.eclipse.tptp.lta.runtime" />
-                <attribute component="org.eclipse.tptp.monitoring.runtime" />
-                <attribute component="org.eclipse.tptp.platform.runtime" />
-                <attribute component="org.eclipse.tptp.test.runtime" />
-                <attribute component="org.eclipse.tptp.trace.runtime" />
-                <attribute component="org.eclipse.tptp.birt" />                
-                <attribute component="org.eclipse.tptp.wtp" />
-                <attribute component="org.eclipse.tptp.examples" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
diff --git a/org.eclipse.ganymede.sitecontributions/wtp.sc b/org.eclipse.ganymede.sitecontributions/wtp.sc
deleted file mode 100644
index 5c0ef3d..0000000
--- a/org.eclipse.ganymede.sitecontributions/wtp.sc
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/webtools/updates/site.xml"
-    projectId="wtp">
-    <sc:member
-        name="David Williams"
-        email="david_williams@us.ibm.com"/>
-    <sc:cspec
-        name="org.eclipse.wtp-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.wst"
-                versionDesignator="[3.0.4.v200811190840-7A-8l8Qqcz0HyVgjXUE-iuOYZ9ai]"/>
-            <dependency
-                name="org.eclipse.wst.common_ui.feature"
-                versionDesignator="[3.0.4.v200811200248-7C78ELhE8VrRVqtHp4iT8PuSwZ5W]"/>
-            <dependency
-                name="org.eclipse.jpt.feature"
-                versionDesignator="[2.0.103.v200901160200-793DyCYQCD5FVHgCMCC]"/>
-            <dependency
-                name="org.eclipse.jpt.eclipselink.feature"
-                versionDesignator="[2.0.0.v200806090000-3--8s733I3D683333]"/>
-            <dependency
-                name="org.eclipse.wst.xml_ui.feature"
-                versionDesignator="[3.0.4.v200811211541-7F2ENnCwum8W79A1UYNgSjOcFVJg]"/>
-            <dependency
-                name="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature"
-                versionDesignator="[2.1.0.v20090128-1-8Z7w311_1239]"/>
-            <dependency
-                name="org.eclipse.jst.ws.axis2tools.feature"
-                versionDesignator="[1.0.3.v200901220134-77-E_FCYQCD5EeNgKUUY]"/>
-            <dependency
-                name="org.eclipse.jst"
-                versionDesignator="[3.0.4.v200811190840-7U1959LJIHM6ogLbhvbrAnWtxuyM]"/>
-            <dependency
-                name="org.eclipse.jst.webpageeditor.feature"
-                versionDesignator="[2.1.0.v20090128-3219oA55U5D7N2532]"/>
-            <dependency
-                name="org.eclipse.wst.jsdt.feature"
-                versionDesignator="[1.0.4.v200812112112-6-E75BcMAAyDJGhFpNN]"/>
-        </dependencies>
-        <groups>
-            <public
-                name="Web and Java EE Development">
-                <attribute
-                    component="org.eclipse.wst.xml_ui.feature"/>
-                <attribute
-                    component="org.eclipse.wst.jsdt.feature"/>
-                <attribute
-                    component="org.eclipse.wst"/>
-                <attribute
-                    component="org.eclipse.jst"/>
-                <attribute
-                    component="org.eclipse.jpt.feature"/>
-                <attribute
-                    component="org.eclipse.jpt.eclipselink.feature"/>
-                <attribute
-                    component="org.eclipse.jst.webpageeditor.feature"/>
-                <attribute
-                    component="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature"/>
-                <attribute
-                    component="org.eclipse.jst.ws.axis2tools.feature"/>
-            </public>
-            <public
-                name="Enabling Features">
-                <attribute
-                    component="org.eclipse.wst.common_ui.feature"/>
-            </public>
-            <public
-                name="Java Development">
-                <attribute
-                    component="org.eclipse.jpt.feature"/>
-                <attribute
-                    component="org.eclipse.jpt.eclipselink.feature"/>
-                <attribute
-                    component="org.eclipse.jst"/>
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
\ No newline at end of file
diff --git a/org.eclipse.ganymede.tools/.classpath b/org.eclipse.ganymede.tools/.classpath
deleted file mode 100644
index fb50116..0000000
--- a/org.eclipse.ganymede.tools/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ganymede.tools/.project b/org.eclipse.ganymede.tools/.project
deleted file mode 100644
index 44e2696..0000000
--- a/org.eclipse.ganymede.tools/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ganymede.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.ganymede.tools/build-inner.xml b/org.eclipse.ganymede.tools/build-inner.xml
deleted file mode 100644
index f816113..0000000
--- a/org.eclipse.ganymede.tools/build-inner.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0"?>
-<!--************************************************************************
- * Copyright (c) 2006-2007, Cloudsmith Inc.
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ************************************************************************-->
-
-<project name="project" default="materialize">
-	<target name="get.properties">
-    <!-- Note: the "highest level of override is for someone to specify their
-         own location and name for the ganymatic properties. But, if not specified 
-         already, we'll try ${user.home}/ganymedeConfig/ganymatic.properties.
-         After that, we will still use our production machine defaults since it 
-         won't hurt if users override all the values (and is the only values used on 
-         production build machine). 
-     -->
-		<property environment="env" />
-    <property name="ganymatic.properties.file" location="${user.home}/ganymedeConfig/ganymatic.properties"/>
-  
-  	<!--  <echo message="    Properties being read from ${ganymatic.properties.file}" /> -->
-  
-    <property file="${ganymatic.properties.file}"/>
-
-  	<!--  <echo message="    Properties being read from ganymatic.properties" /> -->
-    <property file="ganymatic.properties" />
-
-		<property name="buckminster.home.loc" location="${buckminster.home}"/>
-		<property name="generated.dir.loc" location="${generated.dir}"/>
-		<property name="headless.home.loc" location="${buckminster.home.loc}/bin/buckminster" />
-		<property name="contribs.dir.loc" location="${contribs.dir}" />
-		<property name="site.contrib.dir.loc" location="${contribs.dir}" />
-		<property name="site.dir.loc" location="${site.dir}" />
-		<property name="site.template.loc" location="${contribs.dir.loc}/site.xml" />
-		<property name="mirror.site.loc" location="${mirror.site.location}" />
-		<antcall target="verify.properties.buckminster.home" />
-		<antcall target="verify.properties.contribs.dir" />
-		<antcall target="verify.properties.site.dir" />
-		<antcall target="verify.properties.downloads" />
-		<antcall target="verify.properties.generated.dir" />
-		<antcall target="verify.properties.top.project" />
-		<antcall target="verify.properties.mirror.site.location" />
-		<antcall target="verify.properties.mirror.site.url" />
-		
-    <mkdir dir="${headless.home.loc}/bin" />
-		<mkdir dir="${headless.home.loc}/bin/org.eclipse.ganymede" />
-		<mkdir dir="${headless.home.loc}/bin/buckminster" />
-		
-	</target>
-
-	<macrodef name="buckminster">
-		<attribute name="command" default="--scriptfile" />
-		<element name="globargs" optional="true" />
-		<element name="args" optional="true" />
-		<sequential>
-			<java fork="true" 
-				jar="${headless.home.loc}/startup.jar" 
-				dir="${headless.home.loc}" 
-				failonerror="true">
-				<!-- <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/> -->
-				
-				<arg value="--displaystacktrace" />
-				<arg value="--loglevel" />
-				<arg value="info" />
-				<globargs />
-				<arg value="@{command}" />
-				<args />
-			</java>
-		</sequential>
-	</macrodef>
-
-	<target name="generate.bm.artifacts" description="Generate the Buckminster artifacts from Site contributions">
-		<path id="site.contrib.files.path">
-			<fileset dir="${site.contrib.dir.loc}" includes="*.sc">
-				<!-- <exclude name="birt.sc"/> -->
-				<!-- <exclude name="buckminster.sc"/> -->
-				<!-- <exclude name="cdt.sc"/> -->
-				<!-- <exclude name="dltk.sc"/> -->
-				<!-- <exclude name="dsdp-dd.sc"/> -->
-				<!-- <exclude name="dsdp-tm.sc"/> -->
-				<!-- <exclude name="dtp.sc"/> -->
-				<!-- <exclude name="ecf.sc"/> -->
-				<!-- <exclude name="emf-emf.sc"/> -->
-				<!-- <exclude name="emf-query.sc"/> -->
-				<!-- <exclude name="emft-cdo.sc"/> -->
-				<!-- <exclude name="emft-compare.sc"/> -->
-				<!-- <exclude name="emft-ecoretools.sc"/> -->
-				<!-- <exclude name="emft-mint.sc"/> -->
-				<!-- <exclude name="emft-net4j.sc"/> -->
-				<!-- <exclude name="emf-transaction.sc"/> -->
-				<!-- <exclude name="emft-search.sc"/> -->
-				<!-- <exclude name="emft-teneo.sc"/> -->
-				<!-- <exclude name="emf-validation.sc"/> -->
-				<!-- <exclude name="ep.sc"/> -->
-				<!-- <exclude name="epp-udc.sc"/> -->
-				<!-- <exclude name="gef.sc"/> -->
-				<!-- <exclude name="gmf.sc"/> -->
-				<!-- <exclude name="m2m-atl.sc"/> -->
-				<!-- <exclude name="m2m-qvto.sc"/> -->
-				<!-- <exclude name="m2t-jet.sc"/> -->
-				<!-- <exclude name="mdt-ocl.sc"/> -->
-				<!-- <exclude name="mdt-uml2.sc"/> -->
-				<!-- <exclude name="mdt-uml2tools.sc"/> -->
-				<!-- <exclude name="mylyn.sc"/> -->
-				<!-- <exclude name="rap.sc" /> -->
-				<!-- <exclude name="stp.sc"/> -->
-				<exclude name="subversive.sc"/> 
-				<!-- <exclude name="tptp.sc"/> -->
-				<!-- <exclude name="wtp.sc"/> -->
-			</fileset>
-		</path>
-		<pathconvert property="site.contrib.files" pathsep="&quot; &quot;" refid="site.contrib.files.path" />
-		<mkdir dir="${generated.dir.loc}" />
-		<delete>
-			<fileset dir="${generated.dir.loc}" includes="site.xml" />
-			<fileset dir="${generated.dir.loc}" includes="*.cspec" />
-			<fileset dir="${generated.dir.loc}" includes="${top.project}.*" />
-			<fileset dir="${generated.dir.loc}" includes="features/*" />
-			<fileset dir="${generated.dir.loc}" includes="plugins/*" />
-		</delete>
-		<echo message="&quot;${site.contrib.files}&quot;" />
-		<buckminster command="generate">
-			<globargs>
-				<arg value="-clean" />
-			</globargs>
-			<args>
-				<arg value="--outputdir" />
-				<arg value="${generated.dir.loc}" />
-				<arg value="--sitedir" />
-				<arg value="${site.dir.loc}" />
-				<arg value="--templatesite" />
-				<arg value="${site.template.loc}" />
-				<arg value="--project" />
-				<arg value="${top.project}" />
-				<arg line="&quot;${site.contrib.files}&quot;" />
-			</args>
-		</buckminster>
-	</target>
-
-	<target name="resolve.cquery" description="Run the component query" depends="generate.bm.artifacts">
-		<buckminster command="resolve">
-			<globargs>
-				<jvmarg value="-Ddownloads=${downloads}" />
-			</globargs>
-			<args>
-				<arg value="--continueonerror" />
-				<arg value="--noimport" />
-				<arg value="--bomfile" />
-				<arg value="${generated.dir.loc}/${top.project}.bom" />
-				<arg value="${generated.dir.loc}/${top.project}.cquery" />
-			</args>
-		</buckminster>
-	</target>
-
-	<target name="materialize" description="Materialize the site" depends="get.properties,resolve.cquery">
-		<buckminster command="import">
-			<globargs>
-				<jvmarg value="-Dmirror.site.location=${mirror.site.loc}" />
-				<jvmarg value="-Dmirror.site.url=${mirror.site.url}" />
-			</globargs>
-			<args>
-				<arg value="--continueonerror"/>
-				<arg value="${generated.dir.loc}/${top.project}.mspec" />
-			</args>
-		</buckminster>
-		<copy file="${generated.dir.loc}/${top.project}.site" tofile="${site.dir.loc}/site.xml" overwrite="true"/>
-	</target>
-
-	<target name="clean" description="Clean the generated artifacts and site">
-		<delete dir="${generated.dir.loc}" />
-	</target>
-
-	<target name="really.clean" depends="clean" description="Clean out the barebone installation">
-		<delete dir="${buckminster.home.loc}/bin/headless.zip" />
-		<delete dir="${buckminster.home.loc}/bin/buckminster" />
-	</target>
-
-	<target name="verify.properties.buckminster.home" unless="buckminster.home">
-		<echo message="Missing: buckminster.home"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.contribs.dir" unless="contribs.dir">
-		<echo message="Missing: contribs.dir"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.site.dir" unless="site.dir">
-		<echo message="Missing: site.dir"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.downloads" unless="downloads">
-		<echo message="Missing: downloads"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.generated.dir" unless="generated.dir">
-			<echo message="Missing: generated.dir"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.top.project" unless="top.project">
-		<echo message="Missing: top.project"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.mirror.site.location" unless="mirror.site.location">
-		<echo message="Missing: mirror.site.location"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.mirror.site.url" unless="mirror.site.url">
-		<echo message="Missing: mirror.site.url"/>
-		<antcall target="verify.properties.error" />
-	</target>
-	<target name="verify.properties.error">
-    <echo message="Required properties were not defined in a ganymatic.properties, for example '${user.home}/ganymedeConfig/ganymatic.properties' file."/>
-    <echo message="Please create a ganymatic.properties file in your home directory, in a directory named ganymedeConfig."/>
-    <echo message="Use the examples/ganymatic.properties* files as templates for your file."/>
-    <echo message="The ganymatic.properties file defines the directories, etc for the builds on your machine."/>
-    <fail message="No properties defined; failed to build"/> 
-	</target>
-
-</project>
diff --git a/org.eclipse.ganymede.tools/build.xml b/org.eclipse.ganymede.tools/build.xml
deleted file mode 100644
index 2d918ed..0000000
--- a/org.eclipse.ganymede.tools/build.xml
+++ /dev/null
@@ -1,603 +0,0 @@
-<?xml version="1.0"?>
-<!--************************************************************************
- * Copyright (c) 2007-2008, Eclipse Foundation
- * The code, documentation and other materials contained herein have been
- * licensed under the Eclipse Public License - v 1.0 by the copyright holder
- * listed above, as the Initial Contributor under such license. The text of
- * such license is available at www.eclipse.org.
- ************************************************************************-->
-<project
-    name="project"
-    default="default" 
-	  basedir=".">
-    <taskdef
-        name="AddEntry"
-        classname="org.eclipse.releng.generators.rss.RSSFeedAddEntryTask"
-        classpath="org.eclipse.build.tools/feedTools.jar" />
-    <target
-        name="get.properties">
-		<!-- Note: the "highest level of override is for someone to specify their
-		     own location and name for the ganymatic properties. But, if not specified 
-		     already, we'll try ${user.home}/ganymedeConfig/ganymatic.properties.
-		     After that, we will still use our production machine defaults since it 
-		     won't hurt if users override all the values (and is the only values used on 
-		     production build machine). 
-		 -->
-        <property
-            environment="env" />
-        <property
-            name="ganymatic.properties.file"
-            location="${user.home}/ganymedeConfig/ganymatic.properties" />
-        <property name="EOL" value="${line.separator}"/>
-     
-    	<!-- avoid writes to 'tools' directory ... occasionally can have permission problems
-    	if 'tools' is not checked out with orbitBuild id
-    	
-    	  <echo message="G_CVS_WRITE_INFO: ${env.G_CVS_WRITE_INFO}${EOL}" file="debugScripts.txt"/>
-        <echo message="cctimestamp: ${cctimestamp}${EOL}" file="debugScripts.txt" append="true"/>
-    	  <echo message="TAG_PROJECTS: ${env.TAG_PROJECTS}${EOL}" file="debugScripts.txt" append="true"/>
-    	  <echo message="currentDirectory: ${basedir}" file="debugScripts.txt" append="true"/>
-    	  -->
-		<!-- <echo message="    Properties being read from ${ganymatic.properties.file}" /> -->
-        <property
-            file="${ganymatic.properties.file}" />
-
-		<!-- <echo message="    Properties being read from ganymatic.properties" /> -->
-        <property
-            file="ganymatic.properties" />
-
-		<!-- <echo message="staging.dir: ${staging.dir}" /> -->
-		<!-- now verify -->
-        <antcall
-            target="verify.properties.ganymatic.website.dir" />
-        <antcall
-            target="verify.properties.ganymatic.website.url" />
-    </target>
-    <target
-        name="generate.ganymatic.website"
-        description="Generate the base Ganymatic website">
-        <mkdir
-            dir="${ganymatic.website.dir}" />
-        <mkdir
-            dir="${ganymatic.website.dir}/latest/" />
-        <mkdir
-            dir="${ganymatic.website.dir}/latest-good/" />
-        <mkdir
-            dir="${ganymatic.website.dir}/recent/" />
-        <copy
-            overwrite="true"
-            verbose="true"
-            todir="${ganymatic.website.dir}">
-            <fileset
-                dir="website/" />
-        </copy>
-        <antcall
-            target="set.permissions" />
-    </target>
-    <target
-        name="compile.webgen"
-        description="Compile the Java code for the webgen tool">
-        <mkdir
-            dir="bin/" />
-        <javac
-            srcdir="src/"
-            destdir="bin/">
-            <include
-                name="**/*.java" />
-        </javac>
-    </target>
-    <target
-        name="start.latest.log"
-        description="Reset the latest log for a new run"
-        depends="compile.webgen">
-        <delete
-            verbose="true">
-            <fileset
-                dir="${ganymatic.website.dir}/latest/"
-                includes="**/*" />
-        </delete>
-        <java
-            classpath="bin/"
-            classname="org.eclipse.ganymede.webgen.GenerateStatusFile">
-            <arg
-                value="${ganymatic.website.dir}/latest/" />
-        </java>
-    </target>
-    <target
-        name="run.siteassembler"
-        description="Run the site assembler">
-        <antcall
-            target="start.latest.log" />
-        <echo
-            message="starting inner" />
-        <subant
-            antfile="build-inner.xml"
-            buildpath="."
-            failonerror="false"
-            output="${ganymatic.website.dir}/latest/log.txt">
-        </subant>
-		<!-- <copy
-			verbose="true"
-			tofile="${ganymatic.website.dir}/latest/log.txt">
-				<fileset file="samplelog.txt"/>
-		</copy> -->
-        <echo
-            message="end of inner" />
-        <antcall
-            target="parse.log.file" />
-    </target>
-    <target
-        name="copy.to.staging"
-        description="Copy the generated site to the staging directory"
-        depends="get.properties,get.build.status.properties"
-        if="ganymatic.build.successful">
-        <antcall
-            target="copy.to.staging.inner" />
-    </target>
-    <target
-        name="copy.to.staging.inner"
-        if="staging.dir">
-        <property
-            name="site.dir.loc"
-            location="${site.dir}" />
-        <delete failonerror="false" verbose="true">
-            <fileset
-                dir="${staging.dir}"
-                includes="site.xml" />
-            <fileset
-                dir="${staging.dir}/features" />
-            <fileset
-                dir="${staging.dir}/plugins" />
-            <fileset
-                dir="${staging.dir}"
-                includes="digest.zip" />
-            <fileset
-                dir="${staging.dir}"
-                includes="content.jar" />
-            <fileset
-                dir="${staging.dir}"
-                includes="artifacts.jar" />                                                
-            <fileset
-                dir="${staging.dir}/bin" />
-        </delete>
-        <copy
-            todir="${staging.dir}"
-            verbose="true">
-            <dirset
-                dir="${site.dir.loc}"
-                includes="features" />
-            <dirset
-                dir="${site.dir.loc}"
-                includes="plugins" />
-            <fileset
-                dir="${site.dir.loc}"
-                includes="*" />
-            <fileset
-                dir="${site.dir.loc}"
-                includes="**/*" />
-        </copy>
-        <chmod
-            perm="a+rx"
-            verbose="true">
-            <dirset
-                dir="${staging.dir}"
-                includes="**/*" />
-        </chmod>
-        <chmod
-            perm="a+r"
-            verbose="true"
-            parallel="false">
-            <fileset
-                dir="${staging.dir}"
-                includes="**/*" />
-        </chmod>
-		<!-- And also, create fresh digest for staging. -->
-		<!-- TODO: this would need work to be platform independent, 
-		     but shouldn't be too hard, since the shell script uses java and jar processor 
-		     would mostly just have to get "ant variables" from the several environment variables -->
-        
-        <exec
-            dir="${env.GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools"
-            executable="sh"
-            os="Linux"
-            failonerror="false">
-            <arg
-                line="createDigest.sh" />
-        </exec>
-        <exec
-            dir="${env.GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools"
-            executable="sh"
-            os="Linux"
-            failonerror="false">
-            <arg
-                line="createP2repo.sh" />
-        </exec>         
-    </target>
-    <target
-        name="parse.log.file"
-        description="Parse the log file and generate the web pages">
-        <java
-            classpath="bin/"
-            classname="org.eclipse.ganymede.webgen.ParseLogFile">
-            <arg
-                value="${ganymatic.website.dir}/latest/" />
-        </java>
-        <chmod
-            perm="a+r"
-            verbose="true">
-            <fileset
-                dir="${ganymatic.website.dir}/latest">
-                <include
-                    name="**/*" />
-            </fileset>
-        </chmod>
-    </target>
-    <target
-        name="get.build.status.properties"
-        description="Get the latest build status as properties so that we can make decisions based on them">
-        <java
-            classpath="bin/"
-            classname="org.eclipse.ganymede.webgen.GetStatusAsPropertyFile">
-            <arg
-                value="${ganymatic.website.dir}/latest/" />
-            <arg
-                value="end-time-property-file.properties" />
-        </java>
-        <property
-            file="end-time-property-file.properties" />
-
-		<!-- <copy file="end-time-property-file.properties" tofile="debug_end-time-property-file.properties"/> -->
-        <delete
-            file="end-time-property-file.properties" />
-    </target>
-    <target
-        name="update.recent"
-        description="Copy latest to recent and trim number of recent if needed"
-        depends="get.build.status.properties">
-		<!-- could use symbolic links on unix systems instead of copying the directories; if I knew how to do operating system variants of ant files, I would -->
-        <mkdir
-            dir="${ganymatic.website.dir}/recent/${ganymatic.build.endtime}/" />
-        <copy
-            verbose="true"
-            todir="${ganymatic.website.dir}/recent/${ganymatic.build.endtime}/">
-            <fileset
-                dir="${ganymatic.website.dir}/latest/" />
-        </copy>
-		<!-- delete files from previous run, if they exist. They are left 
-		     after the run, to easy debugging -->
-        <delete
-            file="trim-these-recent-dirs.txt"
-            failonerror="false" />
-        <delete
-            file="trim-these-recent-dirs2.txt"
-            failonerror="false" />
-        <java
-            classpath="bin/"
-            classname="org.eclipse.ganymede.webgen.GetRecentTrimAsFile">
-            <arg
-                value="${ganymatic.website.dir}/recent/" />
-            <arg
-                value="trim-these-recent-dirs.txt" />
-            <arg
-                value="trim-these-recent-dirs2.txt" />
-        </java>
-        <delete
-            verbose="true">
-            <fileset
-                dir="${ganymatic.website.dir}/recent/"
-                includesfile="trim-these-recent-dirs.txt"
-                defaultexcludes="no">
-            </fileset>
-        </delete>
-        <delete
-            verbose="true"
-            includeemptydirs="true">
-            <dirset
-                dir="${ganymatic.website.dir}/recent/"
-                includesfile="trim-these-recent-dirs2.txt">
-            </dirset>
-        </delete>
-    </target>
-    <target
-        name="update.latest-good"
-        description="Copy latest to latest-good if it was successful"
-        depends="get.build.status.properties"
-        if="ganymatic.build.successful">
-        <copy
-            overwrite="true"
-            verbose="true"
-            todir="${ganymatic.website.dir}/latest-good/">
-            <fileset
-                dir="${ganymatic.website.dir}/latest/" />
-        </copy>
-        <antcall target="tagProjects" />
-    </target>
-    <target
-        name="default"
-        description="The main target"
-        depends="setup,run.siteassembler,copy.to.staging,report">
-    </target>
-    <target
-        name="setup"
-        description="Set up the environment"
-        depends="get.properties,generate.ganymatic.website">
-    </target>
-    <target
-        name="report"
-        description="Process the logs and generate reports"
-        depends="update.recent,update.latest-good,publish.all.rss,publish.failed.rss,publish.successful.rss,email.on.failure,set.permissions">
-    </target>
-    <target
-        name="set.permissions"
-        description="Ensure that all files in the output directory are world readable">
-		<!-- be specific, since our "website" contains other big directories that are not part of website -->
-        <chmod
-            perm="a+r"
-            verbose="true">
-            <fileset
-                dir="${ganymatic.website.dir}">
-                <include
-                    name="*" />
-                <include
-                    name="latest/**/*" />
-                <include
-                    name="latest-good/**/*" />
-                <include
-                    name="recent/**/*" />
-            </fileset>
-        </chmod>
-        <chmod
-            perm="a+rx"
-            verbose="true">
-            <dirset
-                dir="${ganymatic.website.dir}">
-                <include
-                    name="latest/**/*" />
-                <include
-                    name="latest-good/**/*" />
-                <include
-                    name="recent/**/*" />
-            </dirset>
-        </chmod>
-    </target>
-    <target
-        name="email.on.failure"
-        description="Email failure notices to responsible parties"
-        depends="checkEmailEnabled"
-        if="emailEnabled">
-        <echo
-            message="Email failure notices to ${ganymatic.build.error.emails}" />
-        <antcall
-            target="inner.email.on.failure" />
-    </target>
-    <target
-        name="inner.email.on.failure"
-        description="Really do the emailing"
-        if="ganymatic.email.from.address">
-        <mail
-            tolist="${ganymatic.build.error.emails}"
-            subject="Ganymede build failed"
-            encoding="plain"
-            failonerror="false">
-            <from
-                name="${ganymatic.email.from.name}"
-                address="${ganymatic.email.from.address}" />
-            <message>This auto-generated email is to inform you that
-                the Ganymede build has failed and your project has been
-                "blamed" by the auto-blame-parsing system. Please check
-                the log (${ganymatic.website.url}) and fix any errors
-                associated with your project.</message>
-        </mail>
-    </target>
-    <target
-        name="create.build.alias.success"
-        if="ganymatic.build.successful">
-        <property
-            name="build.alias"
-            value="${buildAlias}" />
-    </target>
-    <target
-        name="create.build.alias.fail"
-        unless="ganymatic.build.successful">
-        <property
-            name="build.alias"
-            value="${buildAlias} !!FAILED!!" />
-    </target>
-    <target
-        name="publish.all.rss"
-        description="Publish the RSS feed"
-        depends="create.build.alias.success,create.build.alias.fail">
-        <echo
-            message="Publishing the main RSS feed" />
-        <property
-            file="org.eclipse.build.tools/blank.properties" />
-		<!-- Add an entry (and create the feed if it doesn't already exist) -->
-        <AddEntry
-            debug="0"
-            file="${ganymatic.website.dir}/builds.rss"
-            project="${project}"
-            version="${version}"
-            branch="${branch}"
-            buildID="${ganymatic.build.endtime}"
-            buildtype="I"
-            feedURL="${ganymatic.website.url}/builds.rss"
-            buildURL="${ganymatic.website.url}/recent/${ganymatic.build.endtime}"
-            buildAlias="${build.alias}"
-            buildDetailURL="${buildDetailURL}"
-            buildConfigURL="${buildConfigURL}"
-            buildLogURL="${buildLogURL}"
-            buildMapURL="${buildMapURL}"
-            dependencyURLs="${dependencyURLs}"
-            releases="${Releases}"
-            releaseNotesURL="${releaseNotesURL}"
-            updateManagerURL="${updateManagerURL}"
-            downloadsURL="${downloadsURL}"
-            jarSigningStatus="${jarSigningStatus}"
-            coordinatedStatus="${coordinatedStatus}"
-            coordinatedDetails="${coordinatedDetails}"
-            JUnitTestURL="${JUnitTestURL}"
-            performanceTestURL="${performanceTestURL}"
-            APITestURL="${APITestURL}"
-            JUnitTestResults="${JUnitTestResults}"
-            performanceTestResults="${performanceTestResults}"
-            APITestResults="${APITestResults}" />
-    </target>
-    <target
-        name="publish.failed.rss"
-        description="Publish the RSS feed"
-        depends="publish.all.rss"
-        unless="ganymatic.build.successful">
-        <echo
-            message="Publishing the failed RSS feed" />
-        <property
-            file="org.eclipse.build.tools/blank.properties" />
-		<!-- Add an entry (and create the feed if it doesn't already exist) -->
-        <AddEntry
-            debug="0"
-            file="${ganymatic.website.dir}/fail.rss"
-            project="${project}"
-            version="${version}"
-            branch="${branch}"
-            buildID="${ganymatic.build.endtime}"
-            buildtype="I"
-            feedURL="${ganymatic.website.url}/fail.rss"
-            buildURL="${ganymatic.website.url}/recent/${ganymatic.build.endtime}"
-            buildAlias="${build.alias}"
-            buildDetailURL="${buildDetailURL}"
-            buildConfigURL="${buildConfigURL}"
-            buildLogURL="${buildLogURL}"
-            buildMapURL="${buildMapURL}"
-            dependencyURLs="${dependencyURLs}"
-            releases="${Releases}"
-            releaseNotesURL="${releaseNotesURL}"
-            updateManagerURL="${updateManagerURL}"
-            downloadsURL="${downloadsURL}"
-            jarSigningStatus="${jarSigningStatus}"
-            coordinatedStatus="${coordinatedStatus}"
-            coordinatedDetails="${coordinatedDetails}"
-            JUnitTestURL="${JUnitTestURL}"
-            performanceTestURL="${performanceTestURL}"
-            APITestURL="${APITestURL}"
-            JUnitTestResults="${JUnitTestResults}"
-            performanceTestResults="${performanceTestResults}"
-            APITestResults="${APITestResults}" />
-    </target>
-    <target
-        name="publish.successful.rss"
-        description="Publish the RSS feed"
-        depends="publish.all.rss"
-        if="ganymatic.build.successful">
-        <echo
-            message="Publishing the successful RSS feed" />
-        <property
-            file="org.eclipse.build.tools/blank.properties" />
-		<!-- Add an entry (and create the feed if it doesn't already exist) -->
-        <AddEntry
-            debug="0"
-            file="${ganymatic.website.dir}/success.rss"
-            project="${project}"
-            version="${version}"
-            branch="${branch}"
-            buildID="${ganymatic.build.endtime}"
-            buildtype="I"
-            feedURL="${ganymatic.website.url}/success.rss"
-            buildURL="${ganymatic.website.url}/recent/${ganymatic.build.endtime}"
-            buildAlias="${build.alias}"
-            buildDetailURL="${buildDetailURL}"
-            buildConfigURL="${buildConfigURL}"
-            buildLogURL="${buildLogURL}"
-            buildMapURL="${buildMapURL}"
-            dependencyURLs="${dependencyURLs}"
-            releases="${Releases}"
-            releaseNotesURL="${releaseNotesURL}"
-            updateManagerURL="${updateManagerURL}"
-            downloadsURL="${downloadsURL}"
-            jarSigningStatus="${jarSigningStatus}"
-            coordinatedStatus="${coordinatedStatus}"
-            coordinatedDetails="${coordinatedDetails}"
-            JUnitTestURL="${JUnitTestURL}"
-            performanceTestURL="${performanceTestURL}"
-            APITestURL="${APITestURL}"
-            JUnitTestResults="${JUnitTestResults}"
-            performanceTestResults="${performanceTestResults}"
-            APITestResults="${APITestResults}" />
-    </target>
-    <target
-        name="verify.properties.ganymatic.website.dir"
-        unless="ganymatic.website.dir">
-        <echo
-            message="Missing: ganymatic.website.dir" />
-        <antcall
-            target="verify.properties.error" />
-    </target>
-    <target
-        name="verify.properties.ganymatic.website.url"
-        unless="ganymatic.website.url">
-        <echo
-            message="Missing: ganymatic.website.url" />
-        <antcall
-            target="verify.properties.error" />
-    </target>
-    <target
-        name="verify.properties.error">
-        <echo
-            message="Required properties were not defined in a ganymatic.properties, for example '${user.home}/ganymedeConfig/ganymatic.properties' file." />
-        <echo
-            message="Please create a ganymatic.properties file in your home directory, in a directory named ganymedeConfig." />
-        <echo
-            message="Use the examples/ganymatic.properties* files as templates for your file." />
-        <echo
-            message="The ganymatic.properties file defines the directories, etc for the builds on your machine." />
-        <fail
-            message="No properties defined; failed to build" />
-    </target>
-    <target
-        name="checkEmailEnabled">
-		<!-- send email only if explicitly enabled, as it would be on production build machine, 
-	           but not on local or test machines -->
-        <condition
-            property="emailEnabled">
-        	  <and>
-            <equals
-                arg1="true"
-                arg2="${env.ENABLE_EMAIL}" />
-        	  	<isset property="ganymatic.build.error.emails" />
-        	  	</and>
-        </condition>
-    	  <echo message="ENABLE_EMAIL: ${env.ENABLE_EMAIL}" />
-    	  <echo message="ganymatic.build.error.emails: ${ganymatic.build.error.emails}" />
-    	  <echo message="emailEnabled: ${emailEnabled}" />
-    </target>
-    <target
-        name="tagProjects"
-        depends="checkTagProjects"
-        if="tagCVSProjects">
-        <cvs
-            cvsRoot="${env.G_CVS_WRITE_INFO}/cvsroot/callisto"
-            dest="${env.GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools"
-            command="tag v${cctimestamp}" />
-        <cvs
-            cvsRoot="${env.G_CVS_WRITE_INFO}/cvsroot/callisto"
-            dest="${env.GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.sitecontributions"
-            command="tag v${cctimestamp}" />
-        <echo message="   tagged site contributions for this build with v${cctimestamp}" />            
-    </target>
-    <!-- only tag projects if both a "write id" has been provided, and tag_projects variable set -->
-    <target
-      name="checkTagProjects">
-      <condition
-            property="tagCVSProjects">
-            <and>
-              <equals
-                  arg1="${env.TAG_PROJECTS}"
-                  arg2="true" />
-              <isset property="cctimestamp" />
-              <isset property="env.G_CVS_WRITE_INFO" />
-            </and>
-      </condition>
-    	<echo message="TAG_PROJECTS: ${env.TAG_PROJECTS}"/>
-    	<echo message="cctimestamp: ${cctimestamp}"/>
-    	<echo message="G_CVS_WRITE_INFO: ${env.G_CVS_WRITE_INFO}"/>
-      <echo message="tagCVSProjects: ${tagCVSProjects}"/>
-     </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.ganymede.tools/copyToRelease-2-clean-dest.sh b/org.eclipse.ganymede.tools/copyToRelease-2-clean-dest.sh
deleted file mode 100644
index b73e5eb..0000000
--- a/org.eclipse.ganymede.tools/copyToRelease-2-clean-dest.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# script to clean ganymede releases area
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-
-toDir=/home/data/httpd/download.eclipse.org/releases/ganymede
-
-${REMOTE_SSH_COMMAND} rm -rf $toDir/features
-${REMOTE_SSH_COMMAND} rm -rf $toDir/plugins
-${REMOTE_SSH_COMMAND} rm -f $toDir/site.xml
-${REMOTE_SSH_COMMAND} rm -f $toDir/digest.zip
diff --git a/org.eclipse.ganymede.tools/copyToRelease-3-plugins.sh b/org.eclipse.ganymede.tools/copyToRelease-3-plugins.sh
deleted file mode 100644
index da9edde..0000000
--- a/org.eclipse.ganymede.tools/copyToRelease-3-plugins.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# script to copy ganymede update jars from their staging to releases area
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-
-toDir=/home/data/httpd/download.eclipse.org/releases/ganymede
-fromDir=/home/data/httpd/download.eclipse.org/releases/ganymede/staging
-
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/features --target-directory=$toDir/
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/plugins  --target-directory=$toDir/
-
diff --git a/org.eclipse.ganymede.tools/copyToRelease-4-sitefiles.sh b/org.eclipse.ganymede.tools/copyToRelease-4-sitefiles.sh
deleted file mode 100644
index c06cd7f..0000000
--- a/org.eclipse.ganymede.tools/copyToRelease-4-sitefiles.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# script to copy ganymede update jars from their staging to releases area
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-
-toDir=/home/data/httpd/download.eclipse.org/releases/ganymede
-fromDir=/home/data/httpd/download.eclipse.org/releases/ganymede/staging
-
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/*html --target-directory=$toDir/
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/*.gif  --target-directory=$toDir/
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/site.xml --target-directory=$toDir/
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/artifacts.jar --target-directory=$toDir/
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/content.jar --target-directory=$toDir/
-
-  ${REMOTE_SSH_COMMAND} perl -pi -e 's!ganymede/staging!ganymede!g' ${toDir}/site.xml
-# ${REMOTE_SSH_COMMAND} perl -pi -e 's!ganymede/staging!ganymede!g' ${toDir}/index.html
-
-# important to make sure digest is updated same time as site.xml's
-# though typically recreated in subsequent step
-${REMOTE_SSH_COMMAND} cp -f -p -r -v --update $fromDir/digest.zip --target-directory=$toDir/
-
-
-# touch the site.xml file, so it appears "last modified" (or, just modified) as this helps
-# some mirror strategies to know the site has changed (they use the site.xml file to test if mirror site is available and up-to-date).
-${REMOTE_SSH_COMMAND} touch ${toDir}/site.xml
diff --git a/org.eclipse.ganymede.tools/createDigest.sh b/org.eclipse.ganymede.tools/createDigest.sh
deleted file mode 100644
index 5c24009..0000000
--- a/org.eclipse.ganymede.tools/createDigest.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/sh
-
-right_now=$(date +"%x %r %Z")
-echo "   Create the site digest. Started at: " $right_now
-echo
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-if [ -z $1 ]
-then
-    echo "     no argument provided, doing 'staging' run"
-    jarlocation=${GANYMEDE_STAGING}
-else
-if [ "-r" == "$1" ]
-then 
-    echo "     -r specified, doing 'release' run"
-    jarlocation=${GANYMEDE_RELEASE}
-else
-    echo "     ERROR: argument " $1 " not recognized." 
-    exit 1
-fi 
-fi
-
-if [ -z $jarlocation ]
-then
-    echo "     ERROR: site (repository) location was not specified"
-    exit 1
-fi 
-
-echo "     site (repository) location: " $jarlocation
-echo
-
-${REMOTE_SSH_COMMAND} ${JAVA_HOME}/jre/bin/java -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_HOME}/jre/bin  -jar ${ECLIPSE_HOME}/plugins/${ECLIPSE_LAUNCHER} -application org.eclipse.update.core.siteOptimizer -verbose -digestBuilder -digestOutputDir=${jarlocation} -siteXML=${jarlocation}/site.xml
-
-# touch the site.xml file, so it appears "last modified" (or, just modified) as this helps
-# some mirror strategies to know the site has changed (they use the site.xml file to test if mirror site is available and up-to-date).
-${REMOTE_SSH_COMMAND} touch ${jarlocation}/site.xml
-
-# the "site proxy" file is used to denote "a successful build has occurred", 
-# so the once-per-day builds (for packing) know whether to run, or not. 
-# It is set here, under the assumption we only create digests after successful build.
-# It is a "proxy" to the site.xml file, since, I've learned, for Cruisecontrol to
-# "watch" this file for a changed datetime stamp, the file must _always_ exist, 
-# even before there has been one build. 
-${REMOTE_SSH_COMMAND} touch /opt/public/ganymede/workingdir/org.eclipse.ganymede.tools/siteProxyFile.txt
-
-
-right_now=$(date +"%x %r %Z")
-echo " "
-echo "Completed digest at " $right_now
-echo " "
diff --git a/org.eclipse.ganymede.tools/createP2repo.sh b/org.eclipse.ganymede.tools/createP2repo.sh
deleted file mode 100644
index dcf51fb..0000000
--- a/org.eclipse.ganymede.tools/createP2repo.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-
-right_now=$(date +"%x %r %Z")
-echo "   Create P2 repository. Started: " $right_now
-echo
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-
-if [ -z $1 ]
-then
-	echo "     no argument provided, doing 'staging' run"
-	jarlocation=${GANYMEDE_STAGING}
-else
-if [ "-r" == "$1" ]
-then 
-	echo "     -r specified, doing 'release' run"
-	jarlocation=${GANYMEDE_RELEASE}
-else
-    echo "     ERROR: argument " $1 " not recognized." 
-    exit 1
-fi 
-fi
-
-if [ -z $jarlocation ]
-then
-	echo "     ERROR: site (repository) location was not specified"
-	exit 1
-fi     
-
-echo "     site (repository) location: " $jarlocation
-echo
-
-# we could probably use -append (in some cases), 
-# but to make sure we get completely fresh metadata, 
-# we'll re-generate from scratch. 
-${REMOTE_SSH_COMMAND} rm -fv ${jarlocation}/content.jar
-${REMOTE_SSH_COMMAND} rm -fv ${jarlocation}/artifacts.jar
-
-${REMOTE_SSH_COMMAND} ${JAVA_HOME}/jre/bin/java -jar ${ECLIPSE_HOME}/plugins/${ECLIPSE_LAUNCHER} \
-   -application "org.eclipse.equinox.p2.metadata.generator.EclipseGenerator" \
-   -updateSite "${jarlocation}" \
-   -site "file:${jarlocation}/site.xml" \
-   -metadataRepository "file:${jarlocation}" \
-   -metadataRepositoryName "Ganymede Update Site" \
-   -artifactRepository "file:${jarlocation}" \
-   -artifactRepositoryName "Ganymede Artifacts" \
-   -compress \
-   -reusePack200Files \
-   -noDefaultIUs
-
-
-# touch the site.xml file, so it appears "last modified" (or, just modified) as this helps
-# some mirror strategies to know the site has changed (they use the site.xml file to test if mirror site is available and up-to-date).
-${REMOTE_SSH_COMMAND} touch ${jarlocation}/site.xml
-
-right_now=$(date +"%x %r %Z")
-echo
-echo "   Completed P2 creation" $right_now
-echo
diff --git a/org.eclipse.ganymede.tools/createPack200Files.sh b/org.eclipse.ganymede.tools/createPack200Files.sh
deleted file mode 100644
index 7892879..0000000
--- a/org.eclipse.ganymede.tools/createPack200Files.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-
-echo
-right_now=$(date +"%x %r %Z")
-echo "   Create pack200 files. Started: " $right_now
-echo
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi 
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-if [ -z $1 ]
-then
-    echo "     no argument provided, doing 'staging' run"
-    jarlocation=${GANYMEDE_STAGING}
-else
-if [ "-r" == "$1" ]
-then 
-    echo "     -r specified, doing 'release' run"
-    jarlocation=${GANYMEDE_RELEASE}
-else
-    echo "     ERROR: argument " $1 " not recognized." 
-    exit 1
-fi 
-fi
-
-if [ -z $jarlocation ]
-then
-    echo "     ERROR: site (repository) location was not specified"
-    exit 1
-fi 
-
-echo "     site (repository) location: " $jarlocation
-echo
-
-
-${REMOTE_SSH_COMMAND} ${JAVA_HOME}/jre/bin/java -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_HOME}/jre/bin  -jar ${ECLIPSE_HOME}/plugins/${ECLIPSE_LAUNCHER} -application org.eclipse.update.core.siteOptimizer -jarProcessor -pack -verbose -outputDir ${jarlocation} ${jarlocation}
-
-echo
-echo "     remove zero length files introduced by the siteOptimizer (or, bad jars)"
-echo
-
-${REMOTE_SSH_COMMAND}  ${ANT_HOME}/bin/ant -f ${GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools/packStaging-2.xml -DupdateSite=${jarlocation}
-
-echo
-echo "   Completed Pack200"
-echo
diff --git a/org.eclipse.ganymede.tools/doCompleteRepo.sh b/org.eclipse.ganymede.tools/doCompleteRepo.sh
deleted file mode 100644
index bc30479..0000000
--- a/org.eclipse.ganymede.tools/doCompleteRepo.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/sh
-
-
-# Not really the complete repo ... just the time consuming part.
-# assumes the basic site has already been created
-# by do_ganymatic_on_build.eclipse.org_.sh.
-
-echo "  Create pack200 files and P2 repository"
-
-right_now=$(date +"%x %r %Z")
-echo "   Started: " $right_now
-echo
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-  configFile=ganymatic.shsource
-fi
-
-
-echo "     Ganymatic configuration read from " $configFile
-source $configFile
-if [ -z $1 ]
-then
-    echo "     no argument provided, doing 'staging' run"
-    jarlocation=${GANYMEDE_STAGING}
-else
-if [ "-r" == "$1" ]
-then 
-    echo "     -r specified, doing 'release' run"
-    jarlocation=${GANYMEDE_RELEASE}
-else
-    echo "     ERROR: argument " $1 " not recognized." 
-    exit 1
-fi 
-fi
-
-if [ -z $jarlocation ]
-then
-    echo "     ERROR: site (repository) location was not specified"
-    exit 1
-fi 
-
-echo "     site (repository) location: " $jarlocation
-echo
-
-${GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools/createPack200Files.sh
-${GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools/createP2repo.sh
-
-# touch the site.xml file, so it appears "last modified" (or, just modified) as this helps
-# some mirror strategies to know the site has changed (they use the site.xml file to test if mirror site is available and up-to-date).
-touch ${jarlocation}/site.xml
-
-right_now=$(date +"%x %r %Z")
-echo
-echo "   Completed pack200 and P2 creation: " $right_now
-echo
diff --git a/org.eclipse.ganymede.tools/do_ganymatic_on_build.eclipse.org_.sh b/org.eclipse.ganymede.tools/do_ganymatic_on_build.eclipse.org_.sh
deleted file mode 100644
index b2f142a..0000000
--- a/org.eclipse.ganymede.tools/do_ganymatic_on_build.eclipse.org_.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#
-# This script is the specialization for running the Ganymatic on
-# the build.eclipse.org machine for the daily Ganymede builds.
-# It gets the latest code, sets up environment variables, etc.
-# If you'd like to run the Ganymatic on your own machine, you'll
-# do something similar, but for your own machine and environment.
-# For example, when I run Ganymatic on my laptop, I run it from
-# Eclipse, so I use Eclipse's CVS support to get the latest
-# versions of the code; and I use Eclipse's Ant support to run
-# the ant script; etc.
-#
-# This script should be "copied up" and run from the main
-# directory (~/ganymede).
-#
-# Be sure to run "get-fresh-script" whenever 'tools' should be updated. 
-#
-echo "   Doing primary, basic update staging site for Ganymede"
-
-# we simulate cctimestamp, since it is not passed to shell scripts, 
-# but once we move to ant, then all the code would be the same
-cctimestamp=$(date +"%Y%m%d%H%M%S")
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-# TODO: avoid this "relative" dependancy 
-  configFile=./org.eclipse.ganymede.tools/ganymatic.shsource
-fi 
-
-echo "     Ganymatic configuration read from " $configFile
-echo 
-source $configFile
-
-
-echo "     removing old sitecontributions"
-rm -fr org.eclipse.ganymede.sitecontributions
-
-if [ "true" == "$CLEAN_CACHE" ]
-then
-    echo "     removing cached files"
-    rm -fr org.eclipse.dash.siteassembler/bin/site
-fi 
-
-if [ -z ${G_CVS_SITE_CONTRIBUTIONS_TAG} ]
-then
-   G_CVS_SITE_CONTRIBUTIONS_TAG=HEAD
-fi 
-
-echo "     checkout fresh ${G_CVS_SITE_CONTRIBUTIONS_TAG} versions of sitecontributions"
-
-cvs -f -d ${G_CVS_INFO}/cvsroot/callisto checkout -r ${G_CVS_SITE_CONTRIBUTIONS_TAG} org.eclipse.ganymede.sitecontributions
-
-chmod -R a+rx org.eclipse.ganymede.sitecontributions 
-
-echo "cctimestamp: " $cctimestamp
-
-(cd ${GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools; ${ANT_HOME}/bin/ant -Dcctimestamp=$cctimestamp)
-
-# In some cases, some users may want to override defaults and provide their own location 
-# or file name for for ganymatic.properties file. That could be done as in following line.
-#(cd ${GANYMEDE_BUILD_HOME}/workingdir/org.eclipse.ganymede.tools; ${ANT_HOME}/bin/ant -Dcctimestamp=$cctimestamp -Dganymatic.properties.file=ganymatic.properties)
-
-# this script's exit code is the same as ant's exit code
-exitcode=$?
-
-echo
-echo "exitcode: ${exitcode}"
-
-fqdn=$(hostname -f)
-
-echo
-echo "$(basename $0) running on ${fqdn} is complete"
-echo "   logs are: ${GANYMATIC_WEBSITE_URL}"
-echo "   update site is: ${GANYMEDE_STAGING}"
-echo
-
-exit ${exitcode}
diff --git a/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-build.eclipse.org.properties b/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-build.eclipse.org.properties
deleted file mode 100644
index 1cdcfd9..0000000
--- a/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-build.eclipse.org.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-# These are the property definitions that allow the Ganymatic to run on build.eclipse.org
-# as the master Ganymede build
-#
-# Webserver: Apache
-#            serves pages from /opt/public
-# Ganymatic tools: CVS exported to ~bfreeman/ganymede/
-#
-# Note: buckminster.home must be an absolute path
-#     : due to some difference between the Sun JVM and the IBM PPC JVM
-#
-buckminster.home=/home/data/users/bfreeman/ganymede/buckminster
-contribs.dir=../org.eclipse.ganymede.sitecontributions
-site.dir=../org.eclipse.dash.siteassembler/bin/site
-downloads=/home/data/users/bfreeman/downloads
-ganymatic.website.dir=/opt/public/ganymede/
-ganymatic.website.url=http://build.eclipse.org/ganymede
-ganymatic.releng.email=bjorn.freeman-benson@eclipse.org,david_williams@us.ibm.com,cross-project-issues-dev@eclipse.org
-generated.dir=${buckminster.home}/bin/generated
-top.project=org.eclipse.ganymede
-mirror.site.location=${buckminster.home}/bin/${top.project}.mirror
-mirror.site.url=http://www.foo.fee/fum
-#
-# features that are enabled on the build machine but should
-# should not be on developer machines: copying and emailing
-#
-staging.dir=/home/data/users/bfreeman/downloads/releases/ganymede/staging
-ganymatic.email.from.address=bjorn.freeman-benson@eclipse.org
-#
-# I use a file access version of downloads to reduce network traffic,
-# but I could also use the url version:
-#	downloads=http://download.eclipse.org
-
-# Nick's RSS feed code requires a version number, so I chose "3.0.0"
-# on the theory that Callisto was simultaneous release 1.0, Europa 2.0, and Ganymede 3.0
-project=Ganymede
-branch=
-version=3.0.0
-buildAlias=Ganymede_M2
-updateManagerURL=http://download.eclipse.org/releases/ganymede/staging/
-downloadsURL=
diff --git a/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-developer_hoffice.properties b/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-developer_hoffice.properties
deleted file mode 100644
index ad4b234..0000000
--- a/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-developer_hoffice.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# These are the property definitions that allow the Ganymatic to run on Bjorn's home office machine.
-#
-# Webserver: Apache from Xampplite
-#            serves pages from one of my Eclipse workspaces
-# Ganymatic tools: loaded into one of my Eclipse workspaces
-#
-buckminster.home=../org.eclipse.dash.siteassembler
-contribs.dir=../org.eclipse.ganymede.sitecontributions
-site.dir=../org.eclipse.dash.siteassembler/bin/site
-downloads=http://download.eclipse.org/
-ganymatic.website.dir=../ganymede/
-ganymatic.website.url=http://localhost:2929/ganymede
-ganymatic.releng.email=bjorn@eclipse.org
-generated.dir=${buckminster.home}/bin/generated
-top.project=org.eclipse.ganymede
-mirror.site.location=${buckminster.home}/bin/${top.project}.mirror
-mirror.site.url=http://www.foo.fee/fum
-
-project=Ganymede
-branch=
-version=3.0.0
-buildAlias=Ganymede_M2
-updateManagerURL=http://localhost:2929/ganymede/org.eclipse.dash.siteassembler/bin/generated
-downloadsURL=
diff --git a/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-developer_laptop.properties b/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-developer_laptop.properties
deleted file mode 100644
index 1836d3a..0000000
--- a/org.eclipse.ganymede.tools/examples/ganymatic-bfreeman-developer_laptop.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# These are the property definitions that allow the Ganymatic to run on Bjorn's laptop.
-#
-# Webserver: Apache built in to Mac OS X
-#            serves pages from my Eclipse workspace
-# Ganymatic tools: loaded into my Eclipse workspace
-#
-buckminster.home=../org.eclipse.dash.siteassembler
-contribs.dir=../org.eclipse.ganymede.sitecontributions
-#downloads=/Users/bjorn/Desktop/downloads
-downloads=http://download.eclipse.org/
-ganymatic.website.dir=../ganymede/
-ganymatic.website.url=http://bjorn-freeman-bensons-computer.local/~bjorn/workspace/ganymede
-ganymatic.releng.email=bjorn@eclipse.org
-generated.dir=${buckminster.home}/bin/generated
-top.project=org.eclipse.ganymede
-mirror.site.location=${buckminster.home}/bin/${top.project}.mirror
-mirror.site.url=http://www.foo.fee/fum
-
-project=Ganymede
-branch=
-version=3.0.0
-buildAlias=Ganymede_M2
-updateManagerURL=http://bjorn-freeman-bensons-computer.local/~bjorn/workspace/org.eclipse.dash.siteassembler/bin/generated
-downloadsURL=
diff --git a/org.eclipse.ganymede.tools/examples/ganymedeConfig/ganymatic.properties b/org.eclipse.ganymede.tools/examples/ganymedeConfig/ganymatic.properties
deleted file mode 100644
index 35b0e7b..0000000
--- a/org.eclipse.ganymede.tools/examples/ganymedeConfig/ganymatic.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-# These are the property definitions that allow the Ganymatic to run on build.eclipse.org
-# as the master Ganymede build
-#
-# Webserver: Apache
-#            serves pages from /opt/public
-# Ganymatic tools: CVS exported to ~bfreeman/ganymede/
-#
-# Note: buckminster.home must be an absolute path
-#     : due to some difference between the Sun JVM and the IBM PPC JVM
-#
-buckminster.home=/home/shared/ganymede/buckminster
-# remember, "../" is used below because the ant script that uses these 
-# properties is ran from "down" in the tools subdirectory.
-contribs.dir=../org.eclipse.ganymede.sitecontributions
-site.dir=../org.eclipse.dash.siteassembler/bin/site
-#
-# I use a file access version of downloads to reduce network traffic,
-# but I could also use the url version:
-downloads=http://download.eclipse.org
-#downloads=/home/data/httpd/download.eclipse.org
-
-ganymatic.website.dir=/var/www/html/buildhome/ganymede
-ganymatic.website.url=http://localhost/buildhome/ganymede
-#ganymatic.releng.email=david_williams@us.ibm.com
-#ganymatic.releng.email=bjorn.freeman-benson@eclipse.org,david_williams@us.ibm.com,cross-project-issues-dev@eclipse.org
-generated.dir=${buckminster.home}/bin/generated
-top.project=org.eclipse.ganymede
-mirror.site.location=${buckminster.home}/bin/${top.project}.mirror
-mirror.site.url=http://www.foo.fee/fum
-#
-# features that are enabled on the build machine but should
-# should not be on developer machines: copying and emailing
-#
-staging.dir=${env.GANYMEDE_STAGING}
-#ganymatic.email.from.address=david.williams@eclipse.org
-#ganymatic.email.from.name=ganymaticBuilder
-
-# Nick's RSS feed code requires a version number, so I chose "3.0.0"
-# on the theory that Callisto was simultaneous release 1.0, Europa 2.0, and Ganymede 3.0
-project=Ganymede
-branch=
-version=3.0.0
-buildAlias=Ganymede_M2
-updateManagerURL=http://download.eclipse.org/releases/ganymede/staging/
-downloadsURL=
-
diff --git a/org.eclipse.ganymede.tools/examples/ganymedeConfig/ganymatic.shsource b/org.eclipse.ganymede.tools/examples/ganymedeConfig/ganymatic.shsource
deleted file mode 100644
index 10f8382..0000000
--- a/org.eclipse.ganymede.tools/examples/ganymedeConfig/ganymatic.shsource
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-#
-# This file needs to be customized to run on different machines or environments
-# Note that if a file with this name exists in a directory named ${HOME}/ganymedeConig,
-# then that one will be be used. Otherwise, this one, in the "tools" project/directory
-# will be used. This allows us to have a correct version for build.eclipse production
-# builds checked into cvs, but allow individual users, on different machines, to
-# customize based on their sytems.
-
-# Reminder: make sure there are no trailing spaces on any of the value lines.
-
-# BUILD HOME -- the top most directory where the work is being done. 
-export GANYMEDE_BUILD_HOME=/home/shared/ganymede
-
-# ANT
-export ANT_HOME=/home/shared/webtools/apps/apache-ant-1.7.0
-
-# JAVA
-export JAVA_HOME=/home/shared/webtools/apps/ibm-java2-i386-50
-#      not sure the following are really needed?
-export JAVA_BINDIR=${JAVA_HOME}/bin
-export JAVA_ROOT=${JAVA_HOME}
-export JDK_HOME=${JAVA_HOME}
-export JRE_HOME=${JAVA_HOME}/jre
-
-# Eclipse
-#      where eclipse is installed
-export ECLIPSE_HOME=/home/shared/webtools/apps/eclipse-34M7
-#      the launcher may change version numbers, depending on the version of eclipse being used
-export ECLIPSE_LAUNCHER=org.eclipse.equinox.launcher_1.0.100.v20080501.jar
-
-# Staging directory (used by both ant, and sh shells, so ganymatic.properties refers
-# to this value, by default, for the ant property.
-export GANYMEDE_STAGING=${env.GANYMEDE_BUILD_HOME}/staging
-
-#leave blank if on the same machine as cvs and direct file IO will be used
-export G_CVS_INFO=":pserver:anonymous@dev.eclipse.org:"
-
-# Almost always 'HOME' unless doing test work on a test branch
-export G_CVS_BRANCH=david_williams_tempBranch
-
diff --git a/org.eclipse.ganymede.tools/ganymatic.properties b/org.eclipse.ganymede.tools/ganymatic.properties
deleted file mode 100644
index 41a735d..0000000
--- a/org.eclipse.ganymede.tools/ganymatic.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-# These are the property definitions that allow the Ganymatic to run on build.eclipse.org
-# as the master Ganymede build
-#
-# Webserver: Apache
-#            serves pages from /opt/public
-# Ganymatic tools: CVS exported to ~bfreeman/ganymede/
-#
-# Note: buckminster.home must be an absolute path
-#     : due to some difference between the Sun JVM and the IBM PPC JVM
-#
-buckminster.home=/shared/ganymede/buckminster
-# remember, "../" is used below because the ant script that uses these 
-# properties is ran from "down" in the tools subdirectory.
-contribs.dir=../org.eclipse.ganymede.sitecontributions
-site.dir=../org.eclipse.dash.siteassembler/bin/site
-#
-# I use a file access version of downloads to reduce network traffic,
-# but I could also use the url version:
-#	downloads=http://download.eclipse.org
-downloads=/home/data/httpd/download.eclipse.org
-
-# This value is the one used to actually copy log files to
-ganymatic.website.dir=/opt/public/ganymede
-
-# This value is used in messages and emails
-ganymatic.website.url=${env.GANYMATIC_WEBSITE_URL}
-#ganymatic.releng.email=david_williams@us.ibm.com
-ganymatic.releng.email=bjorn.freeman-benson@eclipse.org,david_williams@us.ibm.com,cross-project-issues-dev@eclipse.org
-generated.dir=${buckminster.home}/bin/generated
-top.project=org.eclipse.ganymede
-mirror.site.location=${buckminster.home}/bin/${top.project}.mirror
-mirror.site.url=http://www.foo.fee/fum
-#
-# features that are enabled on the build machine but should
-# should not be on developer machines: copying and emailing
-#
-staging.dir=${env.GANYMEDE_STAGING}
-ganymatic.email.from.address=david.williams@eclipse.org
-ganymatic.email.from.name=ganymaticBuilder
-
-# Nick's RSS feed code requires a version number, so I chose "3.0.0"
-# on the theory that Callisto was simultaneous release 1.0, Europa 2.0, and Ganymede 3.0
-project=Ganymede
-branch=
-version=3.0.0
-buildAlias=Ganymede_M2
-updateManagerURL=http://download.eclipse.org/releases/ganymede/staging/
-downloadsURL=
-
diff --git a/org.eclipse.ganymede.tools/ganymatic.shsource b/org.eclipse.ganymede.tools/ganymatic.shsource
deleted file mode 100644
index d3e526a..0000000
--- a/org.eclipse.ganymede.tools/ganymatic.shsource
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-#
-# This file needs to be customized to run on different machines or environments
-# Note that if a file with this name exists in a directory named ${HOME}/ganymedeConfig,
-# then that one will be be used. Otherwise, this one, in the "tools" project/directory
-# will be used. This allows us to have a correct version for build.eclipse production
-# builds checked into cvs, but allow individual users, on different machines, to
-# customize based on their sytems.
-
-# Reminder: make sure there are no trailing spaces on any of the value lines.
-
-# BUILD HOME -- the top most directory where the work is being done. 
-export GANYMEDE_BUILD_HOME=/shared/ganymede
-
-# ANT
-export ANT_HOME=/shared/common/apache-ant-1.7.0
-
-# JAVA
-export JAVA_HOME=/shared/common/ibm-java2-ppc-50
-#      not sure the following are really needed?
-export JAVA_BINDIR=${JAVA_HOME}/bin
-export JAVA_ROOT=${JAVA_HOME}
-export JDK_HOME=${JAVA_HOME}
-export JRE_HOME=${JAVA_HOME}/jre
-
-# Eclipse
-#      where eclipse is installed
-export ECLIPSE_HOME=/shared/orbit/apps/eclipse-RC3
-#      the launcher may change version numbers, depending on the version of eclipse being used
-export ECLIPSE_LAUNCHER=org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar
-
-# Staging directory (used by both ant, and sh shells, so ganymatic.properties refers
-# to this value, by default, for the ant property.
-export GANYMEDE_STAGING=/home/data/httpd/download.eclipse.org/releases/ganymede/staging
-
-# REMEMBER: use care in "deleting" this directory, since it also contains 'staging'
-export GANYMEDE_RELEASE=/home/data/httpd/download.eclipse.org/releases/ganymede
-
-# on production machine, it is cheap get all afresh
-# on remote machine, may want to set to false to avoid long downloads
-export CLEAN_CACHE=true
-
-export GANYMATIC_WEBSITE_URL=http://build.eclipse.org/ganymede
-
-# Leave unset if running on same machine as CVS, else give CVS info such as 
-# export G_CVS_INFO=":pserver:anonymous@dev.eclipse.org:"
-#export G_CVS_INFO=
-# ssh and cvs write info required to tag maps, and must use a real id with ssh write access to cvs
-export CVS_RSH=ssh 
-export G_CVS_WRITE_INFO=":ext:david_williams@dev.eclipse.org:"
-
-# export G_CVS_INFO=":pserver:anonymous@dev.eclipse.org:"
-
-# this is branch where ganymede.tools are fetched. Almost always HEAD, 
-# unless testing something in a temporary branch. 
-export G_CVS_BRANCH=HEAD
-
-# this is branch where ganymede.sitecontributions are fetched. Almost always HEAD. 
-export G_CVS_SITE_CONTRIBUTIONS_TAG=HEAD
-
-# email will be sent only if this variable is set to true
-# which should be true for production machine, false for local test builds
-export ENABLE_EMAIL=true
-
-# site contributions and build.tools will be tagged with each successful build
-# which should be true for production machine, false for local test builds
-export TAG_PROJECTS=true
-
-# this is used for tasks (e.g. signing, or similar) where we need to execute 
-# a script from a valid committer ID, while running as orbitBuild.
-# it should be blank or omitted in local builds
-#export REMOTE_SSH_COMMAND="ssh david_williams@build.eclipse.org "
-export REMOTE_SSH_COMMAND=
diff --git a/org.eclipse.ganymede.tools/get-fresh-script.sh b/org.eclipse.ganymede.tools/get-fresh-script.sh
deleted file mode 100644
index ab6cd72..0000000
--- a/org.eclipse.ganymede.tools/get-fresh-script.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-if [ -e ${HOME}/ganymedeConfig/ganymatic.shsource ]
-then
-  configFile=${HOME}/ganymedeConfig/ganymatic.shsource
-else
-# TODO: avoid this "relative" dependancy 
-  configFile=./org.eclipse.ganymede.tools/ganymatic.shsource
-fi 
-
-# in some cases, neither of the above files will exist, 
-# so we have to trust defaults (which are, usually, correct)
-if [ -e "$configFile" ]
-then
-  echo
-  echo "   Ganymatic configuration read from " $configFile
-  source "$configFile"
-else
-  echo "   No config file found ... assuming HEAD"
-  G_CVS_BRANCH=HEAD
-fi
-
-echo
-echo "   Get fresh script for Ganymatic ..."
-echo "     removing old org.eclipse.ganymede.tools directory ..."
-
-rm -fr org.eclipse.ganymede.tools
-
-echo "     checkout fresh ${G_CVS_BRANCH} version of tools directory ..."
-
-cvs -Q -f -d ${G_CVS_INFO}/cvsroot/callisto checkout -r ${G_CVS_BRANCH} org.eclipse.ganymede.tools
-
-echo "     copy up to current directory ..."
-# TODO avoid "copy up" of self (get-fresh-script.sh)
-cp org.eclipse.ganymede.tools/do_ganymatic_on_build.eclipse.org_.sh .
-cp org.eclipse.ganymede.tools/get-fresh-script.sh .
-
-echo "     making sure files are executable and have proper EOL ..."
-dos2unix *.sh* *.properties *.xml >/dev/null 2>>/dev/null
-chmod +x *.sh > /dev/null
-dos2unix org.eclipse.ganymede.tools/*.sh* *.properties *.xml >/dev/null 2>>/dev/null
-chmod -R +x org.eclipse.ganymede.tools/*.sh > /dev/null
-echo 
diff --git a/org.eclipse.ganymede.tools/org.eclipse.build.tools/blank.properties b/org.eclipse.ganymede.tools/org.eclipse.build.tools/blank.properties
deleted file mode 100644
index ef46b46..0000000
--- a/org.eclipse.ganymede.tools/org.eclipse.build.tools/blank.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Blank properties for all the optional properties so that the RSS generator does not crash
-#
-buildDetailURL=
-buildConfigURL=
-buildLogURL=
-buildMapURL=
-releaseNotesURL=
-jarSigningStatus=
-coordinatedStatus=
-coordinatedDetails=
-dependencyURLs=
-JUnitTestURL=
-performanceTestURL=
-APITestURL=
-JUnitTestResults=
-performanceTestResults=
-APITestResults=
-Releases=
diff --git a/org.eclipse.ganymede.tools/org.eclipse.build.tools/feedTools.jar b/org.eclipse.ganymede.tools/org.eclipse.build.tools/feedTools.jar
deleted file mode 100755
index e10ea43..0000000
--- a/org.eclipse.ganymede.tools/org.eclipse.build.tools/feedTools.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ganymede.tools/packStaging-2.xml b/org.eclipse.ganymede.tools/packStaging-2.xml
deleted file mode 100644
index 8a7de6f..0000000
--- a/org.eclipse.ganymede.tools/packStaging-2.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<project default="fix" basedir=".">
-
-	<target name="fix">
-		<echo message="executing fix script" />
-		<fail unless="updateSite" />
-		<echo message="updateSite: ${updateSite}" />
-		<echo message="Fix any incorrect XML in digest.zip (digest.xml) (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=187396&quot;&gt;bug 187396&lt;/a&gt;)" />
-		<exec failonerror="true" executable="unzip" dir="${updateSite}">
-			<arg value="digest.zip" />
-		</exec>
-		
-		<exec executable="perl" dir="${updateSite}">
-			<arg value="-pi" />
-			<arg value="-e" />
-			<arg value='s/"true"search/"true" search/g' />
-			<arg value="digest.xml" />
-		</exec>
-		<exec executable="zip" dir="${updateSite}">
-			<arg value="-m" />
-			<arg value="digest.zip" />
-			<arg value="digest.xml" />
-		</exec>
-
-		<echo message="Delete zero length packed files (&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=187396&quot;&gt;bug 187396&lt;/a&gt;)" />
-		<exec executable="find">
-			<arg value="${updateSite}" />
-			<arg value="-name" />
-			<arg value="*.gz" />
-			<arg value="-empty" />
-			<arg value="-printf" />
-			<arg value="Error zero length file: " />
-			<arg value="-print" />
-			<arg value="-execdir" />
-			<arg value="rm" />
-			<arg value="{}" />
-			<arg value=";" />
-		</exec>
-	</target>
-</project>
diff --git a/org.eclipse.ganymede.tools/promote.sh b/org.eclipse.ganymede.tools/promote.sh
deleted file mode 100644
index b583fc0..0000000
--- a/org.eclipse.ganymede.tools/promote.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# script to automate the promotion of staging area to released area
-
-# NOTE: this version cleans release area completely, 
-# future versions may want to make incremental additions instead
-
-./copyToRelease-2-clean-dest.sh
-./copyToRelease-3-plugins.sh
-./copyToRelease-4-sitefiles.sh
-./createDigest.sh -r
-./createP2repo.sh -r
diff --git a/org.eclipse.ganymede.tools/samplelog.txt b/org.eclipse.ganymede.tools/samplelog.txt
deleted file mode 100644
index 50ae70d..0000000
--- a/org.eclipse.ganymede.tools/samplelog.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-Buildfile: /Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/build.xml
-generate.bm.artifacts:
-     [echo] "/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/datatools.sc" "/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/wtp.sc"
-     [java] generate '--outputdir' '/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated' '--templatesite' '/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/site.xml' '--project' 'org.eclipse.europa' '/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/datatools.sc' '/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/wtp.sc'
-     [java] Generating artifacts from file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/datatools.sc
-     [java] Generating artifacts from file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/wtp.sc
-     [java] Writing generated artifacts to /Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated
-     [java] Generation complete
-resolve.cquery:
-     [java] resolve '--continueonerror' '--noimport' '--bomfile' '/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated/org.eclipse.europa.bom' '/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated/org.eclipse.europa.cquery'
-     [java] Using workspace at file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/buckminster/workspace/...
-     [java] Platform install location: file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/buckminster/
-     [java] Found searchPath default for component org.eclipse.europa
-     [java] Provider url(file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated//org.eclipse.europa.cspec): Found a match for component org.eclipse.europa, 
-     [java] Found searchPath default for component org.eclipse.datatools
-     [java] Found searchPath default for component org.eclipse.wtp
-     [java] Provider url(file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated//org.eclipse.datatools.cspec): Found a match for component org.eclipse.datatools, 
-     [java] Provider url(file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/bin/generated//org.eclipse.wtp.cspec): Found a match for component org.eclipse.wtp, 
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.doc.user
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.sqldevtools.results.feature
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.intro
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.mysql.feature
-     [java] [0003] : No suitable provider for component org.eclipse.datatools.doc.user:site.feature/[1.5.1.200709261,1.5.1.200709261]#OSGi was found in searchPath org.eclipse.datatools
-     [java]   [0003] : Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): No match found for component org.eclipse.datatools.doc.user using version designator [1.5.1.200709261,1.5.1.200709261]
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.sqldevtools.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.sqldevtools.results.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.intro using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.mysql.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.sqldevtools.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.sqldevtools.data.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.sqldevtools.data.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.postgresql.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.postgresql.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.sqldevtools.parsers.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.sqldevtools.parsers.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.oracle.feature
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.oda.designer.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.oracle.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.oda.designer.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.apache.derby.feature
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.sdk.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.apache.derby.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.sdk.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.msft.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.msft.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.sybase.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.sybase.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.ibm.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.ibm.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.hsqldb.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.hsqldb.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.jdbc.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.jdbc.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.jdt.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.jdt.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.datatools for component org.eclipse.datatools.enablement.oda.feature
-     [java] Provider site.feature(http://download.eclipse.org/datatools/downloads/drops/updates/site.xml): Found a match for org.eclipse.datatools.enablement.oda.feature using version designator [1.5.1.200709261,1.5.1.200709261], 1.5.1.200709261
-     [java] Found searchPath org.eclipse.wtp for component org.eclipse.jpt.feature
-     [java] Digest could not be parsed:Element type "includes" must be followed by either attribute specifications, ">" or "/>".
-     [java] [0004] : No suitable provider for component org.eclipse.jpt.feature:site.feature/[1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD,1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD]#OSGi was found in searchPath org.eclipse.wtp
-     [java]   [0004] : Provider site.feature(http://download.eclipse.org/webtools/milestones/site.xml): No match found for component org.eclipse.jpt.feature using version designator [1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD,1.0.1.v200709130000-77-5CYQCCz-D7LQCCCD]
-     [java] Found searchPath org.eclipse.wtp for component org.eclipse.jst
-     [java] [0004] : No suitable provider for component org.eclipse.jst:site.feature/[2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe,2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe]#OSGi was found in searchPath org.eclipse.wtp
-     [java]   [0004] : Provider site.feature(http://download.eclipse.org/webtools/milestones/site.xml): No match found for component org.eclipse.jst using version designator [2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe,2.0.1.v200709110510-7B-68dDTNImaz0di_Tvks1JyDPVe]
-     [java] Found searchPath org.eclipse.wtp for component org.eclipse.wst.xml_ui.feature
-     [java] Found searchPath org.eclipse.wtp for component org.eclipse.wst.common_ui.feature
-     [java] [0004] : No suitable provider for component org.eclipse.wst.xml_ui.feature:site.feature/[2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR,2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR]#OSGi was found in searchPath org.eclipse.wtp
-     [java]   [0004] : Provider site.feature(http://download.eclipse.org/webtools/milestones/site.xml): No match found for component org.eclipse.wst.xml_ui.feature using version designator [2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR,2.0.1.v200709110650-7A1ECGCnbckz0bnr5wCp8KNAjipR]
-     [java] Found searchPath org.eclipse.wtp for component org.eclipse.wst
-     [java] [0004] : No suitable provider for component org.eclipse.wst.common_ui.feature:site.feature/[2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-,2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-]#OSGi was found in searchPath org.eclipse.wtp
-     [java]   [0004] : Provider site.feature(http://download.eclipse.org/webtools/milestones/site.xml): No match found for component org.eclipse.wst.common_ui.feature using version designator [2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-,2.0.1.v200709110622-7C5EH2E9RvTVnijrspVz0bgOmfz-]
-     [java] [0004] : No suitable provider for component org.eclipse.wst:site.feature/[2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel,2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel]#OSGi was found in searchPath org.eclipse.wtp
-     [java]   [0004] : Provider site.feature(http://download.eclipse.org/webtools/milestones/site.xml): No match found for component org.eclipse.wst using version designator [2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel,2.0.1.v200709110510-7C-778k0JWNr93WEIHvplSVojWel]
-     [java] TAG-ID 0003 = project: file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/datatools.sc, path: org.eclipse.europa -> org.eclipse.datatools
-     [java] TAG-ID 0004 = project: file:/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/contribs/wtp.sc, path: org.eclipse.europa -> org.eclipse.wtp
-     [java] Could not load library: liblocalfile_1_0_0.jnilib.  This library provides platform-specific optimizations for certain file system operations.  This library is not present on all platforms, so this may not be an error.  The resources plug-in will safely fall back to using java.io.File functionality.
-
-BUILD FAILED
-/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/build.xml:69: The following error occurred while executing this line:
-/Users/bjorn/Documents/workspace/org.eclipse.dash.siteassembler/test/build.xml:33: Java returned: 1
-
-Total time: 1 minute 13 seconds
diff --git a/org.eclipse.ganymede.tools/scripts/checkStats.sh b/org.eclipse.ganymede.tools/scripts/checkStats.sh
deleted file mode 100644
index 5970f78..0000000
--- a/org.eclipse.ganymede.tools/scripts/checkStats.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# This script is to print some summary statistics on features and plugins on an update site
-
-nfeatures=$(find ./features/ -name "*.jar"  | wc -l)
-nfeaturesPacked=$(find ./features/ -name "*.gz"  | wc -l)
-nplugins=$(find ./plugins/ -name "*.jar"  | wc -l)
-npluginsPacked=$(find ./plugins/ -name "*.gz"  | wc -l)
-nfeaturesNotPacked=$(($nfeatures - $nfeaturesPacked))
-echo
-echo "  number of features: $nfeatures ($nfeaturesNotPacked are not packed)"
-echo "  number of plugins: $nplugins ($(($nplugins-$npluginsPacked)) are not packed)"
-
-find ./features/ -name "*.jar"  | sort | sed -e 's/\.jar$//' > features-jar.txt
-find ./features/ -name "*.gz"  | sort | sed -e 's/\.jar\.pack\.gz$//'  > features-gz.txt
-./listExtra.sh features-jar.txt features-gz.txt > non-packed-features.txt
-echo
-echo "  Non-packed features"
-echo
-cat non-packed-features.txt
-
-find ./plugins/ -name "*.jar"  | sort | sed -e 's/\.jar$//' > plugins-jar.txt
-find ./plugins/ -name "*.gz"  | sort  | sed -e 's/\.jar\.pack\.gz$//' > plugins-gz.txt
-./listExtra.sh plugins-jar.txt plugins-gz.txt > non-packed-plugins.txt
-echo
-echo "  Non-packed plugins"
-echo
-cat non-packed-plugins.txt
-
diff --git a/org.eclipse.ganymede.tools/scripts/listExtra.sh b/org.eclipse.ganymede.tools/scripts/listExtra.sh
deleted file mode 100644
index a6160fb..0000000
--- a/org.eclipse.ganymede.tools/scripts/listExtra.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# This script is to customize the output of 'diff' command, to be more human-readable 
-# for this specific case of list lines in one file, that are not in another 
-
-diff \
---old-line-format=' %l
-' \
---new-line-format='> %l
-' \
---old-group-format='%<' \
---new-group-format='%>' \
---changed-group-format='%df%(f=l?:,%dl)c%dF%(F=L?:,%dL)
-%<---
-%>' \
---unchanged-group-format='' \
-$1 $2
diff --git a/org.eclipse.ganymede.tools/scripts/verify.sh b/org.eclipse.ganymede.tools/scripts/verify.sh
deleted file mode 100644
index 0d01657..0000000
--- a/org.eclipse.ganymede.tools/scripts/verify.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# script to help beutify output from verifying a long list of jars in a directory
-
-# echo
-# echo $(basename $1
-jarname=$(basename $1)
-
-# purposely no line delimiter, so output of jarsigner is on same line
-printf '%-100s \t\t' "   ${jarname}: "
-/shared/webtools/apps/ibm-java2-sdk-5.0-6.0-linux-ppc/bin/jarsigner -verify $1
-exitcode=$?
-
-if [ $exitcode -gt 0 ]
-then
-    echo "\nexitcode: $exitcode: $(basename $1)"
-fi
-
-
diff --git a/org.eclipse.ganymede.tools/scripts/verifydir.sh b/org.eclipse.ganymede.tools/scripts/verifydir.sh
deleted file mode 100644
index 7857ed3..0000000
--- a/org.eclipse.ganymede.tools/scripts/verifydir.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# Script to run through all the jars in a directory to be sure signed (correctly)
-
-if [ -z $1 ]
-then
-    loc=./
-else
-    loc=${1}
-fi
-if [ -z $2 ]
-then
-    pat="*.jar"
-else
-    pat="${2}"
-fi
-
-echo "verify directory: ${loc}";
-echo "   for pattern:    ${pat}";
-
-find "${loc}" -name "${pat}" -exec verify.sh '{}' \;
-
diff --git a/org.eclipse.ganymede.tools/siteProxyFile.txt b/org.eclipse.ganymede.tools/siteProxyFile.txt
deleted file mode 100644
index 11c72cf..0000000
--- a/org.eclipse.ganymede.tools/siteProxyFile.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is is just to provde one that 1) always exists and 2) scripts can "touch" 
-whenever they "touch" the real site.xml file (which, may not _always_ exist. 
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/Blame.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/Blame.java
deleted file mode 100644
index 96dab85..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/Blame.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.io.File;
-import java.io.FileReader;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-//import javax.xml.parsers.DocumentBuilder;
-//import javax.xml.parsers.DocumentBuilderFactory;
-//
-//import org.w3c.dom.Document;
-//import org.w3c.dom.Element;
-//import org.w3c.dom.Node;
-//import org.xml.sax.InputSource;
-//
-// apparently I need to use <java fork="true"> to get the xml parsing to work under J9
-
-public class Blame {
-//	private static final DocumentBuilderFactory s_documentBuilderFactory = DocumentBuilderFactory
-//			.newInstance();
-//
-//	static {
-//		s_documentBuilderFactory.setIgnoringComments(true);
-//		s_documentBuilderFactory.setValidating(false);
-//		s_documentBuilderFactory.setNamespaceAware(false);
-//	}
-
-	private String key;
-	private String url;
-	private String projectid;
-	private Map<String, String> emails;
-	private String status_message;
-
-	public Blame(String k, String u) {
-		this.key = k;
-		this.url = u;
-	}
-
-	public String getKey() {
-		return this.key;
-	}
-
-	public Collection<String> getFailureEmailAddresses() {
-		if (emails == null)
-			return new HashSet<String>();
-		return emails.values();
-	}
-
-	public String stringForStatusMessage() {
-		if (this.status_message == null)
-			getStatusMessageAndEmails();
-		return this.status_message;
-	}
-
-	private void getStatusMessageAndEmails() {
-		this.projectid = null;
-		try {
-			if (this.url.substring(0, 5).equals("file:")) {
-				File f = new File(this.url.substring(5));
-				FileReader in = new FileReader(f);
-				char[] cbuf = new char[(int)f.length()];
-				in.read(cbuf);
-				String s = new String(cbuf);
-				Pattern p = Pattern.compile("<sc:member\\s+name=\"(.*?)\"\\s+email=\"(.*?)\"\\s*/>");
-				Matcher m = p.matcher(s);
-				int idx = 0;
-				while( m.find(idx) ) {
-					idx = m.end();
-					String name = m.group(1);
-					String email = m.group(2);
-					if (emails == null)
-						emails = new HashMap<String, String>();
-					emails.put(name, email);
-				}
-//				DocumentBuilder builder = s_documentBuilderFactory
-//						.newDocumentBuilder();
-//				InputSource source = new InputSource(new BufferedInputStream(
-//						new FileInputStream(this.url.substring(5))));
-//				source.setSystemId(this.url);
-//				Document document = builder.parse(source);
-//				Element topElement = document.getDocumentElement();
-//
-//				if (topElement.getNodeName().equals("sc:siteContribution")) {
-//					String pid = topElement.getAttribute("projectId");
-//					if (pid != null) {
-//						this.projectid = pid;
-//						this.status_message = pid;
-//						// TODO turn the projectid into a project name using the
-//						// Foundation db web-api
-//					}
-//					for (Node child = topElement.getFirstChild(); child != null; child = child
-//							.getNextSibling()) {
-//						if (child.getNodeType() == Node.ELEMENT_NODE
-//								&& child.getNodeName().equals("sc:member")) {
-//							Element elem = (Element) child;
-//							String name = elem.getAttribute("name");
-//							String email = elem.getAttribute("email");
-//							if (emails == null)
-//								emails = new HashMap<String, String>();
-//							emails.put(name, email);
-//						}
-//					}
-//				}
-			}
-		} catch (Exception x) {
-			this.status_message = x.toString();
-		}
-		if (this.projectid == null || this.projectid.equals("")) {
-			Pattern purl = Pattern.compile(".*/(.+?)\\.sc");
-			Matcher m = purl.matcher(this.url);
-			if (m.find()) {
-				this.status_message = m.group(1);
-			} else {
-				this.status_message = this.url;
-			}
-		}
-	}
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GenerateStatusFile.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GenerateStatusFile.java
deleted file mode 100644
index d7d154a..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GenerateStatusFile.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-/*
- * Status file format:
- * [0] status keyword
- * [1] status color
- * [2] status descriptive string
- * [3] start time
- * [4] end time
- * [5] end time as a directory name
- * [6] first error bookmark
- * [7] emails addresses for failure notification
- */
-public class GenerateStatusFile {
-	public static void main(String[] args) throws IOException {
-		(new GenerateStatusFile(new File(args[0]))).write_begin_status_file();
-	}
-
-	File directory;
-	String keyword;
-	String color;
-	String description;
-	public String start_time;
-	public String end_time;
-	public String end_time_dir;
-	String error_bookmark;
-	String email_addresses;
-
-	static SimpleDateFormat df;
-
-	public GenerateStatusFile(File directory) {
-		this.directory = directory;
-		try {
-			this.read();
-		} catch (IOException x) {
-			this.keyword = "UNKNOWN";
-			this.color = WebPageColors.fail_color();
-			this.description = "?????";
-		}
-		if( df == null ) {
-			df = (SimpleDateFormat) DateFormat.getDateTimeInstance();
-			df.applyPattern("MMM d, yyyy HH:mm:ss z");
-		}
-	}
-
-	void write_begin_status_file() throws IOException {
-		this.keyword = "INPROGRESS";
-		this.color = WebPageColors.inprogress_color();
-		this.description = "in progress";
-		this.start_time = df.format(new Date());
-		this.mark_end_time(); // makes a valid end_time_dir so that this build
-								// is properly added to the recent directory if
-								// it crashes
-		this.end_time = ""; // but we reset the actual end time because this
-							// build is in progress
-		this.error_bookmark = "";
-		this.email_addresses = "";
-		this.write();
-	}
-
-	void mark_end_time() {
-		Date now = new Date();
-		this.end_time = df.format(now);
-		Calendar cal = df.getCalendar();
-		this.end_time_dir = cal.get(Calendar.YEAR) + "_"
-				+ threedigits(cal.get(Calendar.DAY_OF_YEAR)) + "_"
-				+ twodigits(cal.get(Calendar.HOUR_OF_DAY)) + "_"
-				+ twodigits(cal.get(Calendar.MINUTE)) + "_"
-				+ twodigits(cal.get(Calendar.SECOND));
-	}
-
-	private String twodigits(int v) {
-		if (v < 10)
-			return "0" + v;
-		else
-			return "" + v;
-	}
-	
-	private String threedigits(int v) {
-		if (v < 10)
-			return "00" + v;
-		else if (v < 100)
-			return "0" + v;
-		else
-			return "" + v;
-	}
-
-	private void write() throws IOException {
-		File fout = new File(this.directory, "status.txt");
-		PrintWriter w = new PrintWriter(new FileWriter(fout));
-		w.println(this.keyword);
-		w.println(this.color);
-		w.println(this.description);
-		w.println(this.start_time);
-		w.println(this.end_time);
-		w.println(this.end_time_dir);
-		w.println(this.error_bookmark);
-		w.println(this.email_addresses);
-		w.close();
-	}
-
-	private void read() throws IOException {
-		File fin = new File(this.directory, "status.txt");
-		BufferedReader r = new BufferedReader(new FileReader(fin));
-		this.keyword = r.readLine();
-		this.color = r.readLine();
-		this.description = r.readLine();
-		this.start_time = r.readLine();
-		this.end_time = r.readLine();
-		this.end_time_dir = r.readLine();
-		this.error_bookmark = r.readLine();
-		this.email_addresses = r.readLine();
-	}
-
-	void write_internal_error_status_file(Exception x) throws IOException {
-		this.keyword = "FAIL";
-		this.color = WebPageColors.fail_color();
-		this.description = "internal error " + x.toString();
-		this.mark_end_time();
-		this.write();
-	}
-
-	void write_final_status_file(Status status) throws IOException {
-		this.keyword = "UNKNOWN";
-		if (status.isSuccess())
-			this.keyword = "SUCCESS";
-		if (status.isFail())
-			this.keyword = "FAIL";
-		this.color = status.color();
-		this.description = status.toString();
-		this.error_bookmark = status.error_bookmark;
-		this.email_addresses = status.getFailureEmailAddressesString();
-		this.write();
-	}
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GetRecentTrimAsFile.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GetRecentTrimAsFile.java
deleted file mode 100644
index 6e25d88..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GetRecentTrimAsFile.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Arrays;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class GetRecentTrimAsFile {
-	final static int NUMBER_TO_KEEP = 15;
-	public static void main(String[] args) throws IOException {
-		File dir = new File(args[0]);
-		final Pattern p1 = Pattern.compile("^\\d+_\\d+_\\d+_\\d+_\\d+$");
-		String[] files = dir.list(new FilenameFilter() {
-			public boolean accept(File dir, String name) {
-				Matcher m1 = p1.matcher(name);
-				if (m1.matches())
-					return true;
-				return false;
-			}
-		});
-		Arrays.sort(files);
-		File fout = new File(args[1]);
-		PrintWriter w = new PrintWriter(new FileWriter(fout));
-		if( files.length - NUMBER_TO_KEEP < 1 )
-			w.println("bogusfilenamebecauseanemptylistdeletesallfiles.txt");
-		for( int i = 0; i < files.length - NUMBER_TO_KEEP; i++ ) {
-			w.println(files[i] + "/**/*");
-		}
-		w.close();
-		fout = new File(args[2]);
-		w = new PrintWriter(new FileWriter(fout));
-		if( files.length - NUMBER_TO_KEEP < 1 )
-			w.println("bogusfilenamebecauseanemptylistdeletesallfiles.txt");
-		for( int i = 0; i < files.length - NUMBER_TO_KEEP; i++ ) {
-			w.println(files[i] + "/");
-		}
-		w.close();
-	}
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GetStatusAsPropertyFile.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GetStatusAsPropertyFile.java
deleted file mode 100644
index e3712ed..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/GetStatusAsPropertyFile.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-
-public class GetStatusAsPropertyFile {
-
-	public static void main(String[] args) throws IOException {
-		GenerateStatusFile statusFile = new GenerateStatusFile(new File(args[0]));
-		File fout = new File(args[1]);
-		PrintWriter w = new PrintWriter(new FileWriter(fout));
-		w.println("ganymatic.build.endtime=" + statusFile.end_time_dir);
-		if( statusFile.keyword.equals("SUCCESS")) {
-			w.println("ganymatic.build.successful=true");
-		} else {
-			w.println("ganymatic.build.error.emails=" + statusFile.email_addresses);
-		}
-		w.close();
-	}
-
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/LogLine.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/LogLine.java
deleted file mode 100644
index 6ab4ff5..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/LogLine.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.io.PrintWriter;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class LogLine {
-	public String line;
-
-	public int linenumber;
-
-	public Status status;
-
-	public Blame blame;
-
-	String anchor;
-
-	private static int nextanchor = 1;
-
-	public LogLine(String s, int number) {
-		this.linenumber = number;
-		this.line = s;
-		this.status = Status.unknown;
-	}
-
-	public String addAnchor() {
-		this.anchor = "" + nextanchor++;
-		return this.anchor;
-	}
-
-	public String getAnchor() {
-		return this.anchor;
-	}
-	public Blame getBlame() {
-		return this.blame;
-	}
-
-	public void write_log_line(PrintWriter writer) {
-		if (status.isFail()) {
-			writer.print("<span style=\"background-color: "
-					+ WebPageColors.fail_color() + ";\">");
-		}
-		if (status.isSuccess()) {
-			writer.print("<span style=\"background-color: "
-					+ WebPageColors.success_color() + ";\">");
-		}
-		writer.print("<code>");
-		if (this.anchor != null) {
-			writer.print("<a name=\"" + this.anchor + "\"></a>");
-		}
-		writer.print(line);
-		writer.print("</code>");
-		if (status.isFail() || status.isSuccess()) {
-			writer.print("</span>");
-		}
-	}
-
-	private static Pattern pGood = Pattern.compile("(^BUILD SUCCESSFUL)"
-			+ "|(\\s*\\[java\\]\\s*(INFO:\\s*)?Import complete)");
-	private static Pattern pBad = Pattern.compile("([Ee]xception)"
-			+ "|([Ee]rror)" + "|([Ff]ail)"
-			+ "|(^verify\\.properties\\.error:$)");
-	private static String sSpecialCasesForPlatform = 
-		  "|(ContinueOnError: The following ID was not found, so was skipped, and is not on mir+or site: .*(org\\.eclipse\\.swt\\.gtk|org\\.eclipse\\.equinox\\.launcher\\.gtk))"
-		+ "|(ContinueOnError: The following ID was not found, so was skipped, and is not on mir+or site: .*(org\\.eclipse\\.swt\\.win32\\.win32\\.ia64|org\\.eclipse\\.equinox\\.launcher\\.win32\\.win32\\.ia64|org\\.eclipse\\.core\\.filesystem\\.win32\\.ia64|org\\.eclipse\\.core\\.resources\\.win32\\.ia64))"
-		+ "|(\\s*\\[java\\]\\s*java.lang.UnsatisfiedLinkError: localfile_1_0_0)"
-		;
-	private static Pattern pNotBad = Pattern.compile("('--continueonerror')"
-			+ "|(so this may not be an error)"
-			+ "|(Workspace was not properly initialized or has already shutdown)"
-			+ sSpecialCasesForPlatform
-			);
-	private static Pattern pOk = Pattern
-			.compile(""
-					+ "(^Buildfile: .*$)"
-					+ "|(^generate.bm.artifacts:)"
-					+ "|(^\\s*\\[mkdir\\] Created dir: )"
-					+ "|(^\\s*\\[delete\\] Deleting directory )"
-					+ "|(^\\s*\\[echo\\]\\s*\".*\\.sc\")"
-					+ "|(^\\s*\\[java\\]\\s*Creating directory )"
-					+ "|(^\\s*\\[java\\]\\s*generate '--outputdir' )"
-					+ "|(^\\s*\\[java\\]\\s*Generating artifacts from file:)"
-					+ "|(^\\s*\\[java\\]\\s*Writing generated artifacts to )"
-					+ "|(^\\s*\\[java\\]\\s*Platform install location: )"
-					+ "|(^\\s*\\[java\\]\\s*Generation complete)"
-					+ "|(^resolve.cquery:)"
-					+ "|(\\s*\\[java\\]\\s*resolve '--continueonerror' )"
-					+ "|(\\s*\\[java\\]\\s*Using workspace at )"
-					+ "|(\\s*\\[java\\]\\s*Platform install location: )"
-					+ "|(\\s*\\[java\\]\\s*Found searchPath default for component )"
-					+ "|(\\s*\\[java\\]\\s*Provider url\\(.*\\): Found a match for component )"
-					+ "|(\\s*\\[java\\]\\s*Found searchPath .*for component )"
-					+ "|(\\s*\\[java\\]\\s*Provider site.feature(.*): Found a match for .* using version designator )"
-					+ "|(\\s*\\[java\\]\\s*Query complete.)"
-					+ "|(\\s*\\[java\\]\\s*(INFO:\\s*)?Could not load library: .*This library provides platform-specific optimizations for certain file system operations.  This library is not present on all platforms, so this may not be an error.  )"
-					+ "|(\\s*\\[java\\]\\s*java.lang.UnsatisfiedLinkError: localfile_1_0_0)"
-					+ "|(\\s*\\[java\\]\\s*at )" //too bad we have to 'ok' this, because this is really a stack dump and it should be an error
-												 //but this log line parser isn't clever enough to know that stack dumps following the localfile_1_0_0 line
-												 //are _not_ errors whereas all the rest of the stack dumps _are_ errors.
-					+ "|(^materialize:)"
-					+ "|(Workspace was not properly initialized or has already shutdown)"
-					+ "|(\\s*\\[java\\]\\s*import )"
-					+ "|(\\s*\\[java\\]\\s*Using workspace at )"
-					+ "|(\\s*\\[java\\]\\s*Platform install location: )"
-					+ "|(\\s*\\[java\\]\\s*Installing features finished. Updating categories )"
-					+ "|(\\s*\\[java\\]\\s*Updating categories finished. Updating site description )"
-					+ "|(\\s*\\[java\\]\\s*Updating site description finished. Saving site.xml )"
-					+ "|(\\s*\\[java\\]\\s*Mirroring feature )"
-					+ "|(\\s*\\[java\\]\\s*Getting plugin entries for )"
-					+ "|(\\s*\\[java\\]\\s*Getting non plugin entries for )"
-					+ "|(\\s*\\[java\\]\\s*Getting included features for )"
-					+ "|(\\s*\\[java\\]\\s*Downloading feature archives for )"
-					+ "|(\\s*\\[java\\]\\s*Downloading plug-in archives for )"
-					+ "|(\\s*\\[java\\]\\s*Downloading non plug-in archives for )"
-					+ "|(\\s*\\[java\\]\\s*Installing child features for )"
-					+ "|(\\s*\\[java\\]\\s*Storing plug-in archives for )"
-					+ "|(\\s*\\[java\\]\\s*Storing non plug-in archives for )"
-					+ "|(\\s*\\[java\\]\\s*Storing feature archives for )"
-					+ "|(\\s*\\[java\\]\\s*Adding feature )"
-					+ "|(\\s*\\[java\\]\\s*Feature .* added to site.xml)"
-					+ "|(\\s*\\[java\\]\\s*Feature .* already exists\\.\\s*Skipping downloading\\.)"
-					+ "|(\\s*\\[java\\]\\s*(INFO:?\\s*)?TAG-ID \\d+ =)"
-					+ "|(\\s*\\[java\\]\\s*INFO:?\\s+)"
-					+ "|(^\\s*\\[java\\]\\s*$)"
-					+ "|(^\\s+\\[copy\\]\\s*Copying\\s+\\d+\\s+file)"
-					+ "|(^Total time: \\d+)" + "|(^get\\.properties:$)"
-					+ "|(^verify\\.properties\\..*:$)" + "|(^\\s*$)"
-					
-					/*
-					 * Special case errors
-					 */
-					+ "|(\\s*\\[java\\]\\s*(ERROR:\\s*)?Digest could not be parsed:Unable to retrieve remote reference)"
-					+ "|(\\s*\\[java\\]\\s*(ERROR:\\s*)?Digest could not be parsed:Element type \"includes\" must be followed by either attribute specifications)"
-					+ sSpecialCasesForPlatform
-					);
-
-	public Status scan_for_status() {
-		Matcher mBad = pBad.matcher(this.line);
-		if (mBad.find()) {
-			Matcher mNotBad = pNotBad.matcher(this.line);
-			if (!mNotBad.find()) {
-				this.status = Status.getFail();
-				this.status.setErrorBookmark(this.addAnchor());
-				this.status.setBlame(this.blame);
-				return this.status;
-			}
-		}
-		Matcher mGood = pGood.matcher(this.line);
-		if (mGood.find()) {
-			this.status = Status.success;
-		} else {
-			Matcher mOk = pOk.matcher(this.line);
-			if (!mOk.find()) {
-				this.status = Status.getFail();
-				this.status.setErrorBookmark(this.addAnchor());
-				this.status.setBlame(this.blame);
-				return this.status;
-			}
-		}
-		return this.status;
-	}
-
-	private static final Pattern pNeedBlame = Pattern
-			.compile("(^\\s*\\[java\\]\\s+(?:ERROR\\s+)?\\[(\\d+)\\] :)"
-					+ "|(^\\s*\\[java\\]\\s+(?:WARNING\\s+)?\\[(\\d+)\\] :)");
-
-	public void assignBlameIfNeeded(Map<String, Blame> blames) {
-		Matcher m = pNeedBlame.matcher(this.line);
-		if (m.find()) {
-			if( m.group(2) != null )
-				this.blame = blames.get(m.group(2));
-			if( m.group(4) != null )
-				this.blame = blames.get(m.group(4));
-		}
-	}
-
-	private static final Pattern pTAGID = Pattern
-			.compile("^\\s*\\[java\\]\\s+(?:INFO:?\\s+)?TAG-ID (\\d+) = project: (\\S+),");
-
-	public Blame parseBlame() {
-		Matcher m = pTAGID.matcher(this.line);
-		if (m.find())
-			return new Blame(m.group(1), m.group(2));
-		else
-			return null;
-	}
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/ParseLogFile.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/ParseLogFile.java
deleted file mode 100644
index 5d0e847..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/ParseLogFile.java
+++ /dev/null
@@ -1,275 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-public class ParseLogFile {
-	// TODO update the wiki re Ganymede schedule
-	// TODO write instructions for contributing
-	// TODO write instructions for setting this up on your local machine and
-	// build machine
-	// TODO pack200
-	// TODO web interface to start a new build w/ lockfile to prevent two at
-	// once
-	// TODO article about using including using for RCP
-	public File directory;
-	public BufferedReader input;
-
-	public List<LogLine> lines;
-	public Status overall_status;
-	public String end_time;
-	GenerateStatusFile statusFile;
-
-	public static void main(String[] args) throws CloneNotSupportedException {
-		(new ParseLogFile()).do_main(args);
-	}
-
-	void do_main(String[] args) throws CloneNotSupportedException {
-		try {
-			this.directory = new File(args[0]);
-			this.statusFile = new GenerateStatusFile(this.directory);
-			this.input = new BufferedReader(new FileReader(new File(
-					this.directory, "log.txt")));
-			read_all_lines_into_memory();
-			this.input.close();
-		} catch (IOException x) {
-			try {
-				this.statusFile.write_internal_error_status_file(x);
-			} catch (IOException xx) {
-				// two errors in a row? we'll just give up
-				return;
-			}
-			return;
-		}
-		scan_for_blame();
-		scan_for_status();
-		this.statusFile.mark_end_time();
-		try {
-			write_html_log_files();
-		} catch (IOException x) {
-			try {
-				this.statusFile.write_internal_error_status_file(x);
-			} catch (IOException xx) {
-				// two errors in a row? we'll just give up
-				return;
-			}
-			return;
-		}
-		try {
-			this.statusFile.write_final_status_file(this.overall_status);
-		} catch (IOException xx) {
-			// an error writing the status file? I guess we can't write the
-			// status file
-			return;
-		}
-	}
-
-	void scan_for_blame() {
-		Map<String, Blame> blames = new HashMap<String, Blame>();
-		Set<LogLine> subsetlines = new HashSet<LogLine>();
-		int state = 0;
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			switch (state) {
-			case 0:
-				subsetlines.add(line);
-				Blame b = line.parseBlame();
-				if (b != null) {
-					state = 1;
-					blames.put(b.getKey(), b);
-				}
-				break;
-			case 1:
-				b = line.parseBlame();
-				if (b != null) {
-					blames.put(b.getKey(), b);
-				} else {
-					for (Iterator<LogLine> iterator2 = subsetlines.iterator(); iterator2
-							.hasNext();) {
-						LogLine logLine = iterator2.next();
-						logLine.assignBlameIfNeeded(blames);
-					}
-					state = 0;
-					subsetlines = new HashSet<LogLine>();
-					blames = new HashMap<String, Blame>();
-				}
-				break;
-			}
-		}
-	}
-
-	void scan_for_status() throws CloneNotSupportedException {
-		this.overall_status = Status.unknown;
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			this.overall_status = this.overall_status.combine(line
-					.scan_for_status());
-		}
-	}
-
-	void write_html_log_files() throws IOException {
-		File outfile = new File(this.directory, "index.html");
-		PrintWriter output = new PrintWriter(new BufferedWriter(new FileWriter(
-				outfile)));
-		write_html_log_header(output);
-		write_error_jumps(output);
-		write_html_log_lines(output);
-		write_html_log_footer(output);
-		output.close();
-	}
-
-	private void write_html_log_lines(PrintWriter output) {
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			line.write_log_line(output);
-			output.println("<br>");
-		}
-	}
-
-	private void write_error_jumps(PrintWriter output) {
-		List<LogLine> anchoredLines = new ArrayList<LogLine>();
-		boolean previousLineHadAnchor = false;
-		Blame previousBlame = null;
-		for (Iterator<LogLine> iterator = lines.iterator(); iterator.hasNext();) {
-			LogLine line = iterator.next();
-			if (line.getAnchor() != null) {
-				if( previousLineHadAnchor
-						&& line.getBlame() == previousBlame ) {
-					// skip
-				} else {
-					anchoredLines.add(line);
-				}
-				previousLineHadAnchor = true;
-				previousBlame = line.getBlame();
-			} else {
-				previousLineHadAnchor = false;
-			}
-		}
-		if (!anchoredLines.isEmpty()) {
-			Map<Object, List<LogLine>> anchoredLinesByBlame = new HashMap<Object, List<LogLine>>();
-			Set<Object> blameOrder = new TreeSet<Object>(
-					new Comparator<Object>() {
-						public int compare(Object a, Object b) {
-							if (a instanceof Blame) {
-								if (b instanceof Blame) {
-									return ((Blame) a)
-											.stringForStatusMessage()
-											.compareTo(
-													((Blame) b)
-															.stringForStatusMessage());
-								} else {
-									return -1;
-								}
-							} else {
-								if (b instanceof Blame) {
-									return 1;
-								} else {
-									return ((String) a).compareTo((String) b);
-								}
-							}
-						}
-					});
-			for (Iterator<LogLine> iterator = anchoredLines.iterator(); iterator
-					.hasNext();) {
-				LogLine logLine = (LogLine) iterator.next();
-				Blame b = logLine.getBlame();
-				List<LogLine> list;
-				if (b == null)
-					list = anchoredLinesByBlame.get("(other)");
-				else
-					list = anchoredLinesByBlame.get(logLine.getBlame());
-				if (list == null) {
-					list = new ArrayList<LogLine>();
-					Object k;
-					if (b == null)
-						k = "(other)";
-					else
-						k = logLine.getBlame();
-					blameOrder.add(k);
-					anchoredLinesByBlame.put(k, list);
-				}
-				list.add(logLine);
-			}
-			output.println("<p>Errors: <ul>");
-			for (Iterator<Object> keysiterator = blameOrder.iterator(); keysiterator
-					.hasNext();) {
-				Object key = keysiterator.next();
-				output.print("<li>");
-				if (key instanceof Blame)
-					output.println(((Blame) key).stringForStatusMessage());
-				else
-					output.println(key);
-				for (Iterator<LogLine> iterator = anchoredLinesByBlame.get(key)
-						.iterator(); iterator.hasNext();) {
-					LogLine line = iterator.next();
-					output.println("<a href=\"#" + line.getAnchor()
-							+ "\"><span style=\"background-color: "
-							+ WebPageColors.fail_color() + "\">"
-							+ line.linenumber + "</span></a> ");
-				}
-				output.println("</li>");
-			}
-			output.println("</ul>");
-		}
-	}
-
-	private void write_html_log_footer(PrintWriter output) {
-		output.println("<p><em><font size=-1>Build started "
-				+ this.statusFile.start_time + "; completed "
-				+ this.statusFile.end_time + "</font></em></p>\n");
-		output.println("</body>\n");
-		output.println("</html>\n");
-	}
-
-	private void write_html_log_header(PrintWriter output) {
-		output.println("<html>\n");
-		output.println("<head>\n");
-		output.println("<title>Ganymede Build Log</title>\n");
-		output
-				.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css\" media=\"screen\" />\n");
-		output.println("</head><body>\n");
-		output
-				.println("<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n");
-		output
-				.println("<tr style=\"background-image: url(http://dash.eclipse.org/dash/commits/web-app/header_bg.gif);\">\n");
-		output.println("<td>\n");
-		output
-				.println("<a href=\"http://www.eclipse.org/\"><img src=\"http://dash.eclipse.org/dash/commits/web-app/header_logo.gif\" width=\"163\" height=\"68\" border=\"0\" alt=\"Eclipse Logo\" class=\"logo\" /></a>\n");
-		output.println("</td>\n");
-		output
-				.println("<td align=\"right\" style=\"color: white; font-family: verdana,arial,helvetica; font-size: 1.25em; font-style: italic;\"><b>Ganymede Build Log&nbsp;</b></font> </td>\n");
-		output.println("</tr>\n");
-		output.println("</table>\n");
-		output.println("<p><em><font size=-1>Build started "
-				+ this.statusFile.start_time + "; completed "
-				+ this.statusFile.end_time + "</font></em></p>\n");
-		output.println("<h1 style=\"background-color: "
-				+ overall_status.color() + "\">Ganymede Build Log</h1>\n");
-	}
-
-	void read_all_lines_into_memory() throws IOException {
-		lines = new ArrayList<LogLine>();
-		String line = input.readLine();
-		int num = 1;
-		while (line != null) {
-			LogLine logline = new LogLine(line, num++);
-			lines.add(logline);
-			line = input.readLine();
-		}
-	}
-
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/Status.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/Status.java
deleted file mode 100644
index b1ce986..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/Status.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-public class Status implements Cloneable {
-	public enum SType {
-		Fail, Success, Information, Unknown
-	};
-
-	public static Status unknown = new Status("unable to determine status",
-			SType.Unknown);
-
-	public static Status success = new Status("Success", SType.Success, 500);
-
-	public static Status internal_error = new Status("ganymatic system error",
-			SType.Fail, 10);
-
-	// private static Status fail = new Status("Fail", SType.Fail, 1000);
-	public static Status getFail() {
-		return new Status("Fail", SType.Fail, 1000);
-	}
-
-	public static Status information = new Status("unknown", SType.Information);
-
-	private String string;
-	private Set<Blame> blame;
-	private boolean hasEmptyBlame = false;
-	private int badness;
-	private SType stype;
-	public String error_bookmark;
-
-	public Status(String s, SType t) {
-		this.string = s;
-		this.badness = 500;
-		this.stype = t;
-		this.error_bookmark = null;
-		this.blame = new HashSet<Blame>();
-	}
-
-	public Status(String s, SType t, int b) {
-		this.string = s;
-		this.badness = b;
-		this.stype = t;
-		this.error_bookmark = null;
-		this.blame = new HashSet<Blame>();
-	}
-
-	public boolean isFail() {
-		return this.stype == SType.Fail;
-	}
-
-	Status moreSpecificFail(Status other) throws CloneNotSupportedException {
-		if (this.isFail() && other.isFail()) {
-			if (this.badness < other.badness)
-				return (Status) this.clone();
-			else
-				return (Status) other.clone();
-		}
-		if (this.isFail())
-			return (Status) this.clone();
-		if (other.isFail())
-			return (Status) other.clone();
-		throw new Error("badness 10,000 " + this + " " + other);
-	}
-
-	public boolean isInformation() {
-		return this.stype == SType.Information;
-	}
-
-	public boolean isSuccess() {
-		return this.stype == SType.Success;
-	}
-
-	public Status combine(Status other) throws CloneNotSupportedException {
-		// Status: Fail > Success > Unknown > Information
-
-		Status newstatus = new Status("unknown", SType.Unknown);
-		if (this.isFail() || other.isFail()) {
-			newstatus = moreSpecificFail(other);
-			newstatus.combineErrorBookmarks(this, other);
-			newstatus.combineBlame(this, other);
-		} else if (this.isSuccess())
-			newstatus = this;
-		else if (other.isSuccess())
-			newstatus = (Status) other.clone();
-		else if (this.isInformation())
-			newstatus = this;
-		else if (other.isInformation())
-			newstatus = (Status) other.clone();
-		else
-			newstatus = this;
-
-		return newstatus;
-	}
-
-	void combineErrorBookmarks(Status one, Status two) {
-		if (one.error_bookmark != null) {
-			this.error_bookmark = one.error_bookmark;
-		} else {
-			if (two.error_bookmark != null) {
-				this.error_bookmark = two.error_bookmark;
-			}
-		}
-	}
-
-	void combineBlame(Status one, Status two) {
-		if (one.blame.isEmpty()) {
-			if (two.blame.isEmpty()) {
-				// no change
-			} else {
-				this.blame = two.blame;
-			}
-		} else {
-			if (two.blame.isEmpty()) {
-				this.blame = one.blame;
-			} else {
-				this.blame = new HashSet<Blame>();
-				this.blame.addAll(one.blame);
-				this.blame.addAll(two.blame);
-			}
-		}
-		if( one.hasEmptyBlame || two.hasEmptyBlame )
-			this.hasEmptyBlame = true;
-	}
-
-	public void setErrorBookmark(String s) {
-		this.error_bookmark = s;
-	}
-
-	public void setBlame(Blame b) {
-		this.blame = new HashSet<Blame>(1);
-		if (b != null)
-			this.blame.add(b);
-		else
-			this.hasEmptyBlame = true;
-	}
-
-	public String getFailureEmailAddressesString() {
-		if (this.blame == null)
-			return "";
-		Set<String> emails = new HashSet<String>();
-		for (Iterator<Blame> iterator = this.blame.iterator(); iterator
-				.hasNext();) {
-			Blame blame = iterator.next();
-			emails.addAll(blame.getFailureEmailAddresses());
-			if( blame.getFailureEmailAddresses().isEmpty())
-				this.hasEmptyBlame = true;
-		}
-		String result = "";
-		for (Iterator<String> iterator = emails.iterator(); iterator.hasNext();) {
-			String string = iterator.next();
-			result += "," + string;
-		}
-		if( this.hasEmptyBlame )
-			result += ",${ganymatic.releng.email}";
-		if( result.length() > 1 )
-			result = result.substring(1);
-		return result;
-	}
-
-	public String toString() {
-		if (this.isFail()) {
-			if (!this.blame.isEmpty()) {
-				String tmp = "";
-				for (Iterator<Blame> iterator = this.blame.iterator(); iterator
-						.hasNext();) {
-					Blame blame = iterator.next();
-					tmp += ", " + blame.stringForStatusMessage();
-				}
-				return this.string + " (" + tmp.substring(2) + ")";
-			} else
-				return this.string;
-		} else {
-			return this.string;
-		}
-	}
-
-	public String color() {
-		if (this.isFail())
-			return WebPageColors.fail_color();
-		if (this.isSuccess())
-			return WebPageColors.success_color();
-		if (this.isInformation())
-			return WebPageColors.information_color();
-		return WebPageColors.inprogress_color();
-	}
-}
diff --git a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/WebPageColors.java b/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/WebPageColors.java
deleted file mode 100644
index d1de3df..0000000
--- a/org.eclipse.ganymede.tools/src/org/eclipse/ganymede/webgen/WebPageColors.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ganymede.webgen;
-
-
-public class WebPageColors {
-	public static String success_color() {
-		return "#CCFFCC";
-	}
-
-	public static String fail_color() {
-		return "#FFCCCC";
-	}
-
-	public static String information_color() {
-		return "#F4E0FF";
-	}
-	public static String inprogress_color() {
-		return "#FFFFCC";
-	}
-}
diff --git a/org.eclipse.ganymede.tools/website/buck_logo_web_32.png b/org.eclipse.ganymede.tools/website/buck_logo_web_32.png
deleted file mode 100644
index 633c8b3..0000000
--- a/org.eclipse.ganymede.tools/website/buck_logo_web_32.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ganymede.tools/website/index.php b/org.eclipse.ganymede.tools/website/index.php
deleted file mode 100644
index 96152eb..0000000
--- a/org.eclipse.ganymede.tools/website/index.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-function get_status( $dir ) {
-	$result = array();
-	if( file_exists( "$dir/status.txt")) {
-			$contents = file( "$dir/status.txt" );
-			$result['statuscode'] = trim($contents[0]);
-			$result['color'] = trim($contents[1]);
-			$result['status'] = trim($contents[2]);
-			$result['start-time'] = trim($contents[3]);
-			$result['end-time'] = trim($contents[4]);
-			// ignore $contents[5]
-			// ignore bookmark $contents[6]
-			// ignore emails $contents[7] 
-			if( trim($result['end-time']) ) {
-				$result['label'] = $result['end-time'];
-				$result['logref1'] = "<a href=\"$dir/index.html\">";
-				$result['logref2'] = "</a>";
-			} else {
-				$result['label'] = '<em>started ' . $result['start-time'] . '</em>';
-				$result['logref1'] = '';
-				$result['logref2'] = '';
-			}
-	} else {
-		$result['statuscode'] = 'none';
-		$result['color'] = 'white';
-		$result['status'] = 'none';
-		$result['label'] = '&nbsp;';
-		$result['logref1'] = '';
-		$result['logref2'] = '';
-	}
-	return $result;
-}
-$refreshstatus = get_status( 'latest' );
-?>
-<html>
-<head>
-<?php
-if( $refreshstatus['statuscode'] == 'FAIL' ) {
-	?><meta http-equiv="refresh" content="900"><!-- 15 minutes --><?php
-} else if( $refreshstatus['statuscode'] == 'SUCCESS' ) {
-	?><meta http-equiv="refresh" content="12000"><!-- ~4 hours --><?php
-} else {
-	?><meta http-equiv="refresh" content="300"><!-- 5 minutes --><?php
-}
-?>
-<title>Ganymede Build Status</title>
-<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" />
-<link rel="alternate" type="application/rss+xml"
-	title="Ganymede Build Status" href="builds.rss">
-</head><body>
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
-<tr style="background-image: url(http://dash.eclipse.org/dash/commits/web-app/header_bg.gif);">
-<td>
-<a href="http://www.eclipse.org/"><img src="http://dash.eclipse.org/dash/commits/web-app/header_logo.gif" width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</td>
-<td align="right" style="color: white; font-family: verdana,arial,helvetica; font-size: 1.25em; font-style: italic;"><b>Ganymede Build Status&nbsp;</b></font> </td>
-</tr>
-</table>
-
-<table width=100% border=0><tr><td width=50% valign=top align="center">
-
-<table align=center border=1><tr><th colspan=2>Latest Build</th></tr>
-<?php
-$status = get_status( 'latest' );
-?><tr style="background-color: <?= $status['color'] ?>;">
-<td><?= $status['logref1'] ?><?= $status['label'] ?><?= $status['logref2'] ?></td>
-<td><?= $status['logref1'] ?><?= $status['status'] ?><?= $status['logref2'] ?></td>
-</tr>
-</table>
-<p>
-<table align=center border=1><tr><th colspan=2>Latest Good Build</th></tr>
-<?php
-$status = get_status( 'latest-good' );
-?><tr style="background-color: <?= $status['color'] ?>;">
-<td><?= $status['logref1'] ?><?= $status['label'] ?><?= $status['logref2'] ?></td>
-<td><?= $status['logref1'] ?><?= $status['status'] ?><?= $status['logref2'] ?></td>
-</tr>
-</table>
-<p>
-<table align=center border=1>
-<tr><td align=center> <a href="http://build.eclipse.org:9777/dashboard/tab/builds">Cruise Control</a> </td></tr>
-<tr><td align=center> <a href="http://download.eclipse.org/releases/ganymede/staging/">Staging update site</a> </td></tr>
-<tr><td align=center>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://wiki.eclipse.org/Ganymede_Simultaneous_Release">Ganymede wiki page</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
-<tr><td align=center> <table border=0><tr><td>
-<a href="builds.rss"><img border="0" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/rss_btn.gif"/> all builds</a> <br>
-<a href="success.rss"><img border="0" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/rss_btn.gif"/> successful builds</a> <br>
-<a href="fail.rss"><img border="0" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/rss_btn.gif"/> failed builds</a> 
-	</td></tr></table></td></tr>
-</table>
-<p>
-<table align=center border="1">
-<tr><th colspan="5">Packages</th></tr>
-<tr>
-  <th>Build ID (UTC)</th>
-  <th>CPP</th>
-  <th>Java</th>
-  <th>JEE</th>
-  <th>RCP</th>
-</tr>
-<?php
-$contents = file_get_contents( '/home/data/httpd/download.eclipse.org/technology/epp/downloads/testing/status.stub');
-echo $contents;
-?>
-</table>
-
-</td><td>
-
-<table align=center border=1><tr><th colspan=2>Recent</th></tr>
-<?php
-$dirs = glob( "recent/*", GLOB_MARK | GLOB_ONLYDIR );
-$dirs = array_reverse( $dirs );
-foreach( $dirs as $dir ) {
-	$dir = str_replace( '\\', '', $dir );
-	if( $dir == '.' || $dir == '..' ) continue;
-	$status = get_status( "$dir");
-	?><tr style="background-color: <?= $status['color'] ?>;">
-	<td><?= $status['logref1'] ?><?= $status['label'] ?><?= $status['logref2'] ?></td>
-	<td><?= $status['logref1'] ?><?= $status['status'] ?><?= $status['logref2'] ?></td>
-	</tr>
-	<?php
-}
-if(count($dirs) == 0) {
-	?><tr><td>&nbsp;</td><td>none</td></tr>
-	<?php
-}
-?>
-</table>
-
-</td></tr>
-</table>
-
-<div style="margin-right: 50px; margin-top: 10px; 
-float: right; text-align: right">
-<table border="0" width="125" height="36"><tr><td align="right" valign="top" style="background-image: url(buck_logo_web_32.png)">
-<font size="-1"><a href="http://www.eclipse.org/buckminster/"><em>powered by</em></a></font>
-</td></tr></table>
-</div>
-</body>
-</html>
diff --git a/org.eclipse.helios-feature/.project b/org.eclipse.helios-feature/.project
deleted file mode 100644
index 171db22..0000000
--- a/org.eclipse.helios-feature/.project
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-    <name>org.eclipse.helios-feature</name>
-    <comment></comment>
-    <projects>
-    </projects>
-    <natures>
-    </natures>
-</projectDescription>
\ No newline at end of file
diff --git a/org.eclipse.helios-feature/obsolete.txt b/org.eclipse.helios-feature/obsolete.txt
deleted file mode 100644
index 4b6234d..0000000
--- a/org.eclipse.helios-feature/obsolete.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-This feature is now obsolete to use in builds or deliverables, 
-since we removed the true build portion of the process. 
-See bug 299344. 
-https://bugs.eclipse.org/bugs/show_bug.cgi?id=299344
-  
-I tagged the final versions with a meaningful tag, v20100130-FinalVersionHeliosM4ish, 
-and then nulled out head, and left this one file to explain where it went. 
diff --git a/org.eclipse.helios.build/.cvsignore b/org.eclipse.helios.build/.cvsignore
deleted file mode 100644
index f8d71d8..0000000
--- a/org.eclipse.helios.build/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.cvschangelog
-opt
diff --git a/org.eclipse.helios.build/.project b/org.eclipse.helios.build/.project
deleted file mode 100644
index 550ded9..0000000
--- a/org.eclipse.helios.build/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.helios.build</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.helios.build/.settings/org.eclipse.core.resources.prefs b/org.eclipse.helios.build/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 0b60769..0000000
--- a/org.eclipse.helios.build/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Feb 03 16:35:54 CET 2011
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
-encoding/emf-cdo.b3aggrcon=ASCII
diff --git a/org.eclipse.helios.build/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.helios.build/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index a14e99c..0000000
--- a/org.eclipse.helios.build/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue May 12 01:47:55 EDT 2009
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.eclipse.helios.build/actf.b3aggrcon b/org.eclipse.helios.build/actf.b3aggrcon
deleted file mode 100644
index 20356ba..0000000
--- a/org.eclipse.helios.build/actf.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="ACTF">
-  <repositories location="http://download.eclipse.org/technology/actf/0.8/milestones/" description="ACTF 0.8.2">
-    <features name="org.eclipse.actf.visualization.sdk.feature.group" versionRange="0.8.2.R201102161930">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.actf.visualization.ui.pdt.feature.group" versionRange="0.8.2.R201102161930">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.actf.visualization.ui.wst.feature.group" versionRange="0.8.2.R201102161930">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='kentarou@jp.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/amalgam.b3aggrcon b/org.eclipse.helios.build/amalgam.b3aggrcon
deleted file mode 100644
index 5dde57e..0000000
--- a/org.eclipse.helios.build/amalgam.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Amalgam">
-  <repositories location="http://download.eclipse.org/modeling/amalgam/updates/stable/" description="Amalgam Stable Milestones">
-    <features name="org.eclipse.amalgam.discovery.feature.group" versionRange="1.1.0.v201006150414-42-9oB5855N8K5H8H">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/birt.b3aggrcon b/org.eclipse.helios.build/birt.b3aggrcon
deleted file mode 100644
index 7d256a7..0000000
--- a/org.eclipse.helios.build/birt.b3aggrcon
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="BIRT">
-  <repositories location="http://download.eclipse.org/birt/update-site/2.6-interim/" description="BIRT interim">
-    <features name="org.eclipse.birt.feature.group" versionRange="2.6.2.r262_v20101008-9iF7A9JGHMBCRz-R8tbxRel8kQrI">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.cshelp.feature.group" versionRange="2.6.2.r262_v20101008-3517s373aw31221317">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.chart.cshelp.feature.group" versionRange="2.6.2.r262_v20101008-3507w31211924">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.doc.feature.group" versionRange="2.6.2.r262_v20101008-3507w31211924">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.example.feature.group" versionRange="2.6.2.r262_v20101008-7F7e7CDBRmTc_XEMHBHMm">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.source.feature.group" versionRange="2.6.2.r262_v20101008-9iF7A9JGHMBCRz-R8tbxRel8kQrI">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.osgi.runtime.sdk.feature.group" versionRange="2.6.2.r262_v20101008-57B381wLglLKxfjdt881PQeMU42p">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='xgu@actuate.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='wli@actuate.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='yjiang@actuate.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/buckminster.b3aggrcon b/org.eclipse.helios.build/buckminster.b3aggrcon
deleted file mode 100644
index 9b557cb..0000000
--- a/org.eclipse.helios.build/buckminster.b3aggrcon
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Buckminster">
-  <repositories location="http://download.eclipse.org/tools/buckminster/updates-helios/" description="Buckminster Milestones">
-    <bundles name="org.eclipse.buckminster.ui.capabilities"/>
-    <features name="org.eclipse.buckminster.core.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.buckminster.cvs.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.buckminster.maven.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.buckminster.pde.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.buckminster.subversive.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.buckminster.git.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='thomas@tada.se']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/cdt.b3aggrcon b/org.eclipse.helios.build/cdt.b3aggrcon
deleted file mode 100644
index 33ae20d..0000000
--- a/org.eclipse.helios.build/cdt.b3aggrcon
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="CDT">
-  <repositories location="http://download.eclipse.org/tools/cdt/updates/helios_sr2/" description="CDT updates">
-    <bundles name="org.eclipse.cdt.core.aix" versionRange="5.1.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.linux" versionRange="5.2.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.linux.ia64" versionRange="5.1.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.linux.ppc" versionRange="5.1.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.linux.x86" versionRange="5.2.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.linux.x86_64" versionRange="5.2.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.macosx" versionRange="5.2.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.qnx" versionRange="5.1.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.solaris" versionRange="5.2.0.201102110609"/>
-    <bundles name="org.eclipse.cdt.core.win32" versionRange="5.2.0.201102110609"/>
-    <features name="org.eclipse.cdt.platform.feature.group" versionRange="7.0.2.201102110609"/>
-    <features name="org.eclipse.cdt.feature.group" versionRange="7.0.2.201102110609">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.cdt.p2.feature.group" versionRange="1.0.0.201102110609"/>
-    <features name="org.eclipse.cdt.gnu.dsf.feature.group" versionRange="2.1.0.201102110609">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.debug.ui.memory.feature.group" versionRange="2.1.0.201102110609">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.launch.remote.feature.group" versionRange="6.0.0.201102110609">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.core.lrparser.feature.feature.group" versionRange="5.1.1.201102110609"/>
-    <features name="org.eclipse.cdt.core.parser.upc.feature.feature.group" versionRange="5.1.0.201102110609"/>
-    <features name="org.eclipse.cdt.xlc.feature.feature.group" versionRange="6.1.0.201102110609"/>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='vivkong@ca.ibm.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='cdtdoug@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/dltk.b3aggrcon b/org.eclipse.helios.build/dltk.b3aggrcon
deleted file mode 100644
index 8310b02..0000000
--- a/org.eclipse.helios.build/dltk.b3aggrcon
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DLTK 2.0.1 RC3">
-  <repositories location="http://download.eclipse.org/technology/dltk/updates-dev/2.0-stable/" description="DLTK 2.0.1 RC3">
-    <features name="org.eclipse.dltk.core.feature.group" versionRange="2.0.0.v20100518-1923-7L-0EAAoOVMSUaEAZ8w_">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.dltk.ruby.feature.group" versionRange="2.0.0.v20100505-1154-7G--E_EkMU3NHhvAUo0G">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.tcl.feature.group" versionRange="2.0.0.v20100505-1154-7L0-EC3wSZiWSqREkvtZ">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.xotcl.feature.group" versionRange="2.0.0.v20100603-5--_kE79O7ODJ3BGCN">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.itcl.feature.group" versionRange="2.0.0.v20100603-4--9oA57D5F9H29D9E">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.rse.feature.group" versionRange="2.0.0.v20100603-5-09oA5855J7J2_FAG">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.dltk.mylyn.feature.group" versionRange="1.0.0.v20100518-1923-2--7w3121163103314">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='alex@xored.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='andrey@xored.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/dsdp-mjt.b3aggrcon b/org.eclipse.helios.build/dsdp-mjt.b3aggrcon
deleted file mode 100644
index 78b7da7..0000000
--- a/org.eclipse.helios.build/dsdp-mjt.b3aggrcon
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DSDP MTJ">
-  <repositories location="http://download.eclipse.org/dsdp/mtj/updates/1.1.2/stable/" description="MTJ 1.1.2 Updates">
-    <features name="org.eclipse.mtj.feature.group" versionRange="1.1.2.201101310801">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.mtj.sdk.feature.group" versionRange="1.1.2.201101310801">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.mtj.examples.feature.group" versionRange="1.1.2.201101310801">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='gustavo.eliano@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='diegosandin@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/dsdp-sequoyah.b3aggrcon b/org.eclipse.helios.build/dsdp-sequoyah.b3aggrcon
deleted file mode 100644
index c3fdce4..0000000
--- a/org.eclipse.helios.build/dsdp-sequoyah.b3aggrcon
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DSDP Sequoyah">
-  <repositories location="http://download.eclipse.org/sequoyah/updates/1.0.2/" description="Sequoyah 1.0.2 Updates">
-    <features name="org.eclipse.sequoyah.device.common.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.device.examples.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.device.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.localization.android.feature.feature.group" versionRange="1.0.2.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.localization.tools.feature.feature.group" versionRange="1.0.2.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.protocol.examples.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.protocol.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.vncviewer.feature.feature.group" versionRange="1.0.0.M20110120-0726">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/sequoyah/updates/pulsar/1.1.1/" description="Pulsar Updates">
-    <features name="org.eclipse.sequoyah.pulsar.feature.group" versionRange="1.1.0.M20100811-0600">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='nkvg64@motorola.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='kpqb38@motorola.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='wmg040@motorola.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='ericc@motorola.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/dsdp-tm.b3aggrcon b/org.eclipse.helios.build/dsdp-tm.b3aggrcon
deleted file mode 100644
index 1729ed4..0000000
--- a/org.eclipse.helios.build/dsdp-tm.b3aggrcon
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="TM">
-  <repositories location="http://download.eclipse.org/tm/updates/staging/3.2" description="TM 3.2 Staging" >
-    <features name="org.eclipse.rse.feature.group" versionRange="3.2.2.R32x_v201102130925-7L78FA58SreKCHr_JG7UA8bra19p">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.rse.useractions.feature.group" versionRange="1.1.200.v201005221100-31A78s733L3D7H7933">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.tm.terminal.sdk.feature.group" versionRange="3.1.2.R32x_v201102011435-7N1FJSB7Rz-4dJwSFCMpZfOVTY7A">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.tm.terminal.local.feature.group" versionRange="0.1.0.v201006041240-10-7w312117152433">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='dykstal@acm.org']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='martin.oberhuber@windriver.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/dtp.b3aggrcon b/org.eclipse.helios.build/dtp.b3aggrcon
deleted file mode 100644
index 738bc21..0000000
--- a/org.eclipse.helios.build/dtp.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DataTools">
-  <repositories location="http://download.eclipse.org/datatools/downloads/drops/M_updates_1.8.2" description="DTP 1.8.2 updates">
-    <features name="org.eclipse.datatools.sdk.feature.feature.group" versionRange="1.8.2.v201010181125-7P9j7eFEPPYjqNWgPz-1SsWN7dZo">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Database%20Development']"/>
-    </features>
-    <features name="org.eclipse.datatools.enablement.sdk.feature.feature.group" versionRange="1.8.2.v201010181125-7I977XFE9JfheEiJQF88iIv2_vUh">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Database%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='xgu@actuate.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='yjiang@actuate.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/ecf.b3aggrcon b/org.eclipse.helios.build/ecf.b3aggrcon
deleted file mode 100644
index dbf8a85..0000000
--- a/org.eclipse.helios.build/ecf.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="ECF">
-  <repositories location="http://download.eclipse.org/rt/ecf/3.5/site.p2" description="ECF updates">
-    <features name="org.eclipse.ecf.core.feature.group" versionRange="3.5.0.v20110313-1843">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='slewis@composent.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/eclipseLink.b3aggrcon b/org.eclipse.helios.build/eclipseLink.b3aggrcon
deleted file mode 100644
index 26f8460..0000000
--- a/org.eclipse.helios.build/eclipseLink.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EclipseLink">
-  <repositories location="http://download.eclipse.org/rt/eclipselink/updates/2.1.2.v20101206-r8635" description="EclipseLink">
-    <features name="org.eclipse.persistence.sdk.feature.group" versionRange="2.1.2.v20101206-r8635">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='eric.gwin@oracle.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/egit.b3aggrcon b/org.eclipse.helios.build/egit.b3aggrcon
deleted file mode 100644
index 59b8369..0000000
--- a/org.eclipse.helios.build/egit.b3aggrcon
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EGit">
-  <repositories location="http://download.eclipse.org/egit/updates-0.11/" description="EGit Updates">
-    <features name="org.eclipse.jgit.feature.group" versionRange="0.11.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.egit.feature.group" versionRange="0.11.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='sop@google.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='caniszczyk@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='matthias.sohn@sap.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-cdo.b3aggrcon b/org.eclipse.helios.build/emf-cdo.b3aggrcon
deleted file mode 100644
index d2dcd6d..0000000
--- a/org.eclipse.helios.build/emf-cdo.b3aggrcon
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF CDO">
-  <repositories location="http://download.eclipse.org/modeling/emf/cdo/updates/3.0/staging/" description="EMF CDO Milestones">
-    <features name="org.eclipse.net4j.sdk.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.cdo.sdk.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.cdo.dawn.sdk.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.cdo.epp.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='stepper@esc-net.de']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='michal.ruzicka@cloudsmith.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-compare.b3aggrcon b/org.eclipse.helios.build/emf-compare.b3aggrcon
deleted file mode 100644
index a0547d3..0000000
--- a/org.eclipse.helios.build/emf-compare.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT COMPARE">
-  <repositories location="http://download.eclipse.org/modeling/emf/compare/updates/milestones/1.1" description="EMF COMPARE releases">
-    <features name="org.eclipse.emf.compare.sdk.feature.group" versionRange="1.1.2.v20110202-0936">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-emf.b3aggrcon b/org.eclipse.helios.build/emf-emf.b3aggrcon
deleted file mode 100644
index 36dd202..0000000
--- a/org.eclipse.helios.build/emf-emf.b3aggrcon
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF (Core)">
-  <repositories location="http://download.eclipse.org/modeling/emf/emf/updates/2.6" description="EMF (Core) 2.6 releases">
-    <features name="org.eclipse.emf.sdk.feature.group" versionRange="2.6.1.v20100914-1218">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.emf.rap.sdk.feature.group" versionRange="2.6.1.v20100914-1218">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='Kenn.Hussey@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='michal.ruzicka@cloudsmith.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-query.b3aggrcon b/org.eclipse.helios.build/emf-query.b3aggrcon
deleted file mode 100644
index 961f819..0000000
--- a/org.eclipse.helios.build/emf-query.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF QUERY">
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" description="EMF QUERY milestones">
-    <features name="org.eclipse.emf.query.sdk.feature.group" versionRange="1.4.0.v20100428-2315-67J-95GFz01DOIuNNRTWK_NPj507">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.query.examples.feature.group" versionRange="1.4.0.v20100428-2315-677-AkF78Y8FEY7MOGC">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='boris.gruschko@sap.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-teneo.b3aggrcon b/org.eclipse.helios.build/emf-teneo.b3aggrcon
deleted file mode 100644
index d2b8eb7..0000000
--- a/org.eclipse.helios.build/emf-teneo.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF TENEO">
-  <repositories location="http://download.eclipse.org/modeling/emf/teneo/updates/1.2.0/milestones/" description="EMF TENEO milestones">
-    <features name="org.eclipse.emf.teneo.hibernate.sdk.feature.group" versionRange="1.1.2.v201006151458">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.teneo.eclipselink.sdk.feature.group" versionRange="1.1.0.v201006151458">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='mtaal@elver.org']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='stepper@esc-net.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-transaction.b3aggrcon b/org.eclipse.helios.build/emf-transaction.b3aggrcon
deleted file mode 100644
index 6f5a35c..0000000
--- a/org.eclipse.helios.build/emf-transaction.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF TRANSACTION">
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" description="EMF TRANSACTION milestones">
-    <features name="org.eclipse.emf.transaction.sdk.feature.group" versionRange="1.4.0.v20100428-2315-777N-9AZP-D1aQtjUklrYl0eU20D">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.transaction.examples.feature.group" versionRange="1.4.0.v20100428-2315-4798Z8yGC5NtLEQSKMPa6GDM7">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='boris.gruschko@sap.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emf-validation.b3aggrcon b/org.eclipse.helios.build/emf-validation.b3aggrcon
deleted file mode 100644
index 0f3d594..0000000
--- a/org.eclipse.helios.build/emf-validation.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF VALIDATION">
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" description="EMF VALIDATION milestones">
-    <features name="org.eclipse.emf.validation.sdk.feature.group" versionRange="1.4.0.v20100428-2315-67J-96SGR35WNqZRZfmQnghI6uFA">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.validation.examples.feature.group" versionRange="1.4.0.v20100428-2315-67G-BgJ9CR9JJc8RUOP">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='boris.gruschko@sap.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emft-ecoretools.b3aggrcon b/org.eclipse.helios.build/emft-ecoretools.b3aggrcon
deleted file mode 100644
index 89f2547..0000000
--- a/org.eclipse.helios.build/emft-ecoretools.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT Ecore Tools">
-  <repositories location="http://download.eclipse.org/modeling/emft/ecoretools/updates/0.10/" description="EMFT Ecore Tools Releases">
-    <features name="org.eclipse.emf.ecoretools.sdk.feature.group" versionRange="0.10.0.v20100615-1639">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='ed.merks@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emft-eef.b3aggrcon b/org.eclipse.helios.build/emft-eef.b3aggrcon
deleted file mode 100644
index c941620..0000000
--- a/org.eclipse.helios.build/emft-eef.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Extended Editing Framework (EEF)">
-  <repositories location="http://download.eclipse.org/modeling/emft/eef/updates/milestones/0.8" description="EEF releases">
-    <features name="org.eclipse.emf.eef.edt.feature.group" versionRange="[0.8.0,0.9.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='goulwen.lefur@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emft-mint.b3aggrcon b/org.eclipse.helios.build/emft-mint.b3aggrcon
deleted file mode 100644
index 2032f2f..0000000
--- a/org.eclipse.helios.build/emft-mint.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT MINT">
-  <repositories location="http://download.eclipse.org/modeling/emft/updates/releases/" description="EMFT MINT releases">
-    <features name="org.eclipse.emf.mint.sdk.feature.group" versionRange="0.9.0.v201006142335">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='pnehrer@eclipticalsoftware.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/emft-mwe.b3aggrcon b/org.eclipse.helios.build/emft-mwe.b3aggrcon
deleted file mode 100644
index 526cf7e..0000000
--- a/org.eclipse.helios.build/emft-mwe.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT MWE">
-  <repositories location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/helios" description="EMFT MWE Releases - Helios">
-    <features name="org.eclipse.emf.mwe2.runtime.sdk.feature.group" versionRange="1.0.2.v201102150556">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.mwe.sdk.feature.group" versionRange="1.0.2.v201102150556">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.mwe2.language.sdk.feature.group" versionRange="1.0.2.v201102151014">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='alle-ki@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/ep.b3aggrcon b/org.eclipse.helios.build/ep.b3aggrcon
deleted file mode 100644
index d709d22..0000000
--- a/org.eclipse.helios.build/ep.b3aggrcon
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Eclipse">
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.6.x" description="Eclipse and Equinox 3.6.1 milestones">
-    <products name="org.eclipse.sdk.ide" versionRange="3.6.2.M20110210-1200"/>
-    <products name="org.eclipse.platform.ide" versionRange="3.6.2.M20110210-1200"/>
-    <products name="org.eclipse.platform.sdk" versionRange="3.6.2.M20110210-1200"/>
-    <features name="org.eclipse.sdk.feature.group" versionRange="3.6.2.r362_v20100929-7Q7m7HD5cWlFgdCBHllpZMd2M468sbnm2RJvUWIbiJnWC"/>
-    <features name="org.eclipse.cvs.feature.group" versionRange="1.2.1.r362_v20101111-7B77FKv99HL0GvIAF99I8H14B7E">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.pde.feature.group" versionRange="3.6.2.r362_v20110203-7b7mFL2FET3dhHalh1iNZtL">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.jdt.feature.group" versionRange="3.6.2.r362_v20101117-0800-7z8XFW6FLFlmjJcvz03jyeFBLS_F">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.pde.api.tools.ee.fragments.feature.group" versionRange="1.0.0.v20100427-7C-7BF9JgLWLMBMMAMsLL">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.equinox.p2.user.ui.feature.group" versionRange="2.0.1.r361_v20100903-897HFa-FX0z-z-ntoaavz0JPX628"/>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='kmoir@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/epp-mpc.b3aggrcon b/org.eclipse.helios.build/epp-mpc.b3aggrcon
deleted file mode 100644
index 384e2fd..0000000
--- a/org.eclipse.helios.build/epp-mpc.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EPP Marketplace Client">
-  <repositories location="http://download.eclipse.org/mpc/helios/" description="EPP Marketplace Client">
-    <features name="org.eclipse.epp.mpc.feature.group" versionRange="1.0.1.v20100826-2143">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='steffen.pingel@tasktop.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='david.green@tasktop.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/epp-udc.b3aggrcon b/org.eclipse.helios.build/epp-udc.b3aggrcon
deleted file mode 100644
index 1ad67ad..0000000
--- a/org.eclipse.helios.build/epp-udc.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EPP UDC">
-  <repositories location="http://download.eclipse.org/technology/epp/updates/1.3/1.3.1.R201102081640/" description="EPP updates">
-    <features name="org.eclipse.epp.usagedata.feature.feature.group" versionRange="1.3.1.R201102081640">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='wayne@eclipse.org']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='mknauer@eclipsesource.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/equinox.b3aggrcon b/org.eclipse.helios.build/equinox.b3aggrcon
deleted file mode 100644
index e6701c4..0000000
--- a/org.eclipse.helios.build/equinox.b3aggrcon
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Equinox">
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.6.x" description="Eclipse and Equinox 3.6 milestones">
-    <features name="org.eclipse.equinox.sdk.feature.group" versionRange="3.6.2.r362_v20110210b-7H7R67v9rtOv_dTCawtb0WQnN92B">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.equinox.p2.discovery.feature.feature.group" versionRange="1.0.1.R36x_v20110210-4-09oB5865H6L02434"/>
-    <features name="org.eclipse.rcp.source.feature.group" versionRange="3.6.2.r362_v20101104-9SAxFMKFkSAqi8axkv1ZjegmiBLY">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.6.x" description="Eclipse and Equinox 3.6 release">
-    <products name="org.eclipse.rcp.sdk.id" versionRange="3.6.0.M20110210-1200"/>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='kmoir@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/gef.b3aggrcon b/org.eclipse.helios.build/gef.b3aggrcon
deleted file mode 100644
index d51087f..0000000
--- a/org.eclipse.helios.build/gef.b3aggrcon
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GEF">
-  <repositories location="http://download.eclipse.org/tools/gef/updates/milestones" description="GEF interim">
-    <features name="org.eclipse.gef.sdk.feature.group" versionRange="[3.6.2.v20110128-0100-7G7R77A5WNcHQDbhX8JWOYLOSeRJ,3.7.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.gef.examples.feature.group" versionRange="[3.6.2.v20110128-0100-7G7T79BgJ9EADIBL4DMLX,3.7.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.zest.sdk.feature.group" versionRange="[1.2.0.v20100519-2050-67918COKNHAKQZIGOUbPQSZST8VO,1.3.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='irbull@eclipsesource.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='aboyko@ca.ibm.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='alexander.nyssen@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/gmp-gmf-notation.b3aggrcon b/org.eclipse.helios.build/gmp-gmf-notation.b3aggrcon
deleted file mode 100644
index 1ea1136..0000000
--- a/org.eclipse.helios.build/gmp-gmf-notation.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GMF Notation">
-  <repositories location="http://download.eclipse.org/modeling/gmp/updates/releases" description="GMP repository">
-    <features name="org.eclipse.gmf.runtime.notation.sdk.feature.group" versionRange="1.4.1.v20100909-1000-47B28xGC7DxS9Q69KFQ3AHJL9t84">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/gmp-gmf-runtime.b3aggrcon b/org.eclipse.helios.build/gmp-gmf-runtime.b3aggrcon
deleted file mode 100644
index 26baa55..0000000
--- a/org.eclipse.helios.build/gmp-gmf-runtime.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GMF Runtime">
-  <repositories location="http://download.eclipse.org/modeling/gmp/updates/milestones" description="GMP repository">
-    <features name="org.eclipse.gmf.feature.group" versionRange="[1.4.2.v20110201-1000-7d9A7FFYnmMD7_nYQqNhbc2tsgXc,1.5.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.gmf.examples.runtime.feature.group" versionRange="[1.4.1.v20100909-1300-7B7L1F8NcJP-Jz-Qb9Sz0mY,1.5.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.gmf.runtime.sdk.feature.group" versionRange="[1.4.2.v20110201-1000-67G49E9QYBfkXgwmVt5ksk7w9Vqi,1.5.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/gmp-gmf-tooling.b3aggrcon b/org.eclipse.helios.build/gmp-gmf-tooling.b3aggrcon
deleted file mode 100644
index 7d9e54f..0000000
--- a/org.eclipse.helios.build/gmp-gmf-tooling.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GMF Tooling">
-  <repositories location="http://download.eclipse.org/modeling/gmp/updates/milestones" description="GMP repository">
-    <features name="org.eclipse.gmf.sdk.feature.group" versionRange="2.3.0.v20100508-1742-7779-95sDcLbMSsdu7Xz-xO-z0oe">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='tikhomirov.artem@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/helios.b3aggr b/org.eclipse.helios.build/helios.b3aggr
deleted file mode 100644
index 8cb54fd..0000000
--- a/org.eclipse.helios.build/helios.b3aggr
+++ /dev/null
@@ -1,378 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Aggregator xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" buildmaster="//@contacts[email='david_williams@us.ibm.com']" label="Helios" buildRoot="/opt/public/helios/buildresults" sendmail="true" type="I">
-  <configurations/>
-  <configurations architecture="x86_64"/>
-  <configurations operatingSystem="linux" windowSystem="gtk"/>
-  <configurations operatingSystem="linux" windowSystem="motif"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="x86_64"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="ppc"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="ppc64"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="s390"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="s390x"/>
-  <configurations operatingSystem="solaris" windowSystem="gtk" architecture="sparc"/>
-  <configurations operatingSystem="solaris" windowSystem="gtk"/>
-  <configurations operatingSystem="hpux" windowSystem="motif" architecture="ia64_32"/>
-  <configurations operatingSystem="aix" windowSystem="motif" architecture="ppc"/>
-  <configurations operatingSystem="macosx" windowSystem="cocoa"/>
-  <configurations operatingSystem="macosx" windowSystem="cocoa" architecture="x86_64"/>
-  <configurations operatingSystem="macosx" windowSystem="carbon"/>
-  <contributions href="equinox.b3aggrcon#/"/>
-  <contributions href="ep.b3aggrcon#/"/>
-  <contributions href="emf-emf.b3aggrcon#/"/>
-  <contributions href="ecf.b3aggrcon#/"/>
-  <contributions href="mdt-xsd.b3aggrcon#/"/>
-  <contributions href="gef.b3aggrcon#/"/>
-  <contributions href="amalgam.b3aggrcon#/"/>
-  <contributions href="emf-compare.b3aggrcon#/"/>
-  <contributions href="emft-ecoretools.b3aggrcon#/"/>
-  <contributions href="m2m-atl.b3aggrcon#/"/>
-  <contributions href="m2m-qvtoml.b3aggrcon#/"/>
-  <contributions href="m2t-jet.b3aggrcon#/"/>
-  <contributions href="emft-mint.b3aggrcon#/"/>
-  <contributions href="emft-mwe.b3aggrcon#/"/>
-  <contributions href="dtp.b3aggrcon#/"/>
-  <contributions href="webtools.b3aggrcon#/"/>
-  <contributions href="mylyn.b3aggrcon#/"/>
-  <contributions href="cdt.b3aggrcon#/"/>
-  <contributions href="dsdp-tm.b3aggrcon#/"/>
-  <contributions href="dsdp-sequoyah.b3aggrcon#/"/>
-  <contributions href="jwt.b3aggrcon#/"/>
-  <contributions href="dltk.b3aggrcon#/"/>
-  <contributions href="rap.b3aggrcon#/"/>
-  <contributions href="subversive.b3aggrcon#/"/>
-  <contributions href="actf.b3aggrcon#/"/>
-  <contributions href="epp-udc.b3aggrcon#/"/>
-  <contributions href="epp-mpc.b3aggrcon#/"/>
-  <contributions href="buckminster.b3aggrcon#/"/>
-  <contributions href="emf-cdo.b3aggrcon#/"/>
-  <contributions href="eclipseLink.b3aggrcon#/"/>
-  <contributions href="emf-teneo.b3aggrcon#/"/>
-  <contributions href="birt.b3aggrcon#/"/>
-  <contributions href="mat.b3aggrcon#/"/>
-  <contributions href="tptp.b3aggrcon#/"/>
-  <contributions href="mdt-uml2.b3aggrcon#/"/>
-  <contributions href="mdt-ocl.b3aggrcon#/"/>
-  <contributions href="emf-transaction.b3aggrcon#/"/>
-  <contributions href="emf-validation.b3aggrcon#/"/>
-  <contributions href="emf-query.b3aggrcon#/"/>
-  <contributions href="m2t-acceleo.b3aggrcon#/"/>
-  <contributions href="gmp-gmf-notation.b3aggrcon#/"/>
-  <contributions href="gmp-gmf-runtime.b3aggrcon#/"/>
-  <contributions href="gmp-gmf-tooling.b3aggrcon#/"/>
-  <contributions href="m2t-xpand.b3aggrcon#/"/>
-  <contributions href="tmf-xtext.b3aggrcon#/"/>
-  <contributions href="dsdp-mjt.b3aggrcon#/"/>
-  <contributions href="swordfish.b3aggrcon#/"/>
-  <contributions href="pdt.b3aggrcon#/"/>
-  <contributions href="ptp.b3aggrcon#/"/>
-  <contributions href="stp.b3aggrcon#/"/>
-  <contributions href="emft-eef.b3aggrcon#/"/>
-  <contributions href="linuxtools.b3aggrcon#/"/>
-  <contributions href="mdt-modisco.b3aggrcon#/"/>
-  <contributions href="egit.b3aggrcon#/"/>
-  <contributions href="riena.b3aggrcon#/"/>
-  <contributions href="jetty.b3aggrcon#/"/>
-  <contacts name="Kim Moir" email="kmoir@ca.ibm.com"/>
-  <contacts name="Kenn Hussey" email="Kenn.Hussey@gmail.com"/>
-  <contacts name="Scott Lewis" email="slewis@composent.com"/>
-  <contacts name="GEF Build Team" email="irbull@eclipsesource.com"/>
-  <contacts name="GEF Build Team" email="anthonyh@ca.ibm.com"/>
-  <contacts name="GEF Build Team" email="aboyko@ca.ibm.com"/>
-  <contacts name="Michal Ruzicka" email="michal.ruzicka@cloudsmith.com"/>
-  <contacts name="GEF Build Team" email="alexander.nyssen@itemis.de"/>
-  <contacts name="Stephane Bouchet" email="stephane.bouchet@obeo.fr"/>
-  <contacts name="Cedric Brun" email="cedric.brun@obeo.fr"/>
-  <contacts name="EMFT Ecore Tools Build Team" email="ed.merks@gmail.com"/>
-  <contacts name="William Piers" email="william.piers@obeo.fr"/>
-  <contacts name="Radek Dvorak" email="dvorak.radek@gmail.com"/>
-  <contacts name="Sergey Boyko" email="sboyko@borland.com"/>
-  <contacts name="M2T JET Build Team" email="pelder@ca.ibm.com"/>
-  <contacts name="EMFT MINT Build Team" email="pnehrer@eclipticalsoftware.com"/>
-  <contacts name="EMFT MWE Build Team" email="alle-ki@itemis.de"/>
-  <contacts name="Xiaoying Gu" email="xgu@actuate.com"/>
-  <contacts name="Yong Jiang" email="yjiang@actuate.com"/>
-  <contacts name="David Williams" email="david_williams@us.ibm.com"/>
-  <contacts name="Mik Kersten" email="mik.kersten@tasktop.com"/>
-  <contacts name="Steffen Pingel" email="steffen.pingel@tasktop.com"/>
-  <contacts name="Vivian Kong" email="vivkong@ca.ibm.com"/>
-  <contacts name="Doug Schaefer" email="cdtdoug@gmail.com"/>
-  <contacts name="David Dykstal" email="dykstal@acm.org"/>
-  <contacts name="Martin Oberhuber" email="martin.oberhuber@windriver.com"/>
-  <contacts name="Daniel Barboza Franco" email="nkvg64@motorola.com"/>
-  <contacts name="Daniel Drigo Pastore" email="kpqb38@motorola.com"/>
-  <contacts name="Marcel Augusto Gorri" email="wmg040@motorola.com"/>
-  <contacts name="Eric Cloninger" email="ericc@motorola.com"/>
-  <contacts name="Christian Saad" email="saad@informatik.uni-augsburg.de"/>
-  <contacts name="DLTK Build Team" email="alex@xored.com"/>
-  <contacts name="DLTK Build Team" email="andrey@xored.com"/>
-  <contacts name="Ralf Sternberg" email="rsternberg@eclipsesource.com"/>
-  <contacts name="Benjamin Muskalla" email="bmuskalla@eclipsesource.com"/>
-  <contacts name="Igor Burilo" email="igor.burilo@polarion.org"/>
-  <contacts name="Alexander Gurov" email="alexander.gurov@polarion.com"/>
-  <contacts name="Kentarou Fukuda" email="kentarou@jp.ibm.com"/>
-  <contacts name="Wayne Beaton" email="wayne@eclipse.org"/>
-  <contacts name="Markus Knauer" email="mknauer@eclipsesource.com"/>
-  <contacts name="David Green" email="david.green@tasktop.com"/>
-  <contacts name="Thomas Hallgren" email="thomas@tada.se"/>
-  <contacts name="Eike Stepper" email="stepper@esc-net.de"/>
-  <contacts name="Eric Gwin" email="eric.gwin@oracle.com"/>
-  <contacts name="EMF TENEO Build Team" email="mtaal@elver.org"/>
-  <contacts name="Wenfeng Li" email="wli@actuate.com"/>
-  <contacts name="Krum Tsvetkov" email="krum.tsvetkov@sap.com"/>
-  <contacts name="Erwin Margewitsch" email="erwin.margewitsch@sap.com"/>
-  <contacts name="Joel Cayne" email="jcayne@ca.ibm.com"/>
-  <contacts name="Samuel Wu" email="samwu@ca.ibm.com"/>
-  <contacts name="MDT OCL Build Team" email="Alexander.Igdalov@gmail.com"/>
-  <contacts name="Ed Willink" email="ed@willink.me.uk"/>
-  <contacts name="EMF TRANSACTION Build Team" email="boris.gruschko@sap.com"/>
-  <contacts name="Laurent Goubet" email="laurent.goubet@obeo.fr"/>
-  <contacts name="Artem Tikhomirov" email="tikhomirov.artem@gmail.com"/>
-  <contacts name="Holger Staudacher" email="hstaudacher@eclipsesource.com"/>
-  <contacts name="Gustavo de Paula" email="gustavo.eliano@gmail.com"/>
-  <contacts name="Diego Sandin" email="diegosandin@gmail.com"/>
-  <contacts name="Oliver Wolf" email="oliver.wolf@sopera.de"/>
-  <contacts name="Zsolt Beothy-Elo" email="zsolt.beothy-elo@sopera.de"/>
-  <contacts name="PDT Build Team" email="roy@zend.com"/>
-  <contacts name="PDT Build Team" email="michael@zend.com"/>
-  <contacts name="Greg Watson" email="g.watson@computer.org"/>
-  <contacts name="Beth Tibbitts" email="tibbitts@us.ibm.com"/>
-  <contacts name="Oisin Hurley" email="oisin.hurley@gmail.com"/>
-  <contacts name="Antoine Toulme" email="antoine@lunar-ocean.com"/>
-  <contacts name="Stephane Drapeau" email="stephane.drapeau@obeo.fr"/>
-  <contacts name="Goulwen Le Fur" email="goulwen.lefur@obeo.fr"/>
-  <contacts name="Jeff Johnston" email="jjohnstn@redhat.com"/>
-  <contacts name="Alex Kurtakov" email="akurtako@redhat.com"/>
-  <contacts name="Nicolas Bros" email="nbros.mia@gmail.com"/>
-  <contacts name="Shawn Pearce" email="sop@google.com"/>
-  <contacts name="Chris Aniszczyk" email="caniszczyk@gmail.com"/>
-  <contacts name="Matthias Sohn" email="matthias.sohn@sap.com"/>
-  <contacts name="Christian Campo" email="Christian.Campo@compeople.de"/>
-  <contacts name="Greg Wilkins" email="gwilkins@intalio.com"/>
-  <contacts name="Jesse McConnell" email="jesse.mcconnell@gmail.com"/>
-  <contacts name="Hugues Malphettes" email="hmalphettes@intalio.com "/>
-  <contacts name="Adolfo Sanchez-Barbudo Herrera" email="adolfosbh@opencanarias.com"/>
-  <customCategories identifier="Modeling" label="Modeling" description="Model definition, creation, and manipulation frameworks (e.g. EMF, OCL, GMF, M2M, M2T, GEF) and industry models (e.g. UML, JEM, XSD).">
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mdt-xsd.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-gmf-notation.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-gmf-runtime.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-gmf-tooling.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mdt-uml2.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mdt-ocl.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-transaction.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-validation.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-query.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2t-jet.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2t-acceleo.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2m-qvtoml.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2m-atl.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-teneo.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tmf-xtext.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2t-xpand.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-mwe.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-mwe.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emft-mwe.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="amalgam.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-compare.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-ecoretools.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-mint.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="mdt-modisco.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-eef.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gef.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gef.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gef.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emf-teneo.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mdt-ocl.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-transaction.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-validation.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-query.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gmp-gmf-runtime.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gmp-gmf-runtime.b3aggrcon#//@repositories.0/@features.2"/>
-  </customCategories>
-  <customCategories identifier="Programming Languages" label="Programming Languages" description="Tools to allow development with specific languages, such as Java and C++">
-    <features href="ep.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="pdt.b3aggrcon#//@repositories.0/@features.0"/>
-  </customCategories>
-  <customCategories identifier="Web, XML, and Java EE Development" label="Web, XML, and Java EE Development" description="Tools to help create web applications, including JavaScript, XML, XSL, XSD, HTML, XHTML, CSS, JSP, EJBs, Webservices, and JPA tools">
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="pdt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="rap.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.12"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.13"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.14"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.15"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.16"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.17"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.18"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.19"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.20"/>
-  </customCategories>
-  <customCategories identifier="Database Development" label="Database Development" description="Tools to define and access a wide variety of databases.">
-    <features href="dtp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dtp.b3aggrcon#//@repositories.0/@features.1"/>
-  </customCategories>
-  <customCategories identifier="Test and Performance" label="Test and Performance" description="Tools used to improve testing and performance.">
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="tptp.b3aggrcon#//@repositories.0/@features.6"/>
-  </customCategories>
-  <customCategories identifier="Mobile and Device Development" label="Mobile and Device Development" description="Tools used to develop mobile and device applications.">
-    <features href="dsdp-tm.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dsdp-tm.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="dsdp-tm.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="dsdp-mjt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dsdp-mjt.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="dsdp-sequoyah.b3aggrcon#//@repositories.1/@features.0"/>
-    <features href="dsdp-mjt.b3aggrcon#//@repositories.0/@features.2"/>
-  </customCategories>
-  <customCategories identifier="Collaboration" label="Collaboration" description="Tools to foster collaboration between developers.">
-    <features href="ep.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="ecf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="egit.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="egit.b3aggrcon#//@repositories.0/@features.0"/>
-  </customCategories>
-  <customCategories identifier="General Purpose Tools" label="General Purpose Tools" description="Tools that can be used by a wide variety of developers.">
-    <features href="actf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="actf.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="actf.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="buckminster.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="buckminster.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="buckminster.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="buckminster.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="buckminster.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="buckminster.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="ep.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="dsdp-tm.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dsdp-tm.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="epp-udc.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="epp-mpc.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mat.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mat.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mdt-ocl.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tmf-xtext.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="pdt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="ep.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="dsdp-tm.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.5"/>
-  </customCategories>
-  <customCategories identifier="SOA Development" label="SOA Development" description="Tools for SOA Developers">
-    <features href="stp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.12"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.13"/>
-    <features href="swordfish.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="swordfish.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="jwt.b3aggrcon#//@repositories.0/@features.0"/>
-  </customCategories>
-  <customCategories identifier="EclipseRT Target Platform Components" label="EclipseRT Target Platform Components" description="This category identifies various Eclipse technology that is commonly used in runtime scenarios from RCP to embedded to server side. The components in this category are intended to be added to your Target Platform, rather than your IDE.">
-    <features href="riena.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="equinox.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="eclipseLink.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="ecf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="rap.b3aggrcon#//@repositories.1/@features.0"/>
-    <features href="swordfish.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="jetty.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="jetty.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="jetty.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="equinox.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.6"/>
-  </customCategories>
-  <customCategories identifier="Business Intelligence, Reporting and Charting" label="Business Intelligence, Reporting and Charting" description="Tools to visualize information, create data-driven web pages, PDF documents and other content using data from a wide variety of sources.">
-    <features href="birt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.5"/>
-  </customCategories>
-  <customCategories identifier="Linux Tools" label="Linux Tools" description="Linux Tools for C/C++ Testing and Profiling">
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.11"/>
-  </customCategories>
-</aggregator:Aggregator>
diff --git a/org.eclipse.helios.build/jetty.b3aggrcon b/org.eclipse.helios.build/jetty.b3aggrcon
deleted file mode 100644
index 58583a1..0000000
--- a/org.eclipse.helios.build/jetty.b3aggrcon
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Jetty">
-  <repositories location="http://download.eclipse.org/jetty/updates/jetty-rt-3.6.x/3.6.2.v201102150658" description="Jetty Updates">
-    <features name="org.eclipse.jetty.sdk.feature.group" versionRange="7.1.6.201102150658">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.pde.junit.runtime.standalone.feature.group" versionRange="1.0.0.201102150658">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.pde.junit.runtime.addon.feature.group" versionRange="1.0.0.201102150658">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='gwilkins@intalio.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='jesse.mcconnell@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='hmalphettes@intalio.com%20']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/jwt.b3aggrcon b/org.eclipse.helios.build/jwt.b3aggrcon
deleted file mode 100644
index 73859a5..0000000
--- a/org.eclipse.helios.build/jwt.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Java Workflow Tooling">
-  <repositories location="http://download.eclipse.org/jwt/update-site-helios/" description="JWT releases">
-    <features name="org.eclipse.jwt.feature.feature.group" versionRange="1.0.0.v20100719-0900-7N--FJdMh0gj33jLjjgg">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='saad@informatik.uni-augsburg.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/linuxtools.b3aggrcon b/org.eclipse.helios.build/linuxtools.b3aggrcon
deleted file mode 100644
index f6b386b..0000000
--- a/org.eclipse.helios.build/linuxtools.b3aggrcon
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" enabled="true" label="Linux Tools">
-  <repositories location="http://download.eclipse.org/technology/linuxtools/update-helios/" description="Linux Tools Updates">
-    <features name="org.eclipse.linuxtools.cdt.autotools.feature.group" versionRange="2.0.1.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.cdt.libhover.feature.group" versionRange="0.3.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.changelog.feature.group" versionRange="2.7.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.gprof.feature.group" versionRange="0.5.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.oprofile.feature.group" versionRange="0.3.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.rpm.feature.group" versionRange="0.4.3.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.rpm.ui.editor.feature.group" versionRange="0.4.3.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.systemtap.feature.group" versionRange="0.3.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.callgraph.feature.group" versionRange="0.0.2.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.valgrind.feature.group" versionRange="0.7.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.gcov.feature.group" versionRange="0.4.1.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.lttng.feature.group" versionRange="0.3.0.201101251503">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='jjohnstn@redhat.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='akurtako@redhat.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/m2m-atl.b3aggrcon b/org.eclipse.helios.build/m2m-atl.b3aggrcon
deleted file mode 100644
index ca2426c..0000000
--- a/org.eclipse.helios.build/m2m-atl.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2M ATL">
-  <repositories location="http://download.eclipse.org/modeling/m2m/atl/updates/milestones/3.1/" description="M2M ATL releases">
-    <features name="org.eclipse.m2m.atl.sdk.feature.group" versionRange="[3.1.2,3.2.0]">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='william.piers@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/m2m-qvtoml.b3aggrcon b/org.eclipse.helios.build/m2m-qvtoml.b3aggrcon
deleted file mode 100644
index e36aaed..0000000
--- a/org.eclipse.helios.build/m2m-qvtoml.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="QVT">
-  <repositories location="http://download.eclipse.org/modeling/m2m/qvtoml/updates/3.0.1/milestones/" description="QVTO releases">
-    <features name="org.eclipse.m2m.qvt.oml.sdk.feature.group" versionRange="3.0.1.v20100818-1530-7R63DN-Q7-IF3R3bz0nYvgAVAz-w">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='dvorak.radek@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='sboyko@borland.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/m2t-acceleo.b3aggrcon b/org.eclipse.helios.build/m2t-acceleo.b3aggrcon
deleted file mode 100644
index 7ecbd9e..0000000
--- a/org.eclipse.helios.build/m2t-acceleo.b3aggrcon
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2T ACCELEO">
-  <repositories location="http://download.eclipse.org/modeling/m2t/acceleo/updates/releases/3.0" description="M2T Acceleo releases">
-    <features name="org.eclipse.acceleo.sdk.feature.group" versionRange="[3.0.2,3.1.0]">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='laurent.goubet@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/m2t-jet.b3aggrcon b/org.eclipse.helios.build/m2t-jet.b3aggrcon
deleted file mode 100644
index 2ed1b91..0000000
--- a/org.eclipse.helios.build/m2t-jet.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2T JET">
-  <repositories location="http://download.eclipse.org/modeling/m2t/updates/milestones/" description="M2T JET milestones">
-    <features name="org.eclipse.jet.sdk.feature.group" versionRange="1.1.1.v201101271243-42186A5NsKEQPHRQeFaJS4A35">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='pelder@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/m2t-xpand.b3aggrcon b/org.eclipse.helios.build/m2t-xpand.b3aggrcon
deleted file mode 100644
index 5eb1a0e..0000000
--- a/org.eclipse.helios.build/m2t-xpand.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2T XPAND">
-  <repositories location="http://download.eclipse.org/modeling/m2t/xpand/updates/" description="M2T XPAND Releases">
-    <features name="org.eclipse.xpand.sdk.feature.group" versionRange="1.0.1.v201008251147">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='alle-ki@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/mat.b3aggrcon b/org.eclipse.helios.build/mat.b3aggrcon
deleted file mode 100644
index 25b5154..0000000
--- a/org.eclipse.helios.build/mat.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Memory Analyzer (MAT)">
-  <repositories location="http://download.eclipse.org/mat/helios/sr1/update-site/" description="Memory Analyzer Updates">
-    <features name="org.eclipse.mat.feature.feature.group" versionRange="1.0.1.201008091353">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.mat.chart.feature.feature.group" versionRange="1.0.1.201008091353">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='krum.tsvetkov@sap.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='erwin.margewitsch@sap.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/mdt-modisco.b3aggrcon b/org.eclipse.helios.build/mdt-modisco.b3aggrcon
deleted file mode 100644
index fc273bb..0000000
--- a/org.eclipse.helios.build/mdt-modisco.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MoDisco">
-  <repositories location="http://download.eclipse.org/modeling/mdt/modisco/updates/release/0.8.2" description="MoDisco 0.8.2 release">
-    <features name="org.eclipse.gmt.modisco.sdk.feature.group" versionRange="[0.8.2,0.9.0)">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='nbros.mia@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/mdt-ocl.b3aggrcon b/org.eclipse.helios.build/mdt-ocl.b3aggrcon
deleted file mode 100644
index e9065b0..0000000
--- a/org.eclipse.helios.build/mdt-ocl.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MDT OCL">
-  <repositories location="http://download.eclipse.org/modeling/mdt/ocl/updates/maintenance/3.0.2" description="MDT OCL 3.0 Maintenance Repository">
-    <features name="org.eclipse.ocl.all.sdk.feature.group" versionRange="3.0.2.R30x_v201101181635">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ocl.examples.feature.group" versionRange="3.0.2.R30x_v201101181635">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='Alexander.Igdalov@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='ed@willink.me.uk']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='adolfosbh@opencanarias.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/mdt-uml2.b3aggrcon b/org.eclipse.helios.build/mdt-uml2.b3aggrcon
deleted file mode 100644
index 5debc63..0000000
--- a/org.eclipse.helios.build/mdt-uml2.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MDT UML2">
-  <repositories location="http://download.eclipse.org/modeling/mdt/updates/" description="MDT UML2 releases">
-    <features name="org.eclipse.uml2.sdk.feature.group" versionRange="[3.1.2.v201010261927,3.1.2.v201010261927]">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='Kenn.Hussey@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/mdt-xsd.b3aggrcon b/org.eclipse.helios.build/mdt-xsd.b3aggrcon
deleted file mode 100644
index 03caeb5..0000000
--- a/org.eclipse.helios.build/mdt-xsd.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MDT XSD">
-  <repositories location="http://download.eclipse.org/modeling/emf/emf/updates/2.6" description="MDT XSD 2.6 releases">
-    <features name="org.eclipse.xsd.sdk.feature.group" versionRange="2.6.0.v20100914-1218">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='Kenn.Hussey@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='michal.ruzicka@cloudsmith.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/mylyn.b3aggrcon b/org.eclipse.helios.build/mylyn.b3aggrcon
deleted file mode 100644
index c34131a..0000000
--- a/org.eclipse.helios.build/mylyn.b3aggrcon
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Mylyn">
-  <repositories location="http://download.eclipse.org/tools/mylyn/update/maintenance/" description="Mylyn Updates">
-    <!-- 3.4.2.v20110204-0608 -->
-    <features name="org.eclipse.mylyn_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.bugzilla_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.trac_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.cdt.mylyn.feature.group" versionRange="5.2.102">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.context_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.pde_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.java_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.ide_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.team_feature.feature.group" versionRange="3.4.3">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.wikitext_feature.feature.group" versionRange="1.3.2">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.commons.feature.group" versionRange="3.4.3"/>
-    <features name="org.eclipse.mylyn.sdk_feature.feature.group" versionRange="3.4.3"/>
-    <features name="org.eclipse.mylyn.wikitext.sdk.feature.group" versionRange="1.3.2"/>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='mik.kersten@tasktop.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='steffen.pingel@tasktop.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/pdt.b3aggrcon b/org.eclipse.helios.build/pdt.b3aggrcon
deleted file mode 100644
index f27b934..0000000
--- a/org.eclipse.helios.build/pdt.b3aggrcon
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="PDT">
-  <repositories location="http://download.eclipse.org/tools/pdt/updates/2.2/milestones" description="PDT Helios Milestones">
-    <features name="org.eclipse.php.sdk.feature.group" versionRange="2.2.1.v20100826-1100-53184QAN4IJShLXONIZhXX4Na9Od">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='roy@zend.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='michael@zend.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/ptp.b3aggrcon b/org.eclipse.helios.build/ptp.b3aggrcon
deleted file mode 100644
index 35b3acb..0000000
--- a/org.eclipse.helios.build/ptp.b3aggrcon
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="PTP">
-  <repositories location="http://download.eclipse.org/tools/ptp/updates/helios_sr2/" description="PTP updates">
-    <features name="org.eclipse.ptp.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.remote.rse.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.gem.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.pldt.upc.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.etfw.ppw.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.etfw.tau.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.rdt.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.rdt.xlc.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.sci.feature.group" versionRange="4.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.photran.feature.group" versionRange="6.0.6.201102090922">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='g.watson@computer.org']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='tibbitts@us.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/rap.b3aggrcon b/org.eclipse.helios.build/rap.b3aggrcon
deleted file mode 100644
index d11557e..0000000
--- a/org.eclipse.helios.build/rap.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="RAP">
-  <repositories location="http://download.eclipse.org/rt/rap/1.3/tooling/" description="RAP Tooling Repository">
-    <features name="org.eclipse.rap.tooling.feature.group" versionRange="1.3.2.20110216-1041">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/rt/rap/1.3/runtime/" description="RAP Runtime Repository" >
-    <features name="org.eclipse.rap.runtime.sdk.feature.group" versionRange="1.3.2.20110216-1023" enabled="true">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='rsternberg@eclipsesource.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='hstaudacher@eclipsesource.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/riena.b3aggrcon b/org.eclipse.helios.build/riena.b3aggrcon
deleted file mode 100644
index 7266a42..0000000
--- a/org.eclipse.helios.build/riena.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Riena">
-  <repositories location="http://download.eclipse.org/rt/riena/2.0.0.0/update/" description="Riena Target Components">
-    <features name="org.eclipse.riena.build.feature.sdk.feature.group" versionRange="2.0.0.v20100615_2_0_0">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='Christian.Campo@compeople.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/stp.b3aggrcon b/org.eclipse.helios.build/stp.b3aggrcon
deleted file mode 100644
index 57acbfb..0000000
--- a/org.eclipse.helios.build/stp.b3aggrcon
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="STP">
-  <repositories location="http://download.eclipse.org/stp/updates/helios" description="SOA Tools Repository">
-    <features name="org.eclipse.stp.bpmn.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.frascati.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.tuscany.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.tuscany2.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.fabric3.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.xmleditors.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.sca.feature.semantic.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.core.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.bpmn.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.runtime.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.sca.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.policy.feature.feature.group" versionRange="1.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.branding.feature.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='oisin.hurley@gmail.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='antoine@lunar-ocean.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='stephane.drapeau@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/subversive.b3aggrcon b/org.eclipse.helios.build/subversive.b3aggrcon
deleted file mode 100644
index 0c9984a..0000000
--- a/org.eclipse.helios.build/subversive.b3aggrcon
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Subversive">
-  <repositories location="http://download.eclipse.org/technology/subversive/0.7/helios-site/" description="Subversive updates">
-    <features name="org.eclipse.team.svn.feature.group" versionRange="0.7.9.I20110207-1700">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.team.svn.nl1.feature.group" versionRange="0.7.9.I20110207-1700"/>
-    <features name="org.eclipse.team.svn.resource.ignore.rules.jdt.feature.group" versionRange="0.7.9.I20101203-1700">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.team.svn.mylyn.feature.group" versionRange="0.7.9.I20110207-1700">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.team.svn.source.feature.group" versionRange="0.7.9.I20110207-1700"/>
-    <features name="org.eclipse.team.svn.revision.graph.feature.group" versionRange="0.7.9.I20110124-1700">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='alexander.gurov@polarion.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/swordfish.b3aggrcon b/org.eclipse.helios.build/swordfish.b3aggrcon
deleted file mode 100644
index 29a2aa1..0000000
--- a/org.eclipse.helios.build/swordfish.b3aggrcon
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Swordfish">
-  <repositories location="http://download.eclipse.org/swordfish/releases/helios" description="Swordfish Helios Milestones">
-    <features name="org.eclipse.swordfish.tooling.development.feature.feature.group" versionRange="0.10.0.v201006150915">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.swordfish.tooling.deployment.feature.feature.group" versionRange="0.10.0.v201006150915">
-      <categories href="helios.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.swordfish.sdk.feature.feature.group" versionRange="0.10.0.v201006150915">
-      <categories href="helios.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='oliver.wolf@sopera.de']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='zsolt.beothy-elo@sopera.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/tmf-xtext.b3aggrcon b/org.eclipse.helios.build/tmf-xtext.b3aggrcon
deleted file mode 100644
index 493f631..0000000
--- a/org.eclipse.helios.build/tmf-xtext.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="TMF XTEXT">
-  <repositories location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases" description="TMF Xtext Releases">
-    <features name="org.eclipse.xtext.sdk.feature.group" versionRange="1.0.2.v201102150722">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Modeling']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='alle-ki@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/tptp.b3aggrcon b/org.eclipse.helios.build/tptp.b3aggrcon
deleted file mode 100644
index 8f7e688..0000000
--- a/org.eclipse.helios.build/tptp.b3aggrcon
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="TPTP">
-  <repositories location="http://download.eclipse.org/tptp/updates/helios/" description="Testing and Performance">
-    <bundles name="org.eclipse.tptp.platform.ac.win_ia32" versionRange="4.4.302.v201102041430"/>
-    <bundles name="org.eclipse.tptp.platform.ac.win_em64t" versionRange="4.4.302.v201102041430"/>
-    <bundles name="org.eclipse.tptp.platform.ac.win_ipf" versionRange="4.4.302.v201102041430"/>
-    <bundles name="org.eclipse.tptp.platform.ac.linux_ia32" versionRange="4.4.302.v201102041430"/>
-    <bundles name="org.eclipse.tptp.platform.ac.linux_em64t" versionRange="4.4.302.v201102041430"/>
-    <bundles name="org.eclipse.tptp.platform.ac.linux_ipf" versionRange="4.4.302.v201102041430"/>
-    <features name="org.eclipse.tptp.platform.runtime.feature.group" versionRange="4.7.2.v201101261720-7u847D8kskO0sLbS8TY-AQwwEXhE">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-    <features name="org.eclipse.tptp.monitoring.runtime.feature.group" versionRange="4.5.0.v201005271900-7T7X-7r1WNos_vYhsZicqkbMM">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-    <features name="org.eclipse.tptp.test.runtime.feature.group" versionRange="4.5.101.v201101261720-7H7I8a7VtKB4wQUp2oyKEz--8t8w">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-    <features name="org.eclipse.tptp.trace.runtime.feature.group" versionRange="4.4.2.v201101261720-7H7C47XbM_K5E9OJKVWb_hSVH4">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-    <features name="org.eclipse.tptp.birt.feature.group" versionRange="4.5.1.v201101261720-53078A8A19t84654A6B6A94">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-    <features name="org.eclipse.tptp.wtp.feature.group" versionRange="4.5.2.v201101261720-54178I8G5BlG8C99NBRDLKI">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-    <features name="org.eclipse.tptp.examples.feature.group" versionRange="4.6.0.v201005032111-7D7D-8zC4F-8G7F9I7D4F938x423">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Test%20and%20Performance']"/>
-    </features>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='jcayne@ca.ibm.com']"/>
-  <contacts href="helios.b3aggr#//@contacts[email='samwu@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.build/webtools.b3aggrcon b/org.eclipse.helios.build/webtools.b3aggrcon
deleted file mode 100644
index 4b3fe98..0000000
--- a/org.eclipse.helios.build/webtools.b3aggrcon
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="WebTools">
-  <repositories 
-              location="http://download.eclipse.org/webtools/downloads/drops/R3.2.3/R-3.2.3-20110217214612/repository/" 
-              description="Web Tools 3.2.x released site">
-    <features name="org.eclipse.wst.web_ui.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.enterprise_ui.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.axis2tools.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.eclipselink.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.webpageeditor.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.xml_ui.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.jsdt.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.common.fproj.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.server_adapters.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.xsl.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.common.fproj.enablement.jdt.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.server_ui.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.server_adapters.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.server_adapters.ext.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.web_ui.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jsf.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.jaxws.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.cxf.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.jaxws.dom.feature.feature.group">
-      <categories href="helios.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20and%20Java%20EE%20Development']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/webtools/downloads/drops/C3.2.0/I-C3.2.0-20100614204142/repository/" description="Web Tools 3.2 capability site">
-    <bundles name="org.eclipse.wtp.epp.package.capabilities" versionRange="1.3.0.v201005102000"/>
-    <bundles name="org.eclipse.wtp.epp.package.jee.intro" versionRange="1.3.0.v201005102030"/>
-    <bundles name="org.eclipse.wtp.javascript.capabilities" versionRange="1.0.100.v201005102000"/>
-    <bundles name="org.eclipse.wtp.jee.capabilities" versionRange="1.0.100.v201005102000"/>
-    <bundles name="org.eclipse.wtp.web.capabilities" versionRange="1.0.100.v201005102000"/>
-    <bundles name="org.eclipse.wtp.xml.capabilities" versionRange="1.0.100.v201005102000"/>
-  </repositories>
-  <contacts href="helios.b3aggr#//@contacts[email='david_williams@us.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.helios.tests/.classpath b/org.eclipse.helios.tests/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/org.eclipse.helios.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.helios.tests/.project b/org.eclipse.helios.tests/.project
deleted file mode 100644
index 8696ed0..0000000
--- a/org.eclipse.helios.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.helios.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.helios.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.helios.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5760baa..0000000
--- a/org.eclipse.helios.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Sun Jun 13 15:30:09 EDT 2010
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
diff --git a/org.eclipse.helios.tests/META-INF/MANIFEST.MF b/org.eclipse.helios.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 854aef1..0000000
--- a/org.eclipse.helios.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.helios.tests;singleton:=true
-Bundle-Version: 1.1.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0",
- org.eclipse.equinox.p2.jarprocessor;bundle-version="1.0.200",
- org.eclipse.ant.core;bundle-version="3.2.200",
- org.apache.ant;bundle-version="1.7.1"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.helios.tests
-Bundle-ClassPath: checkLayout.jar,
- .
diff --git a/org.eclipse.helios.tests/OSGI-INF/l10n/bundle.properties b/org.eclipse.helios.tests/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index b7a68d4..0000000
--- a/org.eclipse.helios.tests/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.helios.tests
-Bundle-Name = Releng Tests for Helios Release
-Bundle-Vendor = Eclipse Web Tools Platform Releng
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/about.html b/org.eclipse.helios.tests/about.html
deleted file mode 100644
index bcd98a8..0000000
--- a/org.eclipse.helios.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/ant.sh b/org.eclipse.helios.tests/ant.sh
deleted file mode 100644
index e032bf8..0000000
--- a/org.eclipse.helios.tests/ant.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-source helios_properties.shsource
-
-ANT_CMD="${ANT_HOME}/bin/ant"
-${ANT_HOME}/bin/ant "$@"
diff --git a/org.eclipse.helios.tests/build.properties b/org.eclipse.helios.tests/build.properties
deleted file mode 100644
index 18fb417..0000000
--- a/org.eclipse.helios.tests/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/,\
-               plugin.xml,\
-               OSGI-INF/l10n/
diff --git a/org.eclipse.helios.tests/checkLayout.jar b/org.eclipse.helios.tests/checkLayout.jar
deleted file mode 100644
index 57d5683..0000000
--- a/org.eclipse.helios.tests/checkLayout.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.helios.tests/checkLayout.jardesc b/org.eclipse.helios.tests/checkLayout.jardesc
deleted file mode 100644
index c510b07..0000000
--- a/org.eclipse.helios.tests/checkLayout.jardesc
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="WINDOWS-1252"?><jardesc>
-    <jar path="org.eclipse.helios.tests/checkLayout.jar"/>
-    <options buildIfNeeded="true" compress="false" descriptionLocation="/org.eclipse.helios.tests/checkLayout.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
-    <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
-    <selectedProjects/>
-    <manifest generateManifest="false" manifestLocation="/org.eclipse.helios.tests/META-INF/MANIFEST.MF" manifestVersion="1.0" reuseManifest="false" saveManifest="true" usesManifest="true">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
-        <file path="/org.eclipse.helios.tests/getRelengTests.sh"/>
-        <folder path="/org.eclipse.helios.tests/META-INF"/>
-        <file path="/org.eclipse.helios.tests/helios_properties.shsource"/>
-        <file path="/org.eclipse.helios.tests/checkLayoutManifest.mf"/>
-        <folder path="/org.eclipse.helios.tests/OSGI-INF"/>
-        <file path="/org.eclipse.helios.tests/verify.sh"/>
-        <file path="/org.eclipse.helios.tests/.project"/>
-        <file path="/org.eclipse.helios.tests/helios.properties"/>
-        <file path="/org.eclipse.helios.tests/cleanupBuildResults.sh"/>
-        <file path="/org.eclipse.helios.tests/runTests.xml"/>
-        <file path="/org.eclipse.helios.tests/verifydir.sh"/>
-        <file path="/org.eclipse.helios.tests/.classpath"/>
-        <file path="/org.eclipse.helios.tests/runEclipseAntRunner.sh"/>
-        <file path="/org.eclipse.helios.tests/checkLayout.jardesc"/>
-        <file path="/org.eclipse.helios.tests/invokeAntRunner.xml"/>
-        <file path="/org.eclipse.helios.tests/plugin.xml"/>
-        <file path="/org.eclipse.helios.tests/ant.sh"/>
-        <file path="/org.eclipse.helios.tests/about.html"/>
-        <javaElement handleIdentifier="=org.eclipse.helios.tests/src"/>
-    </selectedElements>
-</jardesc>
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/checkLayoutManifest.mf b/org.eclipse.helios.tests/checkLayoutManifest.mf
deleted file mode 100644
index 59499bc..0000000
--- a/org.eclipse.helios.tests/checkLayoutManifest.mf
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/org.eclipse.helios.tests/cleanupBuildResults.sh b/org.eclipse.helios.tests/cleanupBuildResults.sh
deleted file mode 100644
index eb97e98..0000000
--- a/org.eclipse.helios.tests/cleanupBuildResults.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-# small utility to remove old (temporary) builds from work area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source helios_properties.shsource
-
-# remove artifacts over n days old
-# (where hours = 24 + (n * 24), basically, so that
-# even n=0 means "1 day")
-
-# set at 10 days, under assumption that before that time,
-# artifacts will be "saved" elsewhere, if needed.
-# if more cleanup is needed, we should take time, and
-# existence of more recent builds into account, so we never
-# delete the last existing build (even if "old").
-
-ndays=1;
-artifactsDir=${BUILD_RESULTS};
-
-echo;
-echo "    Removing artifact directories older than ${ndays} days";
-echo "        (from ${artifactsDir})";
-before=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories before cleaning: ${before}";
-
-# empty directories often result from "bad builds". We remove those no matter how old
-find ${artifactsDir} -mindepth 1 -maxdepth 2 -type d -empty -exec rm -fr '{}' \;
-# now remove old ones
-find ${artifactsDir} -mindepth 1 -maxdepth 1 -type d -ctime +$ndays -execdir ${BUILD_HOME}${RELENG_TOOLS}/removeIf.sh '{}' \;
-
-after=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories after cleaning: ${after}";
-echo
diff --git a/org.eclipse.helios.tests/getRelengTests.sh b/org.eclipse.helios.tests/getRelengTests.sh
deleted file mode 100644
index 09e996e..0000000
--- a/org.eclipse.helios.tests/getRelengTests.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env bash
-
-# it is assumed we are executing this in RELENG_TESTS or the parent of RELENG_TESTS
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source helios_properties.shsource
-  
-# This script file is to help get builds started "fresh", when
-# the ${RELENG_TESTS} directory already exists on local file system.
-# While it is in the cvs repository in ${RELENG_TESTS}, it is
-# meant to be executed from the parent directory
-# of ${RELENG_TESTS} on the file system.
-
-# export is used, instead of checkout, just to avoid the CVS directories and since this code
-# for a local build, there should never be a need to check it back in to CVS.
-
-# If there is no subdirectory, try going up one directory and looking again (in case we are in it).
-if [ ! -e ${RELENG_TESTS} ]
-then
-	cd ..
-	if [ ! -e ${RELENG_TESTS} ]
-	then	
-         echo "${RELENG_TESTS} does not exist as sub directory";
-	  exit 1;
-	fi
-fi
-
-
-# make sure RELENG_TESTS has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${RELENG_TESTS}" ]
-then
-   echo "The variable RELENG_TESTS must be defined to run this script"
-   exit 1;
-fi
-echo "    removing all of ${RELENG_TESTS} ..."
-rm -fr "${RELENG_TESTS}"/*
-rm -fr "${RELENG_TESTS}"/.project
-rm -fr "${RELENG_TESTS}"/.settings
-rm -fr "${RELENG_TESTS}"/.classpath
-mkdir -p "${RELENG_TESTS}"
-
-#controltag=david_williams_tempBranch3
-controltag=HEAD
-echo "    checking out $controltag of ${RELENG_TESTS} from cvs ..."
-cvs -Q -f -d :pserver:anonymous@dev.eclipse.org:/cvsroot/callisto  export -d ${RELENG_TESTS} -r $controltag ${RELENG_TESTS}
-
-
-
-echo "    making sure releng control files are executable and have proper EOL ..."
-dos2unix ${RELENG_TESTS}/*.sh* ${RELENG_TESTS}/*.properties ${RELENG_TESTS}/*.xml >/dev/null 2>>/dev/null
-chmod +x ${RELENG_TESTS}/*.sh > /dev/null
-echo
-
-rm -fr ../tests/eclipse/dropins/${RELENG_TESTS}
-cp -r ${RELENG_TESTS} tests/eclipse/dropins/
diff --git a/org.eclipse.helios.tests/helios.properties b/org.eclipse.helios.tests/helios.properties
deleted file mode 100644
index b4af1f3..0000000
--- a/org.eclipse.helios.tests/helios.properties
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in utility scripts
-# (note: at this point, not all are necessarily used)
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/helios
-# a common variation for someone doing a local build on their own machine
-#BUILD_HOME=J:/gbuild/
-
-# on any non-production machines it is important to _not_ use eclipse.p2.mirrors=false
-# so supply BUILDER_VM_ARGS that does not include it
-#BUILDER_VM_ARGS=-vmargs -Xmx256m 
-
-# on a non-production machine, will sometimes want to tweak the BUILDER_APP_ARGS to do less, and finish faster, 
-# such as use -verifyOnly or -updateOnly
-# as well as avoid the -production flag! 
-# and possibly setup mockEmail
-#BUILDER_APP_ARGS=-noBrandingBuild -verifyOnly -updateOnly -buildModel ${BUILD_HOME}/org.eclipse.helios.build/helios.build -buildRoot ${BUILD_RESULTS} -packedStrategy copy -brandingContribution Helios -trustedContributions Eclipse,Equinox -logLevel DEBUG
-
-# SKIP_MODEL_RETRIEVE should never be set (not even to false) on production machine. 
-# You can set when testing local versions you don't want them overwritten by HEAD version.  
-# SKIP_MODEL_RETRIEVE=true
-
-
-# Ant and Java should be configured per machine, so this variable point to valid installs
-ANT_HOME=/shared/common/apache-ant-1.7.1
-#ANT_HOME=J:/work/apache-ant-1.7.0
-
-JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-JAVA_6_HOME=/shared/common/ibm-java-ppc-604
-#JAVA_5_HOME=J:/JDKs/ibm-java2-sdk-50-win-i386
-#JAVA_6_HOME=J:/JDKs/ibm-jdk-6-sr3
-
-
-
-# typically the following would not have to be changed on a local, non-production machine
-
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-RELENG_TOOLS=org.eclipse.helios.tools
-RELENG_TESTS=org.eclipse.helios.tests
-
-# platform install. One level above what will contain the 'eclipse' directory.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-# the directory that contains the eclipse executable
-ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-
-# Holds the build results
-BUILD_RESULTS=${BUILD_HOME}/aggregation
-
-
-# common location to store pre-reqs to avoid re-downloading Platforms, etc.
-PREREQS_CACHE=${BUILD_HOME}/prereqsCache
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/staging
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/helios
-
-#Note: this directory on build.eclipse.org has an alias so that
-#it is accessible as a pseudo update site via this URL: 
-#http://build.eclipse.org/helios/staging/
-
-#It can not really be used as an update site
-#as an update site, since the mirror URLs in the 
-#artifacts.jar and content.jar are set to the 
-#eventual /releases/helios. 
-#It can be used, however, to make sure categories are 
-#showing up correctly. 
diff --git a/org.eclipse.helios.tests/helios_properties.shsource b/org.eclipse.helios.tests/helios_properties.shsource
deleted file mode 100644
index ce3585d..0000000
--- a/org.eclipse.helios.tests/helios_properties.shsource
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in utility scripts
-# (note: at this point, not all are necessarily used)
-
-# the top level directory, that should "contain" all else involved with build, control and output
-export BUILD_HOME=/shared/helios
-# a common variation for someone doing a local build on their own machine
-#export BUILD_HOME=${HOME}
-
-
-RELENG_TOOLS=org.eclipse.helios.tools
-RELENG_TESTS=org.eclipse.helios.tests
-
-# platform install. One level above what will contain the 'eclipse' directory.
-export ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-export ECLIPSE_HOME=${ECLIPSE_INSTALL}/eclipse
-export ECLIPSE_INSTALL_TEST=${BUILD_HOME}/tests
-export ECLIPSE_HOME_TEST=${ECLIPSE_INSTALL_TEST}/eclipse
-
-# common location to store pre-reqs to avoid re-downloading Platforms, etc.
-export PREREQS_CACHE=${BUILD_HOME}/prereqsCache
-
-
-export ANT_HOME=/shared/common/apache-ant-1.7.1
-
-export JAVA_5_HOME=/shared/common/ibm-java2-ppc-50
-export JAVA_6_HOME=/shared/common/ibm-java-ppc-60
-
-export JAVA_HOME=${JAVA_5_HOME}
-
-export JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin/
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/staging
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/helios
-
-# Holds a list of dated directories, each with a build result
-BUILD_RESULTS=${BUILD_HOME}/aggregation
-
-#Note: this directory on build.eclipse.org has an alias so that
-#it is accessible as a pseudo update site via this URL: 
-#http://build.eclipse.org/helios/staging/
-
-#It can not really be used as an update site
-#as an update site, since the mirror URLs in the 
-#artifacts.jar and content.jar are set to the 
-#eventual /releases/helios. 
-#It can be used, however, to make sure categories are 
-#showing up correctly. 
diff --git a/org.eclipse.helios.tests/invokeAntRunner.xml b/org.eclipse.helios.tests/invokeAntRunner.xml
deleted file mode 100644
index e66a901..0000000
--- a/org.eclipse.helios.tests/invokeAntRunner.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="heliosAntRunner" basedir="." default="invokeAnt">
-	    <property
-	        environment="env" />
-	        	
-	<target name="invokeAnt">
-
-		<echo message="invoke ant runner, from ant" />
-		<exec executable="${env.ECLIPSE_HOME}/eclipse" 
-			failonerror="false" 
-			append="true">
-			<arg line="-consolelog -data ./runEclipseWorkspace -debug -nosplash --launcher.suppressErrors -vm ${env.JAVA_EXEC_DIR} -application org.eclipse.ant.core.antRunner -f runTests.xml" />
-		</exec>
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/plugin.xml b/org.eclipse.helios.tests/plugin.xml
deleted file mode 100644
index e42007e..0000000
--- a/org.eclipse.helios.tests/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.5"?>
-<plugin>
-   <extension
-         point="org.eclipse.ant.core.antTasks">
-         <antTask
-         library="checkLayout.jar"
-         name="testLayouttask"
-         class="org.eclipse.helios.tests.TestLayoutTask" />
-         
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.helios.tests/runEclipseAntRunner.sh b/org.eclipse.helios.tests/runEclipseAntRunner.sh
deleted file mode 100644
index 395b2dd..0000000
--- a/org.eclipse.helios.tests/runEclipseAntRunner.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-source helios_properties.shsource
-
-"${ECLIPSE_HOME_TEST}"/eclipse -consolelog -data ./runEclipseTests -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application org.eclipse.ant.core.antRunner -f runTests.xml "$@"
diff --git a/org.eclipse.helios.tests/runTests.xml b/org.eclipse.helios.tests/runTests.xml
deleted file mode 100644
index ff762c2..0000000
--- a/org.eclipse.helios.tests/runTests.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<project
-    name="heliosTests"
-    basedir="."
-    default="runtests">
-
-    <property name="outputDirectory" value="${basedir}" />	
-	
-    <taskdef
-        name="testLayouttask"
-        classname="org.eclipse.helios.tests.TestLayoutTask"
-        classpath="./checkLayout.jar">
-    </taskdef>
-
-    <target
-        name="runtests">
-        <echo
-            message="Running tests"/>
-
-        <!--
-            <testLayouttask
-            tempWorkingDir="/tmp/tempWorkingLocation"
-            directoryToCheck="/home/data/httpd/download.eclipse.org/eclipse/updates/3.5milestones/S-3.5RC4-200906051444/"
-            failuresoccurred="failuresoccurred" />
-        -->
-        <testLayouttask
-            tempWorkingDir="/tmp/tempWorkingLocation"
-            directoryToCheck="/home/data/httpd/download.eclipse.org/releases/staging/aggregate/"
-            outputResultsDirectory="${outputDirectory}"
-            failuresoccurred="failuresoccurred"/>
-
-        <delete
-            dir="/tmp/tempWorkingLocation"/>
-
-        <fail
-            if="failuresoccurred"/>
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/BREETest.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/BREETest.java
deleted file mode 100644
index f517604..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/BREETest.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.helios.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-
-/**
- * @since 3.3
- */
-public class BREETest {
-
-    private static final Object            PROPERTY_BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT = "Bundle-RequiredExecutionEnvironment";
-    private static final FullJarNameParser nameParser                                     = new FullJarNameParser();
-
-    public static void main(String[] args) {
-
-        BREETest testlayout = new BREETest();
-        testlayout.setDirectoryToCheck("D:\\temp\\staging\\aggregate");
-        try {
-            testlayout.testBREESettingRule();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private String directoryToCheck;
-    private String tempWorkingDir;
-    private String outputDirectory;
-
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public boolean testBREESettingRule() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String bundleDirectory = null;
-        if (property.endsWith("/")) {
-            bundleDirectory = property + "plugins";
-        }
-        else {
-            bundleDirectory = property + "/plugins";
-        }
-        File inputdir = new File(bundleDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + bundleDirectory + ") must be an existing directory.");
-        }
-
-        boolean failuresOccured;
-
-        failuresOccured = checkBundleBREE(inputdir);
-
-        return failuresOccured;
-    }
-
-    private boolean checkBundleBREE(File inputdir) throws IOException {
-        // reset/initialize errors
-        InputStream propertyStream = this.getClass().getResourceAsStream("exceptions.properties");
-        Properties breeExceptionProperties = new Properties();
-        String breeExceptions = "";
-        try {
-            breeExceptionProperties.load(propertyStream);
-            breeExceptions = breeExceptionProperties.getProperty("breeExceptions");
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (propertyStream != null) {
-                try {
-                    propertyStream.close();
-                }
-                catch (IOException e) {
-                    // would be unusual to get here?
-                    e.printStackTrace();
-                }
-            }
-        }
-// List errors = new ArrayList();
-        Map javaWithBree = new HashMap();
-        List nonjavaWithBree = new ArrayList();
-        List javaWithoutBree = new ArrayList();
-        int nonJavaNoBREE = 0;
-        boolean failuresOccured = false;
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < totalsize; i++) {
-            File child = children[i];
-            String name = child.getName();
-            // with Helios, since we have all jars on file system, in addition to pack.gz files,
-            // we do not need to check the pack.gz ones. We can assume they are idential to their .jar version.
-// if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-// child = getFileFromPACKEDJAR(child);
-// }
-// if (child != null) {
-
-            String bundleName = getBundleName(name);
-            if ((bundleName != null) && !breeExceptions.contains(bundleName)) {
-                checked++;
-                String bree = getBREEFromJAR(child);
-                if ((bree != null) && (bree.length() > 0)) {
-                    // has BREE, confirm is java file
-                    if (containsJava(child)) {
-                        incrementCounts(javaWithBree, bree);
-                    }
-                    else {
-                        trackFalseInclusions(nonjavaWithBree, child);
-                        failuresOccured = true;
-                    }
-                }
-                else {
-                    // no BREE, confirm is non-java
-                    if (containsJava(child)) {
-                        trackOmissions(javaWithoutBree, child);
-                        failuresOccured = true;
-                    }
-                    else {
-                        nonJavaNoBREE++;
-                    }
-                }
-            }
-
-        }
-        printreport(javaWithBree, nonjavaWithBree, javaWithoutBree, nonJavaNoBREE, totalsize, checked);
-
-        return failuresOccured;
-    }
-
-    private void printreport(Map javaWithBree, List nonjavaWithBree, List javaWithoutBree, int nonJavaNoBREE, int totalsize, int checked) throws IOException {
-        String outputFilename = "breedata.txt";
-
-        ReportWriter reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        try {
-            reportWriter.writeln("   Checked " + checked + " of " + totalsize + ".");
-
-            reportWriter.writeln("  Bundles with correct BREE presence");
-            reportWriter.writeln("   Java with BREE: " + totalCount(javaWithBree));
-            reportWriter.writeln("   Non Java without BREE:" + nonJavaNoBREE);
-            reportWriter.writeln();
-            reportWriter.writeln("   Distribution of BREEs in Java Bundles ");
-            Set allBREEs = javaWithBree.keySet();
-            for (Object object : allBREEs) {
-                Integer count = (Integer) javaWithBree.get(object);
-                reportWriter.writeln("   " + count.intValue() + "  " + object);
-            }
-            reportWriter.writeln();
-            reportWriter.writeln("  Bundles with incorrect BREE");
-            reportWriter.writeln();
-            reportWriter.writeln("    Java Bundles without a BREE: " + javaWithoutBree.size());
-            Collections.sort(javaWithoutBree);
-            for (Iterator iterator = javaWithoutBree.iterator(); iterator.hasNext();) {
-                Object object = iterator.next();
-                reportWriter.writeln("       " + object);
-            }
-            reportWriter.writeln();
-            reportWriter.writeln("    Non Java Bundles with a BREE: " + nonjavaWithBree.size());
-            Collections.sort(nonjavaWithBree);
-            for (Iterator iterator = nonjavaWithBree.iterator(); iterator.hasNext();) {
-                Object object = iterator.next();
-                reportWriter.writeln("       " + object);
-            }
-        }
-        finally {
-            reportWriter.close();
-        }
-    }
-
-    public String getOutputDirectory() {
-        if (outputDirectory == null) {
-            outputDirectory = System.getProperty("user.dir");
-        }
-        return outputDirectory;
-    }
-
-    private int totalCount(Map javaWithBree) {
-
-        Collection allCounts = javaWithBree.values();
-        int total = 0;
-        for (Iterator iterator = allCounts.iterator(); iterator.hasNext();) {
-            Integer count = (Integer) iterator.next();
-            total = total + count.intValue();
-        }
-        return total;
-    }
-
-    private void trackOmissions(List javaWithoutBree, File child) {
-        javaWithoutBree.add(child.getName());
-
-    }
-
-    private void trackFalseInclusions(List list, File child) {
-        list.add(child.getName());
-
-    }
-
-    private void incrementCounts(Map breeMap, String bree) {
-        Integer count = (Integer) breeMap.get(bree);
-        if (count == null) {
-            breeMap.put(bree, new Integer(1));
-        }
-        else {
-            breeMap.put(bree, increment(count));
-        }
-
-    }
-
-    private Integer increment(Integer count) {
-        return new Integer(count.intValue() + 1);
-    }
-
-    private boolean containsJava(File jarfile) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(jarfile, false, ZipFile.OPEN_READ);
-            Enumeration<JarEntry> entries = jar.entries();
-            while (entries.hasMoreElements()) {
-                JarEntry entry = entries.nextElement();
-                if (entry.getName().endsWith(".class")) {
-                    containsJava = true;
-                    break;
-                }
-                else if (entry.getName().endsWith(".jar")) {
-                    InputStream input = jar.getInputStream(entry);
-                    if (containsJava(input)) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            System.out.println(e.getMessage());
-        }
-        finally {
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private boolean containsJava(InputStream input) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-
-        try {
-            JarInputStream jarInputStream = new JarInputStream(input);
-            while (jarInputStream.available() > 0) {
-                ZipEntry entry = jarInputStream.getNextEntry();
-                if (entry != null) {
-                    if (entry.getName().endsWith(".class")) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private String getBundleName(String fullname) {
-        String result = null;
-        boolean parsable = nameParser.parse(fullname);
-        if (parsable) {
-            result = nameParser.getProjectString();
-        }
-        return result;
-    }
-
-    /*
-     * Return the bundle id from the manifest pointed to by the given input
-     * stream.
-     */
-    private String getBREEFromManifest(InputStream input, String path) {
-        String bree = null;
-        try {
-            Map attributes = ManifestElement.parseBundleManifest(input, null);
-            bree = (String) attributes.get(PROPERTY_BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT);
-        }
-        catch (BundleException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-
-        return bree;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    File getFileFromPACKEDJAR(File file) {
-// String id = null;
-// JarFile jar = null;
-        File tmpjar = null;
-        try {
-            JarProcessor jarprocessor = JarProcessor.getUnpackProcessor(null);
-            jarprocessor.setWorkingDirectory(getTempWorkingDir());
-            tmpjar = jarprocessor.processJar(file);
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        return tmpjar;
-    }
-
-    public String getTempWorkingDir() {
-        return tempWorkingDir;
-    }
-
-    public void setTempWorkingDir(String tempWorkingDir) {
-        this.tempWorkingDir = tempWorkingDir;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private String getBREEFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-            if (entry == null) {
-                // addError("Bundle does not contain a MANIFEST.MF file: " +
-                // file.getAbsolutePath());
-                return null;
-            }
-            input = jar.getInputStream(entry);
-            return getBREEFromManifest(input, file.getAbsolutePath());
-        }
-        catch (IOException e) {
-            System.out.println(e.getMessage());
-            // addError(e.getMessage());
-            return null;
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/FeatureNameLengths.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/FeatureNameLengths.java
deleted file mode 100644
index 921ca88..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/FeatureNameLengths.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.helios.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-public class FeatureNameLengths {
-
-    private String inputFileName = "/home/davidw/temp/indigoFeatures.txt";
-    private Map    distribution  = null;
-
-    public static <T extends Comparable<? super T>> List<T> asSortedList(Collection<T> c) {
-        List<T> list = new ArrayList<T>(c);
-        java.util.Collections.sort(list);
-        return list;
-    }
-
-    public static void main(String[] args) {
-
-        try {
-            new FeatureNameLengths().analyze(args);
-        }
-        catch (FileNotFoundException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private void analyze(String[] args) throws IOException {
-        distribution = new HashMap<Integer, Integer>();
-        File inputFile = new File(inputFileName);
-        Reader inputReader = new FileReader(inputFile);
-        BufferedReader input = new BufferedReader(inputReader);
-        String line = null;
-        // should this be 'if' or 'while'
-        if (inputReader.ready()) {
-            line = input.readLine();
-            while (line != null) {
-                // ignore if length is zero (just empty line in input file, not feature name)
-                if (line.length() > 0) {
-                    //System.out.println(line.length());
-                    tabulate(line.length());
-                }
-                line = input.readLine();
-            }
-        }
-        printReport();
-    }
-
-    private void printReport() {
-        Integer total = new Integer(0);
-        System.out.println("Distribution of line lengths in " + inputFileName);
-        Set keys = distribution.keySet();
-        List<Integer> list = asSortedList(keys);
-        for (Iterator iterator = list.iterator(); iterator.hasNext();) {
-            Integer category = (Integer) iterator.next();
-            Integer count = (Integer) distribution.get(category);
-            System.out.println("\t" + category + "\t" + count);
-            total = total + count;
-        }
-        System.out.println("\nTotal lines (features): " + total);
-
-    }
-
-    private void tabulate(int length) {
-        Integer category = new Integer(length);
-        Integer count = (Integer) distribution.get(category);
-        if (count == null) {
-            // our first occurance
-            count = new Integer(1);
-        }
-        else {
-            count = count + 1;
-        }
-        distribution.put(category, count);
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/FullJarNameParser.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/FullJarNameParser.java
deleted file mode 100644
index ffc0031..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/FullJarNameParser.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.helios.tests;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-class FullJarNameParser {
-
-	private static final boolean DEBUG = false;
-	// simplified pattern: (ID) '_' (N '.' M '.' O '.' S) '.jar'
-	private String START_GROUP = "(";
-	private String END_GROUP = ")";
-	private String UNDERSCORE = "_";
-	private String BACKSLASH = "\\";
-	private String LITERAL_PERIOD = BACKSLASH + ".";
-	private String ANYDIGITS = BACKSLASH + "d" + "*";
-	private String ANY = ".*";
-	private Pattern pattern = Pattern.compile(START_GROUP + ANY + END_GROUP + UNDERSCORE + START_GROUP + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + START_GROUP + LITERAL_PERIOD + ANY + END_GROUP + "?" + END_GROUP);
-
-	private String projectString;
-	private String versionString;
-
-
-
-	public FullJarNameParser() {
-		super();
-	}
-
-	public boolean parse(String line) {
-		boolean result = false;
-		projectString = "";
-		versionString = "";
-		Matcher matcher = pattern.matcher(line);
-
-		if (!matcher.matches()) {
-			result = false;
-			if (DEBUG) {
-				System.out.println();
-				System.out.println("\tthe line did not match parse rule: ");
-				System.out.println("\t" + line);
-				System.out.println();
-			}
-		}
-		else {
-			projectString = matcher.group(1);
-			versionString = matcher.group(2);
-			result = true;
-			if (DEBUG) {
-				System.out.println(projectString);
-				System.out.println(versionString);
-				System.out.println();
-			}
-		}
-		return result;
-	}
-
-
-	public String getProjectString() {
-		return projectString;
-	}
-
-
-
-	public String getVersionString() {
-		return versionString;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/JARFileNameFilter.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/JARFileNameFilter.java
deleted file mode 100644
index 3bffa4b..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/JARFileNameFilter.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.helios.tests;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-class JARFileNameFilter implements FilenameFilter {
-    private static final String EXTENSION_JAR = ".jar";
-
-    public boolean accept(File dir, String name) {
-        return name.endsWith(EXTENSION_JAR);
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/Pack200Test.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/Pack200Test.java
deleted file mode 100644
index f2905d5..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/Pack200Test.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.helios.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.apache.tools.ant.BuildException;
-
-/**
- * @since 3.3
- */
-public class Pack200Test {
-
-    private static final String EXTENSION_JAR        = ".jar";
-    private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-    private FullJarNameParser   nameParser           = new FullJarNameParser();
-    private String              outputDirectory;
-
-    public static void main(String[] args) {
-
-        Pack200Test testlayout = new Pack200Test();
-        testlayout.setDirectoryToCheck("D:\\temp\\staging\\aggregate");
-        try {
-            testlayout.testBundlePack();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private String directoryToCheck;
-
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public boolean testBundlePack() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-
-        String bundleDirectory = null;
-        if (property.endsWith("/")) {
-            bundleDirectory = property + "plugins";
-        }
-        else {
-            bundleDirectory = property + "/plugins";
-        }
-        File inputdir = new File(bundleDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + bundleDirectory + ") must be an existing directory.");
-        }
-        boolean failuresOccured = checkFilesPacked(inputdir);
-        return failuresOccured;
-    }
-
-    private boolean checkFilesPacked(File inputdir) throws IOException {
-        // reset/initialize errors
-        List errors = new ArrayList();
-        boolean failuresOccured = false;
-        File[] jarchildren = inputdir.listFiles(new JARFileNameFilter());
-        File[] packedchildren = inputdir.listFiles(new PackGzFileNameFilter());
-        File[] nopackedFile = nopackedFile(jarchildren, packedchildren);
-        int totalsize = nopackedFile.length;
-        int checked = 0;
-        for (int i = 0; i < totalsize; i++) {
-            File child = nopackedFile[i];
-            String name = child.getName();
-            // assume directory if not file
-            if (child.isFile()) {
-                checked++;
-
-                String basicName = getBasicName(name, EXTENSION_JAR);
-                boolean valid = nameParser.parse(basicName);
-// String bundlename = basicName;
-                if (!valid) {
-                    errors.add(name + " does not have a valid version (it is unparsable)");
-                }
-                else {
-                    if (containsJava(child)) {
-// bundlename = nameParser.getProjectString();
-                        errors.add(name + " contains java but is not packed");
-                    }
-                }
-
-            }
-
-        }
-        printSummary(errors, jarchildren, packedchildren, totalsize, checked);
-        if (errors.size() > 0) {
-            failuresOccured = true;
-        }
-        return failuresOccured;
-    }
-
-    private void printSummary(List errors, File[] jarchildren, File[] packedchildren, int totalsize, int checked) throws IOException {
-        String outputFilename = "pack200data.txt";
-
-        ReportWriter reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        try {
-            reportWriter.writeln(" Check of packed and not packed bundles.");
-            reportWriter.writeln("   Number of jar files " + jarchildren.length);
-            reportWriter.writeln("   Number of pack.gz files " + packedchildren.length);
-            reportWriter.writeln("   Difference, number of jar files to check: " + (jarchildren.length - packedchildren.length));
-            reportWriter.writeln("   Checked " + checked + " of " + totalsize + ".");
-            reportWriter.writeln("   Errors found: " + errors.size());
-
-            if (errors.size() > 0) {
-                Collections.sort(errors);
-                for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                    reportWriter.writeln(iter.next());
-                }
-            }
-        }
-        finally {
-            reportWriter.close();
-        }
-    }
-
-    private File[] nopackedFile(File[] jarchildren, File[] packedchildren) {
-        ArrayList results = new ArrayList();
-        for (int i = 0; i < jarchildren.length; i++) {
-            File file = jarchildren[i];
-            if (!contains(packedchildren, file)) {
-                results.add(file);
-            }
-        }
-        File[] fileArray = new File[results.size()];
-        int i = 0;
-        for (Iterator iterator = results.iterator(); iterator.hasNext();) {
-            fileArray[i++] = (File) iterator.next();
-        }
-        return fileArray;
-    }
-
-    private boolean contains(File[] packedchildren, File file) {
-        boolean result = false;
-        for (int i = 0; i < packedchildren.length; i++) {
-            if (getBasicName(packedchildren[i].getName(), EXTENSION_PACEKD_JAR).equals(getBasicName(file.getName(), EXTENSION_JAR))) {
-                result = true;
-                break;
-            }
-        }
-        return result;
-    }
-
-    private boolean containsJava(File jarfile) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(jarfile, false, ZipFile.OPEN_READ);
-            Enumeration<JarEntry> entries = jar.entries();
-            while (entries.hasMoreElements()) {
-                JarEntry entry = entries.nextElement();
-                if (entry.getName().endsWith(".class")) {
-                    containsJava = true;
-                    break;
-                }
-                else if (entry.getName().endsWith(".jar")) {
-                    InputStream input = jar.getInputStream(entry);
-                    if (containsJava(input)) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private boolean containsJava(InputStream input) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-
-        try {
-            JarInputStream jarInputStream = new JarInputStream(input);
-            while (jarInputStream.available() > 0) {
-                ZipEntry entry = jarInputStream.getNextEntry();
-                if (entry != null) {
-                    if (entry.getName().endsWith(".class")) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private String getBasicName(String fullname, String extension) {
-        String result = fullname;
-        int pos = fullname.lastIndexOf(extension);
-        if (pos >= 0) {
-            result = fullname.substring(0, pos);
-        }
-        return result;
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/PackGzFileNameFilter.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/PackGzFileNameFilter.java
deleted file mode 100644
index a8e380e..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/PackGzFileNameFilter.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.helios.tests;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-class PackGzFileNameFilter implements FilenameFilter {
-    private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-
-    public boolean accept(File dir, String name) {
-        return name.endsWith(EXTENSION_PACEKD_JAR);
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/ReportWriter.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/ReportWriter.java
deleted file mode 100644
index a285a49..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/ReportWriter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.helios.tests;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-
-public class ReportWriter {
-    public ReportWriter(String outputDirectory, String outputFilename) {
-        super();
-        this.outputDirectory = outputDirectory;
-        this.outputFilename = outputFilename;
-    }
-
-    private static final String EOL = System.getProperty("line.separator", "\n");
-    private String              outputFilename;
-    private String              outputDirectory;
-
-    FileWriter                  outfilewriter;
-
-    public String getOutputFilename() {
-        return outputFilename;
-    }
-
-    public void setOutputFilename(String outputFilename) {
-        this.outputFilename = outputFilename;
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    private FileWriter getWriter() throws IOException {
-        if (outfilewriter == null) {
-            File outfile = new File(getOutputDirectory(), getOutputFilename());
-            outfilewriter = new FileWriter(outfile);
-        }
-        return outfilewriter;
-    }
-
-    public void writeln(String text) throws IOException {
-        getWriter().write(text + EOL);
-    }
-
-    public void writeln() throws IOException {
-        getWriter().write(EOL);
-    }
-
-    public void close() throws IOException {
-        if (outfilewriter != null) {
-            outfilewriter.close();
-        }
-    }
-
-    public void writeln(Object object) throws IOException {
-        writeln(object.toString());
-
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/TestLayoutTask.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/TestLayoutTask.java
deleted file mode 100644
index b4e5a6a..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/TestLayoutTask.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.helios.tests;
-
-import java.io.IOException;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-
-public class TestLayoutTask extends Task {
-
-    private String  directoryToCheck;
-    private String  tempWorkingDir;
-    private String  outputResultsDirectory;
-    private boolean failuresOccurred = false;
-
-    @Override
-    public void execute() throws BuildException {
-
-        try {
-
-            BREETest breeTest = new BREETest();
-            breeTest.setDirectoryToCheck(getDirectoryToCheck());
-            breeTest.setTempWorkingDir(getTempWorkingDir());
-            breeTest.setOutputDirectory(getOutputResultsDirectory());
-
-            boolean breeFailures = breeTest.testBREESettingRule();
-
-            if (breeFailures) {
-                setFailuresOccurred(true);
-            }
-
-
-            Pack200Test packTest = new Pack200Test();
-            packTest.setDirectoryToCheck(getDirectoryToCheck());
-            packTest.setOutputDirectory(getOutputResultsDirectory());
-            boolean packFailures = packTest.testBundlePack();
-            if (packFailures) {
-                setFailuresOccurred(true);
-            }
-
-
-            VersionTest versionTest = new VersionTest();
-            versionTest.setDirectoryToCheck(getDirectoryToCheck());
-            versionTest.setOutputDirectory(getOutputResultsDirectory());
-            boolean versionCheck = versionTest.testVersionsPatterns();
-            if (versionCheck) {
-                setFailuresOccurred(true);
-            }
-
-
-            TestLayoutTest test = new TestLayoutTest();
-            test.setDirectoryToCheck(getDirectoryToCheck());
-            test.setTempWorkingDir(getTempWorkingDir());
-            test.setOutputDirectory(getOutputResultsDirectory());
-            boolean layoutFailures = test.testLayout();
-            if (layoutFailures) {
-                setFailuresOccurred(true);
-            }
-        }
-        catch (IOException e) {
-            throw new BuildException(e);
-        }
-    }
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public String getTempWorkingDir() {
-        return tempWorkingDir;
-    }
-
-    public void setTempWorkingDir(String tempWorkingDir) {
-        this.tempWorkingDir = tempWorkingDir;
-    }
-
-    public boolean isFailuresOccurred() {
-        return failuresOccurred;
-    }
-
-    public void setFailuresOccurred(boolean failuresOccurred) {
-        this.failuresOccurred = failuresOccurred;
-    }
-
-    public String getOutputResultsDirectory() {
-        return outputResultsDirectory;
-    }
-
-    public void setOutputResultsDirectory(String outputResultsDirectory) {
-        this.outputResultsDirectory = outputResultsDirectory;
-    }
-
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/TestLayoutTest.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/TestLayoutTest.java
deleted file mode 100644
index 0b35159..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/TestLayoutTest.java
+++ /dev/null
@@ -1,771 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.helios.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.regex.PatternSyntaxException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @since 3.3
- */
-public class TestLayoutTest {
-
-    private static final String EXTENSION_JAR        = ".jar";
-    private static final String EXTENSION_PACEKD_JAR = ".pack.gz";
-    private static final String EXTENSION_ZIP        = ".zip";
-    private static final String PROPERTY_BUNDLE_ID   = "Bundle-SymbolicName";
-    private String              configFilename       = "config.properties";
-    private static final String KEY_DFT_BIN_JAR      = "default.binary.jar";
-    private static final String KEY_DFT_SRC_JAR      = "default.source.jar";
-    private static final String KEY_DFT_FEATURE      = "default.feature";
-    private Properties          config;
-    private List                errors               = new ArrayList();
-    private String              directoryToCheck;
-    private String              tempWorkingDir;
-    private String              outputDirectory;
-    private ReportWriter        reportWriter;
-
-    public static void main(String[] args) {
-
-        TestLayoutTest testlayout = new TestLayoutTest();
-        testlayout.setDirectoryToCheck("D:\\temptest");
-        testlayout.setTempWorkingDir("D:/temp");
-        try {
-            testlayout.testLayout();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private void addError(String message) {
-        errors.add(message);
-    }
-
-    public boolean testLayout() throws IOException {
-        boolean result = false;
-        try {
-            getReportWriter().writeln("Check files and layout in bundles and features.");
-            boolean featureFailures = testFeatureLayout();
-            boolean bundleFailures = testBundleLayout();
-            result = featureFailures || bundleFailures;
-        }
-        finally {
-            getReportWriter().close();
-        }
-        return result;
-    }
-
-    private boolean testBundleLayout() throws IOException {
-
-        errors = new ArrayList();
-        boolean failuresOccured = false;
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String bundleDirectory = null;
-        if (property.endsWith("/")) {
-            bundleDirectory = property + "plugins";
-        }
-        else {
-            bundleDirectory = property + "/plugins";
-        }
-        File inputdir = new File(bundleDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + bundleDirectory + ") must be an existing directory.");
-        }
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < children.length; i++) {
-            File child = children[i];
-            String id = getBundleId(child);
-            if (id != null) {
-                if (id.endsWith(".source") || id.endsWith(".infopop") || id.endsWith(".doc.user") || id.endsWith(".doc") || id.endsWith(".doc.isv") || id.endsWith(".doc.dev") || id.endsWith(".doc.api") || id.endsWith("standard.schemas") || id.endsWith(".branding")) {
-                    processBundle(child, getExpected(id, true));
-                    checked++;
-                }
-                else {
-                    processBundle(child, getExpected(id, false));
-                    checked++;
-                }
-            }
-
-        }
-        getReportWriter().writeln();
-        getReportWriter().writeln("   Checking: " + bundleDirectory);
-        getReportWriter().writeln("   Checked " + checked + " of " + totalsize + ".");
-        getReportWriter().writeln("   Errors found: " + errors.size());
-
-        if (errors.size() > 0) {
-            Collections.sort(errors);
-            for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                getReportWriter().writeln(iter.next());
-            }
-            failuresOccured = true;
-        }
-        return failuresOccured;
-    }
-
-    /*
-     * Check the configuration file and return a set of regular expressions
-     * which match the list of files that are expected to be in the bundle.
-     */
-    private Set getExpected(String id, boolean source) {
-        // is the config cached?
-        if (config == null) {
-            getConfig();
-        }
-        String line = config.getProperty(id);
-        if (line == null) {
-            if (source) {
-                line = config.getProperty(KEY_DFT_SRC_JAR);
-            }
-            else {
-                line = config.getProperty(KEY_DFT_BIN_JAR);
-            }
-        }
-        if (line == null) {
-            throw new BuildException("Unable to load settings for: " + id);
-        }
-        Set result = new HashSet();
-        for (StringTokenizer tokenizer = new StringTokenizer(line, ","); tokenizer.hasMoreTokens();) {
-            result.add(tokenizer.nextToken().trim());
-        }
-        return result;
-    }
-
-    private Set getFeatureExpected(String id, boolean source, boolean zip) {
-        // is the config cached?
-        if (config == null) {
-            getConfig();
-        }
-        String line = config.getProperty(id);
-        if (line == null) {
-            line = config.getProperty(KEY_DFT_FEATURE);
-        }
-        if (line == null) {
-            throw new BuildException("Unable to load settings for: " + id);
-        }
-        Set result = new HashSet();
-        for (StringTokenizer tokenizer = new StringTokenizer(line, ","); tokenizer.hasMoreTokens();) {
-            result.add(tokenizer.nextToken().trim());
-        }
-        return result;
-    }
-
-    private void getConfig() {
-        config = new Properties();
-        InputStream input = null;
-        try {
-            // if we can read this file, it's been set by caller
-            File configFile = new File(getConfigFilename());
-            if (configFile.exists()) {
-                input = new FileInputStream(configFile);
-            }
-            else {
-                // else, use the default we "ship"
-                input = this.getClass().getResourceAsStream(getConfigFilename());
-            }
-
-            if (input == null) {
-                throw new BuildException("Unable to load configuration file.");
-            }
-            config.load(input);
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            try {
-                if (input != null) {
-                    input.close();
-                }
-            }
-            catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-    /*
-     * Process the bundle at the specified location, with the given set of
-     * expected results.
-     */
-    private void processBundle(File file, Set expected) {
-        if (file.isDirectory()) {
-            String[] array = (String[]) expected.toArray(new String[expected.size()]);
-            processDir("", file, array);
-            for (int i = 0; i < array.length; i++) {
-                if (array[i] != null) {
-                    addError("Missing " + array[i] + " in dir: " + file.getAbsolutePath());
-                }
-            }
-        }
-        else {
-            processArchive(file, (String[]) expected.toArray(new String[expected.size()]));
-        }
-    }
-
-    private void processFeature(File file, Set expected) {
-        if (file.isDirectory()) {
-            String[] array = (String[]) expected.toArray(new String[expected.size()]);
-            processDir("", file, array);
-            for (int i = 0; i < array.length; i++) {
-                if (array[i] != null) {
-                    addError("Missing " + array[i] + " in dir: " + file.getAbsolutePath());
-                }
-            }
-        }
-        else {
-            processArchive(file, (String[]) expected.toArray(new String[expected.size()]));
-        }
-    }
-
-    /*
-     * The bundle is an archive. Make sure it has the right contents.
-     */
-    private void processArchive(File file, String[] expected) {
-        ZipFile zip = null;
-        try {
-            zip = new ZipFile(file, ZipFile.OPEN_READ);
-            for (Enumeration e = zip.entries(); e.hasMoreElements();) {
-                ZipEntry entry = (ZipEntry) e.nextElement();
-                String name = entry.getName();
-                for (int i = 0; i < expected.length; i++) {
-                    String pattern = expected[i];
-                    if (pattern == null) {
-                        continue;
-                    }
-                    try {
-                        if (name.matches(pattern)) {
-                            expected[i] = null;
-                        }
-                    }
-                    catch (PatternSyntaxException ex) {
-                        ex.printStackTrace();
-                    }
-                }
-            }
-            for (int i = 0; i < expected.length; i++) {
-                if (expected[i] != null) {
-                    addError("Missing " + expected[i] + " in file: " + file.getName());
-                }
-            }
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (zip != null) {
-                try {
-                    zip.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-
-    /*
-     * The bundle is in a directory.
-     */
-    private void processDir(String root, File dir, String[] expected) {
-        File[] children = dir.listFiles();
-        for (int index = 0; index < children.length; index++) {
-            File child = children[index];
-            String name = root.length() == 0 ? child.getName() : root + '/' + child.getName();
-            if (child.isDirectory()) {
-                processDir(name, child, expected);
-                continue;
-            }
-            for (int i = 0; i < expected.length; i++) {
-                String pattern = expected[i];
-                if (pattern == null) {
-                    continue;
-                }
-                try {
-                    if (name.matches(pattern)) {
-                        expected[i] = null;
-                    }
-                }
-                catch (PatternSyntaxException ex) {
-                    // ex.printStackTrace();
-                    addError(ex.getMessage());
-                    continue;
-                }
-            }
-        }
-    }
-
-    /*
-     * Return the bundle id from the manifest pointed to by the given input
-     * stream.
-     */
-    private String getBundleIdFromManifest(InputStream input, String path) {
-        String id = null;
-        try {
-            Map attributes = ManifestElement.parseBundleManifest(input, null);
-            id = (String) attributes.get(PROPERTY_BUNDLE_ID);
-            if ((id == null) || (id.length() == 0)) {
-                addError("BundleSymbolicName header not set in manifest for bundle: " + path);
-            }
-            else {
-                // identifier can be followed by attributes such as
-                // 'singleton'
-                int pos = id.indexOf(';');
-                if (pos > 0) {
-                    id = id.substring(0, pos);
-                }
-            }
-
-        }
-        catch (BundleException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-        }
-        catch (IOException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-
-        return id;
-    }
-
-    /*
-     * Return the bundle identifier for the bundle contained in the given
-     * archive/directory.
-     */
-    private String getBundleId(File file) {
-        String id = null;
-        if (file.isDirectory()) {
-            id = getBundleIdFromDir(file);
-        }
-        else if (file.getName().toLowerCase().endsWith(EXTENSION_ZIP)) {
-            id = getBundleIdFromZIP(file);
-        }
-        else if (file.getName().toLowerCase().endsWith(EXTENSION_JAR)) {
-            id = getBundleIdFromJAR(file);
-        }
-        return id;
-    }
-
-    private String getBundleIdFromZIP(File file) {
-        ZipFile zip = null;
-        try {
-            zip = new ZipFile(file);
-            for (Enumeration e = zip.entries(); e.hasMoreElements();) {
-                ZipEntry entry = (ZipEntry) e.nextElement();
-                if (entry.getName().matches("^.*/" + JarFile.MANIFEST_NAME)) {
-                    InputStream input = zip.getInputStream(entry);
-                    try {
-                        return getBundleIdFromManifest(input, file.getAbsolutePath());
-                    }
-                    finally {
-                        try {
-                            input.close();
-                        }
-                        catch (IOException ex) {
-                            // ignore
-                        }
-                    }
-                }
-            }
-        }
-        catch (IOException ex) {
-            // ex.printStackTrace();
-            addError(ex.getMessage());
-        }
-        finally {
-            try {
-                if (zip != null) {
-                    zip.close();
-                }
-            }
-            catch (IOException ex) {
-                // ignore
-            }
-        }
-        addError("Bundle manifest (MANIFEST.MF) not found in bundle: " + file.getAbsolutePath());
-        return null;
-    }
-
-    /*
-     * The given file points to an expanded bundle on disc. Look into the
-     * bundle manifest file to find the bundle identifier.
-     */
-    private String getBundleIdFromDir(File dir) {
-        String id = null;
-        File manifestFile = new File(dir, JarFile.MANIFEST_NAME);
-        if (!manifestFile.exists() || !manifestFile.isFile()) {
-            addError("Bundle manifest (MANIFEST.MF) not found at: " + manifestFile.getAbsolutePath());
-        }
-        else {
-            try {
-                id = getBundleIdFromManifest(new FileInputStream(manifestFile), manifestFile.getAbsolutePath());
-            }
-            catch (FileNotFoundException e) {
-                // e.printStackTrace();
-                addError(e.getMessage());
-            }
-        }
-        return id;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private File getFileFromPACKEDJAR(File file) {
-
-        File tmpjar = null;
-        try {
-            JarProcessor jarprocessor = JarProcessor.getUnpackProcessor(null);
-            jarprocessor.setWorkingDirectory(getTempWorkingDir());
-            tmpjar = jarprocessor.processJar(file);
-        }
-        catch (IOException e) {
-            addError(e.getMessage());
-        }
-        return tmpjar;
-    }
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public String getConfigFilename() {
-        return configFilename;
-    }
-
-    public void setConfigFilename(String configFilename) {
-        this.configFilename = configFilename;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private String getBundleIdFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-            if (entry == null) {
-                addError("Bundle does not contain a MANIFEST.MF file: " + file.getAbsolutePath());
-                return null;
-            }
-            input = jar.getInputStream(entry);
-            return getBundleIdFromManifest(input, file.getAbsolutePath());
-        }
-        catch (IOException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-            return null;
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-    public String getTempWorkingDir() {
-        return tempWorkingDir;
-    }
-
-    public void setTempWorkingDir(String tempWorkingDir) {
-        this.tempWorkingDir = tempWorkingDir;
-    }
-
-    private boolean testFeatureLayout() throws IOException {
-
-        errors = new ArrayList();
-        boolean failuresOccurred = false;
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String featureDirectory = null;
-        if (property.endsWith("/")) {
-            featureDirectory = property + "features";
-        }
-        else {
-            featureDirectory = property + "/features";
-        }
-        File inputdir = new File(featureDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("feature direcotry (" + featureDirectory + ") must be an existing directory.");
-        }
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < children.length; i++) {
-            File child = children[i];
-            if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-                child = getFileFromPACKEDJAR(child);
-            }
-            if (child != null) {
-                String id = getFeatureId(child);
-                if (id != null) {
-                    processFeature(child, getFeatureExpected(id, true, child.getName().endsWith(EXTENSION_ZIP)));
-                    checked++;
-                }
-            }
-        }
-        getReportWriter().writeln();
-        getReportWriter().writeln("   Checking: " + featureDirectory);
-        getReportWriter().writeln("   Checked " + checked + " of " + totalsize + ".");
-        getReportWriter().writeln("   Errors found: " + errors.size());
-        if (errors.size() > 0) {
-            Collections.sort(errors);
-            for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                getReportWriter().writeln(iter.next());
-            }
-            failuresOccurred = true;
-        }
-        return failuresOccurred;
-
-    }
-
-    private String getFeatureId(File file) {
-        String id = null;
-        if (file.isDirectory()) {
-            id = getFeatureIdFromDir(file);
-        }
-        else if (file.getName().toLowerCase().endsWith(EXTENSION_JAR)) {
-            id = getFeatureIdFromJAR(file);
-        }
-        return id;
-    }
-
-    private String getFeatureIdFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        String id = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry("feature.xml");
-            if (entry == null) {
-                addError("Feature jar does not contain a feature.xml file: " + file.getAbsolutePath());
-            }
-            input = jar.getInputStream(entry);
-            id = getFeatureFromFeatureXML(input);
-        }
-        catch (IOException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-        }
-        catch (ParserConfigurationException e) {
-            addError(e.getMessage());
-        }
-        catch (SAXException e) {
-            addError(e.getMessage());
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return id;
-    }
-
-    private String getFeatureIdFromDir(File dir) {
-        String id = null;
-        File featureFile = new File(dir, "feature.xml");
-        if (!featureFile.exists() || !featureFile.isFile()) {
-            addError("Feature.xml not found at: " + featureFile.getAbsolutePath());
-        }
-        else {
-            id = getFeatureFromFeatureXML(featureFile);
-        }
-        return id;
-    }
-
-    private String getFeatureFromFeatureXML(File file) {
-        Document document = getDOM(file);
-        return getFeatureIdFromDOM(document);
-    }
-
-    private String getFeatureIdFromDOM(Document document) {
-        String id = null;
-        if (document != null) {
-            NodeList featureElements = document.getElementsByTagName("feature");
-            Element featureElement = null;
-            if (featureElements.getLength() > 0) {
-                Node featureNode = featureElements.item(0);
-                if (featureNode instanceof Element) {
-                    featureElement = (Element) featureNode;
-                }
-            }
-            if (featureElement != null) {
-                NamedNodeMap aNamedNodeMap = featureElement.getAttributes();
-                Node idAttribute = aNamedNodeMap.getNamedItem("id");
-                id = idAttribute.getNodeValue();
-            }
-        }
-        return id;
-    }
-
-    private String getFeatureFromFeatureXML(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
-        Document document = getDOM(stream);
-        return getFeatureIdFromDOM(document);
-    }
-
-    private Document getDOM(File file) {
-
-        Document aDocument = null;
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new FileReader(file));
-            InputSource inputSource = new InputSource(reader);
-            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-            DocumentBuilder builder = factory.newDocumentBuilder();
-            aDocument = builder.parse(inputSource);
-        }
-        catch (SAXException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        catch (ParserConfigurationException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                }
-                catch (IOException e) {
-                    // ignore this one
-                }
-            }
-        }
-
-        if (aDocument == null) {
-            String msg = "Error: could not parse xml in classpath file: " + file.getAbsolutePath();
-            throw new BuildException(msg);
-        }
-        return aDocument;
-
-    }
-
-    private Document getDOM(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
-
-        Document aDocument = null;
-        InputSource inputSource = new InputSource(stream);
-        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        DocumentBuilder builder = factory.newDocumentBuilder();
-        aDocument = builder.parse(inputSource);
-
-        return aDocument;
-
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    public ReportWriter getReportWriter() {
-        if (reportWriter == null) {
-            String outputFilename = "layoutCheck.txt";
-            reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        }
-        return reportWriter;
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/VersionTest.java b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/VersionTest.java
deleted file mode 100644
index fbf3d29..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/VersionTest.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.helios.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tools.ant.BuildException;
-
-/**
- * @since 3.3
- */
-public class VersionTest {
-
-    private static final String EXTENSION_JAR        = ".jar";
-    private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-    private static final String EXTENSION_ZIP        = ".zip";
-    private FullJarNameParser   nameParser           = new FullJarNameParser();
-    private String              BACKSLASH            = "\\";
-    private String              LITERAL_PERIOD       = BACKSLASH + ".";
-    private String              ANY                  = ".*";
-    private Pattern             threedots            = Pattern.compile(ANY + LITERAL_PERIOD + ANY + LITERAL_PERIOD + ANY + LITERAL_PERIOD + ANY);
-    private String              outputDirectory;
-    private ReportWriter        reportWriter;
-
-    public static void main(String[] args) {
-
-        VersionTest testlayout = new VersionTest();
-        testlayout.setDirectoryToCheck("D:\\temp\\staging\\aggregate");
-        try {
-            testlayout.testFeatureVersions();
-            testlayout.testBundleVersions();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private String directoryToCheck;
-
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    private boolean testBundleVersions() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String bundleDirectory = null;
-        if (property.endsWith("/")) {
-            bundleDirectory = property + "plugins";
-        }
-        else {
-            bundleDirectory = property + "/plugins";
-        }
-        File inputdir = new File(bundleDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + bundleDirectory + ") must be an existing directory.");
-        }
-        getReportWriter().writeln(" Check for 4-part versions in Bundles");
-        boolean failuresOccured = checkFilesVersions(inputdir);
-        // assertFalse("Some bundles did not have 4 part version numbers", failuresOccured);
-        return failuresOccured;
-    }
-
-    private boolean checkFilesVersions(File inputdir) throws IOException {
-        // reset/initialize errors
-        List errors = new ArrayList();
-        boolean failuresOccured = false;
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < children.length; i++) {
-            File child = children[i];
-            String name = child.getName();
-            // assume directory if not file
-            if (child.isFile()) {
-                if (name.endsWith(EXTENSION_PACEKD_JAR)) {
-                    name = getBasicName(name, EXTENSION_PACEKD_JAR);
-                }
-                else if (name.endsWith(EXTENSION_JAR)) {
-                    name = getBasicName(name, EXTENSION_JAR);
-                }
-                else if (name.endsWith(EXTENSION_ZIP)) {
-                    name = getBasicName(name, EXTENSION_ZIP);
-                }
-            }
-            checked++;
-            boolean valid = nameParser.parse(name);
-            if (!valid) {
-                errors.add(name + " does not have a valid version (it is unparsable)");
-            }
-            else {
-                String version = nameParser.getVersionString();
-                Matcher matcher = threedots.matcher(version);
-
-                if (!matcher.matches()) {
-                    errors.add(name + " does not contain 4 parts");
-                }
-            }
-        }
-        getReportWriter().writeln("   Checked " + checked + " of " + totalsize + ".");
-        getReportWriter().writeln("   Errors found: " + errors.size());
-
-        if (errors.size() > 0) {
-            Collections.sort(errors);
-            for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                getReportWriter().writeln(iter.next());
-            }
-            failuresOccured = true;
-        }
-        return failuresOccured;
-    }
-
-    private String getBasicName(String fullname, String extension) {
-        String result = fullname;
-        int pos = fullname.lastIndexOf(extension);
-        if (pos >= 0) {
-            result = fullname.substring(0, pos);
-        }
-        return result;
-    }
-
-    public boolean testVersionsPatterns() throws IOException {
-        boolean result = false;
-        try {
-            getReportWriter().writeln("Check 4-part version patterns");
-            boolean featureFailures = testFeatureVersions();
-            boolean bundleFailures = testBundleVersions();
-            result = featureFailures || bundleFailures;
-        }
-        finally {
-            getReportWriter().close();
-        }
-        return result;
-    }
-
-    private boolean testFeatureVersions() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String featureDirectory = null;
-        if (property.endsWith("/")) {
-            featureDirectory = property + "features";
-        }
-        else {
-            featureDirectory = property + "/features";
-        }
-        File inputdir = new File(featureDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("feature direcotry (" + featureDirectory + ") must be an existing directory.");
-        }
-        getReportWriter().writeln(" Check for 4-part versions in Features");
-        boolean failuresOccured = checkFilesVersions(inputdir);
-        // assertFalse("Some features did not have 4 part version numbers", failuresOccured);
-        return failuresOccured;
-
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    public ReportWriter getReportWriter() {
-        if (reportWriter == null) {
-            String outputFilename = "versionPatternCheck.txt";
-            reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        }
-        return reportWriter;
-    }
-}
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/config.properties b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/config.properties
deleted file mode 100644
index c4b41a8..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/config.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about.
-default.source.jar = META-INF/MANIFEST\.MF, \
-		about\.html
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR
-default.binary.jar = META-INF/MANIFEST\.MF, \
-		about\.html
-
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about. Note the
-# extra directory entry at the beginning
-default.source.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR. Note the
-# extra directory entry at the beginning
-default.binary.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html
-
-
-# default layout for a feature
-default.feature = license\.html, \
-		epl-v10\.html
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/configHOLD.properties b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/configHOLD.properties
deleted file mode 100644
index 08695af..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/configHOLD.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about.
-default.source.jar = META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR
-default.binary.jar = META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties, \
-		.*\.(class|jar)$
-
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about. Note the
-# extra directory entry at the beginning
-default.source.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html, \
-		^.*/(plugin|bundle)\.properties
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR. Note the
-# extra directory entry at the beginning
-default.binary.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html, \
-		^.*/(plugin|bundle)\.properties, \
-		.*\.(class|jar)$
-
-# special case of a code bundle not containing code ?
-org.eclipse.wst.xsl.saxon= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 
-		
-# special case with no code: branding bundle
-org.eclipse.wst.xsl= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 
-		
-# special case with no code: branding bundle	
-org.eclipse.wst.common.fproj.sdk= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-
-# special case with no code: branding bundle			
-org.eclipse.jst.common.fproj.enablement.jdt.sdk= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-		
-# special case of a bundle with no code		
-org.eclipse.jst.ws.creation.ejb.ui= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-					
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/exceptions.properties b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/exceptions.properties
deleted file mode 100644
index 64c9bfc..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/exceptions.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-breeExceptions=org.eclipse.swt, \
- org.eclipse.compare.examples.xml, \
- org.eclipse.compare.examples, \
- org.eclipse.sdk.examples, \
- org.eclipse.swt.examples.browser.demos, \
- org.eclipse.swt.examples.browser, \
- org.eclipse.swt.examples.controls, \
- org.eclipse.swt.examples.launcher, \
- org.eclipse.swt.examples.layouts, \
- org.eclipse.swt.examples.ole.win32, \
- org.eclipse.swt.examples.paint, \
- org.eclipse.swt.examples, \
- org.eclipse.team.examples.filesystem, \
- org.eclipse.ui.examples.javaeditor, \
- org.eclipse.compare.examples.xml, \
- org.eclipse.compare.examples, \
- org.eclipse.sdk.examples, \
- org.eclipse.swt.examples.browser.demos, \
- org.eclipse.swt.examples.browser, \
- org.eclipse.swt.examples.controls, \
- org.eclipse.swt.examples.launcher, \
- org.eclipse.swt.examples.layouts, \
- org.eclipse.swt.examples.ole.win32, \
- org.eclipse.swt.examples.paint, \
- org.eclipse.swt.examples, \
- org.eclipse.team.examples.filesystem, \
- org.eclipse.ui.examples.javaeditor, \
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/dist323.txt b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/dist323.txt
deleted file mode 100644
index a43a101..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/dist323.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/features323.txt
-       66     2
-       67     1
-       68     1
-       69     1
-       71     2
-       73     3
-       74     5
-       75     6
-       76     4
-       77     3
-       78     7
-       79     8
-       80     5
-       81     7
-       82     7
-       83     5
-       84     2
-       85     4
-       86     5
-       87     3
-       88     5
-       89     2
-       90     1
-       92     3
-       93     1
-       94     2
-       105    1
-       
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/dist324.txt b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/dist324.txt
deleted file mode 100644
index 4f08862..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/dist324.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/features324.txt
-       65     1
-       66     1
-       67     1
-       68     1
-       69     1
-       71     1
-       72     2
-       73     2
-       74     5
-       75     5
-       76     3
-       77     3
-       78     5
-       79     3
-       80     1
-       81     4
-       82     5
-       83     6
-       84     2
-       85     2
-       86     2
-       87     2
-       88     3
-       89     2
-       90     2
-       91     6
-       92     4
-       93     2
-       94     3
-       95     2
-       96     3
-       97     3
-       98     4
-       99     1
-       101    1
-       103    1
-       107    1
-
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/heliosSR2.txt b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/heliosSR2.txt
deleted file mode 100644
index b64d31a..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/heliosSR2.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/heliosSR2.txt
-       27     2
-       38     3
-       40     3
-       41     3
-       42     7
-       43     3
-       44     18
-       45     12
-       46     8
-       47     18
-       48     26
-       49     10
-       50     9
-       51     23
-       52     21
-       53     18
-       54     20
-       55     16
-       56     13
-       57     16
-       58     17
-       59     15
-       60     12
-       61     15
-       62     11
-       63     11
-       64     10
-       65     6
-       66     7
-       67     12
-       68     10
-       69     15
-       70     8
-       71     16
-       72     10
-       73     11
-       74     8
-       75     9
-       76     13
-       77     13
-       78     16
-       79     13
-       80     8
-       81     13
-       82     8
-       83     13
-       84     8
-       85     11
-       86     5
-       87     9
-       88     6
-       89     6
-       90     4
-       91     5
-       93     4
-       94     5
-       95     7
-       96     4
-       97     3
-       98     5
-       100    2
-       101    3
-       102    5
-       104    1
-       105    2
-       109    1
-       112    1
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/indigoM6ish.txt b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/indigoM6ish.txt
deleted file mode 100644
index 934865e..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/featureDirectoryNameDistributions/indigoM6ish.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/indigoFeatures.txt
-       27     2
-       38     3
-       40     5
-       41     3
-       42     9
-       43     5
-       44     24
-       45     14
-       46     9
-       47     26
-       48     33
-       49     20
-       50     16
-       51     28
-       52     26
-       53     23
-       54     26
-       55     25
-       56     20
-       57     29
-       58     19
-       59     24
-       60     16
-       61     17
-       62     16
-       63     11
-       64     15
-       65     10
-       66     10
-       67     10
-       68     10
-       69     17
-       70     3
-       71     7
-       72     12
-       73     8
-       74     6
-       75     6
-       76     10
-       77     4
-       78     5
-       79     8
-       80     7
-       81     5
-       82     7
-       83     10
-       84     6
-       85     6
-       86     6
-       87     6
-       88     4
-       89     6
-       90     5
-       91     4
-       92     2
-       93     4
-       94     5
-       95     8
-       96     6
-       97     4
-       98     5
-       99     2
-       100    2
-       101    4
-       102    6
-       103    1
-       104    2
-       105    2
-       108    1
-       109    1
-       112    1
-       
\ No newline at end of file
diff --git a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/standard.properties b/org.eclipse.helios.tests/src/org/eclipse/helios/tests/standard.properties
deleted file mode 100644
index 9192989..0000000
--- a/org.eclipse.helios.tests/src/org/eclipse/helios/tests/standard.properties
+++ /dev/null
@@ -1,123 +0,0 @@
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
diff --git a/org.eclipse.helios.tests/verify.sh b/org.eclipse.helios.tests/verify.sh
deleted file mode 100644
index 665ecf3..0000000
--- a/org.eclipse.helios.tests/verify.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-# echo 
-# echo $(basename $1
-filename="${1}"
-jarname=$(basename "${filename}")
-
-export JAVA_HOME=/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386
-
-
-if [[ -z $VERIFYOUTDIR ]] 
-then
-    VERIFYOUTDIR="${HOME}"/verifyoutput
-fi
-PPAT_PACKGZ="(.*).pack.gz$"
-if [[ "$jarname" =~  $PPAT_PACKGZ ]]
-then 
-    basejarname=${BASH_REMATCH[1]}
-    #echo -e "\n basejarname: " $basejarname "\n"
-    $JAVA_HOME/jre/bin/unpack200 $filename /tmp/$basejarname
-    #unpack200 $filename /tmp/$basejarname
-    vresult=`$JAVA_HOME/bin/jarsigner -verify /tmp/$basejarname`
-    exitcode=$?
-    rm /tmp/$basejarname
-else
-    #echo -e "\n filename: " $filename "\n"
-    vresult=`$JAVA_HOME/bin/jarsigner -verify $filename`
-    exitcode=$?
-fi
-
-PPAT_VERIFIED="^jar\ verified.*"
-PPAT_UNSIGNED="^jar is unsigned.*"
-PPAT_NOMANIFEST="^no manifest.*"
-if [[ "${vresult}" =~ $PPAT_VERIFIED ]]
-then
-    printf '%-100s \t\t' "   ${jarname}: " >> "${VERIFYOUTDIR}"/verified.txt 
-    printf '%s\n' " ${vresult} " >> "${VERIFYOUTDIR}"/verified.txt
-elif [[ "${vresult}" =~ $PPAT_UNSIGNED ]]
-then
-
-# purposely no line delimiter, so output of jarsigner is on same line
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${VERIFYOUTDIR}"/unsigned.txt 
-    printf '%s\n' " ${vresult} "  >> "${VERIFYOUTDIR}"/unsigned.txt 
-elif [[ "${vresult}" =~ PPAT_NOMANIFEST ]]
-then
-
-# purposely no line delimiter, so output of jarsigner is on same line
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${VERIFYOUTDIR}"/nomanifest.txt 
-    printf '%s\n' " ${vresult} "  >> "${VERIFYOUTDIR}"/nomanifest.txt 
-
-else 
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${VERIFYOUTDIR}"/error.txt 
-    printf '%s\n' " ${vresult} "  >> "${VERIFYOUTDIR}"/error.txt 
-fi
- 
-if [[ $exitcode -gt 0 ]]
-then
-
-    echo -e "\n exitcode: " $exitcode: $(basename $filename)" \n"  >> "${VERIFYOUTDIR}"/errorexit.txt  
-fi
-
-
diff --git a/org.eclipse.helios.tests/verifydir.sh b/org.eclipse.helios.tests/verifydir.sh
deleted file mode 100644
index 44851b8..0000000
--- a/org.eclipse.helios.tests/verifydir.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-
-if [ -z $1 ]
-then
-    loc=./
-else
-    loc=${1}
-fi
-if [ -z $2 ]
-then
-    pat=".*\(\.jar$\|\.jar\.pack\.gz$\)"
-else
-    pat="${2}"
-fi
-
-# VERIFYOUTDIR is used in 'verify.sh' and must be clean before
-# beginning
-export VERIFYOUTDIR="${HOME}"/verifyoutdir
-
-# make, in case doesn't exist
-mkdir -p "${VERIFYOUTDIR}"
-
-# even though we just set it above, include the if check 
-# here to gaurd against future errors, since if 'verfiyoutdir' is 
-# not defined, the remove if for the root directory! 
-if [[ -n "${VERIFYOUTDIR}" ]]
-then 
-       rm -fr "${VERIFYOUTDIR}"/*
-fi
-
-echo "   verify directory: ${loc}";
-echo "      for pattern:    ${pat}";
-echo "   output files in " "${VERIFYOUTDIR}" 
-
-find "${loc}" -regex "${pat}" -exec verify.sh '{}' \;
-
diff --git a/org.eclipse.helios.tools/.classpath b/org.eclipse.helios.tools/.classpath
deleted file mode 100644
index c835067..0000000
--- a/org.eclipse.helios.tools/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.helios.tools/.project b/org.eclipse.helios.tools/.project
deleted file mode 100644
index f8777e9..0000000
--- a/org.eclipse.helios.tools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.helios.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-       <buildSpec>
-              <buildCommand>
-                     <name>org.eclipse.jdt.core.javabuilder</name>
-                     <arguments>
-                     </arguments>
-              </buildCommand>
-              <buildCommand>
-                     <name>org.eclipse.pde.ManifestBuilder</name>
-                     <arguments>
-                     </arguments>
-              </buildCommand>
-              <buildCommand>
-                     <name>org.eclipse.pde.SchemaBuilder</name>
-                     <arguments>
-                     </arguments>
-              </buildCommand>
-       </buildSpec>
-       <natures>
-              <nature>org.eclipse.jdt.core.javanature</nature>
-              <nature>org.eclipse.pde.PluginNature</nature>
-       </natures>
-</projectDescription>
diff --git a/org.eclipse.helios.tools/.settings/org.eclipse.core.resources.prefs b/org.eclipse.helios.tools/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 567a3a5..0000000
--- a/org.eclipse.helios.tools/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Apr 18 18:20:52 EDT 2009
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.helios.tools/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.helios.tools/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5b5dd53..0000000
--- a/org.eclipse.helios.tools/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Apr 18 18:20:52 EDT 2009
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.eclipse.helios.tools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.helios.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c4b35c3..0000000
--- a/org.eclipse.helios.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Sun Jun 07 14:44:37 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.helios.tools/META-INF/MANIFEST.MF b/org.eclipse.helios.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index 4ad9cdd..0000000
--- a/org.eclipse.helios.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.helios.tools
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.helios.tools/about.html b/org.eclipse.helios.tools/about.html
deleted file mode 100644
index bcd98a8..0000000
--- a/org.eclipse.helios.tools/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/addRepoProperties-release.sh b/org.eclipse.helios.tools/addRepoProperties-release.sh
deleted file mode 100644
index c4f01aa..0000000
--- a/org.eclipse.helios.tools/addRepoProperties-release.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env bash
-
-datetimestamp=$1
-
-if [ -z $datetimestamp ] ; then
-    echo "Error: datetimestamp directory is required for this script."; 
-    exit 1;
-fi
-
-source aggr_properties.shsource
-
-APP_NAME=org.eclipse.wtp.releng.tools.addRepoProperties
-
-devworkspace="${BUILD_HOME}"/addRepoPropertiesWorkspace
-
-devJRE=${JAVA_6_HOME}/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-
-# remember, the '&' should be unescaped here ... the p2 api (or underlying xml) will escape it. 
-devArgs="$ibmDevArgs -Dp2MirrorsURL=http://www.eclipse.org/downloads/download.php?format=xml&file=/releases/helios/${datetimestamp}/aggregate/&protocol=http -DartifactRepoDirectory=/home/data/httpd/download.eclipse.org/releases/helios/${datetimestamp}/aggregate -Dp2StatsURI=http://download.eclipse.org/stats/releases/helios"
-
-echo "dev:          " $0
-echo
-echo "devworkspace: " $devworkspace
-echo
-echo "devJRE:       " $devJRE
-echo
-echo "devArgs:      " $devArgs
-echo
-echo "APP_NAME:     " $APP_NAME
-$devJRE -version
-echo
-
-${ECLIPSE_EXE}   -debug -nosplash -consolelog -console -data $devworkspace --launcher.suppressErrors -application ${APP_NAME} ${OTHER_ARGS} -vm $devJRE -vmargs $devArgs
-
diff --git a/org.eclipse.helios.tools/addRepoProperties-staging.sh b/org.eclipse.helios.tools/addRepoProperties-staging.sh
deleted file mode 100644
index 793d402..0000000
--- a/org.eclipse.helios.tools/addRepoProperties-staging.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-
-source aggr_properties.shsource
-
-APP_NAME=org.eclipse.wtp.releng.tools.addRepoProperties
-
-devworkspace="${BUILD_HOME}"/addRepoPropertiesWorkspace
-
-devJRE=${JAVA_6_HOME}/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-
-# remember, the '&' should be unescaped here ... the p2 api (or underlying xml) will escape it. 
-devArgs="$ibmDevArgs -Dp2MirrorsURL=http://www.eclipse.org/downloads/download.php?format=xml&file=/releases/maintenance/aggregate/&protocol=http -DartifactRepoDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance/aggregate/ -Dp2StatsURI=http://download.eclipse.org/stats/releases/maintenance"
-
-echo "dev:          " $0
-echo
-echo "devworkspace: " $devworkspace
-echo
-echo "devJRE:       " $devJRE
-echo
-echo "devArgs:      " $devArgs
-echo
-echo "APP_NAME:     " $APP_NAME
-$devJRE -version
-echo
-
-
-${ECLIPSE_EXE} -debug -nosplash -consolelog -console -data $devworkspace --launcher.suppressErrors -application ${APP_NAME} ${OTHER_ARGS} -vm $devJRE -vmargs $devArgs
-
diff --git a/org.eclipse.helios.tools/aggr.properties b/org.eclipse.helios.tools/aggr.properties
deleted file mode 100644
index 518080f..0000000
--- a/org.eclipse.helios.tools/aggr.properties
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in build.xml script
-
-# These values, and this file, is specific to the 
-# build.eclipse.org machine and is specified in the 
-# hudson set up that runs the build.
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/helios
-
-BUILD_TOOLS=org.eclipse.helios.tools
-BUILD_TOOLS_DIR="${BUILD_HOME}"/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.helos.build
-BUILD_MODEL_DIR="${BUILD_HOME}"/${BUILD_MODEL}
-# Java should be configured per machine, 
-# so this variable point to valid installs
-JAVA_5_HOME=/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386
-JAVA_6_HOME=/shared/webtools/apps/ibm-java-sdk-6.0-8.1-linux-i386
-
-# typically the remaining variables not have to be 
-# changed on a local, non-production machine,
-# as they just compute variables based on others
-
-# we use Java 5 by default
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# client script needs to say which to consider their eclipse home
-ECLIPSE_HOME_35=${ECLIPSE_INSTALL}/eclipse35
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME=${ECLIPSE_HOME_36}
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-HYBRID_RESULTS=${BUILD_HOME}/hybrid
-
-# These values are specific to production builds 
-# on build.eclipse.org
-# Do not use these on other machines or context. 
-# Doing to can cause email to be sent to SimRel 
-# release engineers, etc. 
-# You can use 'aggr.properties' as an example
-# to follow for values which are required. 
-
-LOG_URL=https://${hostForURL}/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-AGGREGATOR_APP_ARGS=--buildModel ${BUILD_MODEL_DIR}/helios.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --action CLEAN_BUILD --trustedContributions Eclipse,Equinox  --emailFromName HeliosAggregator --logURL ${LOG_URL} --subjectPrefix HeliosAggregation
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox 
-
-# add this to production aggregtor app args only
-# --production 
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/helios
-
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS=-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin
-
-# each machine needs valid path here
-FULL_FILENAME_35=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz
-FULL_FILENAME_36=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-SDK-3.6-linux-gtk.tar.gz
-FULL_FILENAME_361=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/eclipse-SDK-3.6.1-linux-gtk.tar.gz
-FULL_FILENAME_37M3=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M3-201010281441/eclipse-SDK-3.7M3-linux-gtk.tar.gz
-FULL_FILENAME_37M2=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M2a-201009211024/eclipse-SDK-3.7M2a-linux-gtk.tar.gz
-FULL_FILENAME_37M1=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M1-201008051700/eclipse-SDK-3.7M1-linux-gtk.tar.gz
-FULL_FILENAME=${FULL_FILENAME_361}
-
diff --git a/org.eclipse.helios.tools/aggr_properties.shsource b/org.eclipse.helios.tools/aggr_properties.shsource
deleted file mode 100644
index c1d4262..0000000
--- a/org.eclipse.helios.tools/aggr_properties.shsource
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in build.xml script
-
-# These values, and this file, is specific
-# a non-production machine
-#
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/helios
-
-BUILD_TOOLS=org.eclipse.helios.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.helios.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-
-# Java should be configured per machine,
-# so this variable point to valid installs
-JAVA_5_HOME=/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386
-JAVA_6_HOME=/shared/webtools/apps/ibm-java-sdk-6.0-8.1-linux-i386
-
-# typically the remaining variables not have to be
-# changed on a local, non-production machine,
-# as they just compute variables based on others
-
-# we use Java 5 by default
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# client script needs to say which to consider their eclipse home
-#ECLIPSE_HOME_35=${ECLIPSE_INSTALL}/eclipse35
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-#ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME=${ECLIPSE_HOME_36}
-
-#TODO
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/helios
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-HYBRID_RESULTS=${BUILD_HOME}/hybrid
-
-# These values are specific to non-production builds
-#
-#
-#
-#
-#
-#
-
-#LOG_URL=https://${hostForURL}/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-AGGREGATOR_APP_ARGS="--buildModel "${BUILD_MODEL_DIR}"/helios.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --action CLEAN_BUILD --trustedContributions Eclipse,Equinox  --emailFromName HeliosAggregator  --logURL ${LOG_URL} --subjectPrefix HeliosAggregation"
-HYBRID_APP_ARGS="--buildModel "${BUILD_MODEL_DIR}"/helios.b3aggr --buildRoot ${HYBRID_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --mavenResult --logLevel DEBUG --eclipseLogLevel INFO --action CLEAN_BUILD --emailFromName HeliosAggregator --logURL ${LOG_URL} --subjectPrefix HeliosAggregation"
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox
-
-# add this to production aggregtor app args only
-# --production
-
-
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin"
-
-# each machine needs valid path here
-FULL_FILENAME_35=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz
-FULL_FILENAME_36=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-SDK-3.6-linux-gtk.tar.gz
-FULL_FILENAME_361=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/eclipse-SDK-3.6.1-linux-gtk.tar.gz
-FULL_FILENAME_37M3=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M3-201010281441/eclipse-SDK-3.7M3-linux-gtk.tar.gz
-FULL_FILENAME_37M2=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M2a-201009211024/eclipse-SDK-3.7M2a-linux-gtk.tar.gz
-FULL_FILENAME_37M1=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M1-201008051700/eclipse-SDK-3.7M1-linux-gtk.tar.gz
-FULL_FILENAME=${FULL_FILENAME_361}
-
diff --git a/org.eclipse.helios.tools/ant.sh b/org.eclipse.helios.tools/ant.sh
deleted file mode 100644
index 24b3806..0000000
--- a/org.eclipse.helios.tools/ant.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-source aggr_properties.shsource
-
-if [ -z $ANT_HOME ] ; then
-   echo "ANT_HOME must be defined to use this script.";
-   exit 1;
-fi
-
-echo "Starting ant via shell script"
-echo "ANT_HOME: " ${ANT_HOME}
-
-ANT_CMD="${ANT_HOME}/bin/ant"
-${ANT_HOME}/bin/ant "$@" &
diff --git a/org.eclipse.helios.tools/antRunner.sh b/org.eclipse.helios.tools/antRunner.sh
deleted file mode 100644
index f0bac7e..0000000
--- a/org.eclipse.helios.tools/antRunner.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env bash
-
-source aggr_properties.shsource
-
-# specify devworkspace and JRE to use to runEclipse
-
-
-devworkspace="${BUILD_HOME}"/antRunnerWorkspace
-
-BUILDFILE=$1
-
-if [ -e $BUILDFILE ] 
-then
-    BUILDFILESTR=" -file $BUILDFILE"
-fi 
-
-# we MUST use java 5, when using process/pack artifacts! 
-devJRE=${JAVA_5_HOME}/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-devArgs=$ibmDevArgs
-
-echo dev:          $0
-echo
-echo devworkspace: $devworkspace
-echo
-echo devJRE:       $devJRE
-$devJRE -version
-echo
-
-
-
-${ECLIPSE_EXE}  -nosplash -debug -consolelog -console -data $devworkspace -application org.eclipse.ant.core.antRunner $BUILDFILESTR -vm $devJRE -vmargs $devArgs
-
-
diff --git a/org.eclipse.helios.tools/build.properties b/org.eclipse.helios.tools/build.properties
deleted file mode 100644
index 59a0f6b..0000000
--- a/org.eclipse.helios.tools/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               plugin.properties
diff --git a/org.eclipse.helios.tools/build.xml b/org.eclipse.helios.tools/build.xml
deleted file mode 100644
index e59aa0f..0000000
--- a/org.eclipse.helios.tools/build.xml
+++ /dev/null
@@ -1,488 +0,0 @@
-<project
-    name="AggregationTasks"
-    basedir="."
-    default="default">
-    <property
-        environment="env"/>
-    <!--
-        This property file name is itself a property, so it can be overridden
-        on one machine versus another. We do it this way, instead of just specifying
-        -propertyFile on command line, so that the property values can be "nested"
-        in other property values and evaluated lazily.
-    -->
-
-    <property
-        name="aggrPropertyFile"
-        value="aggr.properties"/>
-
-    <property
-        file="${aggrPropertyFile}"/>
-
-    <target
-        name="installAggregatorAndTools"
-        depends="init, savePrevious,installAggregator,installRelengTools">
-
-        <echo
-            message="Installed fresh Eclipse, Aggregator, and Tools"/>
-
-    </target>
-
-    <target
-        name="installAggregator"
-        depends="init, savePrevious">
-        <property
-            name="APP_NAME"
-            value="org.eclipse.equinox.p2.director"/>
-        <property
-            name="OTHER_ARGS_AGG"
-            value="-metadataRepository http://download.eclipse.org/modeling/emft/b3/headless-3.6/ -artifactRepository http://download.eclipse.org/modeling/emft/b3/headless-3.6/ -installIU org.eclipse.b3.aggregator.engine.feature.feature.group"/>
-        <!-- usually do not need the version, just to "get the latest" from
-            buckminster builder site -version 1.0.0.v20090415-1651 -->
-        <property
-            name="VM_ARGS"
-            value="-vmargs -Xmx256m"/>
-
-
-        <mkdir
-            dir="${ECLIPSE_HOME}"/>
-
-        <untar
-            compression="gzip"
-            overwrite="true"
-            src="${FULL_FILENAME}"
-            dest="${ECLIPSE_HOME}"/>
-
-        <!-- weird this chmod is required? probably ant bug -->
-        <chmod
-            file="${ECLIPSE_HOME}/eclipse/eclipse"
-            perm="ugo+x"
-            verbose="true"/>
-
-        <!-- and now get latest -->
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_EXEC_DIR} -application ${APP_NAME} ${OTHER_ARGS_AGG} ${VM_ARGS}"/>
-        </exec>
-    </target>
-    <target
-        name="installTests"
-        depends="init, savePreviousTest">
-        <property
-            name="APP_NAME"
-            value="org.eclipse.equinox.p2.director"/>
-
-	    	<!-- usually do not need the version, just to "get the latest" from
-	            buckminster builder site -version 1.0.0.v20090415-1651 -->
-        <property
-            name="VM_ARGS"
-            value="-vmargs -Xmx256m"/>
-
-
-        <mkdir
-            dir="${ECLIPSE_HOME_TEST}"/>
-
-        <untar
-            compression="gzip"
-            overwrite="true"
-            src="${FULL_FILENAME}"
-            dest="${ECLIPSE_HOME_TEST}"/>
-
-	        <!-- weird this chmod is required? probably ant bug -->
-        <chmod
-            file="${ECLIPSE_HOME_TEST}/eclipse/eclipse"
-            perm="ugo+x"
-            verbose="true"/>
-
-        <cvs
-            failonerror="true"
-            cvsRoot="${CVS_INFO}/cvsroot/callisto"
-            package="${RELENG_TESTS}"
-            dest="${ECLIPSE_HOME_TEST}/dropins"
-            command="export"
-            tag="HEAD"/>
-
-    </target>
-    <target
-        name="installRelengTools"
-        depends="init">
-        <property
-            name="APP_NAME"
-            value="org.eclipse.equinox.p2.director"/>
-        <property
-            name="OTHER_ARGS_TOOLS"
-            value="-metadataRepository http://download.eclipse.org/webtools/releng/repository/ -artifactRepository http://download.eclipse.org/webtools/releng/repository/ -installIU org.eclipse.wtp.releng.tools.feature.feature.group"/>
-
-        <property
-            name="VM_ARGS"
-            value="-vmargs -Xmx256m"/>
-
-        <!-- install latest -->
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_EXEC_DIR} -application ${APP_NAME} ${OTHER_ARGS_TOOLS} ${VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="getModel"
-        depends="init"
-        unless="modelRetrived">
-        <echo
-            message="  removing all of previous model project ..."/>
-        <delete
-            dir="${BUILD_MODEL_DIR}"
-            failonerror="false"/>
-        <cvs
-            failonerror="true"
-            cvsRoot="${CVS_INFO}/cvsroot/callisto"
-            package="${BUILD_MODEL}"
-            dest="${BUILD_HOME}"
-            command="export"
-            tag="HEAD"/>
-        <property
-            name="modelRetrived"
-            value="true"/>
-    </target>
-
-    <target
-        name="runBothBuilders"
-        depends="init,getModel">
-
-        <antcall
-            target="runBuckyBuild"/>
-
-        <antcall
-            target="runAggregator"/>
-
-
-
-    </target>
-    <target
-        name="runAggregator"
-        depends="init,getModel">
-        <!--
-            If not otherwise set in properties file, use these values. Note
-            the build.eclipse.org production machine must override these values for property
-            values appropriate for it.
-        -->
-
-        <property
-            name="AGGREGATOR_APP_ARGS"
-            value="-buildModel ${BUILD_MODEL_DIR}/helios.b3aggr
-            -buildRoot ${AGGREGATOR_RESULTS} -mirrorReferences -packedStrategy unpackAsSibling
-            -trustedContributions Eclipse,Equinox -logLevel DEBUG -emailFromName SimRelAggregator
-            -logURL ${logURL}"/>
-
-        <!-- Important: on any non-production machines it is important to _not_ use
-            eclipse.p2.mirrors=false, so this value should be supplied by calling script's
-            properties. Note, we include '-vmargs' here, in case there are not any. Not
-            sure if the use of -vmargs _requires_ arguments or not, but probably would.
-            note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-            (should not actually be required ... but have left note for historical reference)
-            note: rememeber that JAVA_6  should not be used for jar processor, see
-            for example, bug 244603 and bug 279596. -->
-        <property
-            name="BUILDER_VM_ARGS"
-            value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin"/>
-        <echoproperties/>
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                value="-debug"/>
-            <arg
-                value="-nosplash"/>
-            <arg
-                line="-data ${eclipseWorkspace}"/>
-            <arg
-                line="-vm ${JAVA_5_HOME}/jre/bin"/>
-            <arg
-                value="--launcher.suppressErrors"/>
-            <arg
-                line="-application org.eclipse.b3.cli.headless"/>
-            <arg
-                value="aggregate"/>
-            <arg
-                line="--buildId ${buildTimestamp}"/>
-            <arg
-                line="${AGGREGATOR_APP_ARGS}"/>
-            <arg
-                line="${BUILDER_VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="runHybrid"
-        depends="init,getModel">
-	        <!--
-	            If not otherwise set in properties file, use these values. Note
-	            the build.eclipse.org production machine must override these values for property
-	            values appropriate for it.
-	        -->
-
-        <property
-            name="HYBRID_APP_ARGS"
-            value="--buildModel ${BUILD_MODEL_DIR}/helios.b3aggr
-	            --buildRoot ${HYBRID_RESULTS} --mirrorReferences --packedStrategy unpackAsSibling
-	            --mavenResult --logLevel DEBUG --emailFromName SimRelAggregator
-	            --logURL ${logURL}"/>
-
-	        <!-- Important: on any non-production machines it is important to _not_ use
-	            eclipse.p2.mirrors=false, so this value should be supplied by calling script's
-	            properties. Note, we include '-vmargs' here, in case there are not any. Not
-	            sure if the use of -vmargs _requires_ arguments or not, but probably would.
-	            note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-	            (should not actually be required ... but have left note for historical reference)
-	            note: rememeber that JAVA_6  should not be used for jar processor, see
-	            for example, bug 244603 and bug 279596. -->
-        <property
-            name="BUILDER_VM_ARGS"
-            value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin"/>
-        <echoproperties/>
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                value="-debug"/>
-            <arg
-                value="-nosplash"/>
-            <arg
-                line="-data ${eclipseWorkspace}"/>
-            <arg
-                line="-vm ${JAVA_5_HOME}/jre/bin"/>
-            <arg
-                value="--launcher.suppressErrors"/>
-            <arg
-                line="-application org.eclipse.b3.cli.headless"/>
-            <arg
-                value="aggregate"/>
-            <arg
-                line="--buildId ${buildTimestamp}"/>
-            <arg
-                line="${HYBRID_APP_ARGS}"/>
-            <arg
-                line="${BUILDER_VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="init"
-        depends="getBuildTimestamp, getJobName, getBuildWorkarea"
-        unless="isInitialized">
-
-        <property
-            name="CVS_INFO"
-            value=":pserver:anonymous@dev.eclipse.org:"/>
-
-    	<echo message="CVS_INFO: ${CVS_INFO}" />
-    	
-       <!-- often, especially for Huson slaves, it is easiest to set hostForURL "manually" in properties or 
-       on command line, e.g. -DhostForURL=hudson ... but, if not defined yet, we'll fallback to reasonable guess -->
-        <property
-            name="hostForURL"
-            value="${HOSTNAME}"/>
-
-        <condition
-            property="logURL"
-            value="${LOG_URL}"
-            else="${hostForURL}">
-            <isset
-                property="LOG_URL"/>
-        </condition>
-        <property
-            name="eclipseWorkspace"
-            value="${buildWorkarea}/eclipseworkspace"/>
-        <property
-            name="eclipseExecutable"
-            value="${ECLIPSE_EXE}"/>
-
-        <available
-            file="${ECLIPSE_HOME}/eclipse"
-            type="dir"
-            property="eclipseExists"/>
-        <echo
-            message="aggrPropertyFile: ${aggrPropertyFile}"/>
-        <echo
-            message="buildId: ${buildTimestamp}"/>
-        <echo
-            message="user.dir: ${user.dir}"/>
-        <echo
-            message="user.home: ${user.home}"/>
-        <echo
-            message="Eclipse WORKSPACE: ${eclipseWorkspace}"/>
-        <echo
-            message="PATH: ${env.PATH}"/>
-        <echo
-            message="JAVA_HOME: ${JAVA_HOME}"/>
-        <echo
-            message="hostForURL: ${hostForURL}"/>
-        <echo
-            message="JOB_NAME: ${env.JOB_NAME}"/>
-        <echo
-            message="BUILD_NUMBER: ${env.BUILD_NUMBER}"/>
-        <echo
-            message="logURL: ${logURL}"/>
-        <echo
-            message="ECLIPSE_EXE:  ${ECLIPSE_EXE}"/>
-        <echo
-            message="AGGREGATOR_APP_ARGS: ${AGGREGATOR_APP_ARGS}"/>
-        <echo
-            message="BUILDER_VM_ARGS: ${BUILDER_VM_ARGS}"/>
-        <echoproperties/>
-        <!-- quick fail, if set up wrong -->
-        <fail
-            unless="BUILD_HOME"
-            message="BUILD_HOME must be set before running this script"/>
-
-        <!--
-            no need to initialize twice
-        -->
-        <property
-            name="isInitialized"
-            value="true"/>
-
-    </target>
-    <target
-        name="getBuildTimestamp"
-        depends="getHudsonTimestamp"
-        unless="buildTimestamp">
-        <tstamp>
-            <format
-                property="buildTimestamp"
-                pattern="yyyy-MM-dd_HH-mm-ss"
-                timezone="UTC_TIME"/>
-        </tstamp>
-        <echo
-            message="Using ant computed timestamp"/>
-    </target>
-    <target
-        name="getHudsonTimestamp"
-        depends="getCCTimestamp"
-        unless="buildTimestamp"
-        if="env.BUILD_ID">
-        <property
-            name="buildTimestamp"
-            value="${env.BUILD_ID}"/>
-        <echo
-            message="Using timestamp from Hudson Build ID"/>
-    </target>
-    <target
-        name="getCCTimestamp"
-        unless="buildTimestamp"
-        if="cctimestamp">
-        <property
-            name="buildTimestamp"
-            value="${cctimestamp}"/>
-        <echo
-            message="Using timestamp from CC time stamp"/>
-    </target>
-    <target
-        name="getJobName"
-        depends="getHudsonJobName"
-        unless="jobName">
-        <property
-            name="jobName"
-            value="localbuild"/>
-        <echo
-            message="Using default jobName: localbuild"/>
-    </target>
-    <target
-        name="getHudsonJobName"
-        depends="getCCJobName"
-        unless="jobName"
-        if="env.JOB_NAME">
-        <property
-            name="jobName"
-            value="${env.JOB_NAME}"/>
-        <echo
-            message="Using jobName from Hudson Buider: ${jobName}"/>
-    </target>
-    <target
-        name="getCCJobName"
-        unless="jobName"
-        if="projectname">
-        <property
-            name="jobName"
-            value="${projectname}"/>
-        <echo
-            message="Using jobName from CC Builder: ${jobName}"/>
-    </target>
-    <target
-        name="getBuildWorkarea"
-        depends="getJobName, getHudsonBuildWorkarea"
-        unless="buildWorkarea">
-        <property
-            name="buildWorkarea"
-            value="${basedir}"/>
-        <echo
-            message="Using default buildWorkarea: ${buildWorkarea}"/>
-    </target>
-    <target
-        name="getHudsonBuildWorkarea"
-        depends="getCCBuildWorkarea"
-        unless="buildWorkarea"
-        if="env.HUDSON_HOME">
-    	<!-- by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-    	it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-    	on production machine, set it to /shared  -->
-    	 <property 
-    	 	name="jobsHome"
-    	 	value="${env.HUDSON_HOME}" />
-        <property
-            name="buildWorkarea"
-            value="${jobsHome}/jobs/${jobName}/builds/${buildTimestamp}"/>
-        <echo
-            message="Using buildWorkarea from Hudson Builder: ${buildWorkarea}"/>
-    </target>
-    <target
-        name="getCCBuildWorkarea"
-        unless="buildWorkarea"
-        if="env.PROJECT_PROJECTS">
-        <property
-            name="buildWorkarea"
-            value="${env.PROJECT_PROJECTS}/${jobName}/${buildTimestamp}"/>
-        <echo
-            message="Using buildWorkarea from CC Builder: ${buildWorkarea}"/>
-    </target>
-
-    <target
-        name="savePrevious"
-        depends="init"
-        if="eclipseExists">
-        <!-- remember, old ones have to be maually cleaned up, from time to time -->
-        <move
-            todir="${ECLIPSE_HOME}/eclipse${buildTimestamp}">
-            <fileset
-                dir="${ECLIPSE_HOME}/eclipse"/>
-        </move>
-
-    </target>
-
-    <target
-        name="savePreviousTest"
-        depends="init"
-        if="eclipseTestExists">
-	        <!-- remember, old ones have to be maually cleaned up, from time to time -->
-        <move
-            todir="${ECLIPSE_HOME_TEST}/eclipse${buildTimestamp}">
-            <fileset
-                dir="${ECLIPSE_HOME_TEST}/eclipse"/>
-        </move>
-
-    </target>
-
-
-    <target
-        name="default">
-        <echo
-            message="There is no default target for this build file"/>
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.bootstrap releng files/config.xml b/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.bootstrap releng files/config.xml
deleted file mode 100644
index d006239..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.bootstrap releng files/config.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This manual-only job will get the latest (HEAD) version of org.eclipse.helios.tools, which contains the build.xml file that controls the other jobs. </description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Run.Update:david_williams</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Build:david_williams</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Configure:david_williams</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Run.Delete:david_williams</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:david_williams</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Delete:david_williams</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Shell>
-      <command>/shared/helios/org.eclipse.helios.tools/getRelengTools.sh</command>
-    </hudson.tasks.Shell>
-  </builders>
-  <publishers/>
-  <buildWrappers/>
-  <customWorkspace>/shared/helios/org.eclipse.helios.tools/</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.bootstrap releng files/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.bootstrap releng files/nextBuildNumber
deleted file mode 100644
index 98d9bcb..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.bootstrap releng files/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-17
diff --git a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.runBuckyBuild/config.xml b/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.runBuckyBuild/config.xml
deleted file mode 100644
index 2d4b074..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.runBuckyBuild/config.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job gets the latest contributions from helios build files (from HEAD) and invokes the Buckminster based builder. &#xd;
-Results can be seen in &#xd;
-http://build.eclipse.org/helios/buildresults/&#xd;
-and a peek at update site categories can be seen at &#xd;
-http://build.eclipse.org/helios/buildresults/final&#xd;
-</description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Build:gobrien</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:gobrien</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:gobrien</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.CVSSCM">
-    <cvsroot>:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto</cvsroot>
-    <module>org.eclipse.helios.build</module>
-    <canUseUpdate>true</canUseUpdate>
-    <flatten>true</flatten>
-    <isTag>false</isTag>
-    <excludedRegions></excludedRegions>
-  </scm>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>false</disabled>
-  <jdk>Java 6.0 SR4</jdk>
-  <triggers class="vector">
-    <hudson.triggers.SCMTrigger>
-      <spec># every 15 mins past the hour 
-0 * * * *
-15 * * * *
-30 * * * *
-45 * * * *
-</spec>
-    </hudson.triggers.SCMTrigger>
-    <com.progress.hudson.ScheduleFailedBuildsTrigger>
-      <spec>* * * * *</spec>
-    </com.progress.hudson.ScheduleFailedBuildsTrigger>
-  </triggers>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>runBuckyBuild</targets>
-      <antName>Ant 1.7.1</antName>
-      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.runBuckyBuild/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.runBuckyBuild/nextBuildNumber
deleted file mode 100644
index 84df352..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.runBuckyBuild/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-87
diff --git a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.updateBuckyBuilder/config.xml b/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.updateBuckyBuilder/config.xml
deleted file mode 100644
index d3ae528..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.updateBuckyBuilder/config.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job pulls the latest version of the buckminster helios builder from it&apos;s update site. It should not have to be ran very often. </description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Run.Update:gobrien</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Build:gobrien</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:gobrien</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:gobrien</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:gobrien</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Delete:gobrien</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>false</disabled>
-  <jdk>Base Java 6.0 Installation (/shared/common)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>updateBuckyBuilder</targets>
-      <antName>Ant 1.7.1</antName>
-      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers/>
-  <buildWrappers/>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.updateBuckyBuilder/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.updateBuckyBuilder/nextBuildNumber
deleted file mode 100644
index e85087a..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/buckyBuilder/helios.updateBuckyBuilder/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-31
diff --git a/org.eclipse.helios.tools/hudsonconfig/description.txt b/org.eclipse.helios.tools/hudsonconfig/description.txt
deleted file mode 100644
index eca3736..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/description.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This directory contains some config files from the build.eclipse.org hudson server. 
-
-They are not necessarily up to date, I just put some copies here to have some long term record of a copy.
-
-Update: the config.xml files are the final versions in use for Helios SR2, and are captured here, 
-as I'm going to ask the jobs to be removed soon. 
-
diff --git a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.bootstrapRelengFiles/config.xml b/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.bootstrapRelengFiles/config.xml
deleted file mode 100644
index 0bc31b8..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.bootstrapRelengFiles/config.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This manual-only job will get the latest (HEAD) version of org.eclipse.helios.tools, which contains the build.xml file that controls the other jobs. &#xd;
-I pretty much should be ran once, when first setting up. after that, can use the ant task helios.reinstallRelengFiles to do the same thing (but better). &#xd;
-</description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:david_williams</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:david_williams</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Run.Delete:david_williams</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Run.Update:david_williams</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Delete:david_williams</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:david_williams</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>slave1||master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>true</disabled>
-  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <concurrentBuild>false</concurrentBuild>
-  <builders>
-    <hudson.tasks.Shell>
-      <command>/shared/helios/getRelengTools.sh</command>
-    </hudson.tasks.Shell>
-  </builders>
-  <publishers/>
-  <buildWrappers>
-    <hudson.plugins.locksandlatches.LockWrapper>
-      <locks>
-        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-          <name>simrel-lock-helios</name>
-        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-      </locks>
-    </hudson.plugins.locksandlatches.LockWrapper>
-  </buildWrappers>
-  <customWorkspace>/shared/helios/org.eclipse.helios.tools/</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.installAggregatorAndTools/config.xml b/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.installAggregatorAndTools/config.xml
deleted file mode 100644
index 571dde9..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.installAggregatorAndTools/config.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job installs a fresh platform and the latest b3 aggregator. It should not have to be ran very often. </description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>true</disabled>
-  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <concurrentBuild>false</concurrentBuild>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>installAggregatorAndTools</targets>
-      <antName>(Default)</antName>
-      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
-      <properties>aggrPropertyFile=/shared/helios/org.eclipse.helios.tools/production.properties</properties>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers>
-    <hudson.plugins.locksandlatches.LockWrapper>
-      <locks>
-        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-          <name>(default)</name>
-        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-      </locks>
-    </hudson.plugins.locksandlatches.LockWrapper>
-  </buildWrappers>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.lockForPromotion/config.xml b/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.lockForPromotion/config.xml
deleted file mode 100644
index 9378b8e..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.lockForPromotion/config.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This manual-only job will effectively lock-out other helios-build jobs, allowing time for someone to do work directly on build machine ... such as run the promote script. </description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>10</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:david_williams</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:david_williams</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Run.Delete:david_williams</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Run.Update:david_williams</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Delete:david_williams</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:david_williams</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>true</disabled>
-  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <concurrentBuild>false</concurrentBuild>
-  <builders>
-    <hudson.tasks.Shell>
-      <command>/shared/helios/org.eclipse.helios.tools/pauseAll.sh</command>
-    </hudson.tasks.Shell>
-  </builders>
-  <publishers/>
-  <buildWrappers>
-    <de.jamba.hudson.plugin.wsclean.PrePostClean>
-      <before>false</before>
-      <behind>true</behind>
-    </de.jamba.hudson.plugin.wsclean.PrePostClean>
-    <hudson.plugins.locksandlatches.LockWrapper>
-      <locks>
-        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-          <name>simrel-lock-helios</name>
-        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-      </locks>
-    </hudson.plugins.locksandlatches.LockWrapper>
-    <hudson.plugins.build__timeout.BuildTimeoutWrapper>
-      <timeoutMinutes>60</timeoutMinutes>
-      <failBuild>true</failBuild>
-    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
-  </buildWrappers>
-  <customWorkspace>/shared/helios/org.eclipse.helios.tools/</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runAggregator/config.xml b/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runAggregator/config.xml
deleted file mode 100644
index 1f67d88..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runAggregator/config.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job gets the latest contributions from helios build files (from HEAD) and invokes the b3 aggregator.  &#xd;
-Results can be seen in &#xd;
-http://build.eclipse.org/helios/aggregation/&#xd;
-and a peek at update site categories can be seen at &#xd;
-http://build.eclipse.org/helios/aggregation/final&#xd;
-</description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>20</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:david_williams</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Run.Delete:david_williams</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:david_williams</permission>
-      <permission>hudson.model.Item.Read:thallgren</permission>
-      <permission>hudson.model.Item.Read:david_williams</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Run.Update:david_williams</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:david_williams</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Delete:david_williams</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-  </properties>
-  <scm class="hudson.scm.CVSSCM">
-    <cvsroot>:local:/cvsroot/callisto</cvsroot>
-    <module>org.eclipse.helios.build</module>
-    <canUseUpdate>true</canUseUpdate>
-    <flatten>true</flatten>
-    <isTag>false</isTag>
-    <excludedRegions></excludedRegions>
-  </scm>
-  <assignedNode>(hudson-slave1||hudson-slave2)||fastlane</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>true</disabled>
-  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
-  <triggers class="vector">
-    <hudson.triggers.SCMTrigger>
-      <spec>*/15 * * * *</spec>
-    </hudson.triggers.SCMTrigger>
-  </triggers>
-  <concurrentBuild>false</concurrentBuild>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>runAggregator</targets>
-      <antName>apache-ant-1.7.1</antName>
-      <antOpts>-DhostForURL=hudson</antOpts>
-      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
-      <properties>aggrPropertyFile=production.properties</properties>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers>
-    <hudson.plugins.locksandlatches.LockWrapper>
-      <locks>
-        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-          <name>simrel-lock-helios</name>
-        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-      </locks>
-    </hudson.plugins.locksandlatches.LockWrapper>
-    <hudson.plugins.build__timeout.BuildTimeoutWrapper>
-      <timeoutMinutes>360</timeoutMinutes>
-      <failBuild>true</failBuild>
-    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
-  </buildWrappers>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runBothBuilders/config.xml b/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runBothBuilders/config.xml
deleted file mode 100644
index 347192e..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runBothBuilders/config.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job gets the latest contributions from helios build files (from HEAD) and invokes both builders in sequence. &#xd;
-&#xd;
-</description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>20</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.CVSSCM">
-    <cvsroot>:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto</cvsroot>
-    <module>org.eclipse.helios.build</module>
-    <canUseUpdate>true</canUseUpdate>
-    <flatten>true</flatten>
-    <isTag>false</isTag>
-    <excludedRegions></excludedRegions>
-  </scm>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>true</disabled>
-  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>Base Java 5.0 Installation (/shared/common)</jdk>
-  <triggers class="vector">
-    <hudson.triggers.SCMTrigger>
-      <spec># every 15 mins past the hour 
-*/15 * * * *</spec>
-    </hudson.triggers.SCMTrigger>
-  </triggers>
-  <concurrentBuild>false</concurrentBuild>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>runBothBuilders</targets>
-      <antName>apache-ant-1.7.1</antName>
-      <antOpts>-Denv.HOSTNAME=build</antOpts>
-      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
-      <properties>heliosPropertyFile=production.properties</properties>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers>
-    <hudson.plugins.locksandlatches.LockWrapper>
-      <locks>
-        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-          <name>helios-lock</name>
-        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-      </locks>
-    </hudson.plugins.locksandlatches.LockWrapper>
-  </buildWrappers>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runHybrid/config.xml b/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runHybrid/config.xml
deleted file mode 100644
index 7e83d7d..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/finalConfigs/helios.runHybrid/config.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>This job gets the latest contributions from helios build files (from HEAD) and invokes the b3 aggregator, &#xd;
-with options to create hybrid p2 and maven repo.  &#xd;
-Results can be seen in &#xd;
-http://build.eclipse.org/helios/hybrid/&#xd;
-</description>
-  <logRotator>
-    <daysToKeep>5</daysToKeep>
-    <numToKeep>20</numToKeep>
-    <artifactDaysToKeep>-1</artifactDaysToKeep>
-    <artifactNumToKeep>-1</artifactNumToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <permission>hudson.model.Run.Delete:thallgren</permission>
-      <permission>hudson.model.Item.Delete:thallgren</permission>
-      <permission>hudson.model.Run.Update:thallgren</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:thallgren</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:thallgren</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:thallgren</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.disk__usage.DiskUsageProperty/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <assignedNode>master</assignedNode>
-  <canRoam>false</canRoam>
-  <disabled>true</disabled>
-  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <concurrentBuild>false</concurrentBuild>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>runHybrid</targets>
-      <antName>apache-ant-1.7.1</antName>
-      <antOpts>-Denv.HOSTNAME=build</antOpts>
-      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
-      <properties>heliosPropertyFile=production.properties</properties>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers>
-    <hudson.plugins.locksandlatches.LockWrapper>
-      <locks>
-        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-          <name>(default)</name>
-        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
-      </locks>
-    </hudson.plugins.locksandlatches.LockWrapper>
-  </buildWrappers>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.build/config.xml b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.build/config.xml
deleted file mode 100644
index e4a97a1..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.build/config.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Invokes the p2-enabled product-based build script generated by helios.generate.</description>
-  <logRotator>
-    <daysToKeep>10</daysToKeep>
-    <numToKeep>20</numToKeep>
-  </logRotator>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets>-logfile helios.build.log.txt</targets>
-      <antName>(Default)</antName>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.ArtifactArchiver>
-      <artifacts>helios.build.log.txt</artifacts>
-      <latestOnly>false</latestOnly>
-    </hudson.tasks.ArtifactArchiver>
-    <hudson.tasks.Mailer>
-      <recipients>david_williams@us.ibm.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-  <customWorkspace>/shared/helios/build/helios</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.build/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.build/nextBuildNumber
deleted file mode 100644
index 964480f..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.build/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-213
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.fixperm/config.xml b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.fixperm/config.xml
deleted file mode 100644
index fe0bceb..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.fixperm/config.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Sets proper permissions on files/directories in build and staging directories.</description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets></targets>
-      <antName>(Default)</antName>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers/>
-  <buildWrappers/>
-  <customWorkspace>/shared/helios/build</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.fixperm/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.fixperm/nextBuildNumber
deleted file mode 100644
index fd03ab2..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.fixperm/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-130
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.generate/config.xml b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.generate/config.xml
deleted file mode 100644
index 227c090..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.generate/config.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Generates the helios build scripts from models found in /cvsroot/callisto/org.eclipse.helios.build</description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.CVSSCM">
-    <cvsroot>:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto</cvsroot>
-    <module>org.eclipse.helios.build</module>
-    <canUseUpdate>true</canUseUpdate>
-    <flatten>true</flatten>
-    <isTag>false</isTag>
-    <excludedRegions></excludedRegions>
-  </scm>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets></targets>
-      <antName>(Default)</antName>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>richard.gronback@borland.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-  <customWorkspace>/shared/helios/build/config</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.generate/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.generate/nextBuildNumber
deleted file mode 100644
index dc6f4a8..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.generate/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-218
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.promote/config.xml b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.promote/config.xml
deleted file mode 100644
index 3cb047c..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.promote/config.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<project>
-  <actions/>
-  <description>Copies the build result to ~/hudsonbuild/downloads/helios for later (manual) promotion to /downloads/releases/helios</description>
-  <keepDependencies>false</keepDependencies>
-  <properties>
-    <hudson.security.AuthorizationMatrixProperty>
-      <useProjectSecurity>true</useProjectSecurity>
-      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
-      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
-    </hudson.security.AuthorizationMatrixProperty>
-    <hudson.plugins.descriptionsetter.JobByDescription/>
-  </properties>
-  <scm class="hudson.scm.NullSCM"/>
-  <canRoam>true</canRoam>
-  <disabled>false</disabled>
-  <jdk>(Default)</jdk>
-  <triggers class="vector"/>
-  <builders>
-    <hudson.tasks.Ant>
-      <targets></targets>
-      <antName>(Default)</antName>
-      <buildFile>promote.xml</buildFile>
-      <properties>targetDirectory=/opt/users/hudsonbuild/downloads/helios</properties>
-    </hudson.tasks.Ant>
-  </builders>
-  <publishers>
-    <hudson.tasks.Mailer>
-      <recipients>richard.gronback@borland.com</recipients>
-      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
-      <sendToIndividuals>false</sendToIndividuals>
-    </hudson.tasks.Mailer>
-  </publishers>
-  <buildWrappers/>
-  <customWorkspace>/shared/helios/build/helios</customWorkspace>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.promote/nextBuildNumber b/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.promote/nextBuildNumber
deleted file mode 100644
index 95f9650..0000000
--- a/org.eclipse.helios.tools/hudsonconfig/heliosBuilder/helios.promote/nextBuildNumber
+++ /dev/null
@@ -1 +0,0 @@
-49
diff --git a/org.eclipse.helios.tools/pauseAll.sh b/org.eclipse.helios.tools/pauseAll.sh
deleted file mode 100644
index d87e9e5..0000000
--- a/org.eclipse.helios.tools/pauseAll.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-
-# utility script to "lock" workspace and builds 
-# while "shell work" is going on. 
-# for example, can execute this from hudson (with hudson 
-# lock) before promoting to staging directory, to make 
-# sure another build doesn't start while promoting, thereby
-# erasing the build we are promoting.
-
-# to end lock, the lockfile must be removed, which can be 
-# done manually, or as part of the script work
-# There is a one-hour time-out built in, which should be plenty 
-
-source aggr_properties.shsource
-
-if [ -z $BUILD_HOME ] ; then
-   echo " ERROR: BUILD_HOME must be defined before running this script";
-fi
-
-LOCKFILE="${BUILD_HOME}"/lockfile
-
-if [[ -f "$LOCKFILE" ]]
-then
-   echo "  LOCKFILE already exists, so not continuing to protect pending jobs."
-   echo "  If there is no pending job, you must manually remove"
-   echo "  " "$LOCKFILE"
-fi
-
-
-touch "$LOCKFILE"
-
-"${BUILD_TOOLS_DIR}"/printStats.sh
-
-PAUSE_SECONDS=5
-MAX_TIME=3600
-COUNT=0
-COUNT_MAX=$(($MAX_TIME/$PAUSE_SECONDS))
-#echo "Maximum wait loops: " $COUNT_MAX
-
-while [ -f "$LOCKFILE" -a $COUNT -lt $COUNT_MAX ]
-do
-
-   sleep $PAUSE_SECONDS
-   COUNT=$(($COUNT+1))
-#   echo "Loop number: " $COUNT
-   
-done
-
-"${BUILD_TOOLS_DIR}"/printStats.sh
-
-if [[ -f "$LOCKFILE"  ]]
-then
-   echo "loop hit maximum count (timed out) so lockfile removed"
-   rm "$LOCKFILE"
-fi
-       
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/plugin.properties b/org.eclipse.helios.tools/plugin.properties
deleted file mode 100644
index af4bf1f..0000000
--- a/org.eclipse.helios.tools/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.wtp.releng.tests
-Bundle-Name.0 = Releng Tests
-Bundle-Vendor.0 = Eclipse Web Tools Platform
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/printStats.sh b/org.eclipse.helios.tools/printStats.sh
deleted file mode 100644
index 22a39eb..0000000
--- a/org.eclipse.helios.tools/printStats.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-      
-
-
-if [ -z "${toDirectory}" ] 
-then
-    toDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance  
-fi  
-
-echo "repository file statistics for ";
-echo $toDirectory;
-
-if [ ! -e "${toDirectory}" ]
-then
-  echo "repository directory does not exist. Exiting." 
-  exit 1;
-fi
-  
-featuresDirectory="${toDirectory}"/aggregate/features
-pluginsDirectory="${toDirectory}"/aggregate/plugins
-
-if [ ! -e "${featuresDirectory}" ]
-then 
-  echo "repository features directory structure not as expected. Exiting." 
-  exit 2;
-fi
-
-if [ ! -e "${pluginsDirectory}" ]
-then 
-  echo "repository plugins directory structure not as expected. Exiting."
-  exit 3;
-fi
- 
-echo "Features: ";     
-find "${featuresDirectory}" | wc -l  
-du -sh "${featuresDirectory}"
- 
-echo "Plugin jar files: ";
-find "${pluginsDirectory}" -name "*.jar" | wc -l 
-du -sh --exclude=*.pack.gz "${pluginsDirectory}"
-
-echo "Plugin pack.gz files: "; 
-find "${pluginsDirectory}" -name "*jar.pack.gz" | wc -l
-du -sh --exclude=*.jar "${pluginsDirectory}"
-
-
- 
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/production.properties b/org.eclipse.helios.tools/production.properties
deleted file mode 100644
index f31b70c..0000000
--- a/org.eclipse.helios.tools/production.properties
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in build.xml script
-
-# These values, and this file, is specific to the
-# build.eclipse.org machine and is specified in the
-# hudson set up that runs the build.
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/helios
-
-BUILD_TOOLS=org.eclipse.helios.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.helios.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-# Java should be configured per machine,
-# so this variable point to valid installs
-JAVA_5_HOME=/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386
-JAVA_6_HOME=/shared/webtools/apps/ibm-java-sdk-6.0-8.1-linux-i386
-
-# typically the remaining variables not have to be
-# changed on a local, non-production machine,
-# as they just compute variables based on others
-
-# we use Java 5 by default
-JAVA_HOME=${JAVA_5_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# client script needs to say which to consider their eclipse home
-ECLIPSE_HOME_35=${ECLIPSE_INSTALL}/eclipse35
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_36_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME_37_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-
-ECLIPSE_HOME=${ECLIPSE_HOME_36}
-ECLIPSE_HOME_TEST=${ECLIPSE_HOME_36_TEST}
-
-#TODO
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/helios
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-HYBRID_RESULTS=${BUILD_HOME}/hybrid
-
-# These values are specific to production builds
-# on build.eclipse.org
-# Do not use these on other machines or context.
-# Doing to can cause email to be sent to SimRel
-# release engineers, etc.
-# You can use 'aggr.properties' as an example
-# to follow for values which are required.
-
-LOG_URL=https://${hostForURL}.eclipse.org/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-AGGREGATOR_APP_ARGS=--production --buildModel ${BUILD_MODEL_DIR}/helios.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --trustedContributions Eclipse,Equinox  --logLevel DEBUG --eclipseLogLevel INFO --action CLEAN_BUILD --emailFromName SimRelAggregator --logURL ${LOG_URL} --subjectPrefix HeliosAggregation
-HYBRID_APP_ARGS=--buildModel ${BUILD_MODEL_DIR}/helios.b3aggr --buildRoot ${HYBRID_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --mavenResult --logLevel DEBUG --eclipseLogLevel INFO --action CLEAN_BUILD --emailFromName SimRelAggregator --logURL ${LOG_URL} --subjectPrefix HeliosAggregation
-
-# --production
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox
-
-# add this to production aggregtor app args only
-# --production
-
-stagingDirectory=/home/data/httpd/download.eclipse.org/releases/maintenance
-releaseDirectory=/home/data/httpd/download.eclipse.org/releases/helios
-
-# NOTE: quotes needed in bash scripts ... NOT in ant properties! 
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS=-vmargs -Xmx384m -Declipse.p2.mirrors=false -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_5_HOME}/jre/bin
-
-# each machine needs valid path here
-FULL_FILENAME_35=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz
-FULL_FILENAME_36=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/eclipse-SDK-3.6-linux-gtk.tar.gz
-FULL_FILENAME_361=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/eclipse-SDK-3.6.1-linux-gtk.tar.gz
-FULL_FILENAME_37M3=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M3-201010281441/eclipse-SDK-3.7M3-linux-gtk.tar.gz
-FULL_FILENAME_37M2=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M2a-201009211024/eclipse-SDK-3.7M2a-linux-gtk.tar.gz
-FULL_FILENAME_37M1=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7M1-201008051700/eclipse-SDK-3.7M1-linux-gtk.tar.gz
-FULL_FILENAME=${FULL_FILENAME_361}
-
-
-jobsHome=/shared
-
-CVS_INFO=:local:
diff --git a/org.eclipse.helios.tools/promoteToReleases.sh b/org.eclipse.helios.tools/promoteToReleases.sh
deleted file mode 100644
index 242dcb4..0000000
--- a/org.eclipse.helios.tools/promoteToReleases.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their staging area to the releases area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
- 
-fromDirectory=${stagingDirectory}
-toDirectory=${releaseDirectory} 
-
-datetimestamp=$1
-
-# make sure 'toDirectory' has been defined and is not zero length
-if [ -z "${toDirectory}" ]
-then
-	echo;
-    echo "   Fatal Error: the variable toDirectory must be defined to run this script";
-    echo;
-else
-
-	# make sure 'datetimestamp' has been defined and is no zero length
-	if [ -z "${datetimestamp}" ]
-	then
-	   echo;
-	   echo "   Fatal Error: the variable datetimestamp must be defined to run this script."
-	   echo;
-    else 
-	
-		toSubDir=${toDirectory}/${datetimestamp}
-		
-		echo ""
-		echo "    Copying new plugins and features "
-		echo "        from  ${fromDirectory}"
-		echo "          to  ${toSubDir}"
-		echo ""
-		
-		# plugins and features
-		rsync -rvp ${fromDirectory}/aggregate ${toSubDir}
-		
-		# composite artifact and content files
-		rsync -vp ${fromDirectory}/*.jar ${toSubDir}
-		
-		# static index page
-        rsync -vp templateFiles/release/index.html ${toDirectory}
-		
-		
-	"${BUILD_TOOLS_DIR}"/addRepoProperties-release.sh ${datetimestamp}
-	
-    fi	
-fi
-
-# remove lock file from hundson build's "pauseAll.sh" script once we are all done.
-# remember, we need to _always_ remove the lock file, so do not "exit" from any previous script
-rm -vf "${BUILD_HOME}"/lockfile
-
diff --git a/org.eclipse.helios.tools/promoteToStaging.sh b/org.eclipse.helios.tools/promoteToStaging.sh
deleted file mode 100644
index 95e9f0e..0000000
--- a/org.eclipse.helios.tools/promoteToStaging.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
- 
-#TODO: now multiple to choose from?
-#fromDirectory=${BUILD_RESULTS}
-fromDirectory=${AGGREGATOR_RESULTS}
-
-toDirectory=${stagingDirectory} 
-# temp area for testing
-#toDirectory=${HOME}/temp/testdir
-tempDir=${HOME}/temp/work
-
-# make sure 'toDirectory' has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${toDirectory}" ]
-then
-	echo;
-    echo "   Fatal Error: the variable toDirectory must be defined to run this script"
-    echo;
-else
-
-       echo "";
-       echo "    Count of old features, bundle jars, and packed jars prior to promotion";
-       "${BUILD_TOOLS_DIR}"/printStats.sh
-       echo "";
-
-	echo "";
-	echo "    Removing previous staging directory files at"
-	echo "    "${toDirectory} 
-	echo "";
-
-	if [ -d ${toDirectory} ]
-	then
-	  rm -fr "${toDirectory}"/*
-	fi
-	
-	echo ""
-	echo "    Copying new plugins and features "
-	echo "        from  ${fromDirectory}"
-	echo "          to  ${toDirectory}"
-	echo ""
-	
-	# plugins and features
-	rsync -rvp ${fromDirectory}/final/aggregate ${toDirectory}
-	
-	# composite artifact and content files
-	rsync -vp ${fromDirectory}/final/*.jar ${toDirectory}
-	
-	# static index page
-	rsync -vp templateFiles/maintenance/index.html ${toDirectory}
-	
-	"${BUILD_TOOLS_DIR}"/addRepoProperties-staging.sh
-
-       # TODO: eventually, we could make "sanity check" test on number of files, etc., and fail if more than 10% off, or similar
-       echo "";
-       echo "    Count of new features, bundle jars, and packed jars after promotion";
-       "${BUILD_TOOLS_DIR}"/printStats.sh
-       echo "";
-	
-fi
-
-# remove lock file from hundson build's "pauseAll.sh" script once we are all done.
-# remember, we need to _always_ remove the lock file, so do not "exit" from any previous script
-rm -vf "${BUILD_HOME}"/lockfile
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/cleanupBuildResults.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/cleanupBuildResults.sh
deleted file mode 100644
index 00fde60..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/cleanupBuildResults.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-
-# small utility to remove old (temporary) builds from work area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-if [ -z ${BUILD_HOME} ] ; then
-   echo "ERROR: BUILD_HOME must be defined 
-if
-
-# standard value. shouldn't change
-if [ -z ${RELENG_TOOLS} ] ; then
-   RELENG_TOOLS=org.eclipse.helios.tools
-fi
-
-# remove artifacts over n days old
-# (where hours = 24 + (n * 24), basically, so that
-# even n=0 means "1 day")
-
-# set at 10 days, under assumption that before that time,
-# artifacts will be "saved" elsewhere, if needed.
-# if more cleanup is needed, we should take time, and
-# existence of more recent builds into account, so we never
-# delete the last existing build (even if "old").
-
-ndays=1;
-
-TODO: there's now two! 
-artifactsDir=${BUILD_RESULTS};
-
-echo;
-echo "    Removing artifact directories older than ${ndays} days";
-echo "        (from ${artifactsDir})";
-before=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories before cleaning: ${before}";
-
-# empty directories often result from "bad builds". We remove those no matter how old
-find ${artifactsDir} -mindepth 1 -maxdepth 2 -type d -empty -exec rm -fr '{}' \;
-# now remove old ones
-find ${artifactsDir} -mindepth 1 -maxdepth 1 -type d -ctime +$ndays -execdir ${BUILD_HOME}${RELENG_TOOLS}/removeIf.sh '{}' \;
-
-after=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories after cleaning: ${after}";
-echo
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/fixupMirrorURL.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/fixupMirrorURL.sh
deleted file mode 100644
index 2e6fadd..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/fixupMirrorURL.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env bash
-# script to fix mirror URL in an artifact.jar file
-
-function fixupMirrorURL {
-
-	artifactFilePath=$1
-	
-	# target segment is what ever comes beteeen 'releases/' and '/aggregate'. Typically, 
-	# maintenance
-	# galileo/<datetimestamp>
-	# staging
-	# helios/<datetimestamp>
-	targetSegment=$2
-	
-	# make sure 'artifactFilePath' has been defined and is not zero length
-	if [ -z "${artifactFilePath}" ]
-	then
-		echo;
-	    echo "   Fatal Error: The variable 'artifactFilePath' must be defined as first argument to run this script"
-	    echo;
-	    return 1;
-	fi
-	
-	# make sure 'artifactFilePath' exists
-	if [ ! -f "${artifactFilePath}" ]
-	then
-	    echo;
-	    echo "   Fatal Error: The file '${artifactFilePath}' does not exist."
-	    echo;
-	    return 2;
-	fi
-	
-	# make sure 'targetSegment' has been defined and is not zero length
-	if [ -z "${targetSegment}" ]
-	then
-		echo;
-	    echo "   Fatal Error: The variable 'targetSegment' must be defined as first argument to run this script";
-	    echo;
-	    return 3;
-	fi
-	
-	tempDir=${HOME}/temp/work
-	mkdir -p "${tempDir}"
-	# now correct the URLs
-	fromFile=artifacts.jar
-	workFile=artifacts.xml
-	unzip ${artifactFilePath} -d ${tempDir}
-	
-	matchingPhrase="p2\.mirrorsURL.*/releases/.*/aggregate"
-	matchedLines=`grep "${matchingPhrase}" "${tempDir}"/"$workFile"`
-	nMatches=`echo $matchedLines | wc -l`
-	echo
-	echo "    matches before replacement: "${nMatches}
-	echo "    matchedLine(s) before replacement: "
-	echo "        "$matchedLines
-	echo
-	
-	if [[ $nMatches == 1 ]]
-	then
-		 # note we make no restiction what is between p2.mirrorsURL and 'releases'
-		 # nor between 'releases' and 'aggregate'. 
-		 # our particular case allows us to "throw away" the later, but restore the former.
-		 fromString="p2\.mirrorsURL(.*)/releases/.*/aggregate"
-		
-		 # compose toString and replacement command
-		 toString="p2\.mirrorsURL\$1/releases/${targetSegment}/aggregate"
-		 replaceCommand="s!${fromString}!${toString}!g"
-		 echo "    replaceCommand: ${replaceCommand}"
-		
-		 perl -pi -w -e ${replaceCommand} "${tempDir}"/"${workFile}"
-		
-		 perlResult=$?
-		 if [[ $perlResult -ne 0 ]] 
-		 then 
-		 	echo;
-		    echo "   Fatal Error: Perl return code was non-zero, ${perlResult}, so returning and not changing original file.";
-		    echo;
-		    return $perlResult;
-		 fi
-		
-		 resultingPhrase="p2\.mirrorsURL.*/releases/${targetSegment}/aggregate"
-		 changedLines=`grep  "${resultingPhrase}" "${tempDir}"/"$workFile"`
-		 nChangedLines=`echo $changedLines  | wc -l`
-		 echo
-		 echo "   Number of lines changed: " $nChangedLines
-		 echo "   Changeded lines: " 
-		 echo "      "$changedLines
-		 echo
-		 
-		 if [[ $nChangedLines -ne 1 ]]
-		 then
-		 	echo;
-		    echo "   Fatal Error: number of matches to expected ("$nChangedLines") after replacement was not as expected, so returning and not changing original file.";
-		    echo;
-		    return 10;
-		 fi
-	else
-	    echo;
-	    echo "   Fatal Error: number of matches to original ("$nMatches") before replacment was not as expected, so returning and not changing original file.";
-	    echo;
-	    return 11;
-	fi
-	
-	echo;
-	echo "   Rezipping the modified version and replacing original file";
-	echo; 
-	zip -Djm ${artifactFilePath} "${tempDir}"/"${workFile}"
-
-}
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getAggregator.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getAggregator.sh
deleted file mode 100644
index 4e9db60..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getAggregator.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env bash
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-ECLIPSE_HOME=${ECLIPSE_HOME_36}/eclipse
-
-echo JAVA_EXEC_DIR: $JAVA_EXEC_DIR;
-echo ECLIPSE_HOME: $ECLIPSE_HOME; 
-
-APP_NAME=org.eclipse.equinox.p2.director
-REPO_LOCATION="http://download.eclipse.org/modeling/emft/b3/headless-3.7milestones/"
-REPO_ARGS="-metadataRepository ${REPO_LOCATION} -artifactRepository ${REPO_LOCATION}"
-IU_ARGS="-installIU org.eclipse.b3.aggregator.engine.feature.feature.group"
-
-echo APP_NAME: ${APP_NAME}
-echo REPO_LOCATION: ${REPO_LOCATION}
-echo REPO_ARGS: ${REPO_ARGS}
-echo IU_ARGS: ${IU_ARGS}
-
-VM_ARGS="-vmargs -Xmx512m -Declipse.p2.mirrors=false"
-echo VMARGS: ${VM_ARGS}
-
-"${ECLIPSE_HOME}"/eclipse -consolelog -data ./workspace-getAggregator -debug -nosplash -vm "${JAVA_EXEC_DIR}" -application ${APP_NAME} ${REPO_ARGS} ${IU_ARGS} ${VM_ARGS}
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getBuckminsterBuildUpdate.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getBuckminsterBuildUpdate.sh
deleted file mode 100644
index c81b08d..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getBuckminsterBuildUpdate.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
- 
-APP_NAME=org.eclipse.equinox.p2.director.app.application
-OTHER_ARGS="-metadataRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -artifactRepository http://download.eclipse.org/tools/buckminster/tools-galileo/ -installIU org.eclipse.buckminster.galileo.builder.feature.feature.group"
-# usually do not need the version, just to "get the latest" from buckminster builder site
-# -version 1.0.0.v20090415-1651
-VM_ARGS="-vmargs -Xmx256m"
-ECLIPSE_HOME="${ECLIPSE_HOME_35}/eclipse"
-"${ECLIPSE_HOME}"/eclipse -consolelog -data ./workspace-getBuckminsterBuildUpdate -debug -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application ${APP_NAME} ${OTHER_ARGS} ${VM_ARGS}
-
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getModel.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getModel.sh
deleted file mode 100644
index 6c64e7b..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getModel.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
- 
-echo "   removing all of previous project ..."
-rm -fr ${BUILD_HOME}/org.eclipse.helios.build/*
-mkdir -p ${BUILD_HOME}/org.eclipse.helios.build
-
-buildBranch=HEAD
-
-cd ${BUILD_HOME}
-echo "   checking out branch of project from cvs ..."
-cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/callisto  export -d org.eclipse.helios.build -r $buildBranch org.eclipse.helios.build
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getPlatform35.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getPlatform35.sh
deleted file mode 100644
index 67f6c0c..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getPlatform35.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env bash
-# Little utility to unzip Eclipse Platfrom into ${ECLIPSE_INSTALL_35}
-
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-if [ -z "${FULL_FILENAME_35}" ]
-then 
-
-       # Note that 'downloads home' could also be written as "${HOME}/downloads" for most users
-       # but this form should work for all (unless 'downloads' sym link changes, which is unlikely)
-       DOWNLOADS_HOME=/home/data/httpd/download.eclipse.org
-       # DROP_DIR and DROP_ID must be changed to match desired version to fetch
-       DROP_DIR=R-3.5.2-201002111343
-       # DROP_ID can be different from DROP_DIR, such as for milestone's it'd
-       # be similar to S-3.5M6, but for I-builds is the same.
-       DROP_ID=3.5.2
-       PLATFORM_FILENAME=eclipse-SDK-${DROP_ID}-linux-gtk.tar.gz
-       FULL_FILENAME_35=${DOWNLOADS_HOME}/eclipse/downloads/drops/${DROP_DIR}/${PLATFORM_FILENAME}
-
-fi 
-
-if [ ! \( -e ${FULL_FILENAME_35} \) ]
-then
-    echo "Error. File did not exist: ${FULL_FILENAME_35}"
-    exit 9;
-fi
-
-function installPlatform () 
-{
-    echo;
-    echo "Installing "
-    echo "  ${FULL_FILENAME_35}"
-    echo "  into "
-    echo "  ${ECLIPSE_HOME_35}"
-    mkdir -p ${ECLIPSE_HOME_35}
-    tar -zxf ${FULL_FILENAME_35} -C ${ECLIPSE_HOME_35}
-
-}
-
-# make sure we are completely fresh before unzipping
-if [ -d ${ECLIPSE_HOME_35} ]
-then
-
-        echo "Removing existing version at "
-        echo "   ${ECLIPSE_HOME_35}"
-        rm -fr ${ECLIPSE_HOME_35}
-fi
-
-# now install
-    installPlatform
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getPlatform36.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getPlatform36.sh
deleted file mode 100644
index 7ed9290..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/getPlatform36.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env bash
-# Little utility to unzip Eclipse Platfrom into ${ECLIPSE_INSTALL_36}
-
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-if [ -z "${FULL_FILENAME_36}" ]
-then 
-
-       # Note that 'downloads home' could also be written as "${HOME}/downloads" for most users
-       # but this form should work for all (unless 'downloads' sym link changes, which is unlikely)
-       DOWNLOADS_HOME=/home/data/httpd/download.eclipse.org
-       # DROP_DIR and DROP_ID must be changed to match desired version to fetch
-       DROP_DIR=S-3.6M7-201004291549
-       # DROP_ID can be different from DROP_DIR, such as for milestone's it'd
-       # be similar to S-3.5M6, but for I-builds is the same.
-       DROP_ID=3.6M7
-       PLATFORM_FILENAME=eclipse-SDK-${DROP_ID}-linux-gtk.tar.gz
-       FULL_FILENAME_36=${DOWNLOADS_HOME}/eclipse/downloads/drops/${DROP_DIR}/${PLATFORM_FILENAME}
-
-fi 
-
-if [ ! \( -e ${FULL_FILENAME_36} \) ]
-then
-    echo "Error. File did not exist: ${FULL_FILENAME_36}"
-    exit 9;
-fi
-
-function installPlatform () 
-{
-    echo;
-    echo "Installing "
-    echo "  ${FULL_FILENAME_36}"
-    echo "  into "
-    echo "  ${ECLIPSE_HOME_36}"
-    mkdir -p ${ECLIPSE_HOME_36}
-    tar -zxf ${FULL_FILENAME_36} -C ${ECLIPSE_HOME_36}
-
-}
-
-# make sure we are completely fresh before unzipping
-if [ -d ${ECLIPSE_HOME_36} ]
-then
-
-        echo "Removing existing version at "
-        echo "   ${ECLIPSE_HOME_36}"
-        rm -fr ${ECLIPSE_HOME_36}
-fi
-
-# now install
-    installPlatform
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/obfuscateEmail.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/obfuscateEmail.sh
deleted file mode 100644
index 3a48ddd..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/obfuscateEmail.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
- 
-toDirectory=${stagingDirectory} 
-#toDirectory=${releaseDirectory}
-
-# obfuscate email addresses
-fromString="mailto:(.*)@"
-toString="mailto:"'$1'"<at>"
-replaceCommand="s!$fromString!$toString!"
-echo "replaceCommand: $replaceCommand"
-pexec=`echo "perl -pi -w -e " $replaceCommand "${toDirectory}/index.php"`
-echo "$pexec"
-perl -pi -w -e $replaceCommand "${toDirectory}/index.php"
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/removeIf.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/removeIf.sh
deleted file mode 100644
index d697d3c..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/removeIf.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-
-# echo "arg: $1";
-
-if [ -z $1 ]
-  then
-    echo "  This script requires an argument. " ;
-    exit 1;
-  fi
-
-foundDirectory=$1
-# should already be in foundDirectory, if execDir used
-cd $foundDirectory
-# move up one so we can examine syblings
-cd ..
-currentDirectory=`pwd`
-echo $currentDirectory
-ndirs=`ls -lA | wc -l`
-ndirs=$(($ndirs - 1)); # don't count the "totals" line
-# echo "NDirs: $ndirs"
-
-# if only one left, do not remove it, no matter how old
-if [ $ndirs -eq 1 ]
-then
-    exit 0;
-fi
-# This is unexpected, since otherwise this method should not have been called. 
-# So, this check is just a safety check.
-if [ $ndirs -lt 1 ]
-then
-    exit 101;
-fi
-
-# ok, it is old, and not the only one left
-# adding a few "should never happen" errror checks
-if [ -d $foundDirectory ] 
-then
-  basedirname=$(basename $foundDirectory)
-  PPAT_DIGIT14="[[:digit:]]{14}"
-  if [[ "$basedirname" =~  $PPAT_DIGIT14]]
-    then
-       echo "removing $basedirname"
-       rm -fr $foundDirectory
-    else
-     # patches is expected, warn of others
-      if [ "patches" != $foundDirectory ]
-       then 
-         echo "ERROR: The foundDirectory, $foundDirectory, didn't match timestamp pattern"
-       fi 
-    fi
-else
-    echo "ERROR: the foundDirectory, $foundDirectory, is not a directory"
-fi
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/runAggregator.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/runAggregator.sh
deleted file mode 100644
index 7780f5a..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/runAggregator.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-echo "BUILD_HOME: " ${BUILD_HOME}
-export BUILD_TIMESTAMP=$(date --utc +%Y%m%d%H%M%S); 
-echo "BUILD_TIMESTAMP: " $BUILD_TIMESTAMP
-echo "BUILD_RESULTS: " $BUILD_RESULTS
-
-export BUILD_ID=${BUILD_TIMESTAMP}
-
-OTHER_ARGS="--mockEmailTo david_williams@us.ibm.com --buildModel ${BUILD_HOME}/org.eclipse.helios.build/helios.b3aggr --buildRoot ${BUILD_RESULTS} --buildId ${BUILD_ID} --action CLEAN_BUILD --packedStrategy UNPACK_AS_SIBLING --mavenResult --logLevel DEBUG"
-
-VM_ARGS="-vmargs -Declipse.p2.mirrors=false -Xmx256m"
-# -Declipse.p2.MD5Check=false
-
-APP_NAME=org.eclipse.b3.cli.headless
-
-ECLIPSE_HOME=${ECLIPSE_HOME_36}/eclipse
-
-echo "ECLIPSE_HOME: " ${ECLIPSE_HOME}
-EQLAUNCHER=`find ${ECLIPSE_HOME}/plugins -name org.eclipse.equinox.launcher_*.jar`
-echo "EQLAUNCHER: " $EQLAUNCHER
-
-
-"${JAVA_CMD}" -jar ${EQLAUNCHER} -vm "${JAVA_CMD}" -console  -data ${BUILD_HOME}/${BUILD_TIMESTAMP}/workspace-runAggregator -debug -nosplash -application ${APP_NAME} aggregate ${OTHER_ARGS} ${VM_ARGS}
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/runBuckyBuild.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/runBuckyBuild.sh
deleted file mode 100644
index 655d07f..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/runBuckyBuild.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-export BUILD_TIMESTAMP=$(date --utc +%Y%m%d%H%M%S); 
-echo "BUILD_TIMESTAMP: " $BUILD_TIMESTAMP
-
-export BUILD_ID=${BUILD_TIMESTAMP}
-
-if [ -z  BUILDER_APP_ARGS ] 
-then 
-    OTHER_ARGS="-mockEmailTo david_williams@us.ibm.com -buildModel ${BUILD_HOME}/org.eclipse.helios.build/helios.b3aggr -buildRoot ${BUILD_RESULTS} -buildId ${BUILD_ID} -logLevel DEBUG"
-else 
-    OTHER_ARGS="${BUILDER_APP_ARGS}"
-fi 
-
-VM_ARGS="-vmargs -Declipse.p2.mirrors=false -Xmx256m"
-# -Declipse.p2.MD5Check=false
-
-APP_NAME=org.eclipse.buckminster.galileo.builder.app
-
-"${ECLIPSE_HOME}"/eclipse -consolelog -data ${BUILD_HOME}/${BUILD_TIMESTAMP}/workspace-runBuckyBuild -debug -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application ${APP_NAME} ${OTHER_ARGS} ${VM_ARGS}
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/updateCompositeURL.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/updateCompositeURL.sh
deleted file mode 100644
index 2628d20..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/updateCompositeURL.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-  
-fromDirectory=${stagingDirectory}
-
-toDirectory=${HOME}/temp/testdir
-
-mkdir -p "${toDirectory}"
-
-fromFile=compositeArtifacts.jar
-workFile=compositeArtifacts.xml
-
-
-echo ""
-echo "    Fixup URL "
-echo "        original: ${fromDirectory}/${fromFile}"
-echo "         working: ${toDirectory}/${workFile}"
-echo ""
-
-echo "copy compositeArtifacts.jar to working area" 
-rsync -vp ${fromDirectory}/${fromFile} ${toDirectory}
-
-echo "unzip the jar, and make a backup of it for later comparison"
-unzip -o ${toDirectory}/${fromFile} -d ${toDirectory}
-cp ${toDirectory}/${workFile} ${toDirectory}/${workFile}.bak
-
-echo "make sure there is only one occurance that will be changed in file"
-matchingPhrase="<child location='http://download\.eclipse\.org/eclipse/updates/3\.5milestones/I20090611-1540/'/>"
-matchedLines=`grep "^ *${matchingPhrase} *$" "${tempDir}"/"$workFile"`
-nMatches=`echo $matchedLines | wc -l`
-echo
-echo "    matches before replacement: "${nMatches}
-echo "    matchedLine(s) before replacement: "
-echo "        "$matchedLines
-echo
-
-if [[ $nMatches == 1 ]]
-then
-
-    fromString="${matchingPhrase}"
-
-    # compose toString and replacement command
-    toString="<child location='http://download.eclipse.org/eclipse/updates/3.5/'/>"
-    
-    replaceCommand="s!^( *)${fromString} *\$!\$1${toString}!g"
-    echo "    replaceCommand: ${replaceCommand}"
-
-    echo "    use perl to do replacement"
-    perl -pi -w -e "${replaceCommand}" "${toDirectory}"/"$workFile"
-
-    perlResult=$?
-    if [[ $perlResult -ne 0 ]] 
-    then 
-    	echo "Perl return code was non-zero, ${perlResult}, so exiting and not changing anything"
-    	exit $perlResult
-    fi
-
-    echo "make sure no matches to original remaining"
-    nOriginalMatches=`grep "^ *${matchingPhrase} *$" "${toDirectory}"/"$workFile" | wc -l`
-    echo
-    echo "   matchedLine(s) after replacement: " $nOriginalMatches " (should be zero)"
-    echo
-    if [[ $nOriginalMatches -ne 0 ]]
-    then
-        echo " Error: number of matches to original phrase (" $nOriginalMatches ") after replacement was greater than expected (should be zero), so exiting and not changing anything"
-        exit 1
-    fi
-    
-    echo "make sure there is exactly one match for new string"
-    resultingPhrase="${toString}"
-    changedLines=`grep  "^ *${resultingPhrase} *$" "${toDirectory}"/"$workFile"`
-    nChangedLines=`echo $changedLines  | wc -l`
-    echo
-    echo "   Number of lines changed: " $nChangedLines
-    echo "   Changeded lines: " 
-    echo "      "$changedLines
-    echo
-    
-    if [[ $nChangedLines -ne 1 ]]
-    then
-        echo " Error: number of matches to expected ("$nChangedLines") after replacement was not as expected (should be zero), so exiting and not changing anything"
-        exit 1
-    fi
-else
-    echo " Error: number of matches to original ("$nMatches") before replacment was not as expected, so exiting and not changing anything"
-    exit 1
-fi
-              
-echo "rezip our modified version"
-zip -Dj ${toDirectory}/${fromFile} ${toDirectory}/${workFile}
-#echo "set file times to match original"
-#touch ${toDirectory}/${fromFile} --reference=${fromDirectory}/${fromFile}
-echo "create backup of original"
-cp ${fromDirectory}/${fromFile} ${fromDirectory}/${fromFile}.bak
-echo "copy new over old"
-cp ${toDirectory}/${fromFile} ${fromDirectory}/
-
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/updateMirrorURL.sh b/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/updateMirrorURL.sh
deleted file mode 100644
index cf2a855..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/oldNoLongerUsedExamples/updateMirrorURL.sh
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-
-directoryToChange=$1
-newMirrorURL=$2
-
-# make sure 'directoryToChange' has been defined and is no zero length
-if [ -z "${directoryToChange}" ]
-then
-   echo "The variable directoryToChange must be defined to run this script."
-   echo "    (Normally first argument)."
-   exit 1;
-fi
-
-# make sure 'newMirrorURL' has been defined and is no zero length
-if [ -z "${newMirrorURL}" ]
-then
-   echo "The variable newMirrorURL must be defined to run this script."
-   echo "    (Normally second argument)."
-   exit 1;
-fi
-
-workingDirectory=${HOME}/temp/testdir
-
-mkdir -p "${workingDirectory}"
-
-fromFile=artifacts.jar
-workFile=artifacts.xml
-
-# make sure file to change exists
-if [ ! -e "${directoryToChange}/${fromFile}" ]
-then
-   echo "The expected file does not exist?"
-   exit 2;
-fi
-
-
-echo ""
-echo "    Fixup URL "
-echo "        original: ${directoryToChange}/${fromFile}"
-echo "         working: ${workingDirectory}/${workFile}"
-echo ""
-
-echo "copy ${fromFile} to working area" 
-rsync -vp ${directoryToChange}/${fromFile} ${workingDirectory}
-
-echo "unzip the jar, and make a backup of it for later comparison"
-unzip -o ${workingDirectory}/${fromFile} -d ${workingDirectory}
-cp ${workingDirectory}/${workFile} ${workingDirectory}/${workFile}.bak
-
-#TODO: I'm sure there is a way to get string eval's correct, 
-#      but escaped parens are needed in one place, but not another.
-echo "make sure there is only one occurance that will be changed in file"
-matchingPhrase="<property name='p2\.mirrorsURL'\(.*\)file=.*&amp;protocol=http'/>"
-fromString="<property name='p2\.mirrorsURL'(.*)file=.*&amp;protocol=http'/>"
-echo "matchingPhrase: "${matchingPhrase}
-echo "fromString: "${fromString}
-
-matchedLines=`grep "^ *${matchingPhrase} *$" "${workingDirectory}"/"$workFile"`
-nMatches=`echo $matchedLines | wc -l`
-echo
-echo "    matches before replacement: "${nMatches}
-echo "    matchedLine(s) before replacement: "
-echo "        "$matchedLines
-echo
-
-if [[ $nMatches == 1 ]]
-then
-
-    
-
-    # compose toString and replacement command
-    toString="<property name='p2\.mirrorsURL'\$2file="$newMirrorURL"&amp;protocol=http'/>"
-    
-    replaceCommand="s!^( *)${fromString} *\$!\$1${toString}!g"
-    echo "    replaceCommand: ${replaceCommand}"
-
-    echo "    use perl to do replacement"
-    perl -pi -w -e "${replaceCommand}" "${workingDirectory}"/"$workFile"
-
-    perlResult=$?
-    if [[ $perlResult -ne 0 ]] 
-    then 
-    	echo "Perl return code was non-zero, ${perlResult}, so exiting and not changing anything"
-    	exit $perlResult
-    fi
-    
-       matchedLines=`grep "^ *${matchingPhrase} *$" "${workingDirectory}"/"$workFile"`
-       nMatches=`echo $matchedLines | wc -l`
-       echo
-       echo "    matches after replacement: "${nMatches}
-       echo "    matchedLine(s) after replacement: "
-       echo "        "$matchedLines
-       echo
-
-else
-    echo " Error: number of matches to original ("$nMatches") before replacment was not as expected, so exiting and not changing anything"
-    exit 3
-fi
-              
-echo "rezip our modified version"
-zip -Dj ${workingDirectory}/${fromFile} ${workingDirectory}/${workFile}
-
-#todo: would this be helpful?
-#echo "set file times to match original"
-#touch ${workingDirectory}/${fromFile} --reference=${directoryToChange}/${fromFile}
-
-echo "create backup of original"
-cp ${directoryToChange}/${fromFile} ${directoryToChange}/${fromFile}.bak
-echo "copy new over old"
-cp ${workingDirectory}/${fromFile} ${directoryToChange}/
-
-
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/add-composite-epp-packages.xml b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/add-composite-epp-packages.xml
deleted file mode 100644
index a068479..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/add-composite-epp-packages.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-	<!-- 
-	A "manual" task that should only have to be ran once
-	With something like 
-	./antRunner add-composite-epp-packages.xml 
-	-->
-    <target
-        name="createcomposite">
-        <p2.composite.repository>
-            <repository
-                location="file:/home/data/httpd/download.eclipse.org/releases/helios/"
-                name="Helios repository"/>
-            <add>
-                <repository
-                    location="http://download.eclipse.org/technology/epp/packages/helios/" />
-            </add>
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/getRelengTools.sh b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/getRelengTools.sh
deleted file mode 100644
index 83b2a7a..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/getRelengTools.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env bash
-
-# it is assumed we are executing this in RELENG_TOOLS or the parent of RELENG_TOOLS
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-if [ -z ${RELENG_TOOLS} ] ; then
-   RELENG_TOOLS=org.eclipse.helios.tools
-fi
-
-  
-# This script file is to help get builds started "fresh", when
-# the ${RELENG_TOOLS} directory already exists on local file system.
-# While it is in the cvs repository in ${RELENG_TOOLS}, it is
-# meant to be executed from the parent directory
-# of ${RELENG_TOOLS} on the file system.
-
-# export is used, instead of checkout, just to avoid the CVS directories and since this code
-# for a local build, there should never be a need to check it back in to CVS.
-
-# If there is no subdirectory, try going up one directory and looking again (in case we are in it).
-if [ ! -e ${RELENG_TOOLS} ]
-then
-	cd ..
-	if [ ! -e ${RELENG_TOOLS} ]
-	then	
-    echo "${RELENG_TOOLS} does not exist as sub directory";
-	exit 1;
-	fi
-fi
-
-
-# make sure RELENG_TOOLS has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${RELENG_TOOLS}" ]
-then
-   echo "The variable RELENG_TOOLS must be defined to run this script"
-   exit 1;
-fi
-echo "    removing all of ${RELENG_TOOLS} ..."
-rm -fr "${RELENG_TOOLS}"/*
-rm -fr "${RELENG_TOOLS}"/.project
-rm -fr "${RELENG_TOOLS}"/.settings
-rm -fr "${RELENG_TOOLS}"/.classpath
-mkdir -p "${RELENG_TOOLS}"
-
-#controltag=david_williams_tempBranch3
-controltag=HEAD
-echo "    checking out $controltag of ${RELENG_TOOLS} from cvs ..."
-
-export CVS_RSH=SSH
-if [ -z ${CVS_INFO} ] ; then
-   CVS_INFO=:pserver:anonymous@dev.eclipse.org:
-fi
-
-cvs -Q -f -d ${CVS_INFO}/cvsroot/callisto  export -d ${RELENG_TOOLS} -r $controltag ${RELENG_TOOLS}
-
-
-
-echo "    making sure releng control files are executable and have proper EOL ..."
-dos2unix ${RELENG_TOOLS}/*.sh* ${RELENG_TOOLS}/*.properties ${RELENG_TOOLS}/*.xml >/dev/null 2>>/dev/null
-chmod +x ${RELENG_TOOLS}/*.sh > /dev/null
-echo
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-composite-test.xml b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-composite-test.xml
deleted file mode 100644
index 6f68fe6..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-composite-test.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-    <target
-        name="createcomposite">
-    	<property name="testrepodir" value="/shared/helios/testcompositerepo" />
-    		<mkdir dir="${testrepodir}" />
-        <p2.composite.repository 
-        	validate="org.eclipse.equinox.p2.repository.tools.jar.comparator" >
-            <repository
-                location="file:${testrepodir}"
-                name="Helios repository"/>
-            <add>
-                <repository
-                    location="file://home/data/httpd/download.eclipse.org/releases/helios/201006230900/" />
-                <repository
-                    location="file://home/data/httpd/download.eclipse.org/releases/maintenance/" />
-            </add>
-       
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-composite.xml b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-composite.xml
deleted file mode 100644
index 5c772c4..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-composite.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-<project
-    default="p2Mirror"
-    basedir=".">
-	    <!-- for misc manual tests only -->
-    <property
-        name="todir"
-        value="/shared/helios/tmp/testrepomirror"/>
-    <property
-        name="baseComparatorRepoDir"
-        value="/home/data/httpd/download.eclipse.org/releases/helios/201006230900/"/>
-    <property
-        name="repoToMirror"
-        value="/home/data/httpd/download.eclipse.org/releases/maintenance"/>
-    <target
-        name="p2Mirror">
-        <delete
-            dir="${todir}"
-            failonerror="false"/>
-        <mkdir
-            dir="${todir}"/>
-        <p2.mirror
-            source="file:${repoToMirror}"	
-            ignoreErrors="true"
-            log="${todir}/mirrorlog.txt">
-            <destination
-            	  location="file:/${todir}"
-                name="A temp test repo"/>
-          
-           
-            <comparator
-                comparator="org.eclipse.equinox.p2.repository.tools.jar.comparator"
-                comparatorLog="${todir}/comparator.log">
-                <repository
-                    location="file:/${baseComparatorRepoDir}"/>
-            </comparator>
-
-            <slicingoptions
-                followStrict="true"/>
-        </p2.mirror>
-
-
-
-<p2.mirror
-    source="file:${reposource}"
-    log="${buildlogs}/mirrorlog.txt"
-    ignoreErrors="true">
-    <destination
-        compressed="true"
-        name="${p2.repo.name}"
-        location="file:${buildRepo}"
-        append="true"
-        format="file:${reposource}"/>
-    <comparator
-        comparator="org.eclipse.equinox.p2.repository.tools.jar.comparator"
-        comparatorLog="${buildlogs}/comparatorlog.txt">
-        <repository
-            location="${repoBaseline}"/>
-        <exclude>
-            <artifact
-                id="org.eclipse.jdt.doc.isv"/>
-            <artifact
-                id="org.eclipse.jdt.doc.user"/>
-            <artifact
-                id="org.eclipse.pde.doc.user"/>
-            <artifact
-                id="org.eclipse.platform.doc.isv"/>
-            <artifact
-                id="org.eclipse.platform.doc.user"/>
-            <artifact
-                id="org.eclipse.equinox.executable"/>
-            <artifact
-                id="org.eclipse.sdk.examples"/>
-            <artifact
-                id="org.eclipse.sdk.examples.source"/>
-            <artifact
-                id="master-equinox"/>
-        </exclude>
-    </comparator>
-</p2.mirror>
-	
-	    </target>
-	</project>	
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-mirror.xml b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-mirror.xml
deleted file mode 100644
index ac75eca..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-mirror.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<project
-    default="p2Mirror"
-    basedir=".">
-	<!-- for misc manual tests only -->
-    <property
-        name="todir"
-        value="/shared/helios/temp"/>
-    <property
-        name="baseComparatorRepoDir"
-        value="/home/data/httpd/download.eclipse.org/webtools/downloads/drops/R3.2.1/R-3.2.1-20100730021206/repository/"/>
-        	    <property
-        	        name="repoToMirror"
-        	        value="/home/data/httpd/download.eclipse.org/webtools/downloads/drops/R3.2.2/M-3.2.2-20100910064233/repository/"/>
-    <target
-        name="p2Mirror">
-        <delete
-            dir="${todir}"
-            failonerror="false"/>
-        <mkdir
-            dir="${todir}"/>
-        <p2.mirror
-            ignoreErrors="true"
-            log="${todir}/mirrorlog.txt">
-            <repository
-                location="file:/${todir}"
-                name="A temp test repo"/>
-            <source>
-                <repository
-                    location="file:/${repoToMirror}"/>
-            </source>
-            <comparator
-                comparator="org.eclipse.equinox.p2.repository.tools.jar.comparator"
-                comparatorLog="${todir}/comparator.log">
-                <repository
-                    location="file:/${baseComparatorRepoDir}"/>
-            </comparator>
-
-            <slicingoptions
-                followStrict="true"/>
-        </p2.mirror>
-    </target>
-</project>
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-remove.xml b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-remove.xml
deleted file mode 100644
index 9df1f50..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/helios-remove.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-	<!-- manual task, used rarely, to remove a repo from release composite -->
-    <target
-        name="createcomposite">
-        <p2.composite.repository>
-            <repository
-                location="file:/home/data/httpd/download.eclipse.org/releases/helios/"
-                name="Helios repository"/>
-            <remove>
-                <repository
-                    location="201005070900" />
-            </remove>
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/install-relengTools.sh b/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/install-relengTools.sh
deleted file mode 100644
index 0d23919..0000000
--- a/org.eclipse.helios.tools/scriptsMisc/runManuallyRarely/install-relengTools.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-
-APP_NAME=org.eclipse.equinox.p2.director
-
-OTHER_ARGS="-metadataRepository http://download.eclipse.org/webtools/releng/repository/ -artifactRepository http://download.eclipse.org/webtools/releng/repository/ -installIU org.eclipse.wtp.releng.tools.feature.feature.group"
-
-devworkspace=./workspace
-
-JAVA_5_HOME=/shared/webtools/apps/ibm-java2-sdk-5.0-12.1-linux-i386
-JAVA_6_HOME=/shared/webtools/apps/ibm-java-sdk-6.0-8.1-linux-i386
-JAVA_HOME=${JAVA_6_HOME}
-devJRE=$JAVA_HOME/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-devArgs=$ibmDevArgs
-
-echo "dev:          " $0
-echo
-echo "devworkspace: " $devworkspace
-echo
-echo "devJRE:       " $devJRE
-echo "OTHER_ARGS:   " ${OTHER_ARGS}
-echo
-$devJRE -version
-echo
-
-ECLIPSE_INSTALL=/shared/webtools/apps/eclipse36RC3/eclipse
-
-$ECLIPSE_INSTALL/eclipse  -debug -nosplash -consolelog -console -data $devworkspace -application ${APP_NAME} ${OTHER_ARGS} -vm $devJRE -vmargs $devArgs
-
diff --git a/org.eclipse.helios.tools/templateFiles/maintenance/index.html b/org.eclipse.helios.tools/templateFiles/maintenance/index.html
deleted file mode 100644
index fea4662..0000000
--- a/org.eclipse.helios.tools/templateFiles/maintenance/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Maintenance Staging Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-	href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-	media="screen" />
-<link rel="stylesheet" type="text/css"
-	href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-	media="screen" />
-</head>
-<body>
-<div id="header"><a href="http://www.eclipse.org/"><img
-	src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-	width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</div>
-<div id="midcolumn">
-<p>This software repository URL, <code>http://download.eclipse.org/releases/maintenance/</code>,
-provides temporary access to a software repository for the <a
-	href="http://www.eclipse.org/helios/">Eclipse Helios</a> SR2 release</a>.
-	
-<p>For more information about installing or updating software, see
-the <a
-	href="http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse
-Platform Help</a>.</p>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.helios.tools/templateFiles/release/index.html b/org.eclipse.helios.tools/templateFiles/release/index.html
deleted file mode 100644
index fa247da..0000000
--- a/org.eclipse.helios.tools/templateFiles/release/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Helios Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css" href="/eclipse/eclipse.org-common/stylesheets/visual.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse/eclipse.org-common/stylesheets/layout.css" media="screen" />
-</head>
-<body>
-<div id="header">
-<a href="http://www.eclipse.org/"><img src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif" width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</div>
-<div id="midcolumn">
-<p>
-This software repository URL, <code>http://download.eclipse.org/releases/helios/</code>,  provides access to the software repository for the <a href="http://www.eclipse.org/helios/">Eclipse Helios release</a>. Until its released in June 2010, it will contain milestone builds.</p>
-<p>The repository site URL is typically pre-populated in the list of software repositories when
-you install the Eclipse Platform or SDK. </p>
-<p>For more information about installing or updating software, see the
-<a href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse Platform Help</a>.</p>
-<p>There is also a collection of handy,
-downloadable <a href="http://www.eclipse.org/downloads/">all-in-one zip files</a> available for
-many interests and platforms. Many people find these all-in-one packages the easiest way to get started.</p>
-</div>
-</body>
-</html>
diff --git a/org.eclipse.helios.tools/templateFiles/staging/index.html b/org.eclipse.helios.tools/templateFiles/staging/index.html
deleted file mode 100644
index 469a626..0000000
--- a/org.eclipse.helios.tools/templateFiles/staging/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Staging Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-	href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-	media="screen" />
-<link rel="stylesheet" type="text/css"
-	href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-	media="screen" />
-</head>
-<body>
-<div id="header"><a href="http://www.eclipse.org/"><img
-	src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-	width="163" height="68" border="0" alt="Eclipse Logo" class="logo" /></a>
-</div>
-<div id="midcolumn">
-<p>This software repository URL, <code>http://download.eclipse.org/releases/maintenance/</code>,
-provides temporary access to a software repository for the <a
-	href="http://www.eclipse.org/helios/">Eclipse Helios release</a>. 
-	
-<p>For more information about installing or updating software, see
-the <a
-	href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse
-Platform Help</a>.</p>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.helios/.project b/org.eclipse.helios/.project
deleted file mode 100644
index c9ca644..0000000
--- a/org.eclipse.helios/.project
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-    <name>org.eclipse.helios</name>
-    <comment></comment>
-    <projects>
-    </projects>
-</projectDescription>
\ No newline at end of file
diff --git a/org.eclipse.helios/obsolete.txt b/org.eclipse.helios/obsolete.txt
deleted file mode 100644
index 06694a3..0000000
--- a/org.eclipse.helios/obsolete.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-This bundle is now obsolete to use in builds or deliverables, 
-since we removed the true build portion of the process. 
-See bug 299344. 
-https://bugs.eclipse.org/bugs/show_bug.cgi?id=299344
-  
-I tagged the final versions with a meaningful tag, v20100130-FinalVersionHeliosM4ish, 
-and then nulled out head, and left this one file to explain where it went. 
diff --git a/org.eclipse.juno.build/.cvsignore b/org.eclipse.juno.build/.cvsignore
deleted file mode 100644
index c347261..0000000
--- a/org.eclipse.juno.build/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.cvschangelog
-buildresults
diff --git a/org.eclipse.juno.build/.project b/org.eclipse.juno.build/.project
deleted file mode 100644
index 05f593e..0000000
--- a/org.eclipse.juno.build/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.juno.build</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.juno.build/.settings/org.eclipse.core.resources.prefs b/org.eclipse.juno.build/.settings/org.eclipse.core.resources.prefs
deleted file mode 100755
index 9260389..0000000
--- a/org.eclipse.juno.build/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri May 13 19:01:57 CEST 2011
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
-encoding/m2e.b3aggrcon=ASCII
diff --git a/org.eclipse.juno.build/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.juno.build/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100755
index 8a66078..0000000
--- a/org.eclipse.juno.build/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Mar 15 18:30:37 EDT 2011
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.eclipse.juno.build/actf.b3aggrcon b/org.eclipse.juno.build/actf.b3aggrcon
deleted file mode 100755
index dcd6f2e..0000000
--- a/org.eclipse.juno.build/actf.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="ACTF">
-  <repositories location="http://download.eclipse.org/technology/actf/0.9/update-site/" description="ACTF 0.9">
-    <features name="org.eclipse.actf.visualization.sdk.feature.group" versionRange="0.9.0.R201106081110">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.actf.visualization.ui.pdt.feature.group" versionRange="0.9.0.R201106081110">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.actf.visualization.ui.wst.feature.group" versionRange="0.9.0.R201106081110">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='kentarou@jp.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/amalgam.b3aggrcon b/org.eclipse.juno.build/amalgam.b3aggrcon
deleted file mode 100755
index f6be4ab..0000000
--- a/org.eclipse.juno.build/amalgam.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Amalgam">
-  <repositories location="http://download.eclipse.org/modeling/amalgam/updates/releases/1.2/" description="Amalgam Stable Milestones">
-    <features name="org.eclipse.amalgam.discovery.feature.group" versionRange="[1.2.0,2.0.0]">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/amp.b3aggrcon b/org.eclipse.juno.build/amp.b3aggrcon
deleted file mode 100755
index e3b9835..0000000
--- a/org.eclipse.juno.build/amp.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="AMP">
-  <repositories location="http://download.eclipse.org/amp/updates/releases/indigo_b3">
-    <features name="org.eclipse.amp.all.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='milesparker@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/birt.b3aggrcon b/org.eclipse.juno.build/birt.b3aggrcon
deleted file mode 100755
index ac80e9b..0000000
--- a/org.eclipse.juno.build/birt.b3aggrcon
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="BIRT">
-  <repositories enabled="false" location="http://download.eclipse.org/birt/update-site/3.7/" description="BIRT 3.7.0 Release">
-    <features name="org.eclipse.birt.feature.group" versionRange="3.7.0.v20110603-BDF9E7AGTzuHfngz-8A08WvWDv8v">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.cshelp.feature.group" versionRange="3.7.0.v20110603-46-7w31221641">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.chart.cshelp.feature.group" versionRange="3.7.0.v20110603-46-7w31221641">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.doc.feature.group" versionRange="3.7.0.v20110603-46-7w31221714">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.example.feature.group" versionRange="3.7.0.v20110603-7M7l-DZRDKKDnDc">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.source.feature.group" versionRange="3.7.0.v20110603-BDF9E7AGTzuHfngz-8A08WvWDv8v">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Business%20Intelligence%2C%20Reporting%20and%20Charting']"/>
-    </features>
-    <features name="org.eclipse.birt.osgi.runtime.sdk.feature.group" versionRange="3.7.0.v20110603-777D-86vH9BEP6e9QJakbuXCwimT">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='xgu@actuate.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='wli@actuate.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='yjiang@actuate.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/cdt.b3aggrcon b/org.eclipse.juno.build/cdt.b3aggrcon
deleted file mode 100755
index ece8ed0..0000000
--- a/org.eclipse.juno.build/cdt.b3aggrcon
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="CDT">
-  <repositories location="http://download.eclipse.org/tools/cdt/updates/indigo/" description="CDT updates">
-    <bundles name="org.eclipse.cdt.core.aix" versionRange="5.1.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.linux" versionRange="5.2.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.linux.ia64" versionRange="5.1.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.linux.ppc" versionRange="5.1.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.linux.ppc64" versionRange="5.1.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.linux.x86" versionRange="5.2.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.linux.x86_64" versionRange="5.2.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.macosx" versionRange="5.2.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.qnx" versionRange="5.1.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.solaris" versionRange="5.2.0.201106081058"/>
-    <bundles name="org.eclipse.cdt.core.win32" versionRange="5.2.0.201106081058"/>
-    <features name="org.eclipse.cdt.feature.group" versionRange="8.0.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.cdt.sdk.feature.group" versionRange="8.0.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.cdt.debug.gdbjtag.feature.group" versionRange="7.0.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.core.lrparser.feature.feature.group" versionRange="5.2.0.201106081058"/>
-    <features name="org.eclipse.cdt.core.lrparser.sdk.feature.group" versionRange="5.2.0.201106081058"/>
-    <features name="org.eclipse.cdt.core.parser.upc.feature.feature.group" versionRange="5.1.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.cdt.core.parser.upc.sdk.feature.group" versionRange="5.1.0.201106081058"/>
-    <features name="org.eclipse.cdt.xlc.feature.feature.group" versionRange="6.1.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.cdt.xlc.sdk.feature.group" versionRange="6.1.0.201106081058"/>
-    <features name="org.eclipse.cdt.platform.feature.group" versionRange="8.0.0.201106081058"/>
-    <features name="org.eclipse.cdt.debug.ui.memory.feature.group" versionRange="2.1.100.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.launch.remote.feature.group" versionRange="6.0.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.build.crossgcc.feature.group" versionRange="1.0.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.cdt.p2.feature.group" versionRange="1.0.0.201106081058"/>
-    <features name="org.eclipse.cdt.bupc.feature.group" versionRange="1.0.3.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.cdt.msw.feature.group" versionRange="1.0.0.201106081058">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.tm.tcf.feature.feature.group" versionRange="0.4.0.201106081058"/>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='vivkong@ca.ibm.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='cdtdoug@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/dltk.b3aggrcon b/org.eclipse.juno.build/dltk.b3aggrcon
deleted file mode 100755
index be362c4..0000000
--- a/org.eclipse.juno.build/dltk.b3aggrcon
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DLTK">
-  <repositories location="http://download.eclipse.org/technology/dltk/updates-dev/3.0-stable/" description="DLTK 3.0 RC4">
-    <features name="org.eclipse.dltk.core.feature.group" versionRange="3.0.0.v20101211-0331-7l--ED-z0UkgZToe6HfMg">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.dltk.ruby.feature.group" versionRange="3.0.0.v20110424-7Z--E_EkMYXO4k101442">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.tcl.feature.group" versionRange="3.0.0.v20101109-0623-7g--EC3wSgpTPwM02543">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.xotcl.feature.group" versionRange="3.0.0.v20110424-7B--_kE7A_8KDJ01155">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.itcl.feature.group" versionRange="3.0.0.v20110424-79--9oA5876G8I1489B">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.dltk.rse.feature.group" versionRange="2.0.0.v20101211-0331-5--9oA5858A8_27_8H">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.dltk.mylyn.feature.group" versionRange="3.0.0.v20101025-2100-3--7w3121232201442">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='alex@xored.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='andrey@xored.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/dsdp-mjt.b3aggrcon b/org.eclipse.juno.build/dsdp-mjt.b3aggrcon
deleted file mode 100755
index 8fe2d65..0000000
--- a/org.eclipse.juno.build/dsdp-mjt.b3aggrcon
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DSDP MTJ">
-  <repositories location="http://download.eclipse.org/mtj/updates/nightly" description="MTJ Nightly Updates">
-    <features name="org.eclipse.mtj.feature.group" versionRange="1.1.2.201011041302">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.mtj.sdk.feature.group" versionRange="1.1.2.201011041302">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.mtj.examples.feature.group" versionRange="1.1.2.201011041302">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='gustavo.eliano@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='diegosandin@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='gorkem.ercan@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/dtp.b3aggrcon b/org.eclipse.juno.build/dtp.b3aggrcon
deleted file mode 100755
index 63cfa99..0000000
--- a/org.eclipse.juno.build/dtp.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="DataTools">
-  <repositories location="http://download.eclipse.org/datatools/downloads/drops/M_updates_1.9" description="DTP 1.9.0 updates">
-    <features name="org.eclipse.datatools.sdk.feature.feature.group" versionRange="1.9.0.v201106031100-7PA3-FEPPYuz03b7QIYA_na6LLx7">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Database%20Development']"/>
-    </features>
-    <features name="org.eclipse.datatools.enablement.sdk.feature.feature.group" versionRange="1.9.0.v201106031100-7I9O-FE9JfxmjWSl6tUWLp5J91_8">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Database%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='xgu@actuate.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='yjiang@actuate.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/ecf.b3aggrcon b/org.eclipse.juno.build/ecf.b3aggrcon
deleted file mode 100755
index 8c8b769..0000000
--- a/org.eclipse.juno.build/ecf.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="ECF">
-  <repositories location="http://download.eclipse.org/rt/ecf/3.5.1/site.p2" description="ECF updates">
-    <features name="org.eclipse.ecf.core.feature.group" versionRange="3.5.1.v20110531-2218">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='slewis@composent.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/eclipseLink.b3aggrcon b/org.eclipse.juno.build/eclipseLink.b3aggrcon
deleted file mode 100755
index 6b26760..0000000
--- a/org.eclipse.juno.build/eclipseLink.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EclipseLink">
-  <repositories location="http://download.eclipse.org/rt/eclipselink/milestone-updates/2.3.0.v20110604-r9504_RC4" description="EclipseLink">
-    <features name="org.eclipse.persistence.sdk.feature.group" versionRange="2.3.0.v20110604-r9504">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='eric.gwin@oracle.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/egit.b3aggrcon b/org.eclipse.juno.build/egit.b3aggrcon
deleted file mode 100755
index 9db1046..0000000
--- a/org.eclipse.juno.build/egit.b3aggrcon
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EGit">
-  <repositories location="http://download.eclipse.org/egit/releases/v1.0.0.201106090707-r/" description="EGit Updates">
-    <features name="org.eclipse.jgit.feature.group" versionRange="1.0.0.201106090707-r">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.egit.feature.group" versionRange="1.0.0.201106090707-r">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.egit.mylyn.feature.group" versionRange="1.0.0.201106090707-r">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='sop@google.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='caniszczyk@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='matthias.sohn@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-cdo.b3aggrcon b/org.eclipse.juno.build/emf-cdo.b3aggrcon
deleted file mode 100755
index 580ba0e..0000000
--- a/org.eclipse.juno.build/emf-cdo.b3aggrcon
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF CDO">
-  <repositories location="http://download.eclipse.org/modeling/emf/cdo/drops/R20110608-1407" description="EMF CDO R20110608-1407">
-    <features name="org.eclipse.net4j.sdk.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.cdo.sdk.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.cdo.dawn.sdk.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.cdo.epp.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stepper@esc-net.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-compare.b3aggrcon b/org.eclipse.juno.build/emf-compare.b3aggrcon
deleted file mode 100755
index 649aa17..0000000
--- a/org.eclipse.juno.build/emf-compare.b3aggrcon
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF COMPARE">
-  <repositories location="http://download.eclipse.org/modeling/emf/compare/updates/releases/1.2" description="EMF COMPARE">
-    <features name="org.eclipse.emf.compare.sdk.feature.group" versionRange="[1.2.0,2.0.0]">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.compare.mpatch.feature.group" versionRange="[1.2.0,1.3.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.compare.feature.group" versionRange="[1.2.0,1.3.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.compare.uml2.feature.group" versionRange="[1.2.0,1.3.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='laurent.goubet@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-emf.b3aggrcon b/org.eclipse.juno.build/emf-emf.b3aggrcon
deleted file mode 100755
index e9f8f2b..0000000
--- a/org.eclipse.juno.build/emf-emf.b3aggrcon
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF (Core)">
-  <repositories location="http://download.eclipse.org/modeling/emf/emf/updates/2.7" description="EMF (Core) 2.7 releases">
-    <features name="org.eclipse.emf.sdk.feature.group" versionRange="2.7.0.v20110606-0949">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.emf.rap.sdk.feature.group" versionRange="2.7.0.v20110606-0949">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.emf.oda.sdk.feature.group" versionRange="1.0.0.v20110606-0949">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='Kenn.Hussey@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='michal.ruzicka@cloudsmith.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-query.b3aggrcon b/org.eclipse.juno.build/emf-query.b3aggrcon
deleted file mode 100755
index a45b240..0000000
--- a/org.eclipse.juno.build/emf-query.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF QUERY">
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" description="EMF Query milestones">
-    <features name="org.eclipse.emf.query.sdk.feature.group" versionRange="1.5.0.v20110502-1600-67O-95GFz03DQEiNLXRMK_NPj507">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.query.examples.feature.group" versionRange="1.5.0.v20110502-1600-678-AkF78Z8GCS7LRF7">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='boris.gruschko@sap.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-teneo.b3aggrcon b/org.eclipse.juno.build/emf-teneo.b3aggrcon
deleted file mode 100755
index 2416f91..0000000
--- a/org.eclipse.juno.build/emf-teneo.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF TENEO">
-  <repositories location="http://download.eclipse.org/modeling/emf/teneo/updates/1.2.0/milestones/" description="EMF TENEO milestones">
-    <features name="org.eclipse.emf.teneo.hibernate.sdk.feature.group" versionRange="1.1.2.v201006151458">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.teneo.eclipselink.sdk.feature.group" versionRange="1.1.0.v201006151458">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='mtaal@elver.org']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='stepper@esc-net.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-transaction.b3aggrcon b/org.eclipse.juno.build/emf-transaction.b3aggrcon
deleted file mode 100755
index 06ab609..0000000
--- a/org.eclipse.juno.build/emf-transaction.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF TRANSACTION">
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" description="EMF Transaction milestones">
-    <features name="org.eclipse.emf.transaction.sdk.feature.group" versionRange="1.5.0.v20110502-1600-777T-9AZP-F1cMhjSqjhYl0eU20D">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.transaction.examples.feature.group" versionRange="1.5.0.v20110502-1600-47B8Z8yGD5OtMCKTJQMQ6FGL2">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='boris.gruschko@sap.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emf-validation.b3aggrcon b/org.eclipse.juno.build/emf-validation.b3aggrcon
deleted file mode 100755
index 2426d83..0000000
--- a/org.eclipse.juno.build/emf-validation.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF VALIDATION">
-  <repositories location="http://download.eclipse.org/modeling/emf/updates/milestones/" description="EMF Validation milestones">
-    <features name="org.eclipse.emf.validation.sdk.feature.group" versionRange="1.5.0.v20110502-1600-67O-96SGR55YJeZPedcQnghI6uFA">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.validation.examples.feature.group" versionRange="1.5.0.v20110502-1600-67H-BgJ9CS9KHX8QXNK">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='boris.gruschko@sap.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emft-ecoretools.b3aggrcon b/org.eclipse.juno.build/emft-ecoretools.b3aggrcon
deleted file mode 100755
index abaa8c0..0000000
--- a/org.eclipse.juno.build/emft-ecoretools.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT Ecore Tools">
-  <repositories location="http://download.eclipse.org/modeling/amalgam/temp/ecoretools-1.0.0" description="EMFT Ecore Tools Releases">
-    <features name="org.eclipse.emf.ecoretools.sdk.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='ed.merks@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emft-eef.b3aggrcon b/org.eclipse.juno.build/emft-eef.b3aggrcon
deleted file mode 100755
index 9da97fb..0000000
--- a/org.eclipse.juno.build/emft-eef.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Extended Editing Framework (EEF)">
-  <repositories location="http://download.eclipse.org/modeling/emft/eef/updates/releases/1.0" description="EEF 1.0 releases">
-    <features name="org.eclipse.emf.eef.indigo.feature.group" versionRange="[1.0.0,1.1.0]">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.eef.codegen.ecore.feature.group" versionRange="[1.0.0,1.1.0]">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='goulwen.lefur@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emft-egf.b3aggrcon b/org.eclipse.juno.build/emft-egf.b3aggrcon
deleted file mode 100755
index 7847a25..0000000
--- a/org.eclipse.juno.build/emft-egf.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT EGF">
-  <repositories location="http://download.eclipse.org/egf/updates/indigo/official" description="EMFT EGF Releases">
-    <features name="org.eclipse.egf.sdk.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='benoit.langlois@thalesgroup.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emft-emffacet.b3aggrcon b/org.eclipse.juno.build/emft-emffacet.b3aggrcon
deleted file mode 100755
index 1a20031..0000000
--- a/org.eclipse.juno.build/emft-emffacet.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMF Facet">
-  <repositories location="http://download.eclipse.org/facet/updates/milestones/0.1" description="EMF Facet">
-    <features name="org.eclipse.emf.facet.sdk.feature.group" versionRange="0.1.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='nbros.mia@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emft-mint.b3aggrcon b/org.eclipse.juno.build/emft-mint.b3aggrcon
deleted file mode 100755
index 2f417f1..0000000
--- a/org.eclipse.juno.build/emft-mint.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT MINT">
-  <repositories location="http://download.eclipse.org/modeling/emft/updates/releases/" description="EMFT MINT releases">
-    <features name="org.eclipse.emf.mint.sdk.feature.group" versionRange="0.9.0.v201006142335">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='pnehrer@eclipticalsoftware.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/emft-mwe.b3aggrcon b/org.eclipse.juno.build/emft-mwe.b3aggrcon
deleted file mode 100755
index 11c1bb8..0000000
--- a/org.eclipse.juno.build/emft-mwe.b3aggrcon
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EMFT MWE">
-  <repositories location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/R201108020506/mwe" description="EMFT MWE Releases">
-    <features name="org.eclipse.emf.mwe2.runtime.sdk.feature.group" versionRange="2.0.0.v201108020506">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.emf.mwe.sdk.feature.group" versionRange="1.1.0.v201108020506">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/R201108020809/mwe2lang" description="EMFT MWE Releases">
-    <features name="org.eclipse.emf.mwe2.language.sdk.feature.group" versionRange="2.0.0.v201108020809">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='alle-ki@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/ep.b3aggrcon b/org.eclipse.juno.build/ep.b3aggrcon
deleted file mode 100755
index 1b0ba74..0000000
--- a/org.eclipse.juno.build/ep.b3aggrcon
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Eclipse">
-  <repositories location="http://download.eclipse.org/eclipse/updates/4.2milestones/S-4.2M1-201108051200" description="Eclipse and Equinox 3.7 I-builds">
-    <products name="org.eclipse.sdk.ide" versionRange="4.2.0.I20110805-1200"/>
-    <products name="org.eclipse.platform.ide" versionRange="4.2.0.I20110805-1200"/>
-    <products name="org.eclipse.platform.sdk" versionRange="4.2.0.I20110805-1200"/>
-    <features name="org.eclipse.sdk.feature.group" versionRange="4.1.0.v20110612-1800-7T7jA7F8Yx_SlNdrz-IMZnZlz04ov6SOtpsF9RmKy0A8z"/>
-    <features name="org.eclipse.cvs.feature.group" versionRange="1.3.100.v20110520-0800-7B78FHk8sF7BB7UAB5FV75">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.pde.feature.group" versionRange="3.8.0.v20110729-7b7sFeCFEx2XnmZ7mw5H88">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.jdt.feature.group" versionRange="3.8.0.v20110728-7z8jFkWFMTdHMOucm7LsKda9B15B">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.equinox.p2.user.ui.feature.group" versionRange="2.1.1.v20110725-1630-6-Bh9JXPeReJWbWDxOD-SbUcq-cL"/>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='kmoir@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/epp-mpc.b3aggrcon b/org.eclipse.juno.build/epp-mpc.b3aggrcon
deleted file mode 100755
index 103f0bf..0000000
--- a/org.eclipse.juno.build/epp-mpc.b3aggrcon
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EPP Marketplace Client">
-  <repositories location="http://download.eclipse.org/mpc/nightly/" description="EPP Marketplace Client">
-    <features name="org.eclipse.epp.mpc.feature.group" versionRange="1.1.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.epp.mpc.source.feature.group" versionRange="1.1.0"/>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='steffen.pingel@tasktop.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='david.green@tasktop.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='benjamin.muskalla@tasktop.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/epp-udc.b3aggrcon b/org.eclipse.juno.build/epp-udc.b3aggrcon
deleted file mode 100755
index 2330c83..0000000
--- a/org.eclipse.juno.build/epp-udc.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="EPP UDC">
-  <repositories location="http://download.eclipse.org/technology/epp/updates/udc/" description="EPP updates">
-    <features name="org.eclipse.epp.usagedata.feature.feature.group" versionRange="1.4.0.R201106061540">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='wayne@eclipse.org']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='mknauer@eclipsesource.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/equinox.b3aggrcon b/org.eclipse.juno.build/equinox.b3aggrcon
deleted file mode 100755
index 5c9d9c2..0000000
--- a/org.eclipse.juno.build/equinox.b3aggrcon
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Equinox">
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.7milestones/S-3.7RC5-201106131736" description="Eclipse and Equinox 3.7 milestones">
-    <features name="org.eclipse.equinox.sdk.feature.group" versionRange="3.7.0.v20110502-7M7W8Z8eNV4UqfbhicjDN-ROgjNc" enabled="false">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.equinox.p2.discovery.feature.feature.group" versionRange="1.0.100.v20110519-4-8_9oB5885K5B28WKK" enabled="false"/>
-    <features name="org.eclipse.rcp.source.feature.group" versionRange="3.7.0.v20110216-9DB5Fm1FpBGy_AaVz-mFamgY" enabled="false"/>
-  </repositories>
-  <repositories location="http://download.eclipse.org/eclipse/updates/3.7milestones/S-3.7RC5-201106131736" description="Eclipse and Equinox 3.7 release">
-    <products name="org.eclipse.rcp.sdk.id" versionRange="3.7.0.20110613-1736" enabled="false"/>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='kmoir@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/gef.b3aggrcon b/org.eclipse.juno.build/gef.b3aggrcon
deleted file mode 100755
index d1c0134..0000000
--- a/org.eclipse.juno.build/gef.b3aggrcon
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GEF">
-  <repositories location="http://download.eclipse.org/tools/gef/updates/milestones" description="GEF interim">
-    <features name="org.eclipse.gef.sdk.feature.group" versionRange="3.7.0.v20110425-2050-7G7W-A5WNg9RDcRXDHeSRSTUiNLI">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.gef.examples.feature.group" versionRange="3.7.0.v20110425-2050-7G7Y-BgJ9EBCKBM4J9Y9">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.zest.sdk.feature.group" versionRange="1.3.0.v20110425-2050-67C-8COMNEAKQTKGPWTQTYhUN8ZQ">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='irbull@eclipsesource.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='aboyko@ca.ibm.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='alexander.nyssen@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/gmp-gmf-notation.b3aggrcon b/org.eclipse.juno.build/gmp-gmf-notation.b3aggrcon
deleted file mode 100755
index dfdfd98..0000000
--- a/org.eclipse.juno.build/gmp-gmf-notation.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GMF Notation">
-  <repositories location="http://download.eclipse.org/modeling/gmp/updates/milestones" description="GMP repository">
-    <features name="org.eclipse.gmf.runtime.notation.sdk.feature.group" versionRange="1.5.0.v20110426-2159-47D08xGD6ExNBM7CIJa3CIKK9t84">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/gmp-gmf-runtime.b3aggrcon b/org.eclipse.juno.build/gmp-gmf-runtime.b3aggrcon
deleted file mode 100755
index 22cb0d3..0000000
--- a/org.eclipse.juno.build/gmp-gmf-runtime.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GMF Runtime">
-  <repositories location="http://download.eclipse.org/modeling/gmp/updates/milestones" description="GMP repository">
-    <features name="org.eclipse.gmf.feature.group" versionRange="1.5.0.v20110607-1200-7d9Q7HFYnmMEynz0X0qrbsDiK281">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.gmf.examples.runtime.feature.group" versionRange="1.5.0.v20110607-1200-7B7L1F8NcJP0K2Nm9W2nY">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features name="org.eclipse.gmf.runtime.sdk.feature.group" versionRange="1.5.0.v20110607-1200-67N09E9QnChoWswz-3wf_rz0kQ8Y">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='anthonyh@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/gmp-gmf-tooling.b3aggrcon b/org.eclipse.juno.build/gmp-gmf-tooling.b3aggrcon
deleted file mode 100755
index ec191c4..0000000
--- a/org.eclipse.juno.build/gmp-gmf-tooling.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="GMF Tooling">
-  <repositories location="http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones" description="GMF Tooling repository">
-    <features name="org.eclipse.gmf.tooling.feature.group" versionRange="[2.4.0,2.5.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='mickael.istria@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='borlander@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/gmp-graphiti.b3aggrcon b/org.eclipse.juno.build/gmp-graphiti.b3aggrcon
deleted file mode 100755
index daa443b..0000000
--- a/org.eclipse.juno.build/gmp-graphiti.b3aggrcon
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" description="The Eclipse GMP Graphiti project" label="GMP Graphiti">
-  <repositories location="http://download.eclipse.org/graphiti/updates/milestones" description="Graphiti Milestones Update Site">
-    <features description="The feature containing the Graphiti framework" name="org.eclipse.graphiti.feature.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features description="The feature containing the examples for Graphiti" name="org.eclipse.graphiti.feature.examples.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features description="The complete SDK feature for Graphiti containing all other features (framework, examples plus source code)" name="org.eclipse.graphiti.sdk.feature.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-    <features description="The complete SDKplus feature for Graphiti containing all other features (framework, examples plus source code) and the add-ons" name="org.eclipse.graphiti.sdk.plus.feature.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='michael.wenz@sap.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/gyrex.b3aggrcon b/org.eclipse.juno.build/gyrex.b3aggrcon
deleted file mode 100755
index 7eb2c2e..0000000
--- a/org.eclipse.juno.build/gyrex.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" description="The Eclipse Gyrex Project" label="Gyrex">
-  <repositories location="http://download.eclipse.org/gyrex/0.11/milestones/" description="Gyrex 0.11 Milestones Repo">
-    <features description="Gyrex Target Components" name="org.eclipse.gyrex.features.sdk.withoutdeps.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='gunnar@wagenknecht.org']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/jetty.b3aggrcon b/org.eclipse.juno.build/jetty.b3aggrcon
deleted file mode 100755
index 78b4948..0000000
--- a/org.eclipse.juno.build/jetty.b3aggrcon
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Jetty">
-  <repositories location="http://download.eclipse.org/jetty/updates/jetty-rt-3.8milestones/S-3.8M2-201109140450" description="Jetty Updates">
-    <features name="org.eclipse.jetty.sdk.feature.group" versionRange="8.0.1.201109140450">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="javax.servlet.jsp.glassfish.feature.group" versionRange="2.2.0.201109140450"/>
-    <features name="org.eclipse.jetty.bundles.f.source.feature.group" versionRange="8.0.0.201109140450"/>
-    <features name="org.eclipse.jetty.all.dependencies.feature.group" versionRange="8.0.0.201109140450"/>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='gwilkins@intalio.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='jesse.mcconnell@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='hmalphettes@intalio.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/jubula.b3aggrcon b/org.eclipse.juno.build/jubula.b3aggrcon
deleted file mode 100755
index 6932d16..0000000
--- a/org.eclipse.juno.build/jubula.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Jubula">
-  <repositories location="http://download.eclipse.org/jubula/release/indigo">
-    <features name="org.eclipse.jubula.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Testing']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='Markus.Tiede@bredex.de']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='Zeb.Ford-Reitz@bredex.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/jwt.b3aggrcon b/org.eclipse.juno.build/jwt.b3aggrcon
deleted file mode 100755
index a19c87d..0000000
--- a/org.eclipse.juno.build/jwt.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Java Workflow Tooling">
-  <repositories location="http://download.eclipse.org/jwt/update-site-indigo/" description="JWT releases">
-    <features name="org.eclipse.jwt.feature.feature.group" versionRange="1.1.0.v201106090801-7O7M-FK_Qj43kqlulYj3">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='saad@informatik.uni-augsburg.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/linuxtools.b3aggrcon b/org.eclipse.juno.build/linuxtools.b3aggrcon
deleted file mode 100755
index a955f5c..0000000
--- a/org.eclipse.juno.build/linuxtools.b3aggrcon
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Linux Tools">
-  <repositories enabled="false" location="http://download.eclipse.org/technology/linuxtools/update-juno" description="Linux Tools Updates">
-    <features name="org.eclipse.linuxtools.cdt.autotools.feature.group" versionRange="3.0.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.cdt.libhover.feature.group" versionRange="0.3.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.changelog.feature.group" versionRange="2.7.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.gprof.feature.group" versionRange="0.7.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.oprofile.feature.group" versionRange="0.3.1.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.rpm.feature.group" versionRange="0.4.3.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.rpm.ui.editor.feature.group" versionRange="0.4.3.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.systemtap.feature.group" versionRange="0.3.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.callgraph.feature.group" versionRange="0.0.2.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.valgrind.feature.group" versionRange="0.8.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.gcov.feature.group" versionRange="0.6.0.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.lttng.feature.group" versionRange="0.3.2.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-    <features name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.group" versionRange="0.7.1.201108161805">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Linux%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='jjohnstn@redhat.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='akurtako@redhat.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/m2e.b3aggrcon b/org.eclipse.juno.build/m2e.b3aggrcon
deleted file mode 100755
index 13dea05..0000000
--- a/org.eclipse.juno.build/m2e.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" description="m2e" label="m2e">
-  <repositories location="http://download.eclipse.org/technology/m2e/milestones/1.0" description="m2e M build repo">
-    <features name="org.eclipse.m2e.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.m2e.logback.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='pascal@sonatype.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='ifedorenko@sonatype.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/m2m-atl.b3aggrcon b/org.eclipse.juno.build/m2m-atl.b3aggrcon
deleted file mode 100755
index 23362e9..0000000
--- a/org.eclipse.juno.build/m2m-atl.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2M ATL">
-  <repositories location="http://download.eclipse.org/modeling/m2m/atl/updates/milestones/3.2/" description="M2M ATL milestones">
-    <features name="org.eclipse.m2m.atl.sdk.feature.group" versionRange="3.2.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='william.piers@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/m2m-qvtoml.b3aggrcon b/org.eclipse.juno.build/m2m-qvtoml.b3aggrcon
deleted file mode 100755
index 07afa98..0000000
--- a/org.eclipse.juno.build/m2m-qvtoml.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2M QVTO 3.1.0">
-  <repositories location="http://download.eclipse.org/modeling/m2m/qvtoml/updates/3.1.0/milestones/" description="M2M QVTO 3.1.0 Milestones">
-    <features name="org.eclipse.m2m.qvt.oml.sdk.feature.group" versionRange="3.1.0.v20110314-1530-7U7A-CL5RuMpMxGq9lWcafWQlGUu">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='dvorak.radek@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='sboyko@borland.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/m2t-acceleo.b3aggrcon b/org.eclipse.juno.build/m2t-acceleo.b3aggrcon
deleted file mode 100755
index ad962d0..0000000
--- a/org.eclipse.juno.build/m2t-acceleo.b3aggrcon
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2T ACCELEO">
-  <repositories location="http://download.eclipse.org/modeling/m2t/acceleo/updates/releases/3.1" description="M2T ACCELEO">
-    <features name="org.eclipse.acceleo.sdk.feature.group" versionRange="3.1.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephane.bouchet@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='cedric.brun@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='laurent.goubet@obeo.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/m2t-jet.b3aggrcon b/org.eclipse.juno.build/m2t-jet.b3aggrcon
deleted file mode 100755
index aa0321f..0000000
--- a/org.eclipse.juno.build/m2t-jet.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2T JET">
-  <repositories location="http://download.eclipse.org/modeling/m2t/updates/milestones/" description="M2T JET milestones">
-    <features name="org.eclipse.jet.sdk.feature.group" versionRange="1.1.1.v201101271243-42186A5NsKEQPHRQeFaJS4A35">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='pelder@ca.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/m2t-xpand.b3aggrcon b/org.eclipse.juno.build/m2t-xpand.b3aggrcon
deleted file mode 100755
index a229a90..0000000
--- a/org.eclipse.juno.build/m2t-xpand.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="M2T XPAND">
-  <repositories location="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201108020519" description="M2T XPAND Releases">
-    <features name="org.eclipse.xpand.sdk.feature.group" versionRange="1.1.0.v201108020519">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='alle-ki@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mat.b3aggrcon b/org.eclipse.juno.build/mat.b3aggrcon
deleted file mode 100755
index a890292..0000000
--- a/org.eclipse.juno.build/mat.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Memory Analyzer (MAT)">
-  <repositories location="http://download.eclipse.org/mat/indigo/RC2/update-site/" description="Memory Analyzer Updates">
-    <features name="org.eclipse.mat.feature.feature.group" versionRange="1.1.0.201105231821">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.mat.chart.feature.feature.group" versionRange="1.1.0.201105231821">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='krum.tsvetkov@sap.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='erwin.margewitsch@sap.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mdt-modisco.b3aggrcon b/org.eclipse.juno.build/mdt-modisco.b3aggrcon
deleted file mode 100755
index 5416da5..0000000
--- a/org.eclipse.juno.build/mdt-modisco.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MoDisco">
-  <repositories location="http://download.eclipse.org/modeling/mdt/modisco/updates/milestones/0.10" description="MoDisco Milestones">
-    <features name="org.eclipse.gmt.modisco.sdk.feature.group" versionRange="0.10.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='nbros.mia@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mdt-ocl.b3aggrcon b/org.eclipse.juno.build/mdt-ocl.b3aggrcon
deleted file mode 100755
index 700a75a..0000000
--- a/org.eclipse.juno.build/mdt-ocl.b3aggrcon
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MDT OCL 3.2">
-  <repositories location="http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/3.2.0" description="Eclipse OCL 3.2.0 Juno Milestones">
-    <features name="org.eclipse.ocl.all.sdk.feature.group" versionRange="[3.1.0,3.3.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ocl.examples.feature.group" versionRange="[3.2.0,3.3.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='Alexander.Igdalov@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='ed@willink.me.uk']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='adolfosbh@opencanarias.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mdt-papyrus.b3aggrcon b/org.eclipse.juno.build/mdt-papyrus.b3aggrcon
deleted file mode 100755
index c3ed94f..0000000
--- a/org.eclipse.juno.build/mdt-papyrus.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" description="Contribution of the Modeling MDT Papyrus project" label="Papyrus">
-  <repositories location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/indigo" description="Papyrus 0.8 Release">
-    <features description="Papyrus SDK Feature (Incubation)" name="org.eclipse.papyrus.sdk.feature.group" versionRange="0.8.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='chokri.mraidha@cea.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='remi.schnekenburger@cea.fr']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mdt-uml2.b3aggrcon b/org.eclipse.juno.build/mdt-uml2.b3aggrcon
deleted file mode 100755
index 0fb57e0..0000000
--- a/org.eclipse.juno.build/mdt-uml2.b3aggrcon
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MDT UML2">
-  <repositories location="http://download.eclipse.org/modeling/mdt/updates/releases/" description="MDT UML2 releases">
-    <features name="org.eclipse.uml2.sdk.feature.group" versionRange="3.2.0.v201105231350">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='Kenn.Hussey@gmail.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mdt-xsd.b3aggrcon b/org.eclipse.juno.build/mdt-xsd.b3aggrcon
deleted file mode 100755
index b9b5830..0000000
--- a/org.eclipse.juno.build/mdt-xsd.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="MDT XSD">
-  <repositories location="http://download.eclipse.org/modeling/emf/emf/updates/2.7" description="MDT XSD 2.7 releases">
-    <features name="org.eclipse.xsd.sdk.feature.group" versionRange="2.7.0.v20110606-0949">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='Kenn.Hussey@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='michal.ruzicka@cloudsmith.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/mylyn.b3aggrcon b/org.eclipse.juno.build/mylyn.b3aggrcon
deleted file mode 100755
index c7b026f..0000000
--- a/org.eclipse.juno.build/mylyn.b3aggrcon
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Mylyn">
-  <repositories location="http://download.eclipse.org/mylyn/snapshots/juno" description="Mylyn for Eclipse Juno">
-    <features name="org.eclipse.mylyn_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.bugzilla_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.trac_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.cdt.mylyn.feature.group" versionRange="5.3.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.context_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.pde_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.java_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.ide_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.team_feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.wikitext_feature.feature.group" versionRange="1.6.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.cvs.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.git.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.hudson.feature.group" versionRange="0.9.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.mylyn.builds.feature.group" versionRange="0.9.0"/>
-    <features name="org.eclipse.mylyn.builds.sdk.feature.group" versionRange="0.9.0"/>
-    <features name="org.eclipse.mylyn.commons.feature.group" versionRange="3.7.0"/>
-    <features name="org.eclipse.mylyn.commons.sdk.feature.group" versionRange="3.7.0"/>
-    <features name="org.eclipse.mylyn.sdk_feature.feature.group" versionRange="3.7.0"/>
-    <features name="org.eclipse.mylyn.versions.feature.group" versionRange="0.9.0"/>
-    <features name="org.eclipse.mylyn.versions.sdk.feature.group" versionRange="0.9.0"/>
-    <features name="org.eclipse.mylyn.wikitext.sdk.feature.group" versionRange="1.6.0"/>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='mik.kersten@tasktop.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='steffen.pingel@tasktop.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/objectteams.b3aggrcon b/org.eclipse.juno.build/objectteams.b3aggrcon
deleted file mode 100755
index d9f12f5..0000000
--- a/org.eclipse.juno.build/objectteams.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Object Teams">
-  <repositories location="http://download.eclipse.org/objectteams/updates/ot2.1">
-    <features description="Object Teams Development Tooling" name="org.eclipse.objectteams.otdt.feature.group" versionRange="2.1.0.201108130828">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features description="Object Teams Equinox Integration" name="org.eclipse.objectteams.otequinox.feature.group" versionRange="2.0.1.201108130828">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephan@cs.tu-berlin.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/pdt.b3aggrcon b/org.eclipse.juno.build/pdt.b3aggrcon
deleted file mode 100755
index 51f63a5..0000000
--- a/org.eclipse.juno.build/pdt.b3aggrcon
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="PDT">
-  <repositories location="http://download.eclipse.org/tools/pdt/updates/3.0/milestones" description="PDT Indigo Milestones">
-    <features name="org.eclipse.php.sdk.feature.group" versionRange="3.0.0.v20110516-1100-77--84_23JBVgSVXO7XGJz0VLa9O">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='roy@zend.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/ptp.b3aggrcon b/org.eclipse.juno.build/ptp.b3aggrcon
deleted file mode 100755
index f1ad56d..0000000
--- a/org.eclipse.juno.build/ptp.b3aggrcon
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="PTP">
-  <repositories location="http://download.eclipse.org/tools/ptp/updates/indigo/" description="PTP updates">
-    <features name="org.eclipse.ptp.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.gem.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.pldt.upc.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.etfw.ppw.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.etfw.tau.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.rdt.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.rdt.xlc.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.rdt.sync.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.ptp.sci.feature.group" versionRange="5.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.photran.feature.group" versionRange="7.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.photran.intel.feature.group" versionRange="7.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.photran.xlf.feature.group" versionRange="7.0.0.201103131041">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='g.watson@computer.org']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='tibbitts@us.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/rap.b3aggrcon b/org.eclipse.juno.build/rap.b3aggrcon
deleted file mode 100755
index f1ac601..0000000
--- a/org.eclipse.juno.build/rap.b3aggrcon
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="RAP">
-  <repositories location="http://download.eclipse.org/rt/rap/1.5/tooling/M1-20110816-0954/" description="RAP 1.5 Tooling Repository">
-    <features name="org.eclipse.rap.tooling.feature.group" versionRange="[1.5.0,1.6.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/rt/rap/1.5/runtime/M1-20110816-0926/" description="RAP 1.5 Runtime Repository">
-    <features name="org.eclipse.rap.runtime.feature.group" versionRange="[1.5.0,1.6.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-    <features name="org.eclipse.rap.runtime.requirements.feature.group" versionRange="[1.5.0,1.6.0)">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='rsternberg@eclipsesource.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='hstaudacher@eclipsesource.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/riena.b3aggrcon b/org.eclipse.juno.build/riena.b3aggrcon
deleted file mode 100755
index f6a947b..0000000
--- a/org.eclipse.juno.build/riena.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Riena">
-  <repositories location="http://download.eclipse.org/rt/riena/3.0.0.0/update/" description="Riena Target Components ">
-    <features name="org.eclipse.riena.build.feature.sdk.feature.group" versionRange="3.0.0.v20110614_3_0_0_0" enabled="false">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='EclipseRT%20Target%20Platform%20Components']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='Christian.Campo@compeople.de']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='Sabine.Achilles@compeople.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/scout.b3aggrcon b/org.eclipse.juno.build/scout.b3aggrcon
deleted file mode 100755
index 0259c9e..0000000
--- a/org.eclipse.juno.build/scout.b3aggrcon
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" description="Scout Business Application Development" label="Scout">
-  <repositories enabled="false" location="http://download.eclipse.org/scout/3.7/update" description="Scout Targets">
-    <features description="Scout Runtime" name="org.eclipse.scout.rt.feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Application%20Development%20Frameworks']"/>
-    </features>
-    <features description="Scout Development Kit (SDK)" name="org.eclipse.scout.sdk.feature.feature.group" versionRange="3.7.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Application%20Development%20Frameworks']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='andreas.hoegger@bsiag.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='judith.gull@bsiag.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/simrel.b3aggr b/org.eclipse.juno.build/simrel.b3aggr
deleted file mode 100755
index ac6373d..0000000
--- a/org.eclipse.juno.build/simrel.b3aggr
+++ /dev/null
@@ -1,438 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Aggregation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2011/aggregator/1.1.0" buildmaster="//@contacts[email='david_williams@us.ibm.com']" label="Juno" buildRoot="buildresults" sendmail="true" type="I">
-  <validationSets label="main">
-    <contributions href="equinox.b3aggrcon#/"/>
-    <contributions href="ep.b3aggrcon#/"/>
-    <contributions href="emf-emf.b3aggrcon#/"/>
-    <contributions href="ecf.b3aggrcon#/"/>
-    <contributions href="mdt-xsd.b3aggrcon#/"/>
-    <contributions href="gef.b3aggrcon#/"/>
-    <contributions href="amalgam.b3aggrcon#/"/>
-    <contributions href="emf-compare.b3aggrcon#/"/>
-    <contributions href="emft-ecoretools.b3aggrcon#/"/>
-    <contributions href="m2m-atl.b3aggrcon#/"/>
-    <contributions href="m2m-qvtoml.b3aggrcon#/"/>
-    <contributions href="m2t-jet.b3aggrcon#/"/>
-    <contributions href="emft-mint.b3aggrcon#/"/>
-    <contributions href="emft-mwe.b3aggrcon#/"/>
-    <contributions href="dtp.b3aggrcon#/"/>
-    <contributions href="webtools.b3aggrcon#/"/>
-    <contributions href="mylyn.b3aggrcon#/"/>
-    <contributions href="cdt.b3aggrcon#/"/>
-    <contributions href="tm.b3aggrcon#/"/>
-    <contributions href="tools-sequoyah.b3aggrcon#/"/>
-    <contributions href="jwt.b3aggrcon#/"/>
-    <contributions href="dltk.b3aggrcon#/"/>
-    <contributions href="rap.b3aggrcon#/"/>
-    <contributions href="subversive.b3aggrcon#/"/>
-    <contributions href="actf.b3aggrcon#/"/>
-    <contributions href="epp-udc.b3aggrcon#/"/>
-    <contributions href="epp-mpc.b3aggrcon#/"/>
-    <contributions href="emf-cdo.b3aggrcon#/"/>
-    <contributions href="eclipseLink.b3aggrcon#/"/>
-    <contributions href="emf-teneo.b3aggrcon#/"/>
-    <contributions href="birt.b3aggrcon#/"/>
-    <contributions href="mat.b3aggrcon#/"/>
-    <contributions href="mdt-uml2.b3aggrcon#/"/>
-    <contributions href="mdt-ocl.b3aggrcon#/"/>
-    <contributions href="emf-transaction.b3aggrcon#/"/>
-    <contributions href="emf-validation.b3aggrcon#/"/>
-    <contributions href="emf-query.b3aggrcon#/"/>
-    <contributions href="m2t-acceleo.b3aggrcon#/"/>
-    <contributions href="gmp-gmf-notation.b3aggrcon#/"/>
-    <contributions href="gmp-gmf-runtime.b3aggrcon#/"/>
-    <contributions href="gmp-gmf-tooling.b3aggrcon#/"/>
-    <contributions href="m2t-xpand.b3aggrcon#/"/>
-    <contributions href="tmf-xtext.b3aggrcon#/"/>
-    <contributions href="dsdp-mjt.b3aggrcon#/"/>
-    <contributions href="pdt.b3aggrcon#/"/>
-    <contributions href="ptp.b3aggrcon#/"/>
-    <contributions href="stp.b3aggrcon#/"/>
-    <contributions href="soa-sca.b3aggrcon#/"/>
-    <contributions href="emft-eef.b3aggrcon#/"/>
-    <contributions href="linuxtools.b3aggrcon#/"/>
-    <contributions href="emft-emffacet.b3aggrcon#/"/>
-    <contributions href="mdt-modisco.b3aggrcon#/"/>
-    <contributions href="egit.b3aggrcon#/"/>
-    <contributions href="riena.b3aggrcon#/"/>
-    <contributions href="jetty.b3aggrcon#/"/>
-    <contributions href="emft-egf.b3aggrcon#/"/>
-    <contributions href="objectteams.b3aggrcon#/"/>
-    <contributions href="gyrex.b3aggrcon#/"/>
-    <contributions href="gmp-graphiti.b3aggrcon#/"/>
-    <contributions href="m2e.b3aggrcon#/"/>
-    <contributions href="mdt-papyrus.b3aggrcon#/"/>
-    <contributions href="amp.b3aggrcon#/"/>
-    <contributions href="scout.b3aggrcon#/"/>
-    <contributions href="windowbuilder.b3aggrcon#/"/>
-    <contributions href="jubula.b3aggrcon#/"/>
-  </validationSets>
-  <configurations/>
-  <configurations architecture="x86_64"/>
-  <configurations operatingSystem="linux" windowSystem="gtk"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="x86_64"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="ppc64"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="s390"/>
-  <configurations operatingSystem="linux" windowSystem="gtk" architecture="s390x"/>
-  <configurations operatingSystem="solaris" windowSystem="gtk" architecture="sparc"/>
-  <configurations operatingSystem="solaris" windowSystem="gtk"/>
-  <configurations operatingSystem="macosx" windowSystem="cocoa"/>
-  <configurations operatingSystem="macosx" windowSystem="cocoa" architecture="x86_64"/>
-  <configurations operatingSystem="macosx" windowSystem="cocoa" architecture="ppc"/>
-  <configurations operatingSystem="aix" windowSystem="gtk" architecture="ppc"/>
-  <configurations operatingSystem="aix" windowSystem="gtk" architecture="ppc64"/>
-  <configurations operatingSystem="hpux" windowSystem="gtk" architecture="ia64_32"/>
-  <customCategories identifier="Modeling" label="Modeling" description="Model definition, creation, and manipulation frameworks (e.g. EMF, OCL, GMF, M2M, M2T, GEF) and industry models (e.g. UML, JEM, XSD).">
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mdt-xsd.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-gmf-notation.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-gmf-runtime.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mdt-uml2.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mdt-ocl.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-transaction.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-validation.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-query.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2t-jet.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2t-acceleo.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2m-qvtoml.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2m-atl.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-teneo.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tmf-xtext.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2t-xpand.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-mwe.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-mwe.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emft-mwe.b3aggrcon#//@repositories.1/@features.0"/>
-    <features href="amalgam.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-compare.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-ecoretools.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-mint.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emf-cdo.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="mdt-modisco.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-eef.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-eef.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gef.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gef.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gef.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emf-teneo.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mdt-ocl.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-transaction.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-validation.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-query.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gmp-gmf-runtime.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gmp-gmf-runtime.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="gmp-gmf-tooling.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-egf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-graphiti.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="gmp-graphiti.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gmp-graphiti.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="gmp-graphiti.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="mdt-papyrus.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emft-emffacet.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="amp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emft-eef.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-compare.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="emf-compare.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="emf-compare.b3aggrcon#//@repositories.0/@features.3"/>
-  </customCategories>
-  <customCategories identifier="Programming Languages" label="Programming Languages" description="Tools to allow development with specific languages, such as Java and C++">
-    <features href="ep.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.14"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.15"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="pdt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="objectteams.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="objectteams.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.12"/>
-  </customCategories>
-  <customCategories identifier="Web, XML, Java EE and OSGi Enterprise Development" label="Web, XML, Java EE and OSGi Enterprise Development" description="Tools to help create web applications, including JavaScript, XML, XSL, XSD, HTML, XHTML, CSS, JSP, EJBs, Webservices, and JPA tools">
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="pdt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="rap.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.13"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.14"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.15"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.16"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.17"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.18"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.19"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.20"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.23"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.24"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.22"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.12"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="webtools.b3aggrcon#//@repositories.0/@features.21"/>
-    <features href="webtools.b3aggrcon#//@repositories.2/@features.0"/>
-    <features href="webtools.b3aggrcon#//@repositories.2/@features.2"/>
-    <features href="webtools.b3aggrcon#//@repositories.2/@features.1"/>
-  </customCategories>
-  <customCategories identifier="Database Development" label="Database Development" description="Tools to define and access a wide variety of databases.">
-    <features href="dtp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dtp.b3aggrcon#//@repositories.0/@features.1"/>
-  </customCategories>
-  <customCategories identifier="Mobile and Device Development" label="Mobile and Device Development" description="Tools used to develop mobile and device applications.">
-    <features href="tm.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tm.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="tm.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="dsdp-mjt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dsdp-mjt.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="cdt.b3aggrcon#//@repositories.0/@features.12"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="dsdp-mjt.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="tools-sequoyah.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.4"/>
-  </customCategories>
-  <customCategories identifier="Collaboration" label="Collaboration" description="Tools to foster collaboration between developers.">
-    <features href="ep.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="mylyn.b3aggrcon#//@repositories.0/@features.12"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="ecf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="egit.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="egit.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="egit.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="subversive.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="m2e.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="m2e.b3aggrcon#//@repositories.0/@features.1"/>
-  </customCategories>
-  <customCategories identifier="General Purpose Tools" label="General Purpose Tools" description="Tools that can be used by a wide variety of developers.">
-    <features href="actf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="actf.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="actf.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="ep.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="tm.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tm.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="epp-udc.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="epp-mpc.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mat.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="mat.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="mdt-ocl.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="tmf-xtext.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="pdt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="ptp.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="tm.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="dltk.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="m2e.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.8"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="windowbuilder.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="m2e.b3aggrcon#//@repositories.0/@features.1"/>
-  </customCategories>
-  <customCategories identifier="SOA Development" label="SOA Development" description="Tools for SOA Developers">
-    <features href="stp.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.5"/>
-    <features href="stp.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="soa-sca.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="soa-sca.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="soa-sca.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="jwt.b3aggrcon#//@repositories.0/@features.0"/>
-  </customCategories>
-  <customCategories identifier="EclipseRT Target Platform Components" label="EclipseRT Target Platform Components" description="This category identifies various Eclipse technology that is commonly used in runtime scenarios from RCP to embedded to server side. The components in this category are intended to be added to your Target Platform, rather than your IDE.">
-    <features href="riena.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="equinox.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="eclipseLink.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="ecf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="rap.b3aggrcon#//@repositories.1/@features.0"/>
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="emf-emf.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.6"/>
-    <features href="jetty.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="objectteams.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="gyrex.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="rap.b3aggrcon#//@repositories.1/@features.1"/>
-  </customCategories>
-  <customCategories identifier="Business Intelligence, Reporting and Charting" label="Business Intelligence, Reporting and Charting" description="Tools to visualize information, create data-driven web pages, PDF documents and other content using data from a wide variety of sources.">
-    <features href="birt.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.1"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.2"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="birt.b3aggrcon#//@repositories.0/@features.5"/>
-  </customCategories>
-  <customCategories identifier="Linux Tools" label="Linux Tools" description="Linux Tools for C/C++ Testing and Profiling">
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.3"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.4"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.7"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.9"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.10"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.11"/>
-    <features href="linuxtools.b3aggrcon#//@repositories.0/@features.12"/>
-  </customCategories>
-  <customCategories identifier="Application Development Frameworks" label="Application Development Frameworks" description="Frameworks supporting application development.">
-    <features href="scout.b3aggrcon#//@repositories.0/@features.0"/>
-    <features href="scout.b3aggrcon#//@repositories.0/@features.1"/>
-  </customCategories>
-  <customCategories identifier="Testing" label="Testing" description="Frameworks supporting application testing.">
-    <features href="jubula.b3aggrcon#//@repositories.0/@features.0"/>
-  </customCategories>
-  <contacts name="Gorkem Ercan" email="gorkem.ercan@gmail.com"/>
-  <contacts name="Kim Moir" email="kmoir@ca.ibm.com"/>
-  <contacts name="Kenn Hussey" email="Kenn.Hussey@gmail.com"/>
-  <contacts name="Michal Ruzicka" email="michal.ruzicka@cloudsmith.com"/>
-  <contacts name="Scott Lewis" email="slewis@composent.com"/>
-  <contacts name="GEF Build Team" email="irbull@eclipsesource.com"/>
-  <contacts name="GEF Build Team" email="anthonyh@ca.ibm.com"/>
-  <contacts name="GEF Build Team" email="aboyko@ca.ibm.com"/>
-  <contacts name="GEF Build Team" email="alexander.nyssen@itemis.de"/>
-  <contacts name="St&#xe9;phane Bouchet" email="stephane.bouchet@obeo.fr"/>
-  <contacts name="Cedric Brun" email="cedric.brun@obeo.fr"/>
-  <contacts name="EMFT Ecore Tools Build Team" email="ed.merks@gmail.com"/>
-  <contacts name="William Piers" email="william.piers@obeo.fr"/>
-  <contacts name="Radek Dvorak" email="dvorak.radek@gmail.com"/>
-  <contacts name="Sergey Boyko" email="sboyko@borland.com"/>
-  <contacts name="M2T JET Build Team" email="pelder@ca.ibm.com"/>
-  <contacts name="EMFT MINT Build Team" email="pnehrer@eclipticalsoftware.com"/>
-  <contacts name="EMFT MWE Build Team" email="alle-ki@itemis.de"/>
-  <contacts name="Xiaoying Gu" email="xgu@actuate.com"/>
-  <contacts name="Yong Jiang" email="yjiang@actuate.com"/>
-  <contacts name="David Williams" email="david_williams@us.ibm.com"/>
-  <contacts name="Mik Kersten" email="mik.kersten@tasktop.com"/>
-  <contacts name="Steffen Pingel" email="steffen.pingel@tasktop.com"/>
-  <contacts name="Vivian Kong" email="vivkong@ca.ibm.com"/>
-  <contacts name="Doug Schaefer" email="cdtdoug@gmail.com"/>
-  <contacts name="David Dykstal" email="dykstal@acm.org"/>
-  <contacts name="Martin Oberhuber" email="martin.oberhuber@windriver.com"/>
-  <contacts name="Daniel Barboza Franco" email="nkvg64@motorola.com"/>
-  <contacts name="Daniel Drigo Pastore" email="kpqb38@motorola.com"/>
-  <contacts name="Marcel Augusto Gorri" email="wmg040@motorola.com"/>
-  <contacts name="Eric Cloninger" email="ericc@motorola.com"/>
-  <contacts name="Christian Saad" email="saad@informatik.uni-augsburg.de"/>
-  <contacts name="DLTK Build Team" email="alex@xored.com"/>
-  <contacts name="DLTK Build Team" email="andrey@xored.com"/>
-  <contacts name="Ralf Sternberg" email="rsternberg@eclipsesource.com"/>
-  <contacts name="Benjamin Muskalla" email="benjamin.muskalla@tasktop.com"/>
-  <contacts name="Igor Burilo" email="igor.burilo@polarion.org"/>
-  <contacts name="Alexander Gurov" email="alexander.gurov@polarion.com"/>
-  <contacts name="Kentarou Fukuda" email="kentarou@jp.ibm.com"/>
-  <contacts name="Wayne Beaton" email="wayne@eclipse.org"/>
-  <contacts name="Markus Knauer" email="mknauer@eclipsesource.com"/>
-  <contacts name="David Green" email="david.green@tasktop.com"/>
-  <contacts name="Thomas Hallgren" email="thomas@tada.se"/>
-  <contacts name="Eike Stepper" email="stepper@esc-net.de"/>
-  <contacts name="Eric Gwin" email="eric.gwin@oracle.com"/>
-  <contacts name="EMF TENEO Build Team" email="mtaal@elver.org"/>
-  <contacts name="Wenfeng Li" email="wli@actuate.com"/>
-  <contacts name="Krum Tsvetkov" email="krum.tsvetkov@sap.com"/>
-  <contacts name="Erwin Margewitsch" email="erwin.margewitsch@sap.com"/>
-  <contacts name="MDT OCL Build Team" email="Alexander.Igdalov@gmail.com"/>
-  <contacts name="Carl Anderson" email="ccc@us.ibm.com"/>
-  <contacts name="Ed Willink" email="ed@willink.me.uk"/>
-  <contacts name="EMF TRANSACTION Build Team" email="boris.gruschko@sap.com"/>
-  <contacts name="Laurent goubet" email="laurent.goubet@obeo.fr"/>
-  <contacts name="Artem Tikhomirov" email="tikhomirov.artem@gmail.com"/>
-  <contacts name="Holger Staudacher" email="hstaudacher@eclipsesource.com"/>
-  <contacts name="Gustavo de Paula" email="gustavo.eliano@gmail.com"/>
-  <contacts name="Diego Sandin" email="diegosandin@gmail.com"/>
-  <contacts name="PDT Build Team" email="roy@zend.com"/>
-  <contacts name="Greg Watson" email="g.watson@computer.org"/>
-  <contacts name="Beth Tibbitts" email="tibbitts@us.ibm.com"/>
-  <contacts name="Oisin Hurley" email="oisin.hurley@gmail.com"/>
-  <contacts name="Antoine Toulme" email="antoine@lunar-ocean.com"/>
-  <contacts name="Stephane Drapeau" email="stephane.drapeau@obeo.fr"/>
-  <contacts name="Goulwen Le Fur" email="goulwen.lefur@obeo.fr"/>
-  <contacts name="Jeff Johnston" email="jjohnstn@redhat.com"/>
-  <contacts name="Alex Kurtakov" email="akurtako@redhat.com"/>
-  <contacts name="Nicolas Bros" email="nbros.mia@gmail.com"/>
-  <contacts name="Shawn Pearce" email="sop@google.com"/>
-  <contacts name="Chris Aniszczyk" email="caniszczyk@gmail.com"/>
-  <contacts name="Matthias Sohn" email="matthias.sohn@sap.com"/>
-  <contacts name="Christian Campo" email="Christian.Campo@compeople.de"/>
-  <contacts name="Sabine Achilles" email="Sabine.Achilles@compeople.de"/>
-  <contacts name="Greg Wilkins" email="gwilkins@intalio.com"/>
-  <contacts name="Jesse McConnell" email="jesse.mcconnell@gmail.com"/>
-  <contacts name="Hugues Malphettes" email="hmalphettes@intalio.com"/>
-  <contacts name="Adolfo Sanchez-Barbudo Herrera" email="adolfosbh@opencanarias.com"/>
-  <contacts name="Benoit Langlois" email="benoit.langlois@thalesgroup.com"/>
-  <contacts name="Stephan Herrmann" email="stephan@cs.tu-berlin.de"/>
-  <contacts name="Gunnar Wagenknecht" email="gunnar@wagenknecht.org"/>
-  <contacts name="Michael Wenz" email="michael.wenz@sap.com"/>
-  <contacts name="Pascal Rapicault" email="pascal@sonatype.com"/>
-  <contacts name="Igor Fedorenko" email="ifedorenko@sonatype.com"/>
-  <contacts name="Remi Schnekenburger" email="remi.schnekenburger@cea.fr"/>
-  <contacts name="Miles Parker" email="milesparker@gmail.com"/>
-  <contacts name="Andreas Hoegger" email="andreas.hoegger@bsiag.com"/>
-  <contacts name="Mark R Russell" email="mrrussell@google.com"/>
-  <contacts name="Chokri Mraidha" email="chokri.mraidha@cea.fr"/>
-  <contacts name="Markus Tiede" email="Markus.Tiede@bredex.de"/>
-  <contacts name="Zeb Ford-Reitz" email="Zeb.Ford-Reitz@bredex.de"/>
-  <contacts name="Judith Gull" email="judith.gull@bsiag.com"/>
-  <contacts name="Vincent Zurczak" email="vincent.zurczak@ebmwebsourcing.com"/>
-  <contacts name="Kaloyan Raev" email="kaloyan.raev@sap.com"/>
-  <contacts name="Matthias Sohn" email="matthias.sohn@gmail.com"/>
-  <contacts name="Mickael Istria" email="mickael.istria@gmail.com"/>
-  <contacts name="Michael Golubev" email="borlander@gmail.com"/>
-</aggregator:Aggregation>
diff --git a/org.eclipse.juno.build/soa-sca.b3aggrcon b/org.eclipse.juno.build/soa-sca.b3aggrcon
deleted file mode 100755
index 4e47e4e..0000000
--- a/org.eclipse.juno.build/soa-sca.b3aggrcon
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="SOA-SCA">
-  <repositories location="http://download.eclipse.org/soa/sca/indigo" description="SCA Tools Repository">
-    <features name="org.eclipse.soa.sca.core.feature.feature.group" versionRange="2.2.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.soa.sca.sca1_0.feature.feature.group" versionRange="2.2.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.soa.sca.sca1_1.feature.feature.group" versionRange="2.2.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='stephane.drapeau@obeo.fr']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='vincent.zurczak@ebmwebsourcing.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/stp.b3aggrcon b/org.eclipse.juno.build/stp.b3aggrcon
deleted file mode 100755
index 3c32113..0000000
--- a/org.eclipse.juno.build/stp.b3aggrcon
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="STP">
-  <repositories location="http://download.eclipse.org/stp/updates/helios" description="SOA Tools Repository">
-    <features name="org.eclipse.stp.bpmn.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.core.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.bpmn.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.runtime.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.im.sca.feature.feature.group" versionRange="1.2.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.policy.feature.feature.group" versionRange="1.1.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-    <features name="org.eclipse.stp.branding.feature.feature.group" versionRange="2.1.0.201006151053">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='SOA%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='oisin.hurley@gmail.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='antoine@lunar-ocean.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/subversive.b3aggrcon b/org.eclipse.juno.build/subversive.b3aggrcon
deleted file mode 100755
index 6e81040..0000000
--- a/org.eclipse.juno.build/subversive.b3aggrcon
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Subversive">
-  <repositories location="http://download.eclipse.org/technology/subversive/0.7/indigo-site/" description="Subversive updates">
-    <features name="org.eclipse.team.svn.feature.group" versionRange="0.7.9.I20110602-1700">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.team.svn.nl1.feature.group" versionRange="0.7.9.I20110602-1700"/>
-    <features name="org.eclipse.team.svn.resource.ignore.rules.jdt.feature.group" versionRange="0.7.9.I20110602-1700">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.team.svn.mylyn.feature.group" versionRange="0.7.9.I20110602-1700">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-    <features name="org.eclipse.team.svn.source.feature.group" versionRange="0.7.9.I20110602-1700"/>
-    <features name="org.eclipse.team.svn.revision.graph.feature.group" versionRange="0.7.9.I20110602-1700">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Collaboration']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='alexander.gurov@polarion.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/tm.b3aggrcon b/org.eclipse.juno.build/tm.b3aggrcon
deleted file mode 100755
index b13def4..0000000
--- a/org.eclipse.juno.build/tm.b3aggrcon
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="TM">
-  <repositories location="http://download.eclipse.org/tm/updates/3.3/" description="TM 3.3">
-    <features name="org.eclipse.rse.feature.group" versionRange="3.3.0.v201106081330-7L7CFGB8wqio7ppp-b5xx29Eb0hQ">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.rse.useractions.feature.group" versionRange="1.1.300.v201103142315-31F8N8s7355353B75DD">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.tm.terminal.sdk.feature.group" versionRange="3.2.0.v201106081330-7N7B-C5UEz0wYaUnVrdyLVTU">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.tm.terminal.local.feature.group" versionRange="0.2.0.v201103142315-11-7w312212153266">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='dykstal@acm.org']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='martin.oberhuber@windriver.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/tmf-xtext.b3aggrcon b/org.eclipse.juno.build/tmf-xtext.b3aggrcon
deleted file mode 100755
index d62da71..0000000
--- a/org.eclipse.juno.build/tmf-xtext.b3aggrcon
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="TMF XTEXT">
-  <repositories location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/head/R201108020636" description="TMF Xtext Releases">
-    <features name="org.eclipse.xtext.sdk.feature.group" versionRange="2.0.0.v201108020636">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Modeling']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='alle-ki@itemis.de']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/tools-sequoyah.b3aggrcon b/org.eclipse.juno.build/tools-sequoyah.b3aggrcon
deleted file mode 100755
index 3cc2d01..0000000
--- a/org.eclipse.juno.build/tools-sequoyah.b3aggrcon
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="Sequoyah">
-  <repositories location="http://download.eclipse.org/sequoyah/updates/2.0/2.0.0.I20110609-0753/" description="Sequoyah 2.0 Updates">
-    <features name="org.eclipse.sequoyah.android.cdt.feature.feature.group" versionRange="1.1.2.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.device.common.feature.feature.group" versionRange="2.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.device.feature.feature.group" versionRange="2.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.localization.android.feature.feature.group" versionRange="2.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.localization.tools.feature.feature.group" versionRange="2.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.feature.feature.group" versionRange="1.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.protocol.feature.feature.group" versionRange="1.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.sequoyah.vnc.vncviewer.feature.feature.group" versionRange="1.0.0.I20110609-0753">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='nkvg64@motorola.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='kpqb38@motorola.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='wmg040@motorola.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='ericc@motorola.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/webtools.b3aggrcon b/org.eclipse.juno.build/webtools.b3aggrcon
deleted file mode 100755
index a6eb8a4..0000000
--- a/org.eclipse.juno.build/webtools.b3aggrcon
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" label="WebTools">
-  <repositories location="http://download.eclipse.org/webtools/downloads/drops/R3.4.0/S-3.4.0M1-20110812160550/repository/" description="Web Tools 3.4 repository site">
-    <features name="org.eclipse.wst.web_ui.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.enterprise_ui.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.axis2tools.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.dbws.eclipselink.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.jaxb.eclipselink.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.jaxb.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.jpa.eclipselink.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.jpa.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jpt.jpadiagrameditor.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.webpageeditor.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.xml_ui.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.wst.jsdt.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Programming%20Languages']"/>
-    </features>
-    <features name="org.eclipse.wst.common.fproj.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.server_adapters.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.wst.xsl.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.common.fproj.enablement.jdt.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.server_ui.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.server_adapters.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.server_adapters.ext.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.web_ui.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jsf.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.jaxws.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.cxf.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.jst.ws.jaxws.dom.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-  </repositories>
-  <repositories location="http://download.eclipse.org/webtools/downloads/drops/C3.2.0/I-C3.2.0-20100614204142/repository/" description="Web Tools 3.2 capability site">
-    <bundles name="org.eclipse.wtp.epp.package.capabilities" versionRange="1.3.0.v201005102000"/>
-    <bundles name="org.eclipse.wtp.epp.package.jee.intro" versionRange="1.3.0.v201005102030"/>
-    <bundles name="org.eclipse.wtp.javascript.capabilities" versionRange="1.0.100.v201005102000"/>
-    <bundles name="org.eclipse.wtp.jee.capabilities" versionRange="1.0.100.v201005102000"/>
-    <bundles name="org.eclipse.wtp.web.capabilities" versionRange="1.0.100.v201005102000"/>
-    <bundles name="org.eclipse.wtp.xml.capabilities" versionRange="1.0.100.v201005102000"/>
-  </repositories>
-  <repositories location="http://download.eclipse.org/libra/milestones/" description="Libra 0.2 repository site">
-    <features name="org.eclipse.libra.facet.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.libra.warproducts.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-    <features name="org.eclipse.libra.framework.feature.feature.group">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Web%2C%20XML%2C%20Java%20EE%20and%20OSGi%20Enterprise%20Development']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='david_williams@us.ibm.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='kaloyan.raev@sap.com']"/>
-  <contacts href="simrel.b3aggr#//@contacts[email='ccc@us.ibm.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.build/windowbuilder.b3aggrcon b/org.eclipse.juno.build/windowbuilder.b3aggrcon
deleted file mode 100755
index e86784f..0000000
--- a/org.eclipse.juno.build/windowbuilder.b3aggrcon
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2010/aggregator/1.0.0" description="Window Builder GUI Designer" label="Window Builder">
-  <repositories enabled="false" location="http://download.eclipse.org/windowbuilder/WB/RC4-201106091456/3.7">
-    <features name="org.eclipse.wb.core.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.core.ui.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.core.xml.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.doc.user.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.ercp.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='Mobile%20and%20Device%20Development']"/>
-    </features>
-    <features name="org.eclipse.wb.layout.group.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.rcp.SWT_AWT_support.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.rcp.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.swing.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.swt.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-    <features name="org.eclipse.wb.xwt.feature.feature.group" versionRange="1.0.0">
-      <categories href="simrel.b3aggr#//@customCategories[identifier='General%20Purpose%20Tools']"/>
-    </features>
-  </repositories>
-  <contacts href="simrel.b3aggr#//@contacts[email='mrrussell@google.com']"/>
-</aggregator:Contribution>
diff --git a/org.eclipse.juno.tests/.classpath b/org.eclipse.juno.tests/.classpath
deleted file mode 100644
index 0756f17..0000000
--- a/org.eclipse.juno.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry exported="true" kind="lib" path="checkLayout.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.juno.tests/.project b/org.eclipse.juno.tests/.project
deleted file mode 100644
index 54243a0..0000000
--- a/org.eclipse.juno.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.juno.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.juno.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.juno.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 258e4ce..0000000
--- a/org.eclipse.juno.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Sat May 28 03:05:39 EDT 2011
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=ignore
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
diff --git a/org.eclipse.juno.tests/.settings/org.eclipse.pde.prefs b/org.eclipse.juno.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 59a829c..0000000
--- a/org.eclipse.juno.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,33 +0,0 @@
-#Fri May 27 18:43:16 EDT 2011
-compilers.s.create-docs=false
-compilers.p.internal=1
-compilers.p.build.bin.includes=1
-compilers.p.build.source.library=1
-compilers.p.unresolved-ex-points=0
-compilers.p.build.java.compiler=2
-compilers.p.missing-packages=0
-compilers.p.build.output.library=1
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.f.unresolved-features=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.build.src.includes=1
-compilers.s.open-tags=1
-compilers.p.not-externalized-att=2
-compilers.p.no-required-att=0
-compilers.p.discouraged-class=1
-compilers.p.missing-version-export-package=2
-compilers.incompatible-environment=0
-compilers.p.deprecated=1
-compilers.p.missing-version-import-package=2
-compilers.p.build.encodings=2
-compilers.p.missing-version-require-bundle=2
-compilers.f.unresolved-plugins=1
-compilers.p.build.missing.output=2
-compilers.p.unknown-element=1
-compilers.p.build=1
-compilers.p.unknown-class=1
-compilers.s.doc-folder=doc
-compilers.p.unknown-attribute=1
-compilers.p.build.java.compliance=1
diff --git a/org.eclipse.juno.tests/META-INF/MANIFEST.MF b/org.eclipse.juno.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index df87ab1..0000000
--- a/org.eclipse.juno.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,24 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.juno.tests;singleton:=true
-Bundle-Activator: org.eclipse.juno.tests.TestActivator
-Bundle-Version: 1.2.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0",
- org.eclipse.equinox.p2.jarprocessor;bundle-version="1.0.200",
- org.eclipse.ant.core;bundle-version="3.2.200",
- org.apache.ant;bundle-version="1.7.1",
- org.eclipse.equinox.p2.core;bundle-version="2.0.0",
- org.eclipse.equinox.p2.metadata;bundle-version="2.0.0",
- org.eclipse.equinox.p2.repository;bundle-version="2.0.0",
- org.junit;bundle-version="4.2.0"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.juno.tests,
- org.eclipse.juno.tests.jars,
- org.eclipse.juno.tests.repos,
- org.eclipse.juno.tests.utils
-Bundle-ClassPath: checkLayout.jar,
- .
diff --git a/org.eclipse.juno.tests/OSGI-INF/l10n/bundle.properties b/org.eclipse.juno.tests/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index daf60dc..0000000
--- a/org.eclipse.juno.tests/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.juno.tests
-Bundle-Name = Releng Tests for Juno Release
-Bundle-Vendor = Eclipse SimRel
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/about.html b/org.eclipse.juno.tests/about.html
deleted file mode 100644
index bcd98a8..0000000
--- a/org.eclipse.juno.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/aggr.properties b/org.eclipse.juno.tests/aggr.properties
deleted file mode 100755
index c0a4b6f..0000000
--- a/org.eclipse.juno.tests/aggr.properties
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in scripts
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/juno
-
-# Java should be configured per machine, 
-# so this variable point to valid installs
-# we "share" with orbits versions
-JAVA_5_HOME=/shared/orbit/apps/ibm-java2-i386-50
-JAVA_6_HOME=/shared/orbit/apps/ibm-java-i386-60
-
-REPO_ROOT=/home/data/httpd/download.eclipse.org
-
-# each machine needs valid path to an appropriate, local Eclipse SDK, for fresh re-installs (see "full_filename" below)
-FULL_FILENAME_370=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz
-FULL_FILENAME_362=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz
-
-# note the "https" may have to be "http" on local, non production machines
-hostForURL=https://hudson.eclipse.org
-LOG_URL=${hostForURL}/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-
-
-
-# ##################################
-# typically the remaining variables not have to be 
-# changed on a local, non-production machine,
-# as they just compute variables based on above, 
-# or provide relatively machine-independent values.
-
-BUILD_TOOLS=org.eclipse.juno.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.juno.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-
-RELENG_TOOLS=org.eclipse.juno.tools
-
-RELENG_TESTS=org.eclipse.juno.tests
-BUILD_TESTS_DIR=${BUILD_HOME}/${RELENG_TESTS}
-
-
-# we use Java 6 by default. https://bugs.eclipse.org/bugs/show_bug.cgi?id=340267
-JAVA_HOME=${JAVA_6_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# properties say what to consider eclipse home
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_36_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME_37_TEST=${ECLIPSE_INSTALL}/eclipse37Test
-
-ECLIPSE_HOME=${ECLIPSE_HOME_37}
-
-#ECLIPSE_HOME_TEST=${ECLIPSE_HOME_36_TEST}
-ECLIPSE_HOME_TEST=${BUILD_HOME}/testInstance
-
-stagingDirectory=${REPO_ROOT}/releases/staging
-releaseDirectory=${REPO_ROOT}/releases/juno
-testRepoDirectory=${stagingDirectory}
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-TEST_RESULTS=${env.BUILD_HOME}/simrel
-
-# remember, for ant, properties must be "read in" at beginning of ant build file to get variables expanded
-# also, remember, shell scripts need quotes, but ant can not have them
-AGGREGATOR_APP_BASE=--buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --trustedContributions Eclipse,Equinox  --emailFromName JunoAggregator --logURL ${LOG_URL} --subjectPrefix JunoAggregation
-
-# clean build
-#we will clean the aggregation directory ourselves, as work around for bug 354321
-#AGGREGATOR_APP_ARGS=${AGGREGATOR_APP_BASE}  --action CLEAN_BUILD
-AGGREGATOR_APP_ARGS=${AGGREGATOR_APP_BASE}  --action BUILD
-
-AGGREGATOR_APP_ARGS_BUILDONLY=${AGGREGATOR_APP_BASE}  --action BUILD
-
-AGGREGATOR_APP_ARGS_VERIFYONLY=${AGGREGATOR_APP_BASE} --action VERIFY
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox 
-
-# add this to production aggregtor app args only
-# --production 
-
-# NOTE: quotes needed in bash scripts ... NOT in ant properties! 
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS=-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin
-
-# We use this redirection, so scripts only need to use "full_filename", but exact version controlled by properties
-FULL_FILENAME=${FULL_FILENAME_370}
-
-# by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-# it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-# on production machine, set it to /shared
-# jobsHome=/shared
-
-# typically CVS_INFO is ":pserver:anonymous@dev.eclipse.org:" but some advantage on production machine to use "local"
-# CVS_INFO=:local:
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/aggr_properties.shsource b/org.eclipse.juno.tests/aggr_properties.shsource
deleted file mode 100644
index 53058a7..0000000
--- a/org.eclipse.juno.tests/aggr_properties.shsource
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in scripts
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/juno
-
-# Java should be configured per machine,
-# so this variable point to valid installs
-# we "share" with orbits versions
-JAVA_5_HOME=/shared/orbit/apps/ibm-java2-i386-50
-JAVA_6_HOME=/shared/orbit/apps/ibm-java-i386-60
-
-REPO_ROOT=/home/data/httpd/download.eclipse.org
-
-# each machine needs valid path to an appropriate, local Eclipse SDK, for fresh re-installs (see "full_filename" below)
-FULL_FILENAME_370=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz
-FULL_FILENAME_362=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz
-
-# note the "https" may have to be "http" on local, non production machines
-hostForURL=https://hudson.eclipse.org
-LOG_URL="${hostForURL}/hudson/view/Repository%20Aggregation/job/${JOB_NAME}/${BUILD_NUMBER}/console"
-
-
-
-
-# ##################################
-# typically the remaining variables not have to be
-# changed on a local, non-production machine,
-# as they just compute variables based on above, 
-# or provide relatively machine-independent values.
-
-BUILD_TOOLS=org.eclipse.juno.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.juno.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-
-RELENG_TOOLS=org.eclipse.juno.tools
-
-RELENG_TESTS=org.eclipse.juno.tests
-BUILD_TESTS_DIR=${BUILD_HOME}/${RELENG_TESTS}
-
-# we use Java 6 by default. https://bugs.eclipse.org/bugs/show_bug.cgi?id=340267
-JAVA_HOME=${JAVA_6_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# properties say what to consider eclipse home
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_36_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME_37_TEST=${ECLIPSE_INSTALL}/eclipse37Test
-
-ECLIPSE_HOME=${ECLIPSE_HOME_37}
-
-#ECLIPSE_HOME_TEST=${ECLIPSE_HOME_36_TEST}
-ECLIPSE_HOME_TEST=${BUILD_HOME}/testInstance
-
-stagingDirectory=${REPO_ROOT}/releases/staging
-releaseDirectory=${REPO_ROOT}/releases/juno
-testRepoDirectory=${stagingDirectory}
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-TEST_RESULTS=${BUILD_HOME}/simrel
-
-# remember, for ant, properties must be "read in" at beginning of ant build file to get variables expanded
-# also, remember, shell scripts need quotes, but ant can not have them
-AGGREGATOR_APP_BASE="--buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --trustedContributions Eclipse,Equinox  --emailFromName JunoAggregator --logURL ${LOG_URL} --subjectPrefix JunoAggregation"
-
-# clean build
-#we will clean the aggregation directory ourselves, as work around for bug 354321
-#AGGREGATOR_APP_ARGS="${AGGREGATOR_APP_BASE}  --action CLEAN_BUILD"
-AGGREGATOR_APP_ARGS="${AGGREGATOR_APP_BASE}  --action BUILD"
-
-AGGREGATOR_APP_ARGS_BUILDONLY="${AGGREGATOR_APP_BASE}  --action BUILD"
-
-AGGREGATOR_APP_ARGS_VERIFYONLY="${AGGREGATOR_APP_BASE} --action VERIFY"
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox
-
-# add this to production aggregtor app args only
-# --production
-
-# NOTE: quotes needed in bash scripts ... NOT in ant properties! 
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin"
-
-# We use this redirection, so scripts only need to use "full_filename", but exact version controlled by properties
-FULL_FILENAME=${FULL_FILENAME_370}
-
-# by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-# it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-# on production machine, set it to /shared
-# jobsHome=/shared
-
-# typically CVS_INFO is ":pserver:anonymous@dev.eclipse.org:" but some advantage on production machine to use "local"
-# CVS_INFO=:local:
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/ant.sh b/org.eclipse.juno.tests/ant.sh
deleted file mode 100644
index 4ae4fd7..0000000
--- a/org.eclipse.juno.tests/ant.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-source aggr_properties.shsource
-
-ANT_CMD="${ANT_HOME}/bin/ant"
-${ANT_HOME}/bin/ant "$@"
diff --git a/org.eclipse.juno.tests/breedata.txt b/org.eclipse.juno.tests/breedata.txt
deleted file mode 100644
index 126a8a7..0000000
--- a/org.eclipse.juno.tests/breedata.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-
-   Directory checked: /home/files/testSDKRepo
-
-   Checked 641 of 658 jars.
-
-  Bundles with appropriate use of Bundle-RequiredExecutionEnvironment (BREE):
-   Java with BREE: 314
-   Non Java without BREE:296
-
-   Distribution of BREEs in Java Bundles 
-
-		    1	CDC-1.0/Foundation-1.0,J2SE-1.2
-		   40	CDC-1.0/Foundation-1.0,J2SE-1.3
-		   19	CDC-1.1/Foundation-1.1,J2SE-1.4
-		    1	J2SE-1.2
-		    3	J2SE-1.3
-		  130	J2SE-1.4
-		   13	J2SE-1.4,CDC-1.0/Foundation-1.0,J2SE-1.3
-		    1	J2SE-1.4,CDC-1.0/Foundation-1.0,OSGi/Minimum-1.1
-		    7	J2SE-1.4,CDC-1.1/Foundation-1.1
-		   34	J2SE-1.5
-		   12	J2SE-1.5,CDC-1.0/Foundation-1.0,J2SE-1.3
-		    2	J2SE-1.5,J2SE-1.4
-		   27	J2SE-1.5,J2SE-1.4,CDC-1.1/Foundation-1.1
-		    5	J2SE-1.5,OSGi/Minimum-1.2
-		    1	J2SE-1.5,OSGi/Minimum-1.2,CDC-1.1/Foundation-1.1,J2SE-1.4
-		    8	JavaSE-1.6
-		    2	OSGi/Minimum-1.0
-		    2	OSGi/Minimum-1.1
-		    1	OSGi/Minimum-1.2
-		    5	OSGi/Minimum-1.2,CDC-1.1/Foundation-1.1,J2SE-1.4
-
-  Bundles with questionable absence or presence of BREE
-
-    Java Bundles without a BREE: 16
-
-       javax.management.remote_1.0.0.v20100427-1100.jar
-       javax.management_1.2.0.v20100427-1100.jar
-       org.apache.felix.gogo.runtime_0.6.1.v20110414-1850.jar
-       org.eclipse.equinox.initializer_1.0.0.v20100503.jar
-       org.eclipse.jdt.core.compiler.batch_3.7.0.I20110613-1736.jar
-       org.eclipse.jsch.tests_1.0.0.I20100912-2000.jar
-       org.eclipse.pde.tools.versioning_1.0.0.jar
-       org.eclipse.swt.tests_3.7.0.v3735b.jar
-       org.eclipse.team.tests.core_3.7.0.I20110510-0800.jar
-       org.eclipse.ui.examples.fieldassist_1.1.2.I20100601-0800.jar
-       org.eclipse.ui.examples.multipageeditor_3.2.200.I20110413-1600.jar
-       org.eclipse.ui.examples.readmetool_3.3.100.I20110413-1600.jar
-       org.eclipse.ui.examples.undo_3.2.200.I20110413-1600.jar
-       org.eclipse.ui.examples.views.properties.tabbed.article_3.2.1.I20100517-1500.jar
-       org.eclipse.ui.tests.harness_1.1.100.I20110425-1800.jar
-       org.eclipse.update.tests.core_3.3.0.v20100512.jar
-
-    Non Java Bundles with a BREE: 15
-
-CDC-1.0/Foundation-1.0,J2SE-1.3	org.eclipse.core.boot_3.1.200.v20100505.jar
-                J2SE-1.4	org.apache.lucene_2.9.1.v201101211721.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.cdcfoundation10_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.cdcfoundation11_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.j2se12_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.j2se13_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.j2se14_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.j2se15_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.javase16_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.jre11_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.osgiminimum10_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.osgiminimum11_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde.api.tools.ee.osgiminimum12_1.0.100.v20110401-1030.jar
-                J2SE-1.4	org.eclipse.pde_3.6.100.v201106131736.jar
-                J2SE-1.5	org.junit4_4.8.1.v20100525.jar
diff --git a/org.eclipse.juno.tests/build.properties b/org.eclipse.juno.tests/build.properties
deleted file mode 100644
index e8f223b..0000000
--- a/org.eclipse.juno.tests/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               OSGI-INF/l10n/
diff --git a/org.eclipse.juno.tests/checkLayout.jar b/org.eclipse.juno.tests/checkLayout.jar
deleted file mode 100644
index c9f7c43..0000000
--- a/org.eclipse.juno.tests/checkLayout.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.juno.tests/checkLayout.jardesc b/org.eclipse.juno.tests/checkLayout.jardesc
deleted file mode 100644
index 096ddf8..0000000
--- a/org.eclipse.juno.tests/checkLayout.jardesc
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><jardesc>
-    <jar path="org.eclipse.juno.tests/checkLayout.jar"/>
-    <options buildIfNeeded="true" compress="false" descriptionLocation="/org.eclipse.juno.tests/checkLayout.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
-    <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
-    <selectedProjects/>
-    <manifest generateManifest="false" manifestLocation="/org.eclipse.juno.tests/META-INF/MANIFEST.MF" manifestVersion="1.0" reuseManifest="false" saveManifest="true" usesManifest="true">
-        <sealing sealJar="false">
-            <packagesToSeal/>
-            <packagesToUnSeal/>
-        </sealing>
-    </manifest>
-    <selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
-        <file path="/org.eclipse.juno.tests/runTests.xml"/>
-        <file path="/org.eclipse.juno.tests/verifydir.sh"/>
-        <file path="/org.eclipse.juno.tests/cleanupBuildResults.sh"/>
-        <javaElement handleIdentifier="=org.eclipse.juno.tests/src"/>
-        <file path="/org.eclipse.juno.tests/ant.sh"/>
-        <file path="/org.eclipse.juno.tests/plugin.xml"/>
-        <file path="/org.eclipse.juno.tests/runEclipseAntRunner.sh"/>
-        <file path="/org.eclipse.juno.tests/invokeAntRunner.xml"/>
-        <file path="/org.eclipse.juno.tests/about.html"/>
-        <folder path="/org.eclipse.juno.tests/META-INF"/>
-        <file path="/org.eclipse.juno.tests/getRelengTests.sh"/>
-        <folder path="/org.eclipse.juno.tests/OSGI-INF"/>
-        <file path="/org.eclipse.juno.tests/verify.sh"/>
-    </selectedElements>
-</jardesc>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/checkLayoutManifest.mf b/org.eclipse.juno.tests/checkLayoutManifest.mf
deleted file mode 100644
index 59499bc..0000000
--- a/org.eclipse.juno.tests/checkLayoutManifest.mf
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/org.eclipse.juno.tests/cleanupBuildResults.sh b/org.eclipse.juno.tests/cleanupBuildResults.sh
deleted file mode 100644
index d28fdf3..0000000
--- a/org.eclipse.juno.tests/cleanupBuildResults.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-# small utility to remove old (temporary) builds from work area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-# remove artifacts over n days old
-# (where hours = 24 + (n * 24), basically, so that
-# even n=0 means "1 day")
-
-# set at 10 days, under assumption that before that time,
-# artifacts will be "saved" elsewhere, if needed.
-# if more cleanup is needed, we should take time, and
-# existence of more recent builds into account, so we never
-# delete the last existing build (even if "old").
-
-ndays=1;
-artifactsDir=${BUILD_RESULTS};
-
-echo;
-echo "    Removing artifact directories older than ${ndays} days";
-echo "        (from ${artifactsDir})";
-before=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories before cleaning: ${before}";
-
-# empty directories often result from "bad builds". We remove those no matter how old
-find ${artifactsDir} -mindepth 1 -maxdepth 2 -type d -empty -exec rm -fr '{}' \;
-# now remove old ones
-find ${artifactsDir} -mindepth 1 -maxdepth 1 -type d -ctime +$ndays -execdir ${BUILD_HOME}${RELENG_TOOLS}/removeIf.sh '{}' \;
-
-after=`find ${artifactsDir} -mindepth 1 -maxdepth 1 | wc -l`;
-echo "            number of directories after cleaning: ${after}";
-echo
diff --git a/org.eclipse.juno.tests/data/featureDirectoryLengths/dist323.txt b/org.eclipse.juno.tests/data/featureDirectoryLengths/dist323.txt
deleted file mode 100644
index a43a101..0000000
--- a/org.eclipse.juno.tests/data/featureDirectoryLengths/dist323.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/features323.txt
-       66     2
-       67     1
-       68     1
-       69     1
-       71     2
-       73     3
-       74     5
-       75     6
-       76     4
-       77     3
-       78     7
-       79     8
-       80     5
-       81     7
-       82     7
-       83     5
-       84     2
-       85     4
-       86     5
-       87     3
-       88     5
-       89     2
-       90     1
-       92     3
-       93     1
-       94     2
-       105    1
-       
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/data/featureDirectoryLengths/dist324.txt b/org.eclipse.juno.tests/data/featureDirectoryLengths/dist324.txt
deleted file mode 100644
index 4f08862..0000000
--- a/org.eclipse.juno.tests/data/featureDirectoryLengths/dist324.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/features324.txt
-       65     1
-       66     1
-       67     1
-       68     1
-       69     1
-       71     1
-       72     2
-       73     2
-       74     5
-       75     5
-       76     3
-       77     3
-       78     5
-       79     3
-       80     1
-       81     4
-       82     5
-       83     6
-       84     2
-       85     2
-       86     2
-       87     2
-       88     3
-       89     2
-       90     2
-       91     6
-       92     4
-       93     2
-       94     3
-       95     2
-       96     3
-       97     3
-       98     4
-       99     1
-       101    1
-       103    1
-       107    1
-
diff --git a/org.eclipse.juno.tests/data/featureDirectoryLengths/heliosSR2.txt b/org.eclipse.juno.tests/data/featureDirectoryLengths/heliosSR2.txt
deleted file mode 100644
index 04d71bd..0000000
--- a/org.eclipse.juno.tests/data/featureDirectoryLengths/heliosSR2.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/junoSR2.txt
-       27     2
-       38     3
-       40     3
-       41     3
-       42     7
-       43     3
-       44     18
-       45     12
-       46     8
-       47     18
-       48     26
-       49     10
-       50     9
-       51     23
-       52     21
-       53     18
-       54     20
-       55     16
-       56     13
-       57     16
-       58     17
-       59     15
-       60     12
-       61     15
-       62     11
-       63     11
-       64     10
-       65     6
-       66     7
-       67     12
-       68     10
-       69     15
-       70     8
-       71     16
-       72     10
-       73     11
-       74     8
-       75     9
-       76     13
-       77     13
-       78     16
-       79     13
-       80     8
-       81     13
-       82     8
-       83     13
-       84     8
-       85     11
-       86     5
-       87     9
-       88     6
-       89     6
-       90     4
-       91     5
-       93     4
-       94     5
-       95     7
-       96     4
-       97     3
-       98     5
-       100    2
-       101    3
-       102    5
-       104    1
-       105    2
-       109    1
-       112    1
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/data/featureDirectoryLengths/indigoM6ish.txt b/org.eclipse.juno.tests/data/featureDirectoryLengths/indigoM6ish.txt
deleted file mode 100644
index 00f729c..0000000
--- a/org.eclipse.juno.tests/data/featureDirectoryLengths/indigoM6ish.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-Distribution of line lengths in /home/davidw/temp/junoFeatures.txt
-       27     2
-       38     3
-       40     5
-       41     3
-       42     9
-       43     5
-       44     24
-       45     14
-       46     9
-       47     26
-       48     33
-       49     20
-       50     16
-       51     28
-       52     26
-       53     23
-       54     26
-       55     25
-       56     20
-       57     29
-       58     19
-       59     24
-       60     16
-       61     17
-       62     16
-       63     11
-       64     15
-       65     10
-       66     10
-       67     10
-       68     10
-       69     17
-       70     3
-       71     7
-       72     12
-       73     8
-       74     6
-       75     6
-       76     10
-       77     4
-       78     5
-       79     8
-       80     7
-       81     5
-       82     7
-       83     10
-       84     6
-       85     6
-       86     6
-       87     6
-       88     4
-       89     6
-       90     5
-       91     4
-       92     2
-       93     4
-       94     5
-       95     8
-       96     6
-       97     4
-       98     5
-       99     2
-       100    2
-       101    4
-       102    6
-       103    1
-       104    2
-       105    2
-       108    1
-       109    1
-       112    1
-       
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/getRelengTests.sh b/org.eclipse.juno.tests/getRelengTests.sh
deleted file mode 100644
index d4cc9ea..0000000
--- a/org.eclipse.juno.tests/getRelengTests.sh
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/env bash
-
-# it is assumed we are executing this in RELENG_TESTS or the parent of RELENG_TESTS
-
-# Note: for deployment on production machine, no "custom" properties need to be set in aggr_properties.shsource, 
-# assuming the "hudson build script" has been set up appropriately. 
-# 1. need to set "use custom workspace" so some of the relative directory assumptions are true ... such as for Juno, set 
-#    /shared/juno/org.eclipse.juno.tests
-# 2. copy "by hand" (or scp) this getRelengTests.sh file to /shared/juno and run from hudson from there, the parent of 
-#    o.e.i.tests, namely "run shell script" /shared/juno/getRelengTests.sh
-# 3. We currently assume "testInstance" already exists, as a child of /shared/juno, and contains an instance of eclipse SDK (3.7). 
-
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-if [ -z ${RELENG_TESTS} ] ; then
-
-    RELENG_TESTS=org.eclipse.juno.tests
-    echo "RELENG_TESTS set from script: " $RELENG_TESTS
-else
-    echo "RELENG_TESTS set from aggr_properties.shsource: " $RELENG_TESTS
-
-fi
-
-# This script file is to help get builds started "fresh", when
-# the ${RELENG_TESTS} directory already exists on local file system.
-# While it is in the cvs repository in ${RELENG_TESTS}, it is
-# meant to be executed from the parent directory
-# of ${RELENG_TESTS} on the file system.
-
-# export is used, instead of checkout, just to avoid the CVS directories and since this code
-# for a local build, there should never be a need to check it back in to CVS.
-
-# If there is no subdirectory, try going up one directory and looking again (in case we are in it).
-if [ ! -e ${RELENG_TESTS} ]
-then
-    cd ..
-    if [ ! -e ${RELENG_TESTS} ]
-    then        
-        echo "${RELENG_TESTS} does not exist as sub directory";
-        exit 1;
-    fi
-fi
-
-
-# make sure RELENG_TESTS has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${RELENG_TESTS}" ]
-then
-    echo "The variable RELENG_TESTS must be defined to run this script"
-    exit 1;
-fi
-echo "    removing all of ${RELENG_TESTS} ..."
-rm -fr "${RELENG_TESTS}"/*
-rm -fr "${RELENG_TESTS}"/.project
-rm -fr "${RELENG_TESTS}"/.settings
-rm -fr "${RELENG_TESTS}"/.classpath
-mkdir -p "${RELENG_TESTS}"
-
-#controltag=david_williams_tempBranch3
-controltag=HEAD
-echo "    checking out $controltag of ${RELENG_TESTS} from cvs ..."
-
-export CVS_RSH=ssh
-if [ -z ${CVS_INFO} ] ; then
-    CVS_INFO=:pserver:anonymous@dev.eclipse.org:
-fi
-
-echo "CVS_INFO: " $CVS_INFO
-
-cvs -Q -f -d ${CVS_INFO}/cvsroot/callisto  export -d ${RELENG_TESTS} -r $controltag ${RELENG_TESTS}
-returncode=$?
-if [ $returncode -ne 0 ] 
-then
-    echo "non zero from cvs checkout: "$returncode
-    exit $returncode
-fi 
-echo "    making sure releng control files are executable and have proper EOL ..."
-dos2unix ${RELENG_TESTS}/*.sh* ${RELENG_TESTS}/*.properties ${RELENG_TESTS}/*.xml >/dev/null 2>>/dev/null
-chmod +x ${RELENG_TESTS}/*.sh > /dev/null
-echo
-
-# TODO ... a bit quirky ... need to install releng tests as above, but then 
-# also run "installTests" target from releng tools build.xml file. 
-
-
diff --git a/org.eclipse.juno.tests/invokeAntRunner.xml b/org.eclipse.juno.tests/invokeAntRunner.xml
deleted file mode 100644
index 797f014..0000000
--- a/org.eclipse.juno.tests/invokeAntRunner.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="junoAntRunner" basedir="." default="invokeAnt">
-	    <property
-	        environment="env" />
-	        	
-	<target name="invokeAnt">
-
-		<echo message="invoke ant runner, from ant" />
-		<exec executable="${env.ECLIPSE_HOME}/eclipse" 
-			failonerror="false" 
-			append="true">
-			<arg line="-consolelog -data ./runEclipseWorkspace -debug -nosplash --launcher.suppressErrors -vm ${env.JAVA_EXEC_DIR} -application org.eclipse.ant.core.antRunner -f runTests.xml" />
-		</exec>
-	</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/plugin.xml b/org.eclipse.juno.tests/plugin.xml
deleted file mode 100644
index 404d714..0000000
--- a/org.eclipse.juno.tests/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.5"?>
-<plugin>
-   <extension
-         point="org.eclipse.ant.core.antTasks">
-         <antTask
-         library="checkLayout.jar"
-         name="generateRepositoryReports"
-         class="org.eclipse.juno.tests.RunAllReportsAntTask" />
-         
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.juno.tests/runEclipseAntRunner.sh b/org.eclipse.juno.tests/runEclipseAntRunner.sh
deleted file mode 100644
index d801cce..0000000
--- a/org.eclipse.juno.tests/runEclipseAntRunner.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-# On production machine, it is normal to "not find" this file when running. 
-# All variables that might be defined in it have correct values set for the production 
-# machine. Its purpose is if/when running on a test machine, the variables can be over ridden
-# easily in that one file, and leave original scripts alone. 
-source aggr_properties.shsource
-
-# These first few variables commonly need to overridden on test machines, they 
-# are very specific per machine. 
-# the top directory of build-related directories
-export BUILD_HOME=${BUILD_HOME:-/shared/juno}
-export JAVA_HOME=${JAVA_HOME:-/shared/orbit/apps/ibm-java-i386-60}
-
-# These remaining variable should not need to be overriddent, as they 
-# are relatively constant, or computed from others. 
-export RELENG_TESTS=${RELENG_TESTS:-org.eclipse.juno.tests}
-export JAVA_EXEC_DIR=${JAVA_EXEC_DIR:-${JAVA_HOME}/jre/bin}
-export BUILD_TESTS_DIR=${BUILD_TESTS_DIR:-${BUILD_HOME}/${RELENG_TESTS}}
-export ECLIPSE_HOME_TEST=${ECLIPSE_HOME_TEST:-${BUILD_HOME}/testInstance}
-
-"${ECLIPSE_HOME_TEST}"/eclipse/eclipse -consolelog -data ./eclipseWorkspace -nosplash --launcher.suppressErrors -vm "${JAVA_EXEC_DIR}" -application org.eclipse.ant.core.antRunner -f  ${BUILD_TESTS_DIR}/runTests.xml "$@"
diff --git a/org.eclipse.juno.tests/runTests.xml b/org.eclipse.juno.tests/runTests.xml
deleted file mode 100755
index 674d0fe..0000000
--- a/org.eclipse.juno.tests/runTests.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<project
-    name="SimRel Tests"
-    basedir="."
-    default="runTests">
-
-    <property
-        environment="env"/>
-	<!--
-	        This property file name is itself a property, so it can be overridden
-	        on one machine versus another. We do it this way, instead of just specifying
-	        -propertyFile on command line, so that the property values can be "nested"
-	        in other property values and evaluated lazily.
-	    -->
-
-    <property
-        name="aggrPropertyFile"
-        value="aggr.properties"/>
-
-    <property
-        file="${aggrPropertyFile}"/>
-
-	<!-- By default, we'll put test output files in "staging" so the index.html file   -->
-    <property
-        name="outputDirectory"
-        value="${TEST_RESULTS}"/>
-
-    <target
-        name="runTests">
-        <echo
-            message="Creating Reports"/>
-
-        <echoproperties/>
-
-        <mkdir
-            dir="${outputDirectory}"/>
-
-    	<!-- NOTE: we strongly assume 'outputDirectory' is dedicated completely for our use! -->
-        <delete>
-            <fileset
-                dir="${outputDirectory}">
-            </fileset>
-        </delete>
-       <mkdir
-           dir="${outputDirectory}/reports"/>
-
-        <copy
-            tofile="${outputDirectory}/index.html"
-            file="${BUILD_TESTS_DIR}/templateFiles/indexPending.html"
-            overwrite="true"/>
-
-        <generateRepositoryReports
-            tempWorkingDir="/tmp/tempWorkingLocation"
-            directoryToCheck="${testRepoDirectory}"
-            outputResultsDirectory="${outputDirectory}/reports"
-            failuresoccurred="failuresoccurred"/>
-
-        <copy
-            tofile="${outputDirectory}/index.html"
-            file="${BUILD_TESTS_DIR}/templateFiles/indexmainpresign.html"
-            overwrite="true"/>
-
-        <exec
-            executable="${BUILD_TESTS_DIR}/verifydir.sh">
-            <arg
-                value="${testRepoDirectory}"/>
-            <arg
-                value="${outputDirectory}/reports"/>
-	
-        	<!-- we'll check jars only, to save time ... assume pack.gz files would be correct too  
-           <arg
-                value=".*\(\.jar$\|\.jar\.pack\.gz$\)"/> -->
-        	
-        	<!-- restricting to 'common' just for testing ... so finishes relatively quickly 
-            <arg
-                value=".*common.*\.jar$"/>
-                -->
-            <arg
-                 value=".*\.jar$"/>
-        </exec>
-
-        <copy
-            tofile="${outputDirectory}/index.html"
-            file="${BUILD_TESTS_DIR}/templateFiles/indexmain.html"
-            overwrite="true"/>
-
-		<!--
-        <mkdir
-            dir="${outputDirectory}/output-eclipse"/>
-        <testLayouttask
-            tempWorkingDir="/tmp/tempWorkingLocation"
-            directoryToCheck="/home/data/httpd/download.eclipse.org/eclipse/updates/3.7milestones/S-3.7RC3-I201105261708/"
-            outputResultsDirectory="${outputDirectory}/output-eclipse"
-            failuresoccurred="failuresoccurred"/>
--->
-
-		<!-- TODO: use tmp on staging directory to avoid filling up /tmp? -->
-        <delete
-            dir="/tmp/tempWorkingLocation"/>
-
-		<!-- currently, we never "fail" ... but, will in future -->
-        <fail
-            if="failuresoccurred"/>
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/RunAllReportsAntTask.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/RunAllReportsAntTask.java
deleted file mode 100644
index 59a575c..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/RunAllReportsAntTask.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.eclipse.juno.tests;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.juno.tests.jars.BREETest;
-import org.eclipse.juno.tests.jars.ESTest;
-import org.eclipse.juno.tests.jars.Pack200Test;
-import org.eclipse.juno.tests.jars.TestLayoutTest;
-import org.eclipse.juno.tests.jars.VersionTest;
-import org.eclipse.juno.tests.repos.FeatureDisplayableDataChecker;
-import org.eclipse.juno.tests.repos.FeatureNameLengths;
-import org.eclipse.juno.tests.repos.IUNameChecker;
-import org.eclipse.juno.tests.repos.ProviderNameChecker;
-import org.eclipse.juno.tests.repos.VersionChecking;
-
-public class RunAllReportsAntTask extends Task {
-
-    private String  directoryToCheck;
-    private String  tempWorkingDir;
-    private String  outputResultsDirectory;
-    private boolean failuresOccurred = false;
-
-    @Override
-    public void execute() throws BuildException {
-
-        try {
-
-
-            String repoToTest = "file://" + getDirectoryToCheck();
-
-            boolean uniquenessCheck = false;
-            boolean featureNameFailures = false;
-            boolean bundleNameFailures = false;
-            boolean providerNamesFailure = false;
-            boolean licenseConsistencyFailure = false;
-            try {
-
-                VersionChecking uniquenessChecker = new VersionChecking();
-                uniquenessChecker.setRepoURLToTest(repoToTest);
-                uniquenessChecker.setOutputDirectory(getOutputResultsDirectory());
-                uniquenessCheck = uniquenessChecker.testVersionUniqness();
-                if (uniquenessCheck) {
-                    setFailuresOccurred(true);
-                }
-
-                IUNameChecker iuNames = new IUNameChecker();
-                iuNames.setRepoURLToTest(repoToTest);
-                iuNames.setOutputDirectory(getOutputResultsDirectory());
-                featureNameFailures = iuNames.testFeatureNames();
-                bundleNameFailures = iuNames.testBundleNames();
-
-                ProviderNameChecker providerNameChecker = new ProviderNameChecker();
-                providerNameChecker.setRepoURLToTest(repoToTest);
-                providerNameChecker.setOutputDirectory(getOutputResultsDirectory());
-                providerNamesFailure = providerNameChecker.testProviderNames();
-
-                FeatureDisplayableDataChecker licenseChecker = new FeatureDisplayableDataChecker();
-                licenseChecker.setRepoURLToTest(repoToTest);
-                licenseChecker.setOutputDirectory(getOutputResultsDirectory());
-                licenseConsistencyFailure = licenseChecker.testDisplayableData();
-
-                FeatureNameLengths featureNameLengths = new FeatureNameLengths();
-                featureNameLengths.setRepoURLToTest(repoToTest);
-                featureNameLengths.setOutputDirectory(getOutputResultsDirectory());
-                featureNameLengths.testFeatureDirectoryLength();
-
-            }
-            catch (ProvisionException e) {
-                throw new BuildException(e);
-            }
-            catch (OperationCanceledException e) {
-                throw new BuildException(e);
-            }
-            catch (URISyntaxException e) {
-                throw new BuildException(e);
-            }
-
-            if (featureNameFailures || bundleNameFailures || providerNamesFailure || licenseConsistencyFailure) {
-                setFailuresOccurred(true);
-            }
-
-
-            ESTest esTest = new ESTest();
-            esTest.setDirectoryToCheck(getDirectoryToCheck());
-            esTest.setTempWorkingDir(getTempWorkingDir());
-            esTest.setOutputDirectory(getOutputResultsDirectory());
-
-            boolean esFailures = esTest.testESSettingRule();
-
-            if (esFailures) {
-                setFailuresOccurred(true);
-            }
-
-            BREETest breeTest = new BREETest();
-            breeTest.setDirectoryToCheck(getDirectoryToCheck());
-            breeTest.setTempWorkingDir(getTempWorkingDir());
-            breeTest.setOutputDirectory(getOutputResultsDirectory());
-
-            boolean breeFailures = breeTest.testBREESettingRule();
-
-            if (breeFailures) {
-                setFailuresOccurred(true);
-            }
-
-
-            Pack200Test packTest = new Pack200Test();
-            packTest.setDirectoryToCheck(getDirectoryToCheck());
-            packTest.setOutputDirectory(getOutputResultsDirectory());
-            boolean packFailures = packTest.testBundlePack();
-            if (packFailures) {
-                setFailuresOccurred(true);
-            }
-
-
-            VersionTest versionTest = new VersionTest();
-            versionTest.setDirectoryToCheck(getDirectoryToCheck());
-            versionTest.setOutputDirectory(getOutputResultsDirectory());
-            boolean versionCheck = versionTest.testVersionsPatterns();
-            if (versionCheck) {
-                setFailuresOccurred(true);
-            }
-
-
-            TestLayoutTest test = new TestLayoutTest();
-            test.setDirectoryToCheck(getDirectoryToCheck());
-            test.setTempWorkingDir(getTempWorkingDir());
-            test.setOutputDirectory(getOutputResultsDirectory());
-            boolean layoutFailures = test.testLayout();
-            if (layoutFailures) {
-                setFailuresOccurred(true);
-            }
-
-        }
-        catch (IOException e) {
-            throw new BuildException(e);
-        }
-    }
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public String getTempWorkingDir() {
-        return tempWorkingDir;
-    }
-
-    public void setTempWorkingDir(String tempWorkingDir) {
-        this.tempWorkingDir = tempWorkingDir;
-    }
-
-    public boolean isFailuresOccurred() {
-        return failuresOccurred;
-    }
-
-    public void setFailuresOccurred(boolean failuresOccurred) {
-        this.failuresOccurred = failuresOccurred;
-    }
-
-    public String getOutputResultsDirectory() {
-        return outputResultsDirectory;
-    }
-
-    public void setOutputResultsDirectory(String outputResultsDirectory) {
-        this.outputResultsDirectory = outputResultsDirectory;
-    }
-
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/TestActivator.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/TestActivator.java
deleted file mode 100644
index c258065..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/TestActivator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2007, 2008 IBM Corporation and others.
- *  All rights reserved. This program and the accompanying materials
- *  are made available under the terms of the Eclipse Public License v1.0
- *  which accompanies this distribution, and is available at
- *  http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.juno.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.osgi.framework.log.FrameworkLog;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class TestActivator implements BundleActivator {
-    public static final String      PI_PROV_TESTS   = "org.eclipse.equinox.p2.test";
-    public static BundleContext     context;
-    private static PackageAdmin     packageAdmin    = null;
-    private static ServiceReference packageAdminRef = null;
-    public static String            TEST_DATA_PATH  = "testData";                   //$NON-NLS-1$
-
-    public static BundleContext getContext() {
-        return context;
-    }
-
-    /*
-     * Return a file handle to the framework log file, or null if it is not available.
-     */
-    public static File getLogFile() {
-        FrameworkLog log = (FrameworkLog) ServiceHelper.getService(context, FrameworkLog.class.getName());
-        return log == null ? null : log.getFile();
-    }
-
-    public void start(BundleContext context) throws Exception {
-        TestActivator.context = context;
-        packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-        packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-    }
-
-    public void stop(BundleContext context) throws Exception {
-        TestActivator.context = null;
-    }
-
-    public static File getTestDataFolder() {
-        try {
-            URL url = context.getBundle().getEntry(TestActivator.TEST_DATA_PATH);
-            return new File(FileLocator.resolve(url).getFile());
-        }
-        catch (IOException e) {
-            return null;
-        }
-    }
-
-    public static Bundle getBundle(String symbolicName) {
-        if (packageAdmin == null) {
-            return null;
-        }
-        Bundle[] bundles = packageAdmin.getBundles(symbolicName, null);
-        if (bundles == null) {
-            return null;
-        }
-        //Return the first bundle that is not installed or uninstalled
-        for (int i = 0; i < bundles.length; i++) {
-            if ((bundles[i].getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
-                return bundles[i];
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/BREETest.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/BREETest.java
deleted file mode 100644
index 5344168..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/BREETest.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.juno.tests.jars;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.juno.tests.utils.FullJarNameParser;
-import org.eclipse.juno.tests.utils.JARFileNameFilter;
-import org.eclipse.juno.tests.utils.ReportWriter;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-
-/**
- * @since 3.3
- */
-public class BREETest extends TestJars {
-
-    static class BREEFileData implements Comparable {
-        String filename;
-        String breeValue;
-
-        public BREEFileData(String filename, String breeValue) {
-            this.filename = filename;
-            this.breeValue = breeValue;
-        }
-
-        public int compareTo(Object o) {
-            // first sort on bree name, then on file/bundle name
-            int result = breeValue.compareTo(((BREEFileData) o).breeValue);
-            if (result == 0) {
-                result = filename.compareTo(((BREEFileData) o).filename);
-            }
-            return result;
-        }
-
-    }
-
-    private static final String            outputFilename                                 = "breedata.txt";
-    private static final String            PROPERTY_BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT = "Bundle-RequiredExecutionEnvironment";
-    private static final FullJarNameParser nameParser                                     = new FullJarNameParser();
-
-    public static void main(String[] args) {
-
-        BREETest testlayout = new BREETest();
-        testlayout.setDirectoryToCheck("/home/files/testSDKRepo");
-        try {
-            testlayout.testBREESettingRule();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    public boolean testBREESettingRule() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-
-        File inputdir = new File(getBundleDirectory());
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle directory (" + getBundleDirectory() + ") must be an existing directory.");
-        }
-
-        boolean failuresOccured;
-
-        failuresOccured = checkBundleBREE(inputdir);
-
-        return failuresOccured;
-    }
-
-    private boolean checkBundleBREE(File inputdir) throws IOException {
-        // reset/initialize errors
-        InputStream propertyStream = this.getClass().getResourceAsStream("exceptions.properties");
-        Properties breeExceptionProperties = new Properties();
-        String breeExceptions = "";
-        try {
-            breeExceptionProperties.load(propertyStream);
-            breeExceptions = breeExceptionProperties.getProperty("breeExceptions");
-            if (breeExceptions == null) {
-                breeExceptions = "";
-            }
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (propertyStream != null) {
-                try {
-                    propertyStream.close();
-                }
-                catch (IOException e) {
-                    // would be unusual to get here?
-                    e.printStackTrace();
-                }
-            }
-        }
-// List errors = new ArrayList();
-        Map javaWithBree = new HashMap();
-        List nonjavaWithBree = new ArrayList();
-        List javaWithoutBree = new ArrayList();
-        int nonJavaNoBREE = 0;
-        boolean failuresOccured = false;
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < totalsize; i++) {
-            File child = children[i];
-            String name = child.getName();
-            // with Juno, since we have all jars on file system, in addition to pack.gz files,
-            // we do not need to check the pack.gz ones. We can assume they are idential to their .jar version.
-// if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-// child = getFileFromPACKEDJAR(child);
-// }
-// if (child != null) {
-
-            String bundleName = getBundleName(name);
-            if ((bundleName != null) && !breeExceptions.contains(bundleName)) {
-                checked++;
-                String bree = getBREEFromJAR(child);
-                if ((bree != null) && (bree.length() > 0)) {
-                    // has BREE, confirm is java file
-                    if (containsJava(child)) {
-                        incrementCounts(javaWithBree, bree);
-                    }
-                    else {
-                        trackFalseInclusions(nonjavaWithBree, child, bree);
-                        failuresOccured = true;
-                    }
-                }
-                else {
-                    // no BREE, confirm is non-java
-                    if (containsJava(child)) {
-                        trackOmissions(javaWithoutBree, child);
-                        failuresOccured = true;
-                    }
-                    else {
-                        nonJavaNoBREE++;
-                    }
-                }
-            }
-
-        }
-        printreport(javaWithBree, nonjavaWithBree, javaWithoutBree, nonJavaNoBREE, totalsize, checked);
-
-        return failuresOccured;
-    }
-
-    private void printreport(Map javaWithBree, List nonjavaWithBree, List javaWithoutBree, int nonJavaNoBREE, int totalsize, int checked) throws IOException {
-
-
-        ReportWriter reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        try {
-            reportWriter.writeln();
-            reportWriter.writeln("   Directory checked: " + getDirectoryToCheck());
-            reportWriter.writeln();
-            reportWriter.writeln("   Checked " + checked + " of " + totalsize + " jars.");
-            reportWriter.writeln();
-            reportWriter.writeln("  Bundles with appropriate use of Bundle-RequiredExecutionEnvironment (BREE):");
-            reportWriter.writeln("   Java with BREE: " + totalCount(javaWithBree));
-            reportWriter.writeln("   Non Java without BREE:" + nonJavaNoBREE);
-            reportWriter.writeln();
-            reportWriter.writeln("   Distribution of BREEs in Java Bundles ");
-            reportWriter.writeln();
-            Set allBREEs = javaWithBree.keySet();
-            List allBREEList = new ArrayList(allBREEs);
-            Collections.sort(allBREEList);
-            for (Object object : allBREEList) {
-                Integer count = (Integer) javaWithBree.get(object);
-                reportWriter.printf("\t\t%5d\t%s\n", count.intValue(), object);
-            }
-            reportWriter.writeln();
-            reportWriter.writeln("  Bundles with questionable absence or presence of BREE");
-            reportWriter.writeln();
-            reportWriter.writeln("    Java Bundles without a BREE: " + javaWithoutBree.size());
-            reportWriter.writeln();
-            Collections.sort(javaWithoutBree);
-            for (Iterator iterator = javaWithoutBree.iterator(); iterator.hasNext();) {
-                Object object = iterator.next();
-                reportWriter.writeln("       " + object);
-            }
-            reportWriter.writeln();
-            reportWriter.writeln("    Non Java Bundles with a BREE: " + nonjavaWithBree.size());
-            reportWriter.writeln();
-            Collections.sort(nonjavaWithBree);
-            BREEFileData breefiledata = null;
-            for (Iterator iterator = nonjavaWithBree.iterator(); iterator.hasNext();) {
-                Object object = iterator.next();
-                if (object instanceof BREEFileData) {
-                    breefiledata = (BREEFileData) object;
-                    reportWriter.printf("%24s\t%s\n", breefiledata.breeValue, breefiledata.filename);
-                }
-                else {
-                    throw new Error("Programming error.");
-                }
-            }
-        }
-        finally {
-            reportWriter.close();
-        }
-    }
-
-    private int totalCount(Map javaWithBree) {
-
-        Collection allCounts = javaWithBree.values();
-        int total = 0;
-        for (Iterator iterator = allCounts.iterator(); iterator.hasNext();) {
-            Integer count = (Integer) iterator.next();
-            total = total + count.intValue();
-        }
-        return total;
-    }
-
-    private void trackOmissions(List javaWithoutBree, File child) {
-        javaWithoutBree.add(child.getName());
-
-    }
-
-    private void trackFalseInclusions(List list, File child, String bree) {
-        list.add(new BREEFileData(child.getName(), bree));
-
-    }
-
-    private void incrementCounts(Map breeMap, String bree) {
-        Integer count = (Integer) breeMap.get(bree);
-        if (count == null) {
-            breeMap.put(bree, new Integer(1));
-        }
-        else {
-            breeMap.put(bree, increment(count));
-        }
-
-    }
-
-    private Integer increment(Integer count) {
-        return new Integer(count.intValue() + 1);
-    }
-
-    private boolean containsJava(File jarfile) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(jarfile, false, ZipFile.OPEN_READ);
-            Enumeration<JarEntry> entries = jar.entries();
-            while (entries.hasMoreElements()) {
-                JarEntry entry = entries.nextElement();
-                if (entry.getName().endsWith(".class")) {
-                    containsJava = true;
-                    break;
-                }
-                else if (entry.getName().endsWith(".jar")) {
-                    InputStream input = jar.getInputStream(entry);
-                    if (containsJava(input)) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            System.out.println(e.getMessage());
-        }
-        finally {
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private boolean containsJava(InputStream input) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-
-        try {
-            JarInputStream jarInputStream = new JarInputStream(input);
-            while (jarInputStream.available() > 0) {
-                ZipEntry entry = jarInputStream.getNextEntry();
-                if (entry != null) {
-                    if (entry.getName().endsWith(".class")) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private String getBundleName(String fullname) {
-        String result = null;
-        boolean parsable = nameParser.parse(fullname);
-        if (parsable) {
-            result = nameParser.getProjectString();
-        }
-        return result;
-    }
-
-    /*
-     * Return the bundle id from the manifest pointed to by the given input
-     * stream.
-     */
-    private String getBREEFromManifest(InputStream input, String path) {
-        String bree = null;
-        try {
-            Map attributes = ManifestElement.parseBundleManifest(input, null);
-            bree = (String) attributes.get(PROPERTY_BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT);
-        }
-        catch (BundleException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-
-        return bree;
-    }
-
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private String getBREEFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-            if (entry == null) {
-                // addError("Bundle does not contain a MANIFEST.MF file: " +
-                // file.getAbsolutePath());
-                return null;
-            }
-            input = jar.getInputStream(entry);
-            return getBREEFromManifest(input, file.getAbsolutePath());
-        }
-        catch (IOException e) {
-            System.out.println(e.getMessage());
-            // addError(e.getMessage());
-            return null;
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-    private String getBundleDirectory() {
-        if (bundleDirectory == null) {
-            String property = getDirectoryToCheck();
-            if (property == null) {
-                throw new BuildException("Need to set input directory to check against.");
-            }
-            if (property.endsWith("/")) {
-                bundleDirectory = property + "aggregate/plugins";
-            }
-            else {
-                bundleDirectory = property + "/aggregate/plugins";
-            }
-        }
-        return bundleDirectory;
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/ESTest.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/ESTest.java
deleted file mode 100644
index 92ed9fe..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/ESTest.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
-
- ******************************************************************************/
-package org.eclipse.juno.tests.jars;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.zip.ZipFile;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.juno.tests.jars.ESTest;
-import org.eclipse.juno.tests.jars.TestJars;
-import org.eclipse.juno.tests.utils.FullJarNameParser;
-import org.eclipse.juno.tests.utils.JARFileNameFilter;
-import org.eclipse.juno.tests.utils.ReportWriter;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-
-/**
- * Test to check MANIFEST.MF files in jars in a repository for presence of
- * Eclipse-SourceReferences.
- * 
- * @since 3.7
- */
-public class ESTest extends TestJars {
-
-    private static final Object            PROPERTY_ECLIPSE_SOURCEREFERENCES = "Eclipse-SourceReferences";
-    private static final FullJarNameParser nameParser                        = new FullJarNameParser();
-    private static final String            outputFilename                    = "esdata.txt";
-    private String                         bundleDirectory                   = null;
-
-    public static void main(String[] args) {
-
-        ESTest testlayout = new ESTest();
-        testlayout.setDirectoryToCheck("/home/files/buildzips/junoRC2/eclipseJEE/");
-        try {
-            testlayout.testESSettingRule();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-
-
-    public boolean testESSettingRule() throws IOException {
-
-        File inputdir = new File(getBundleDirectory());
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + getBundleDirectory() + ") must be an existing directory.");
-        }
-
-        boolean failuresOccured;
-
-        failuresOccured = checkBundleES(inputdir);
-
-        return failuresOccured;
-    }
-
-    private boolean checkBundleES(File inputdir) throws IOException {
-        // reset/initialize errors
-        InputStream propertyStream = this.getClass().getResourceAsStream("exceptions.properties");
-        Properties esExceptionProperties = new Properties();
-        String esExceptions = "";
-        try {
-            esExceptionProperties.load(propertyStream);
-            esExceptions = esExceptionProperties.getProperty("esExceptions");
-            if (esExceptions == null) {
-                esExceptions = "";
-            }
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (propertyStream != null) {
-                try {
-                    propertyStream.close();
-                }
-                catch (IOException e) {
-                    // would be unusual to get here?
-                    e.printStackTrace();
-                }
-            }
-        }
-
-        Map withEs = new HashMap();
-        List withoutEs = new ArrayList();
-        boolean failuresOccured = false;
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        int nProjectTags = 0;
-        for (int i = 0; i < totalsize; i++) {
-            File child = children[i];
-            String name = child.getName();
-
-            String bundleName = getBundleName(name);
-            if ((bundleName != null) && !esExceptions.contains(bundleName)) {
-                checked++;
-                String es = getESFromJAR(child);
-                if ((es != null) && es.contains("project=")) {
-                    nProjectTags++;
-                }
-                if ((es != null) && (es.length() > 0)) {
-                    // has ES
-                    incrementCounts(withEs, es);
-                }
-                else {
-                    // no ES
-                    trackOmissions(withoutEs, child);
-                }
-            }
-        }
-        printreport(withEs, withoutEs, totalsize, checked, nProjectTags);
-
-        return failuresOccured;
-    }
-
-    private void printreport(Map withEs, List withoutESs, int totalsize, int checked, int nProjectTags) throws IOException {
-
-
-        ReportWriter reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        try {
-            reportWriter.writeln();
-            reportWriter.writeln("   Directory checked: " + getBundleDirectory());
-            reportWriter.writeln("   Checked " + checked + " of " + totalsize + " jars.");
-            reportWriter.writeln();
-            reportWriter.writeln();
-            reportWriter.writeln("   Number of bundles with an Eclipse-SourceReferences: " + totalCount(withEs));
-            reportWriter.writeln("        Number of those with 'project=': " + nProjectTags + " attribute.");
-            reportWriter.writeln("   Number of bundles without an Eclipse-SourceReferences: " + withoutESs.size());
-            reportWriter.writeln();
-            reportWriter.writeln();
-            reportWriter.writeln("  Bundles with Eclipse-SourceReferences (total: " + totalCount(withEs) + ")");
-            reportWriter.writeln();
-            Collection allESs = withEs.keySet();
-            List allESList = new ArrayList(allESs);
-            Collections.sort(allESList);
-            for (Object object : allESList) {
-                //Integer count = (Integer) withEs.get(object);
-                //reportWriter.writeln("   " + count.intValue() + "  " + object);
-                reportWriter.writeln("   " + object);
-            }
-            reportWriter.writeln();
-            reportWriter.writeln();
-            reportWriter.writeln("    Bundles without an Eclipse-SourceReferences (total: " + withoutESs.size() + ")");
-            Collections.sort(withoutESs);
-            for (Object object : withoutESs) {
-                reportWriter.writeln("       " + object);
-            }
-            reportWriter.writeln();
-        }
-        finally {
-            reportWriter.close();
-        }
-    }
-
-    private int totalCount(Map bundlesWithEs) {
-
-        Collection allCounts = bundlesWithEs.values();
-        int total = 0;
-        for (Iterator iterator = allCounts.iterator(); iterator.hasNext();) {
-            Integer count = (Integer) iterator.next();
-            total = total + count.intValue();
-        }
-        return total;
-    }
-
-    private void trackOmissions(List bundlesWithoutEs, File child) {
-        bundlesWithoutEs.add(child.getName());
-
-    }
-
-
-    private void incrementCounts(Map esMap, String es) {
-        Integer count = (Integer) esMap.get(es);
-        if (count == null) {
-            esMap.put(es, new Integer(1));
-        }
-        else {
-            esMap.put(es, increment(count));
-        }
-
-    }
-
-    private Integer increment(Integer count) {
-        return new Integer(count.intValue() + 1);
-    }
-
-
-
-    private String getBundleName(String fullname) {
-        String result = null;
-        boolean parsable = nameParser.parse(fullname);
-        if (parsable) {
-            result = nameParser.getProjectString();
-        }
-        return result;
-    }
-
-    /*
-     * Return the bundle id from the manifest pointed to by the given input
-     * stream.
-     */
-    private String getESFromManifest(InputStream input, String path) {
-        String es = null;
-        try {
-            Map attributes = ManifestElement.parseBundleManifest(input, null);
-            es = (String) attributes.get(PROPERTY_ECLIPSE_SOURCEREFERENCES);
-        }
-        catch (BundleException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-
-        return es;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private String getESFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-            if (entry == null) {
-                // addError("Bundle does not contain a MANIFEST.MF file: " +
-                // file.getAbsolutePath());
-                return null;
-            }
-            input = jar.getInputStream(entry);
-            return getESFromManifest(input, file.getAbsolutePath());
-        }
-        catch (IOException e) {
-            System.out.println(e.getMessage());
-            // addError(e.getMessage());
-            return null;
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-    private String getBundleDirectory() {
-        if (bundleDirectory == null) {
-            String property = getDirectoryToCheck();
-            if (property == null) {
-                throw new BuildException("Need to set input directory to check against.");
-            }
-            if (property.endsWith("/")) {
-                bundleDirectory = property + "aggregate/plugins";
-            }
-            else {
-                bundleDirectory = property + "/aggregate/plugins";
-            }
-        }
-        return bundleDirectory;
-    }
-
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/Pack200Test.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/Pack200Test.java
deleted file mode 100644
index fa8678c..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/Pack200Test.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.juno.tests.jars;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.juno.tests.jars.Pack200Test;
-import org.eclipse.juno.tests.utils.FullJarNameParser;
-import org.eclipse.juno.tests.utils.JARFileNameFilter;
-import org.eclipse.juno.tests.utils.PackGzFileNameFilter;
-import org.eclipse.juno.tests.utils.ReportWriter;
-
-/**
- * @since 3.3
- */
-public class Pack200Test {
-
-    private static final String      EXTENSION_JAR        = ".jar";
-    private static final String      EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-    private static FullJarNameParser nameParser           = new FullJarNameParser();
-    private static String            outputFilename       = "pack200data.txt";
-    private String                   outputDirectory;
-    private String                   directoryToCheck;
-    private String                   bundleDirectory;
-
-
-    public static void main(String[] args) {
-
-        Pack200Test testlayout = new Pack200Test();
-        testlayout.setDirectoryToCheck("D:\\temp\\staging\\aggregate");
-        try {
-            testlayout.testBundlePack();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public boolean testBundlePack() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-
-        File inputdir = new File(getBundleDirectory());
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + getBundleDirectory() + ") must be an existing directory.");
-        }
-        boolean failuresOccured = checkFilesPacked(inputdir);
-        return failuresOccured;
-    }
-
-    private boolean checkFilesPacked(File inputdir) throws IOException {
-        // reset/initialize errors
-        List errors = new ArrayList();
-        boolean failuresOccured = false;
-        File[] jarchildren = inputdir.listFiles(new JARFileNameFilter());
-        File[] packedchildren = inputdir.listFiles(new PackGzFileNameFilter());
-        File[] nopackedFile = nopackedFile(jarchildren, packedchildren);
-        int totalsize = nopackedFile.length;
-        int checked = 0;
-        for (int i = 0; i < totalsize; i++) {
-            File child = nopackedFile[i];
-            String name = child.getName();
-            // assume directory if not file
-            if (child.isFile()) {
-                checked++;
-
-                String basicName = getBasicName(name, EXTENSION_JAR);
-                boolean valid = nameParser.parse(basicName);
-// String bundlename = basicName;
-                if (!valid) {
-                    errors.add(name + " does not have a valid version (it is unparsable)");
-                }
-                else {
-                    if (containsJava(child)) {
-// bundlename = nameParser.getProjectString();
-                        errors.add(name + " contains java but is not packed");
-                    }
-                }
-
-            }
-
-        }
-        printSummary(errors, jarchildren, packedchildren, totalsize, checked);
-        if (errors.size() > 0) {
-            failuresOccured = true;
-        }
-        return failuresOccured;
-    }
-
-    private void printSummary(List errors, File[] jarchildren, File[] packedchildren, int totalsize, int checked) throws IOException {
-
-
-        ReportWriter reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        try {
-            reportWriter.writeln();
-            reportWriter.writeln("   Directory checked: " + getBundleDirectory());
-            reportWriter.writeln();
-            reportWriter.writeln(" Check of packed and not packed bundles.");
-            reportWriter.writeln("   Number of jar files " + jarchildren.length);
-            reportWriter.writeln("   Number of pack.gz files " + packedchildren.length);
-            reportWriter.writeln("   Difference, number of jar files to check: " + (jarchildren.length - packedchildren.length));
-            reportWriter.writeln("   Checked " + checked + " of " + totalsize + ".");
-            reportWriter.writeln("   Errors found: " + errors.size());
-
-            if (errors.size() > 0) {
-                Collections.sort(errors);
-                for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                    reportWriter.writeln(iter.next());
-                }
-            }
-        }
-        finally {
-            reportWriter.close();
-        }
-    }
-
-    private File[] nopackedFile(File[] jarchildren, File[] packedchildren) {
-        ArrayList results = new ArrayList();
-        for (int i = 0; i < jarchildren.length; i++) {
-            File file = jarchildren[i];
-            if (!contains(packedchildren, file)) {
-                results.add(file);
-            }
-        }
-        File[] fileArray = new File[results.size()];
-        int i = 0;
-        for (Iterator iterator = results.iterator(); iterator.hasNext();) {
-            fileArray[i++] = (File) iterator.next();
-        }
-        return fileArray;
-    }
-
-    private boolean contains(File[] packedchildren, File file) {
-        boolean result = false;
-        for (int i = 0; i < packedchildren.length; i++) {
-            if (getBasicName(packedchildren[i].getName(), EXTENSION_PACEKD_JAR).equals(getBasicName(file.getName(), EXTENSION_JAR))) {
-                result = true;
-                break;
-            }
-        }
-        return result;
-    }
-
-    private boolean containsJava(File jarfile) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(jarfile, false, ZipFile.OPEN_READ);
-            Enumeration<JarEntry> entries = jar.entries();
-            while (entries.hasMoreElements()) {
-                JarEntry entry = entries.nextElement();
-                if (entry.getName().endsWith(".class")) {
-                    containsJava = true;
-                    break;
-                }
-                else if (entry.getName().endsWith(".jar")) {
-                    InputStream input = jar.getInputStream(entry);
-                    if (containsJava(input)) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private boolean containsJava(InputStream input) {
-        // We assume the file is a 'jar' file.
-        boolean containsJava = false;
-
-        try {
-            JarInputStream jarInputStream = new JarInputStream(input);
-            while (jarInputStream.available() > 0) {
-                ZipEntry entry = jarInputStream.getNextEntry();
-                if (entry != null) {
-                    if (entry.getName().endsWith(".class")) {
-                        containsJava = true;
-                        break;
-                    }
-                }
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return containsJava;
-    }
-
-    private String getBasicName(String fullname, String extension) {
-        String result = fullname;
-        int pos = fullname.lastIndexOf(extension);
-        if (pos >= 0) {
-            result = fullname.substring(0, pos);
-        }
-        return result;
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    private String getBundleDirectory() {
-        if (bundleDirectory == null) {
-            String property = getDirectoryToCheck();
-            if (property == null) {
-                throw new BuildException("Need to set input directory to check against.");
-            }
-            if (property.endsWith("/")) {
-                bundleDirectory = property + "aggregate/plugins";
-            }
-            else {
-                bundleDirectory = property + "/aggregate//plugins";
-            }
-        }
-        return bundleDirectory;
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/TestJars.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/TestJars.java
deleted file mode 100644
index 4ee864b..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/TestJars.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.juno.tests.jars;
-
-public abstract class TestJars {
-
-
-    protected String bundleDirectory = null;
-    private String   directoryToCheck;
-    private String   tempWorkingDir;
-    private String   outputDirectory;
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public String getOutputDirectory() {
-        if (outputDirectory == null) {
-            outputDirectory = System.getProperty("user.dir");
-        }
-        return outputDirectory;
-    }
-
-    public String getTempWorkingDir() {
-        return tempWorkingDir;
-    }
-
-    public void setTempWorkingDir(String tempWorkingDir) {
-        this.tempWorkingDir = tempWorkingDir;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/TestLayoutTest.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/TestLayoutTest.java
deleted file mode 100644
index f7f33a7..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/TestLayoutTest.java
+++ /dev/null
@@ -1,774 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.juno.tests.jars;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import java.util.regex.PatternSyntaxException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.juno.tests.jars.TestLayoutTest;
-import org.eclipse.juno.tests.utils.JARFileNameFilter;
-import org.eclipse.juno.tests.utils.ReportWriter;
-import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.BundleException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * @since 3.3
- */
-public class TestLayoutTest {
-
-    private static final String EXTENSION_JAR        = ".jar";
-    private static final String EXTENSION_PACEKD_JAR = ".pack.gz";
-    private static final String EXTENSION_ZIP        = ".zip";
-    private static final String PROPERTY_BUNDLE_ID   = "Bundle-SymbolicName";
-    private String              configFilename       = "config.properties";
-    private static final String KEY_DFT_BIN_JAR      = "default.binary.jar";
-    private static final String KEY_DFT_SRC_JAR      = "default.source.jar";
-    private static final String KEY_DFT_FEATURE      = "default.feature";
-    private Properties          config;
-    private List                errors               = new ArrayList();
-    private String              directoryToCheck;
-    private String              tempWorkingDir;
-    private String              outputDirectory;
-    private ReportWriter        reportWriter;
-
-    public static void main(String[] args) {
-
-        TestLayoutTest testlayout = new TestLayoutTest();
-        testlayout.setDirectoryToCheck("D:\\temptest");
-        testlayout.setTempWorkingDir("D:/temp");
-        try {
-            testlayout.testLayout();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private void addError(String message) {
-        errors.add(message);
-    }
-
-    public boolean testLayout() throws IOException {
-        boolean result = false;
-        try {
-            getReportWriter().writeln("Check files and layout in bundles and features.");
-            boolean featureFailures = testFeatureLayout();
-            boolean bundleFailures = testBundleLayout();
-            result = featureFailures || bundleFailures;
-        }
-        finally {
-            getReportWriter().close();
-        }
-        return result;
-    }
-
-    private boolean testBundleLayout() throws IOException {
-
-        errors = new ArrayList();
-        boolean failuresOccured = false;
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String bundleDirectory = null;
-        if (property.endsWith("/")) {
-            bundleDirectory = property + "aggregate/plugins";
-        }
-        else {
-            bundleDirectory = property + "/aggregate/plugins";
-        }
-        File inputdir = new File(bundleDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + bundleDirectory + ") must be an existing directory.");
-        }
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < children.length; i++) {
-            File child = children[i];
-            String id = getBundleId(child);
-            if (id != null) {
-                if (id.endsWith(".source") || id.endsWith(".infopop") || id.endsWith(".doc.user") || id.endsWith(".doc") || id.endsWith(".doc.isv") || id.endsWith(".doc.dev") || id.endsWith(".doc.api") || id.endsWith("standard.schemas") || id.endsWith(".branding")) {
-                    processBundle(child, getExpected(id, true));
-                    checked++;
-                }
-                else {
-                    processBundle(child, getExpected(id, false));
-                    checked++;
-                }
-            }
-
-        }
-        getReportWriter().writeln();
-        getReportWriter().writeln("   Checking: " + bundleDirectory);
-        getReportWriter().writeln("   Checked " + checked + " of " + totalsize + ".");
-        getReportWriter().writeln("   Errors found: " + errors.size());
-
-        if (errors.size() > 0) {
-            Collections.sort(errors);
-            for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                getReportWriter().writeln(iter.next());
-            }
-            failuresOccured = true;
-        }
-        return failuresOccured;
-    }
-
-    /*
-     * Check the configuration file and return a set of regular expressions
-     * which match the list of files that are expected to be in the bundle.
-     */
-    private Set getExpected(String id, boolean source) {
-        // is the config cached?
-        if (config == null) {
-            getConfig();
-        }
-        String line = config.getProperty(id);
-        if (line == null) {
-            if (source) {
-                line = config.getProperty(KEY_DFT_SRC_JAR);
-            }
-            else {
-                line = config.getProperty(KEY_DFT_BIN_JAR);
-            }
-        }
-        if (line == null) {
-            throw new BuildException("Unable to load settings for: " + id);
-        }
-        Set result = new HashSet();
-        for (StringTokenizer tokenizer = new StringTokenizer(line, ","); tokenizer.hasMoreTokens();) {
-            result.add(tokenizer.nextToken().trim());
-        }
-        return result;
-    }
-
-    private Set getFeatureExpected(String id, boolean source, boolean zip) {
-        // is the config cached?
-        if (config == null) {
-            getConfig();
-        }
-        String line = config.getProperty(id);
-        if (line == null) {
-            line = config.getProperty(KEY_DFT_FEATURE);
-        }
-        if (line == null) {
-            throw new BuildException("Unable to load settings for: " + id);
-        }
-        Set result = new HashSet();
-        for (StringTokenizer tokenizer = new StringTokenizer(line, ","); tokenizer.hasMoreTokens();) {
-            result.add(tokenizer.nextToken().trim());
-        }
-        return result;
-    }
-
-    private void getConfig() {
-        config = new Properties();
-        InputStream input = null;
-        try {
-            // if we can read this file, it's been set by caller
-            File configFile = new File(getConfigFilename());
-            if (configFile.exists()) {
-                input = new FileInputStream(configFile);
-            }
-            else {
-                // else, use the default we "ship"
-                input = this.getClass().getResourceAsStream(getConfigFilename());
-            }
-
-            if (input == null) {
-                throw new BuildException("Unable to load configuration file.");
-            }
-            config.load(input);
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            try {
-                if (input != null) {
-                    input.close();
-                }
-            }
-            catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-    /*
-     * Process the bundle at the specified location, with the given set of
-     * expected results.
-     */
-    private void processBundle(File file, Set expected) {
-        if (file.isDirectory()) {
-            String[] array = (String[]) expected.toArray(new String[expected.size()]);
-            processDir("", file, array);
-            for (int i = 0; i < array.length; i++) {
-                if (array[i] != null) {
-                    addError("Missing " + array[i] + " in dir: " + file.getAbsolutePath());
-                }
-            }
-        }
-        else {
-            processArchive(file, (String[]) expected.toArray(new String[expected.size()]));
-        }
-    }
-
-    private void processFeature(File file, Set expected) {
-        if (file.isDirectory()) {
-            String[] array = (String[]) expected.toArray(new String[expected.size()]);
-            processDir("", file, array);
-            for (int i = 0; i < array.length; i++) {
-                if (array[i] != null) {
-                    addError("Missing " + array[i] + " in dir: " + file.getAbsolutePath());
-                }
-            }
-        }
-        else {
-            processArchive(file, (String[]) expected.toArray(new String[expected.size()]));
-        }
-    }
-
-    /*
-     * The bundle is an archive. Make sure it has the right contents.
-     */
-    private void processArchive(File file, String[] expected) {
-        ZipFile zip = null;
-        try {
-            zip = new ZipFile(file, ZipFile.OPEN_READ);
-            for (Enumeration e = zip.entries(); e.hasMoreElements();) {
-                ZipEntry entry = (ZipEntry) e.nextElement();
-                String name = entry.getName();
-                for (int i = 0; i < expected.length; i++) {
-                    String pattern = expected[i];
-                    if (pattern == null) {
-                        continue;
-                    }
-                    try {
-                        if (name.matches(pattern)) {
-                            expected[i] = null;
-                        }
-                    }
-                    catch (PatternSyntaxException ex) {
-                        ex.printStackTrace();
-                    }
-                }
-            }
-            for (int i = 0; i < expected.length; i++) {
-                if (expected[i] != null) {
-                    addError("Missing " + expected[i] + " in file: " + file.getName());
-                }
-            }
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (zip != null) {
-                try {
-                    zip.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-
-    /*
-     * The bundle is in a directory.
-     */
-    private void processDir(String root, File dir, String[] expected) {
-        File[] children = dir.listFiles();
-        for (int index = 0; index < children.length; index++) {
-            File child = children[index];
-            String name = root.length() == 0 ? child.getName() : root + '/' + child.getName();
-            if (child.isDirectory()) {
-                processDir(name, child, expected);
-                continue;
-            }
-            for (int i = 0; i < expected.length; i++) {
-                String pattern = expected[i];
-                if (pattern == null) {
-                    continue;
-                }
-                try {
-                    if (name.matches(pattern)) {
-                        expected[i] = null;
-                    }
-                }
-                catch (PatternSyntaxException ex) {
-                    // ex.printStackTrace();
-                    addError(ex.getMessage());
-                    continue;
-                }
-            }
-        }
-    }
-
-    /*
-     * Return the bundle id from the manifest pointed to by the given input
-     * stream.
-     */
-    private String getBundleIdFromManifest(InputStream input, String path) {
-        String id = null;
-        try {
-            Map attributes = ManifestElement.parseBundleManifest(input, null);
-            id = (String) attributes.get(PROPERTY_BUNDLE_ID);
-            if ((id == null) || (id.length() == 0)) {
-                addError("BundleSymbolicName header not set in manifest for bundle: " + path);
-            }
-            else {
-                // identifier can be followed by attributes such as
-                // 'singleton'
-                int pos = id.indexOf(';');
-                if (pos > 0) {
-                    id = id.substring(0, pos);
-                }
-            }
-
-        }
-        catch (BundleException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-        }
-        catch (IOException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-
-        return id;
-    }
-
-    /*
-     * Return the bundle identifier for the bundle contained in the given
-     * archive/directory.
-     */
-    private String getBundleId(File file) {
-        String id = null;
-        if (file.isDirectory()) {
-            id = getBundleIdFromDir(file);
-        }
-        else if (file.getName().toLowerCase().endsWith(EXTENSION_ZIP)) {
-            id = getBundleIdFromZIP(file);
-        }
-        else if (file.getName().toLowerCase().endsWith(EXTENSION_JAR)) {
-            id = getBundleIdFromJAR(file);
-        }
-        return id;
-    }
-
-    private String getBundleIdFromZIP(File file) {
-        ZipFile zip = null;
-        try {
-            zip = new ZipFile(file);
-            for (Enumeration e = zip.entries(); e.hasMoreElements();) {
-                ZipEntry entry = (ZipEntry) e.nextElement();
-                if (entry.getName().matches("^.*/" + JarFile.MANIFEST_NAME)) {
-                    InputStream input = zip.getInputStream(entry);
-                    try {
-                        return getBundleIdFromManifest(input, file.getAbsolutePath());
-                    }
-                    finally {
-                        try {
-                            input.close();
-                        }
-                        catch (IOException ex) {
-                            // ignore
-                        }
-                    }
-                }
-            }
-        }
-        catch (IOException ex) {
-            // ex.printStackTrace();
-            addError(ex.getMessage());
-        }
-        finally {
-            try {
-                if (zip != null) {
-                    zip.close();
-                }
-            }
-            catch (IOException ex) {
-                // ignore
-            }
-        }
-        addError("Bundle manifest (MANIFEST.MF) not found in bundle: " + file.getAbsolutePath());
-        return null;
-    }
-
-    /*
-     * The given file points to an expanded bundle on disc. Look into the
-     * bundle manifest file to find the bundle identifier.
-     */
-    private String getBundleIdFromDir(File dir) {
-        String id = null;
-        File manifestFile = new File(dir, JarFile.MANIFEST_NAME);
-        if (!manifestFile.exists() || !manifestFile.isFile()) {
-            addError("Bundle manifest (MANIFEST.MF) not found at: " + manifestFile.getAbsolutePath());
-        }
-        else {
-            try {
-                id = getBundleIdFromManifest(new FileInputStream(manifestFile), manifestFile.getAbsolutePath());
-            }
-            catch (FileNotFoundException e) {
-                // e.printStackTrace();
-                addError(e.getMessage());
-            }
-        }
-        return id;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private File getFileFromPACKEDJAR(File file) {
-
-        File tmpjar = null;
-        try {
-            JarProcessor jarprocessor = JarProcessor.getUnpackProcessor(null);
-            jarprocessor.setWorkingDirectory(getTempWorkingDir());
-            tmpjar = jarprocessor.processJar(file);
-        }
-        catch (IOException e) {
-            addError(e.getMessage());
-        }
-        return tmpjar;
-    }
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    public String getConfigFilename() {
-        return configFilename;
-    }
-
-    public void setConfigFilename(String configFilename) {
-        this.configFilename = configFilename;
-    }
-
-    /*
-     * The given file points to a bundle contained in an archive. Look into
-     * the bundle manifest file to find the bundle identifier.
-     */
-    private String getBundleIdFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry(JarFile.MANIFEST_NAME);
-            if (entry == null) {
-                addError("Bundle does not contain a MANIFEST.MF file: " + file.getAbsolutePath());
-                return null;
-            }
-            input = jar.getInputStream(entry);
-            return getBundleIdFromManifest(input, file.getAbsolutePath());
-        }
-        catch (IOException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-            return null;
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-    }
-
-    public String getTempWorkingDir() {
-        return tempWorkingDir;
-    }
-
-    public void setTempWorkingDir(String tempWorkingDir) {
-        this.tempWorkingDir = tempWorkingDir;
-    }
-
-    private boolean testFeatureLayout() throws IOException {
-
-        errors = new ArrayList();
-        boolean failuresOccurred = false;
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String featureDirectory = null;
-        if (property.endsWith("/")) {
-            featureDirectory = property + "aggregate/features";
-        }
-        else {
-            featureDirectory = property + "/aggregate/features";
-        }
-        File inputdir = new File(featureDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("feature direcotry (" + featureDirectory + ") must be an existing directory.");
-        }
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < children.length; i++) {
-            File child = children[i];
-            if (child.getName().toLowerCase().endsWith(EXTENSION_PACEKD_JAR)) {
-                child = getFileFromPACKEDJAR(child);
-            }
-            if (child != null) {
-                String id = getFeatureId(child);
-                if (id != null) {
-                    processFeature(child, getFeatureExpected(id, true, child.getName().endsWith(EXTENSION_ZIP)));
-                    checked++;
-                }
-            }
-        }
-        getReportWriter().writeln();
-        getReportWriter().writeln("   Checking: " + featureDirectory);
-        getReportWriter().writeln("   Checked " + checked + " of " + totalsize + ".");
-        getReportWriter().writeln("   Errors found: " + errors.size());
-        if (errors.size() > 0) {
-            Collections.sort(errors);
-            for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                getReportWriter().writeln(iter.next());
-            }
-            failuresOccurred = true;
-        }
-        return failuresOccurred;
-
-    }
-
-    private String getFeatureId(File file) {
-        String id = null;
-        if (file.isDirectory()) {
-            id = getFeatureIdFromDir(file);
-        }
-        else if (file.getName().toLowerCase().endsWith(EXTENSION_JAR)) {
-            id = getFeatureIdFromJAR(file);
-        }
-        return id;
-    }
-
-    private String getFeatureIdFromJAR(File file) {
-        InputStream input = null;
-        JarFile jar = null;
-        String id = null;
-        try {
-            jar = new JarFile(file, false, ZipFile.OPEN_READ);
-            JarEntry entry = jar.getJarEntry("feature.xml");
-            if (entry == null) {
-                addError("Feature jar does not contain a feature.xml file: " + file.getAbsolutePath());
-            }
-            input = jar.getInputStream(entry);
-            id = getFeatureFromFeatureXML(input);
-        }
-        catch (IOException e) {
-            // e.printStackTrace();
-            addError(e.getMessage());
-        }
-        catch (ParserConfigurationException e) {
-            addError(e.getMessage());
-        }
-        catch (SAXException e) {
-            addError(e.getMessage());
-        }
-        finally {
-            if (input != null) {
-                try {
-                    input.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-            if (jar != null) {
-                try {
-                    jar.close();
-                }
-                catch (IOException e) {
-                    // ignore
-                }
-            }
-        }
-        return id;
-    }
-
-    private String getFeatureIdFromDir(File dir) {
-        String id = null;
-        File featureFile = new File(dir, "feature.xml");
-        if (!featureFile.exists() || !featureFile.isFile()) {
-            addError("Feature.xml not found at: " + featureFile.getAbsolutePath());
-        }
-        else {
-            id = getFeatureFromFeatureXML(featureFile);
-        }
-        return id;
-    }
-
-    private String getFeatureFromFeatureXML(File file) {
-        Document document = getDOM(file);
-        return getFeatureIdFromDOM(document);
-    }
-
-    private String getFeatureIdFromDOM(Document document) {
-        String id = null;
-        if (document != null) {
-            NodeList featureElements = document.getElementsByTagName("feature");
-            Element featureElement = null;
-            if (featureElements.getLength() > 0) {
-                Node featureNode = featureElements.item(0);
-                if (featureNode instanceof Element) {
-                    featureElement = (Element) featureNode;
-                }
-            }
-            if (featureElement != null) {
-                NamedNodeMap aNamedNodeMap = featureElement.getAttributes();
-                Node idAttribute = aNamedNodeMap.getNamedItem("id");
-                id = idAttribute.getNodeValue();
-            }
-        }
-        return id;
-    }
-
-    private String getFeatureFromFeatureXML(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
-        Document document = getDOM(stream);
-        return getFeatureIdFromDOM(document);
-    }
-
-    private Document getDOM(File file) {
-
-        Document aDocument = null;
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new FileReader(file));
-            InputSource inputSource = new InputSource(reader);
-            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-            DocumentBuilder builder = factory.newDocumentBuilder();
-            aDocument = builder.parse(inputSource);
-        }
-        catch (SAXException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        catch (ParserConfigurationException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                }
-                catch (IOException e) {
-                    // ignore this one
-                }
-            }
-        }
-
-        if (aDocument == null) {
-            String msg = "Error: could not parse xml in classpath file: " + file.getAbsolutePath();
-            throw new BuildException(msg);
-        }
-        return aDocument;
-
-    }
-
-    private Document getDOM(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
-
-        Document aDocument = null;
-        InputSource inputSource = new InputSource(stream);
-        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-        DocumentBuilder builder = factory.newDocumentBuilder();
-        aDocument = builder.parse(inputSource);
-
-        return aDocument;
-
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    public ReportWriter getReportWriter() {
-        if (reportWriter == null) {
-            String outputFilename = "layoutCheck.txt";
-            reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        }
-        return reportWriter;
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/VersionTest.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/VersionTest.java
deleted file mode 100644
index d3ad6be..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/VersionTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- * This file originally came from 'Eclipse Orbit' project then adapted to use 
- * in WTP and improved to use 'Manifest' to read manifest.mf, instead of reading 
- * it as a properties file.
- ******************************************************************************/
-package org.eclipse.juno.tests.jars;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.juno.tests.jars.VersionTest;
-import org.eclipse.juno.tests.utils.FullJarNameParser;
-import org.eclipse.juno.tests.utils.JARFileNameFilter;
-import org.eclipse.juno.tests.utils.ReportWriter;
-
-/**
- * @since 3.3
- */
-public class VersionTest {
-
-    private static final String EXTENSION_JAR        = ".jar";
-    private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-    private static final String EXTENSION_ZIP        = ".zip";
-    private FullJarNameParser   nameParser           = new FullJarNameParser();
-    private String              BACKSLASH            = "\\";
-    private String              LITERAL_PERIOD       = BACKSLASH + ".";
-    private String              ANY                  = ".*";
-    private Pattern             threedots            = Pattern.compile(ANY + LITERAL_PERIOD + ANY + LITERAL_PERIOD + ANY + LITERAL_PERIOD + ANY);
-    private String              outputDirectory;
-    private ReportWriter        reportWriter;
-
-    public static void main(String[] args) {
-
-        VersionTest testlayout = new VersionTest();
-        testlayout.setDirectoryToCheck("D:\\temp\\staging\\aggregate");
-        try {
-            testlayout.testFeatureVersions();
-            testlayout.testBundleVersions();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    private String directoryToCheck;
-
-
-    public String getDirectoryToCheck() {
-        return directoryToCheck;
-    }
-
-    public void setDirectoryToCheck(String bundleDirToCheck) {
-        this.directoryToCheck = bundleDirToCheck;
-    }
-
-    private boolean testBundleVersions() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String bundleDirectory = null;
-        if (property.endsWith("/")) {
-            bundleDirectory = property + "aggregate/plugins";
-        }
-        else {
-            bundleDirectory = property + "/aggregate/plugins";
-        }
-        File inputdir = new File(bundleDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("bundle direcotry (" + bundleDirectory + ") must be an existing directory.");
-        }
-        getReportWriter().writeln(" Check for 4-part versions in Bundles");
-        boolean failuresOccured = checkFilesVersions(inputdir);
-        // assertFalse("Some bundles did not have 4 part version numbers", failuresOccured);
-        return failuresOccured;
-    }
-
-    private boolean checkFilesVersions(File inputdir) throws IOException {
-        // reset/initialize errors
-        List errors = new ArrayList();
-        boolean failuresOccured = false;
-        File[] children = inputdir.listFiles(new JARFileNameFilter());
-        int totalsize = children.length;
-        int checked = 0;
-        for (int i = 0; i < children.length; i++) {
-            File child = children[i];
-            String name = child.getName();
-            // assume directory if not file
-            if (child.isFile()) {
-                if (name.endsWith(EXTENSION_PACEKD_JAR)) {
-                    name = getBasicName(name, EXTENSION_PACEKD_JAR);
-                }
-                else if (name.endsWith(EXTENSION_JAR)) {
-                    name = getBasicName(name, EXTENSION_JAR);
-                }
-                else if (name.endsWith(EXTENSION_ZIP)) {
-                    name = getBasicName(name, EXTENSION_ZIP);
-                }
-            }
-            checked++;
-            boolean valid = nameParser.parse(name);
-            if (!valid) {
-                errors.add(name + " does not have a valid version (it is unparsable)");
-            }
-            else {
-                String version = nameParser.getVersionString();
-                Matcher matcher = threedots.matcher(version);
-
-                if (!matcher.matches()) {
-                    errors.add(name + " does not contain 4 parts");
-                }
-            }
-        }
-        getReportWriter().writeln("   Checked " + checked + " of " + totalsize + ".");
-        getReportWriter().writeln("   Errors found: " + errors.size());
-
-        if (errors.size() > 0) {
-            Collections.sort(errors);
-            for (Iterator iter = errors.iterator(); iter.hasNext();) {
-                getReportWriter().writeln(iter.next());
-            }
-            failuresOccured = true;
-        }
-        return failuresOccured;
-    }
-
-    private String getBasicName(String fullname, String extension) {
-        String result = fullname;
-        int pos = fullname.lastIndexOf(extension);
-        if (pos >= 0) {
-            result = fullname.substring(0, pos);
-        }
-        return result;
-    }
-
-    public boolean testVersionsPatterns() throws IOException {
-        boolean result = false;
-        try {
-            getReportWriter().writeln("Check 4-part version patterns");
-            boolean featureFailures = testFeatureVersions();
-            boolean bundleFailures = testBundleVersions();
-            result = featureFailures || bundleFailures;
-        }
-        finally {
-            getReportWriter().close();
-        }
-        return result;
-    }
-
-    private boolean testFeatureVersions() throws IOException {
-
-        String property = getDirectoryToCheck();
-        if (property == null) {
-            throw new BuildException("Need to set input directory to check against.");
-        }
-        String featureDirectory = null;
-        if (property.endsWith("/")) {
-            featureDirectory = property + "aggregate/features";
-        }
-        else {
-            featureDirectory = property + "/aggregate/features";
-        }
-        File inputdir = new File(featureDirectory);
-        if (!(inputdir.exists() && inputdir.isDirectory())) {
-            throw new BuildException("feature direcotry (" + featureDirectory + ") must be an existing directory.");
-        }
-        getReportWriter().writeln(" Check for 4-part versions in Features");
-        boolean failuresOccured = checkFilesVersions(inputdir);
-        // assertFalse("Some features did not have 4 part version numbers", failuresOccured);
-        return failuresOccured;
-
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    public ReportWriter getReportWriter() {
-        if (reportWriter == null) {
-            String outputFilename = "versionPatternCheck.txt";
-            reportWriter = new ReportWriter(getOutputDirectory(), outputFilename);
-        }
-        return reportWriter;
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/config.properties b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/config.properties
deleted file mode 100644
index b5481d1..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/config.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about.
-default.source.jar = META-INF/MANIFEST\.MF, \
-		about\.html
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR
-default.binary.jar = META-INF/MANIFEST\.MF, \
-		about\.html
-
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about. Note the
-# extra directory entry at the beginning
-default.source.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR. Note the
-# extra directory entry at the beginning
-default.binary.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html
-
-
-# default layout for a feature
-default.feature = license\.html, \
-		(edl-v10\.html|epl-v10\.html)
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/configHOLD.properties b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/configHOLD.properties
deleted file mode 100644
index 08695af..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/configHOLD.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about.
-default.source.jar = META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR
-default.binary.jar = META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties, \
-		.*\.(class|jar)$
-
-# default layout for a source bundle. contains a manifest,
-# about file, plugin.xml and plugin.properties for translation,
-# as well as a zip file with source and an about. Note the
-# extra directory entry at the beginning
-default.source.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html, \
-		^.*/(plugin|bundle)\.properties
-
-# default layout for a binary bundle. contains a manifest, 
-# about file, and at least one class file or JAR. Note the
-# extra directory entry at the beginning
-default.binary.zip = ^.*/META-INF/MANIFEST\.MF, \
-		^.*/about\.html, \
-		^.*/(plugin|bundle)\.properties, \
-		.*\.(class|jar)$
-
-# special case of a code bundle not containing code ?
-org.eclipse.wst.xsl.saxon= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 
-		
-# special case with no code: branding bundle
-org.eclipse.wst.xsl= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 
-		
-# special case with no code: branding bundle	
-org.eclipse.wst.common.fproj.sdk= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-
-# special case with no code: branding bundle			
-org.eclipse.jst.common.fproj.enablement.jdt.sdk= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-		
-# special case of a bundle with no code		
-org.eclipse.jst.ws.creation.ejb.ui= META-INF/MANIFEST\.MF, \
-		about\.html, \
-		.*(plugin|bundle)\.properties 	
-					
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/exceptions.properties b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/exceptions.properties
deleted file mode 100644
index 64c9bfc..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/jars/exceptions.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-breeExceptions=org.eclipse.swt, \
- org.eclipse.compare.examples.xml, \
- org.eclipse.compare.examples, \
- org.eclipse.sdk.examples, \
- org.eclipse.swt.examples.browser.demos, \
- org.eclipse.swt.examples.browser, \
- org.eclipse.swt.examples.controls, \
- org.eclipse.swt.examples.launcher, \
- org.eclipse.swt.examples.layouts, \
- org.eclipse.swt.examples.ole.win32, \
- org.eclipse.swt.examples.paint, \
- org.eclipse.swt.examples, \
- org.eclipse.team.examples.filesystem, \
- org.eclipse.ui.examples.javaeditor, \
- org.eclipse.compare.examples.xml, \
- org.eclipse.compare.examples, \
- org.eclipse.sdk.examples, \
- org.eclipse.swt.examples.browser.demos, \
- org.eclipse.swt.examples.browser, \
- org.eclipse.swt.examples.controls, \
- org.eclipse.swt.examples.launcher, \
- org.eclipse.swt.examples.layouts, \
- org.eclipse.swt.examples.ole.win32, \
- org.eclipse.swt.examples.paint, \
- org.eclipse.swt.examples, \
- org.eclipse.team.examples.filesystem, \
- org.eclipse.ui.examples.javaeditor, \
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/FeatureDisplayableDataChecker.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/FeatureDisplayableDataChecker.java
deleted file mode 100644
index da5c7a3..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/FeatureDisplayableDataChecker.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package org.eclipse.juno.tests.repos;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.internal.p2.metadata.License;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.ICopyright;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.ILicense;
-import org.eclipse.equinox.p2.query.IQueryResult;
-import org.eclipse.juno.tests.repos.TestRepo;
-import org.eclipse.juno.tests.utils.IUIdComparator;
-
-public class FeatureDisplayableDataChecker extends TestRepo {
-    private static String STANDARD_LICENSES_PROPERTIES_FILE = "standardLicenses.properties";
-
-    private boolean checkLicenseConsistency(IQueryResult<IInstallableUnit> allFeatures) throws IOException {
-        boolean result = false;
-        Properties properties = new Properties();
-
-        InputStream inStream = this.getClass().getResourceAsStream(STANDARD_LICENSES_PROPERTIES_FILE);
-        properties.load(inStream);
-        String body2011 = properties.getProperty("license2011");
-        String body2010 = properties.getProperty("license2010");
-        ILicense standardLicense2011 = new License(null, body2011, null);
-        ILicense standardLicense2010 = new License(null, body2010, null);
-
-        List<IInstallableUnit> noLicense = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> extraLicense = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> goodLicense = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> oldLicense = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> badLicense = new ArrayList<IInstallableUnit>();
-        checkLicenses(standardLicense2011, standardLicense2010, allFeatures, goodLicense, oldLicense, badLicense, noLicense, extraLicense);
-
-        printReportLicense(goodLicense, oldLicense, badLicense, noLicense, extraLicense);
-        result = ((badLicense.size() > 0) || (extraLicense.size() > 0) || (noLicense.size() > 0));
-        return result;
-    }
-
-    private void checkLicenses(ILicense platformLicense2011, ILicense platformLicense2010, IQueryResult<IInstallableUnit> allFeatures, List<IInstallableUnit> goodLicense, List<IInstallableUnit> oldLicense, List<IInstallableUnit> badLicense, List<IInstallableUnit> noLicense, List<IInstallableUnit> extraLicense) {
-        System.out.println("Number of IUs during license check: " + allFeatures.toUnmodifiableSet().size());
-        int nFeatures = 0;
-        int nNonFeatures = 0;
-        for (IInstallableUnit feature : allFeatures.toUnmodifiableSet()) {
-            // System.out.println("Feature ID: " + feature.getId());
-            // ignore IUs that are not features
-            // TODO: but, we get "groups" ... what kind of groups are not feature groups? 
-            if (feature.getId().endsWith(".feature.group")) {
-                nFeatures++;
-                Collection<ILicense> licenses = feature.getLicenses(null);
-                if (licenses.isEmpty()) {
-                    noLicense.add(feature);
-                    continue;
-                }
-                if (licenses.size() != 1) {
-                    extraLicense.add(feature);
-                    continue;
-                }
-                ILicense featureLicense = licenses.iterator().next();
-                if (platformLicense2010.getUUID().equals(featureLicense.getUUID())) {
-                    oldLicense.add(feature);
-                    continue;
-                }
-                if (platformLicense2011.getUUID().equals(featureLicense.getUUID())) {
-                    goodLicense.add(feature);
-                    continue;
-                }
-                badLicense.add(feature);
-            }
-            else {
-                nNonFeatures++;
-            }
-        }
-        System.out.println("Number features during license check: " + nFeatures);
-        System.out.println("Number non-featues during license check: " + nNonFeatures);
-    }
-
-    private void printReportLicense(List<IInstallableUnit> goodLicense, List<IInstallableUnit> oldLicense, List<IInstallableUnit> badLicense, List<IInstallableUnit> noLicense, List<IInstallableUnit> extraLicense) {
-        String SPACER = "<br />=======================";
-
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "licenseConsistency.html");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-            println(outfileWriter, "<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            println(outfileWriter, "<br /><br />License Consistency Summary:" + SPACER);
-            println(outfileWriter, "Features with conforming (2011) license: " + goodLicense.size());
-            println(outfileWriter, "Features with old (2010) license: " + oldLicense.size());
-            println(outfileWriter, "Features with different license: " + badLicense.size());
-            println(outfileWriter, "Features with no license: " + noLicense.size());
-            println(outfileWriter, "Features with extra licenses: " + extraLicense.size());
-            println(outfileWriter, "=======================");
-
-            println(outfileWriter, "<br /><br />Details:" + SPACER);
-
-            println(outfileWriter, "Features with no license:" + SPACER);
-            Collections.sort(noLicense, new IUIdComparator());
-            for (IInstallableUnit unit : noLicense) {
-                println(outfileWriter, unit.getId());
-            }
-
-            println(outfileWriter, "<br /><br />Features with different license:" + SPACER);
-            Collections.sort(badLicense, new IUIdComparator());
-            for (IInstallableUnit unit : badLicense) {
-                println(outfileWriter, unit.getId());
-            }
-            println(outfileWriter, "<br /><br />Features with old (2010) license:" + SPACER);
-            Collections.sort(oldLicense, new IUIdComparator());
-            for (IInstallableUnit unit : oldLicense) {
-                println(outfileWriter, unit.getId());
-            }
-            println(outfileWriter, "<br /><br />Features with matching (2011) license:" + SPACER);
-            Collections.sort(goodLicense, new IUIdComparator());
-            for (IInstallableUnit unit : goodLicense) {
-                println(outfileWriter, unit.getId());
-            }
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // weirdness
-                    e.printStackTrace();
-                }
-            }
-        }
-        //        if ((badLicense.size() > 0) || (extraLicense.size() > 0) || (noLicense.size() > 0)) {
-        //            fail("Errors in license consistency. For list, see " + outfile.getAbsolutePath());
-        //        }
-    }
-
-    public boolean testDisplayableData() throws URISyntaxException, ProvisionException, OperationCanceledException, IOException {
-        boolean result = false;
-        IQueryResult<IInstallableUnit> allIUs = getAllGroupIUs();
-        result = checkLicenseConsistency(allIUs);
-        result = result | checkCopyrights(allIUs);
-        result = result | checkDescriptions(allIUs);
-        return result;
-    }
-
-    private boolean checkCopyrights(IQueryResult<IInstallableUnit> allFeatures) {
-        boolean result = false;
-
-        List<IInstallableUnit> noOrBadCopyright = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> okCopyright = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> indeterminateCopyright = new ArrayList<IInstallableUnit>();
-
-        for (IInstallableUnit feature : allFeatures.toUnmodifiableSet()) {
-            if (feature.getId().endsWith(".feature.group")) {
-                ICopyright copyright = feature.getCopyright(null);
-                if (copyright == null) {
-                    noOrBadCopyright.add(feature);
-                    continue;
-                }
-                String body = copyright.getBody();
-                if ((body == null) || (body.length() == 0) || body.startsWith("%") || body.startsWith("[")) {
-                    noOrBadCopyright.add(feature);
-                    continue;
-                }
-
-                if (body.startsWith("Copyright") || body.startsWith("(c) Copyright")) {
-                    okCopyright.add(feature);
-                    continue;
-                }
-                // the order of these tests clauses matter, obvously. (Compare with above 'startsWith'.)
-                if (body.contains("Copyright") || body.contains("copyright")) {
-                    indeterminateCopyright.add(feature);
-                    continue;
-                }
-                // fallthrough assumed "bad"
-                noOrBadCopyright.add(feature);
-            }
-
-        }
-
-        printReportCopyrights(okCopyright, noOrBadCopyright, indeterminateCopyright);
-        result = ((noOrBadCopyright.size() > 0));
-        return result;
-    }
-
-    private boolean checkDescriptions(IQueryResult<IInstallableUnit> allFeatures) {
-        boolean result = false;
-
-        List<IInstallableUnit> noneOrBad = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> ok = new ArrayList<IInstallableUnit>();
-
-        for (IInstallableUnit feature : allFeatures.toUnmodifiableSet()) {
-            if (feature.getId().endsWith(".feature.group")) {
-                String description = feature.getProperty(IInstallableUnit.PROP_DESCRIPTION, null);
-                if ((description == null) || (description.length() <= 0) || description.startsWith("%")) {
-                    noneOrBad.add(feature);
-                    continue;
-                }
-
-                ok.add(feature);
-            }
-
-        }
-
-        printReportDescription(ok, noneOrBad);
-        result = ((noneOrBad.size() > 0));
-        return result;
-    }
-
-    private void printReportDescription(List<IInstallableUnit> ok, List<IInstallableUnit> noneOrBad) {
-        String SPACER = "<br />=======================";
-
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "descriptions.html");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-            println(outfileWriter, "<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            println(outfileWriter, "<br /><br />Description Report:" + SPACER);
-            println(outfileWriter, "Features wrong or unexplainable descriptions: " + noneOrBad.size());
-            println(outfileWriter, "Features probably correct: " + ok.size());
-            println(outfileWriter, "=======================");
-
-            println(outfileWriter, "<br /><br />Details:" + SPACER);
-
-            println(outfileWriter, "Features with no or dubious descripiton:" + SPACER);
-            Collections.sort(noneOrBad, new IUIdComparator());
-            for (IInstallableUnit unit : noneOrBad) {
-                printLineDescription(outfileWriter, unit);
-            }
-
-            println(outfileWriter, "<br /><br />Features with descripitons:" + SPACER);
-            Collections.sort(ok, new IUIdComparator());
-            for (IInstallableUnit unit : ok) {
-                printLineDescription(outfileWriter, unit);
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // weirdness
-                    e.printStackTrace();
-                }
-            }
-        }
-        //        if ((badLicense.size() > 0) || (extraLicense.size() > 0) || (noLicense.size() > 0)) {
-        //            fail("Errors in license consistency. For list, see " + outfile.getAbsolutePath());
-        //        }
-    }
-
-
-
-    private void printReportCopyrights(List<IInstallableUnit> good, List<IInstallableUnit> bad, List<IInstallableUnit> maybe) {
-        String SPACER = "<br />=======================";
-
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "copyrights.html");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-            println(outfileWriter, "<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            println(outfileWriter, "<br /><br />Copyright Report:" + SPACER);
-            println(outfileWriter, "Features wrong or unexplainable copyrights: " + bad.size());
-            println(outfileWriter, "Features maybe wrong, maybe correct copyrights: " + maybe.size());
-            println(outfileWriter, "Features probably correct: " + good.size());
-            println(outfileWriter, "=======================");
-
-            println(outfileWriter, "<br /><br />Details:" + SPACER);
-
-            println(outfileWriter, "Features with no or probably incorrect copyright statement:" + SPACER);
-            Collections.sort(bad, new IUIdComparator());
-            for (IInstallableUnit unit : bad) {
-                printLineCopyright(outfileWriter, unit);
-            }
-
-            println(outfileWriter, "<br /><br />Indeterminant: feature's copyright text contains the word 'copyright' but not at beginning:" + SPACER);
-            Collections.sort(maybe, new IUIdComparator());
-            for (IInstallableUnit unit : maybe) {
-                printLineCopyright(outfileWriter, unit);
-            }
-            println(outfileWriter, "<br /><br />Features with copyrights that are probably ok (i.e. start with 'Copyright'):" + SPACER);
-            Collections.sort(good, new IUIdComparator());
-            for (IInstallableUnit unit : good) {
-                printLineCopyright(outfileWriter, unit);
-            }
-
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // weirdness
-                    e.printStackTrace();
-                }
-            }
-        }
-        //        if ((badLicense.size() > 0) || (extraLicense.size() > 0) || (noLicense.size() > 0)) {
-        //            fail("Errors in license consistency. For list, see " + outfile.getAbsolutePath());
-        //        }
-    }
-
-    private void printLineCopyright(FileWriter outfileWriter, IInstallableUnit iu) throws IOException {
-
-        String copyright = null;
-        ICopyright copyrightIu = iu.getCopyright(null);
-        if (copyrightIu != null) {
-            copyright = copyrightIu.getBody();
-        }
-        String iuId = iu.getId();
-        String iuVersion = iu.getVersion().toString();
-        println(outfileWriter, iuId + NBSP + iuVersion + BR + NBSP + copyright);
-    }
-
-    private void printLineDescription(FileWriter outfileWriter, IInstallableUnit iu) throws IOException {
-
-
-        String description = iu.getProperty(IInstallableUnit.PROP_DESCRIPTION, null);
-        String iuId = iu.getId();
-        String iuVersion = iu.getVersion().toString();
-        println(outfileWriter, iuId + NBSP + iuVersion + BR + NBSP + description);
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/FeatureNameLengths.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/FeatureNameLengths.java
deleted file mode 100644
index a698b3f..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/FeatureNameLengths.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.juno.tests.repos;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.IQueryResult;
-import org.eclipse.juno.tests.repos.FeatureNameLengths;
-import org.eclipse.juno.tests.repos.TestRepo;
-import org.eclipse.juno.tests.utils.StringLengthComparator;
-
-public class FeatureNameLengths extends TestRepo {
-
-    private Map  distribution = null;
-    private int  maxCriteria  = 100;
-    private List longestNames = new ArrayList();
-
-    public static <T extends Comparable<? super T>> List<T> asSortedList(Collection<T> c) {
-        List<T> list = new ArrayList<T>(c);
-        java.util.Collections.sort(list);
-        return list;
-    }
-
-    public static Test suite() {
-        System.out.println("test feature directory lengths");
-        FeatureNameLengths featureNameLengths = new FeatureNameLengths();
-        featureNameLengths.setName("testFeatureDirectoryLength");
-        featureNameLengths.setRepoURLToTest("file:///home/files/buildzips/junoRC3/wtp-repo");
-        featureNameLengths.setOutputDirectory("/home/davidw/temp");
-        return featureNameLengths;
-    }
-
-    public static void main(String[] args) {
-        FeatureNameLengths featureNameLengths = new FeatureNameLengths();
-        featureNameLengths.setRepoURLToTest("/home/files/buildzips/junoRC3/wtp-repo");
-        featureNameLengths.setOutputDirectory("/temp");
-        try {
-            featureNameLengths.testFeatureDirectoryLength();
-        }
-        catch (ProvisionException e) {
-            e.printStackTrace();
-        }
-        catch (URISyntaxException e) {
-            e.printStackTrace();
-        }
-        catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-    private void analyze(IQueryResult<IInstallableUnit> allIUs) {
-        distribution = new HashMap<Integer, Integer>();
-        for (IInstallableUnit iu : allIUs.toUnmodifiableSet()) {
-            // simulate what directory name would be, when installed
-            String featureName = iu.getId();
-            String featureGroup = ".feature.group";
-            int featureGroupLength = featureGroup.length();
-            if (featureName.endsWith(featureGroup)) {
-                featureName = featureName.substring(0, featureName.length() - featureGroupLength);
-            }
-
-            String line = featureName + "_" + iu.getVersion();
-            tabulate(line.length());
-            if (line.length() > maxCriteria) {
-                longestNames.add(line);
-            }
-        }
-    }
-
-    private void printReport() throws IOException {
-        String SPACER = "<br />=======================";
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "featureDirectoryLengths.html");
-            outfileWriter = new FileWriter(outfile);
-
-            println(outfileWriter, "<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            println(outfileWriter, "<br /><br />Distribution of Feature Directory Lengths:" + SPACER);
-
-            Integer total = new Integer(0);
-            Set keys = distribution.keySet();
-            List<Integer> list = asSortedList(keys);
-            for (Iterator iterator = list.iterator(); iterator.hasNext();) {
-                Integer category = (Integer) iterator.next();
-                Integer count = (Integer) distribution.get(category);
-                println(outfileWriter, NBSP + category + NBSP + count);
-                total = total + count;
-            }
-            println(outfileWriter, "=======================" + EOL);
-            println(outfileWriter, NBSP + "Total features directory names: " + total + EOL);
-            println(outfileWriter, "=======================" + EOL);
-            if (longestNames.size() > 0) {
-
-                println(outfileWriter, NBSP + "Features directory names with lengths above " + maxCriteria + EOL);
-                Collections.sort(longestNames, new StringLengthComparator());
-                for (int i = 0; i < longestNames.size(); i++) {
-                    String line = (String) longestNames.get(i);
-                    println(outfileWriter, line.length() + NBSP + line + EOL);
-                }
-            }
-            else {
-                println(outfileWriter, NBSP + " No feature directory names lengths were longer than the maxCriteria, " + maxCriteria + EOL);
-            }
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // would be weird
-                    e.printStackTrace();
-                }
-            }
-        }
-
-    }
-
-    private void tabulate(int length) {
-        Integer category = new Integer(length);
-        Integer count = (Integer) distribution.get(category);
-        if (count == null) {
-            // our first occurance
-            count = new Integer(1);
-        }
-        else {
-            count = count + 1;
-        }
-        distribution.put(category, count);
-    }
-
-    public int testFeatureDirectoryLength() throws ProvisionException, URISyntaxException, IOException {
-        IQueryResult<IInstallableUnit> allIUs = getAllGroupIUs();
-        return checkFeatureDirLenths(allIUs);
-    }
-
-    private int checkFeatureDirLenths(IQueryResult<IInstallableUnit> allIUs) throws IOException {
-        analyze(allIUs);
-        printReport();
-        return longestNames.size();
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/IUNameChecker.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/IUNameChecker.java
deleted file mode 100644
index bda007b..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/IUNameChecker.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package org.eclipse.juno.tests.repos;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.IQueryResult;
-import org.eclipse.juno.tests.repos.TestRepo;
-import org.eclipse.juno.tests.utils.IUIdComparator;
-
-public class IUNameChecker extends TestRepo {
-
-
-
-    public boolean testBundleNames() throws URISyntaxException, ProvisionException, OperationCanceledException, IOException {
-        IQueryResult<IInstallableUnit> allIUs = getAllIUs();
-        return checkBundleNames(allIUs);
-    }
-
-    public boolean testFeatureNames() throws URISyntaxException, ProvisionException, OperationCanceledException, IOException {
-        IQueryResult<IInstallableUnit> allIUs = getAllGroupIUs();
-        return checkFeatureNames(allIUs);
-    }
-
-    private boolean checkFeatureNames(IQueryResult<IInstallableUnit> allIUs) throws IOException {
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        List<IInstallableUnit> incorrectBundleName = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> probablyCorrectBundleName = new ArrayList<IInstallableUnit>();
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "featureNames.html");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-            for (IInstallableUnit iu : allIUs.toUnmodifiableSet()) {
-                try {
-                    // ignore categories
-                    boolean isCategory = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.category"));
-                    // TODO: should we exclude fragments?
-                    boolean isFragment = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.fragment"));
-
-                    // TODO: probably do not need to exclude all of these? Since we are specifically selecting "groups"? 
-                    if ((isFeatureGroup(iu) && !isCategory) && !isSpecial(iu) && !isFragment) {
-                        String bundleName = iu.getProperty(IInstallableUnit.PROP_NAME, null);
-                        // not sure fi can ever be null ... but, just in case
-                        if (bundleName == null) {
-                            incorrectBundleName.add(iu);
-                        }
-                        else if ((bundleName.startsWith("%") || bundleName.startsWith("Feature-") || bundleName.startsWith("Bundle-") || bundleName.startsWith("feature") || bundleName.startsWith("plugin") || bundleName.startsWith("Plugin.name") || bundleName.startsWith("fragment.") || bundleName.startsWith("Eclipse.org") || bundleName.startsWith("bundle"))) {
-                            incorrectBundleName.add(iu);
-                        }
-                        else {
-                            probablyCorrectBundleName.add(iu);
-                        }
-                        // experiment to find configs and categories
-                        if (DEBUG) {
-                            if (bundleName == null) {
-                                printAllProperties(outfileWriter, iu);
-                            }
-                        }
-                    }
-
-                }
-                catch (RuntimeException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            outfileWriter.write("<h1>Feature names used in repository</h1>" + EOL);
-            outfileWriter.write("<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            outfileWriter.write("<h2>Major: missing or (probably) incorrect names</h2>" + EOL);
-            printLinesBundleName(outfileWriter, incorrectBundleName);
-            outfileWriter.write("<h2>Probably correct names</h2>" + EOL);
-            printLinesBundleName(outfileWriter, probablyCorrectBundleName);
-
-            //            if (incorrectBundleName.size() > 0) {
-            //                fail("Errors in naming or localization. For list, see " + outfile.getName());
-            //            }
-            return incorrectBundleName.size() > 0;
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // would be weird
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    private boolean checkBundleNames(IQueryResult<IInstallableUnit> allIUs) throws IOException {
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        List<IInstallableUnit> incorrectBundleName = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> probablyCorrectBundleName = new ArrayList<IInstallableUnit>();
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "bundleNames.html");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-            for (IInstallableUnit iu : allIUs.toUnmodifiableSet()) {
-                try {
-                    // ignore categories
-                    boolean isCategory = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.category"));
-                    // TODO: should we exclude fragments?
-                    boolean isFragment = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.fragment"));
-
-
-                    // we exclude feature groups here, so they can be in their own list, for better focus
-                    if (!isCategory && !isSpecial(iu) && !isFragment && !isFeatureGroup(iu)) {
-                        String bundleName = iu.getProperty(IInstallableUnit.PROP_NAME, null);
-                        // not sure fi can ever be null ... but, just in case
-                        if (bundleName == null) {
-                            incorrectBundleName.add(iu);
-                        }
-                        else if ((bundleName.startsWith("%") || bundleName.startsWith("Bundle-") || bundleName.startsWith("plugin") || bundleName.startsWith("Plugin.name") || bundleName.startsWith("fragment.") || bundleName.startsWith("Eclipse.org") || bundleName.startsWith("bundle"))) {
-                            incorrectBundleName.add(iu);
-                        }
-                        else {
-                            probablyCorrectBundleName.add(iu);
-                        }
-                        // experiment to find configs and categories
-                        if (DEBUG) {
-                            if (bundleName == null) {
-                                printAllProperties(outfileWriter, iu);
-                            }
-                        }
-                    }
-
-                }
-                catch (RuntimeException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            outfileWriter.write("<h1>Bundle names used in repository</h1>" + EOL);
-            outfileWriter.write("<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            //outfileWriter.write("<p>Note, there are several problems with this test, e.g. see <a href=\"https://bugs.eclipse.org/bugs/show_bug.cgi?id=309566\">bug 309566</a>. So provided here as FYI for now.</p>" + EOL);
-            outfileWriter.write("<h2>Major: missing or (probably) incorrect bundle name</h2>" + EOL);
-            printLinesBundleName(outfileWriter, incorrectBundleName);
-            outfileWriter.write("<h2>Probably correct bundle name</h2>" + EOL);
-            printLinesBundleName(outfileWriter, probablyCorrectBundleName);
-
-            //            if (incorrectBundleName.size() > 0) {
-            //                fail("Errors in naming or localization. For list, see " + outfile.getName());
-            //            }
-            return incorrectBundleName.size() > 0;
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // would be weird
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    private void printLinesBundleName(FileWriter out, List<IInstallableUnit> iuList) throws IOException {
-        //Comparator<? super IInstallableUnit> comparatorBundleName = new IUNameAndIdComparator();
-        Comparator<? super IInstallableUnit> comparatorBundleName = new IUIdComparator();
-        Collections.sort(iuList, comparatorBundleName);
-        out.write("<p>Count: " + iuList.size() + EOL);
-        out.write("<ol>" + EOL);
-
-        for (IInstallableUnit iu : iuList) {
-            printLineListItem(out, iu, IInstallableUnit.PROP_NAME);
-        }
-        out.write("</ol>" + EOL);
-    }
-
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/ProviderNameChecker.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/ProviderNameChecker.java
deleted file mode 100644
index 8667263..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/ProviderNameChecker.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.eclipse.juno.tests.repos;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.IQueryResult;
-import org.eclipse.juno.tests.repos.TestRepo;
-import org.eclipse.juno.tests.utils.IUIdComparator;
-
-public class ProviderNameChecker extends TestRepo {
-    private static final String OLD_PROVIDER_NAME       = "Eclipse.org";
-    private String[]            EXPECTED_PROVIDER_NAMES = {"Eclipse Equinox Project", "Eclipse PTP", "Eclipse Orbit", "Eclipse Web Tools Platform", "Eclipse CDT", "Eclipse Agent Modeling Platform", "Eclipse BIRT Project", "Eclipse Data Tools Platform", "Eclipse Modeling Project", "Eclipse Mylyn", "Eclipse Memory Analyzer", "Eclipse Linux Tools", "Eclipse Jubula", "Eclipse Jetty Project", "Eclipse Gyrex", "Eclipse EGit", "Eclipse JGit", "Eclipse Agent Modeling Project", "Eclipse Packaging Project", "Eclipse Scout Project", "Eclipse Sequoyah", "Eclipse TM Project"};
-
-    private boolean checkProviderNames(IQueryResult<IInstallableUnit> allIUs) throws IOException {
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        List<IInstallableUnit> incorrectProviderName = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> correctProviderName = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> incorrectOldProviderName = new ArrayList<IInstallableUnit>();
-        List<IInstallableUnit> unknownProviderName = new ArrayList<IInstallableUnit>();
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "providerNames.html");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-            for (IInstallableUnit iu : allIUs.toUnmodifiableSet()) {
-                try {
-                    // ignore categories
-                    boolean isCategory = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.category"));
-                    // TODO: should we exclude fragments?
-                    boolean isFragment = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.fragment"));
-
-
-                    //|| iu.getId().endsWith("feature.group")
-                    if (!isCategory && !isSpecial(iu) && !isFragment) {
-                        String providerName = iu.getProperty(IInstallableUnit.PROP_PROVIDER, null);
-                        if (providerName == null) {
-                            incorrectProviderName.add(iu);
-                        }
-                        // common errors and misspellings
-                        else if (providerName.startsWith("%") || providerName.equals("Eclipse") || providerName.startsWith("eclipse.org") || providerName.startsWith("THALESGROUP") || providerName.startsWith("INRIA") || providerName.startsWith("Engineering") || providerName.contains("org.eclipse.jwt") || providerName.contains("www.example.org") || providerName.contains("www.eclipse.org") || providerName.contains("Provider") || providerName.contains("provider") || providerName.startsWith("Bundle-") || providerName.startsWith("bund") || providerName.startsWith("Eclispe")) {
-                            incorrectProviderName.add(iu);
-                        }
-                        else if (providerName.startsWith("Eclipse.org - ")) {
-                            correctProviderName.add(iu);
-                        }
-                        else if (inListOfExpectedName(providerName)) {
-                            correctProviderName.add(iu);
-                        }
-                        else if (OLD_PROVIDER_NAME.equals(providerName)) {
-                            incorrectOldProviderName.add(iu);
-                        }
-                        // order is important, starts with Eclipse, but not one of the above e.g. "Eclipse Orbit" or "Eclipse.org"? 
-                        // TODO: eventually put in with "incorrect?"
-                        else if (providerName.startsWith("Eclipse")) {
-                            unknownProviderName.add(iu);
-                        }
-                        else {
-                            unknownProviderName.add(iu);
-                        }
-                        // experiment to find configs and categories
-                        if (DEBUG) {
-                            if (providerName == null) {
-                                printAllProperties(outfileWriter, iu);
-                            }
-                        }
-                    }
-
-                }
-                catch (RuntimeException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            outfileWriter.write("<h1>Provider names used in repository</h1>" + EOL);
-            outfileWriter.write("<p>Repository ('repoURLToTest'): " + getRepoURLToTest() + "</p>" + EOL);
-            outfileWriter.write("<h2>Major: missing or (probably) incorrect provider name</h2>" + EOL);
-            printLinesProvider(outfileWriter, incorrectProviderName);
-            outfileWriter.write("<h2>Indeterminate: maybe correct, maybe incorrect provider name</h2>" + EOL);
-            printLinesProvider(outfileWriter, unknownProviderName);
-            outfileWriter.write("<h2>Minor problem of using old style provider name</h2>" + EOL);
-            printLinesProvider(outfileWriter, incorrectOldProviderName);
-            outfileWriter.write("<h2>Probably using correct provider name</h2>" + EOL);
-            printLinesProvider(outfileWriter, correctProviderName);
-
-            //            if (incorrectProviderName.size() > 0) {
-            //                fail("Errors in naming or localization. For list, see " + outfile.getName());
-            //            }
-            return incorrectProviderName.size() > 0;
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // would be weird
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    public boolean testProviderNames() throws URISyntaxException, ProvisionException, OperationCanceledException, IOException {
-        IQueryResult<IInstallableUnit> allIUs = getAllIUs();
-        return checkProviderNames(allIUs);
-    }
-
-    private boolean inListOfExpectedName(String providerName) {
-        boolean result = false;
-        for (int i = 0; i < EXPECTED_PROVIDER_NAMES.length; i++) {
-            if (EXPECTED_PROVIDER_NAMES[i].equals(providerName)) {
-                result = true;
-                break;
-            }
-        }
-        return result;
-
-    }
-
-    private void printLinesProvider(FileWriter out, List<IInstallableUnit> iuList) throws IOException {
-        // Comparator<? super IInstallableUnit> comparatorProviderName = new IUProviderAndIdComparator();
-        Comparator<? super IInstallableUnit> comparatorProviderName = new IUIdComparator();
-        Collections.sort(iuList, comparatorProviderName);
-        out.write("<p>Count: " + iuList.size() + EOL);
-        out.write("<ol>" + EOL);
-
-        for (IInstallableUnit iu : iuList) {
-            printLineListItem(out, iu, IInstallableUnit.PROP_PROVIDER);
-        }
-        out.write("</ol>" + EOL);
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/TestRepo.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/TestRepo.java
deleted file mode 100644
index b372893..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/TestRepo.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.juno.tests.repos;
-
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.apache.tools.ant.BuildException;
-import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
-import org.eclipse.equinox.p2.core.IProvisioningAgent;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.query.IQueryResult;
-import org.eclipse.equinox.p2.query.QueryUtil;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
-import org.eclipse.juno.tests.TestActivator;
-import org.eclipse.juno.tests.repos.TestRepo;
-
-/**
- * Tests that licenses in the repository are consistent with the platform
- * feature license.
- * 
- * This was based on test code originally attached to bug 306627
- * https://bugs.eclipse.org/bugs/show_bug.cgi?id=306627
- */
-public class TestRepo extends TestCase {
-    protected static final boolean DEBUG               = false;
-    protected static final String  EOL                 = System.getProperty("line.separator", "\n");
-    protected static final String  NBSP                = " &nbsp; ";
-    protected static final String  BR                  = "<br/>" + EOL;
-    private static final String    JUNIT_REPORT_OUTPUT = "junit-report-output";
-
-    public static Test suite() {
-        System.out.println("suite for layout");
-        return new TestSuite(TestRepo.class);
-    }
-
-
-    private String repoURLToTest;
-    private String outputDirectory;
-
-    protected void println(FileWriter out, String wholeLine) throws IOException {
-        out.write("<li>" + wholeLine + "</li>" + EOL);
-
-    }
-
-    protected boolean isSpecial(IInstallableUnit iu) {
-
-
-        // TODO: I assume 'executable roots', etc. have no readable name? 
-        /*
-         * TODO: what are these special things? What ever they
-         * are, they have no provider name. config.a.jre is
-         * identified as a fragment
-         * (org.eclipse.equinox.p2.type.fragment). a.jre has no
-         * properties.
-         */
-        String iuId = iu.getId();
-        boolean isSpecial = iuId.startsWith("a.jre") || iuId.startsWith("config.a.jre") || iuId.startsWith("org.eclipse.equinox.executable_root") || iuId.startsWith("org.eclipse.rcp.configuration_root") || iuId.startsWith("toolingorg.eclipse") || iuId.startsWith("tooling.");
-        return isSpecial;
-    }
-
-    protected boolean isFeatureGroup(IInstallableUnit iu) {
-
-        String iuId = iu.getId();
-        boolean isFeatureGroup = iuId.endsWith("feature.group");
-        return isFeatureGroup;
-    }
-
-
-
-    protected void printLineListItem(FileWriter outfileWriter, IInstallableUnit iu, String iuproperty) throws IOException {
-        String iupropertyValue = iu.getProperty(iuproperty, null);
-        String iuId = iu.getId();
-        String iuVersion = iu.getVersion().toString();
-        println(outfileWriter, iuId + NBSP + iuVersion + NBSP + BR + iupropertyValue);
-    }
-
-    /**
-     * Use for debugging and exploration
-     * 
-     * @param outFileWriter
-     * @param iu
-     * @throws IOException
-     */
-    protected void printAllProperties(FileWriter outFileWriter, IInstallableUnit iu) throws IOException {
-        Map<String, String> properties = iu.getProperties();
-        Set keys = properties.keySet();
-        for (Object key : keys) {
-            String value = properties.get(key);
-            println(outFileWriter, key + " : " + value);
-        }
-
-    }
-
-    protected IQueryResult<IInstallableUnit> getAllIUs() throws URISyntaxException, ProvisionException {
-        String repoURL = getRepoURLToTest();
-        URI repoLocation = new URI(repoURL);
-        IMetadataRepository repo = getMetadataRepositoryManager().loadRepository(repoLocation, null);
-        assertNotNull("no repository found at " + repoLocation.toString(), repo);
-        IQueryResult<IInstallableUnit> allIUs = repo.query(QueryUtil.createIUAnyQuery(), null);
-        assertFalse(allIUs.isEmpty());
-        return allIUs;
-    }
-
-    protected IQueryResult<IInstallableUnit> getAllGroupIUs() throws URISyntaxException, ProvisionException {
-        String repoURL = getRepoURLToTest();
-        URI repoLocation = new URI(repoURL);
-        IMetadataRepository repo = getMetadataRepositoryManager().loadRepository(repoLocation, null);
-        assertNotNull("no repository found at " + repoLocation.toString(), repo);
-        IQueryResult<IInstallableUnit> allIUs = repo.query(QueryUtil.createIUGroupQuery(), null);
-        assertFalse(allIUs.isEmpty());
-        return allIUs;
-    }
-
-    protected static IMetadataRepositoryManager getMetadataRepositoryManager() {
-        return (IMetadataRepositoryManager) getAgent().getService(IMetadataRepositoryManager.SERVICE_NAME);
-    }
-
-    protected static IProvisioningAgent getAgent() {
-        // get the global agent for the currently running system
-        return (IProvisioningAgent) ServiceHelper.getService(TestActivator.getContext(), IProvisioningAgent.SERVICE_NAME);
-    }
-
-    public String getRepoURLToTest() {
-        if (repoURLToTest == null) {
-            repoURLToTest = System.getProperty("repoURLToTest");
-
-            if (repoURLToTest == null) {
-                throw new BuildException("the 'repoURLToTest' property was not set");
-            }
-
-        }
-        System.out.println("repoURLToTest: " + repoURLToTest);
-        return repoURLToTest;
-    }
-
-    public void setRepoURLToTest(String repoURLToTest) {
-        this.repoURLToTest = repoURLToTest;
-    }
-
-    public String getOutputDirectory() {
-        if (outputDirectory == null) {
-            outputDirectory = System.getProperty(JUNIT_REPORT_OUTPUT);
-        }
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/VersionChecking.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/VersionChecking.java
deleted file mode 100644
index a766705..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/VersionChecking.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.eclipse.juno.tests.repos;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.equinox.p2.core.ProvisionException;
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-import org.eclipse.equinox.p2.metadata.Version;
-import org.eclipse.equinox.p2.query.IQueryResult;
-import org.eclipse.juno.tests.repos.TestRepo;
-import org.eclipse.juno.tests.repos.VersionChecking;
-
-public class VersionChecking extends TestRepo {
-
-
-    private static final String EQUALS                 = "equals";
-    private static final String STARTS_WITH            = "startsWith";
-    private static final int    STARTWITH_MATCH_LENGTH = 5;
-
-    /**
-     * The test setup in this suite method is atypical, but handy do to local
-     * testing from workbench. For production work, currently, the values are
-     * set in ant execute method. If/when converted to true JUnit tests, this
-     * suite method will need to be chaanged to a more typical form, and no
-     * value hard coded.
-     */
-    public static Test suite() {
-        System.out.println("test version checking");
-        VersionChecking test = new VersionChecking();
-        test.setName("testVersionUniqness");
-        test.setRepoURLToTest("file:///home/shared/webtools/testStagingRepo");
-        test.setOutputDirectory("/home/davidw/temp");
-        return test;
-    }
-
-    public boolean testVersionUniqness() throws URISyntaxException, ProvisionException, OperationCanceledException, IOException {
-        IQueryResult<IInstallableUnit> allIUs = getAllIUs();
-        analyzeVersionPatterns(allIUs);
-        return analyzeNonUniqueVersions(allIUs);
-    }
-
-    private void analyzeVersionPatterns(IQueryResult<IInstallableUnit> allIUs) throws IOException {
-
-
-
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "versionPatterns.txt");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-
-
-            outfileWriter.write("Version qualifer patterns used in repository" + EOL + EOL);
-            outfileWriter.write("Repository ('repoURLToTest'): " + getRepoURLToTest() + EOL + EOL);
-            outfileWriter.write("(Exploratory report ... maybe eventually used to find typos, such as 'qualfer')" + EOL + EOL);
-
-            List<String> allQualifiers = collectQualifiers(allIUs, outfileWriter);
-
-
-
-            collapseSortedQualifiers(outfileWriter, allQualifiers);
-
-
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // would be weird
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    private void collapseSortedQualifiers(FileWriter outfileWriter, List<String> allQualifiers) throws IOException, Error {
-        String reference = null;
-        int refCount = 0;
-        String type = EQUALS;
-        Collections.sort(allQualifiers);
-
-        outfileWriter.write(EOL + "Count of (sorted) patterns matching up to " + STARTWITH_MATCH_LENGTH + " characters." + EOL + EOL);
-
-        for (String q : allQualifiers) {
-            if (reference == null) {
-                reference = q;
-                refCount = 1;
-            }
-            else {
-                if (reference.equals(q)) {
-                    refCount++;
-                    type = EQUALS;
-                }
-                else {
-                    if (reference.length() == 0) {
-                        reference = "[empty string]";
-                        outfileWriter.write(refCount + "\t" + type + "\t\t\t" + reference + EOL);
-                        reference = q;
-                        refCount = 1;
-                        type = EQUALS;
-                    }
-                    else if (startsSimilar(reference, q)) {
-                        refCount++;
-                        type = STARTS_WITH;
-                    }
-                    else {
-                        if (STARTS_WITH.equals(type)) {
-                            outfileWriter.write(refCount + "\t" + type + "\t\t" + subsection(reference) + EOL);
-                        }
-                        else if (EQUALS.equals(type)) {
-                            outfileWriter.write(refCount + "\t" + type + "\t\t\t" + reference + EOL);
-                        }
-                        else {
-                            throw new Error();
-                        }
-                        reference = q;
-                        refCount = 1;
-                        type = EQUALS;
-                    }
-                }
-            }
-
-        }
-    }
-
-    private List<String> collectQualifiers(IQueryResult<IInstallableUnit> allIUs, FileWriter outfileWriter) throws IOException, Error {
-        List<String> allQualifiers = new ArrayList();
-        int nonOSGiCompatible = 0;
-        int nLessThanFour = 0;
-        int nMoreThanFour = 0;
-        for (IInstallableUnit iu : allIUs.toUnmodifiableSet()) {
-
-            // exclude categories, since they are (often) intended to work with same ID, multiple versions
-            boolean isCategory = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.category"));
-
-            // we exclude these things in some other repo reports ... to improve focus ... but suspect not needed here.
-            // boolean isFragment = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.fragment"));
-            // !isFragment && !isFeatureGroup(iu)
-            if (!isCategory && !isSpecial(iu)) {
-                //String bundleId = iu.getId();
-                Version bundleVersion = iu.getVersion();
-                if (bundleVersion.isOSGiCompatible()) {
-                    if (bundleVersion.getSegmentCount() == 4) {
-                        Comparable qualifier = bundleVersion.getSegment(3);
-                        if (qualifier instanceof String) {
-                            String qString = (String) qualifier;
-                            if (qString.length() == 0) {
-                                outfileWriter.write("zero length 4th segment: " + iu.getId() + EOL);
-                            }
-                            allQualifiers.add(qString);
-                        }
-                        else {
-                            throw new Error("Program Error");
-                        }
-                    }
-                    else if (bundleVersion.getSegmentCount() < 4) {
-                        nLessThanFour++;
-                    }
-                    else if (bundleVersion.getSegmentCount() > 4) {
-                        nMoreThanFour++;
-                    }
-                }
-                else {
-                    nonOSGiCompatible++;
-                }
-            }
-
-
-        }
-
-        outfileWriter.write(EOL + "Number of nonOSGi compatible versions: " + nonOSGiCompatible + EOL);
-        outfileWriter.write(EOL + "Number with more than 4 segments: " + nMoreThanFour + EOL);
-        outfileWriter.write(EOL + "Number wtih less than 4 segments: " + nLessThanFour + EOL + EOL);
-        return allQualifiers;
-    }
-
-    private boolean startsSimilar(String reference, String q) {
-        return (q.startsWith(subsection(reference)));
-    }
-
-    private String subsection(String reference) {
-        // length = endOffset - startOffset;
-
-        String result = reference;
-        if (reference.length() >= STARTWITH_MATCH_LENGTH) {
-            result = (reference.substring(0, STARTWITH_MATCH_LENGTH));
-        }
-        return result;
-
-    }
-
-    private boolean analyzeNonUniqueVersions(IQueryResult<IInstallableUnit> allIUs) throws IOException {
-        Map bundles = tabulateNonUniqueIDs(allIUs);
-        FileWriter outfileWriter = null;
-        File outfile = null;
-        String testDirName = getOutputDirectory();
-        try {
-            outfile = new File(testDirName, "nonUniqueVersions.txt");
-            outfileWriter = new FileWriter(outfile);
-            System.out.println("output: " + outfile.getAbsolutePath());
-
-
-            outfileWriter.write("Non Unique Versions used in repository" + EOL + EOL);
-            outfileWriter.write("Repository ('repoURLToTest'): " + getRepoURLToTest() + EOL + EOL);
-
-            int nUnique = 0;
-            for (Object bundleId : bundles.keySet()) {
-                Set versionSet = (Set) bundles.get(bundleId);
-                if (versionSet.size() == 1) {
-                    nUnique++;
-                }
-                else {
-                    printId(outfileWriter, bundleId);
-                    for (Object version : versionSet) {
-                        printVersion(outfileWriter, version);
-                    }
-                }
-            }
-
-            outfileWriter.write(EOL + "Number of unique id-versions " + nUnique + EOL);
-
-            // always return false (no error), for now ... eventually may be able to 
-            // figure out some heuristic to return "error", such as if new, non-expected multiple versions
-            return false;
-        }
-        finally {
-            if (outfileWriter != null) {
-                try {
-                    outfileWriter.close();
-                }
-                catch (IOException e) {
-                    // would be weird
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-
-    private Map tabulateNonUniqueIDs(IQueryResult<IInstallableUnit> allIUs) {
-        Map bundles = new HashMap();
-        for (IInstallableUnit iu : allIUs.toUnmodifiableSet()) {
-            try {
-                // exclude categories, since they are (often) intended to work with same ID, multiple versions
-                boolean isCategory = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.category"));
-
-                // we exclude these things in some other repo reports ... to improve focus ... but suspect not needed here.
-                //boolean isFragment = "true".equals(iu.getProperty("org.eclipse.equinox.p2.type.fragment"));
-                // && !isSpecial(iu) && !isFragment && !isFeatureGroup(iu)
-                if (!isCategory) {
-                    String bundleId = iu.getId();
-                    Version bundleVersion = iu.getVersion();
-                    // if bundle ID is already in map, we must have already found at least one
-                    if (bundles.containsKey(bundleId)) {
-                        Set versionSet = (Set) bundles.get(bundleId);
-                        versionSet.add(bundleVersion);
-                    }
-                    else {
-                        // haven't found one yet, so add it, with initial set of its (one) version
-                        Set versionSet = new HashSet();
-                        versionSet.add(bundleVersion);
-                        bundles.put(bundleId, versionSet);
-                    }
-
-
-                }
-
-            }
-            catch (RuntimeException e) {
-                e.printStackTrace();
-            }
-        }
-        return bundles;
-    }
-
-    private void printId(FileWriter out, Object id) throws IOException {
-        out.write(id + EOL);
-    }
-
-    private void printVersion(FileWriter out, Object version) throws IOException {
-        out.write("\t" + version + EOL);
-    }
-
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/standardLicenses.properties b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/standardLicenses.properties
deleted file mode 100644
index 88e7c48..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/repos/standardLicenses.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-license2011=\
-Eclipse Foundation Software User Agreement\n\
-February 1, 2011\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-
-license2010=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/FullJarNameParser.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/FullJarNameParser.java
deleted file mode 100644
index 3fe4128..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/FullJarNameParser.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-
-package org.eclipse.juno.tests.utils;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class FullJarNameParser {
-
-    private static final boolean DEBUG          = false;
-    // simplified pattern: (ID) '_' (N '.' M '.' O '.' S) '.jar'
-    private String               START_GROUP    = "(";
-    private String               END_GROUP      = ")";
-    private String               UNDERSCORE     = "_";
-    private String               BACKSLASH      = "\\";
-    private String               LITERAL_PERIOD = BACKSLASH + ".";
-    private String               ANYDIGITS      = BACKSLASH + "d" + "*";
-    private String               ANY            = ".*";
-    private Pattern              pattern        = Pattern.compile(START_GROUP + ANY + END_GROUP + UNDERSCORE + START_GROUP + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + LITERAL_PERIOD + START_GROUP + ANYDIGITS + END_GROUP + START_GROUP + LITERAL_PERIOD + ANY + END_GROUP + "?" + END_GROUP);
-
-    private String               projectString;
-    private String               versionString;
-
-
-    public boolean parse(String line) {
-        boolean result = false;
-        projectString = "";
-        versionString = "";
-        Matcher matcher = pattern.matcher(line);
-
-        if (!matcher.matches()) {
-            result = false;
-            if (DEBUG) {
-                System.out.println();
-                System.out.println("\tthe line did not match parse rule: ");
-                System.out.println("\t" + line);
-                System.out.println();
-            }
-        }
-        else {
-            projectString = matcher.group(1);
-            versionString = matcher.group(2);
-            result = true;
-            if (DEBUG) {
-                System.out.println(projectString);
-                System.out.println(versionString);
-                System.out.println();
-            }
-        }
-        return result;
-    }
-
-
-    public String getProjectString() {
-        return projectString;
-    }
-
-
-
-    public String getVersionString() {
-        return versionString;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUIdComparator.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUIdComparator.java
deleted file mode 100644
index e5a5fc9..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUIdComparator.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.util.Comparator;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class IUIdComparator implements Comparator<IInstallableUnit> {
-
-
-    public int compare(IInstallableUnit iu1, IInstallableUnit iu2) {
-        // neither iu should be null ... but, just to cover all cases
-        if ((iu1 == null) && (iu2 == null)) {
-            return 0;
-        }
-        else if ((iu1 == null) || (iu2 == null)) {
-            return 1;
-        }
-        else {
-            return iu1.getId().compareTo(iu2.getId());
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUNameAndIdComparator.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUNameAndIdComparator.java
deleted file mode 100644
index c056947..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUNameAndIdComparator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.util.Comparator;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class IUNameAndIdComparator implements Comparator<IInstallableUnit> {
-
-
-    public int compare(IInstallableUnit iu1, IInstallableUnit iu2) {
-        // neither iu should be null ... but, just to cover all cases
-        if ((iu1 == null) && (iu2 == null)) {
-            return 0;
-        }
-        else if ((iu1 == null) || (iu2 == null)) {
-            return 1;
-        }
-        else {
-            String p1 = iu1.getProperty(IInstallableUnit.PROP_NAME, null);
-            String p2 = iu2.getProperty(IInstallableUnit.PROP_NAME, null);
-            if (p1 == null) {
-                p1 = "null";
-            }
-            if (p2 == null) {
-                p2 = "null";
-            }
-            int result = p1.compareTo(p2);
-            if (result == 0) {
-                // if provider names are equal, use id as secondary
-                // sort key
-                result = iu1.getId().compareTo(iu2.getId());
-            }
-            return result;
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUProviderAndIdComparator.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUProviderAndIdComparator.java
deleted file mode 100644
index 056fbd4..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/IUProviderAndIdComparator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.util.Comparator;
-
-import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-
-public class IUProviderAndIdComparator implements Comparator<IInstallableUnit> {
-
-
-    public int compare(IInstallableUnit iu1, IInstallableUnit iu2) {
-        // neither iu should be null ... but, just to cover all cases
-        if ((iu1 == null) && (iu2 == null)) {
-            return 0;
-        }
-        else if ((iu1 == null) || (iu2 == null)) {
-            return 1;
-        }
-        else {
-            String p1 = iu1.getProperty(IInstallableUnit.PROP_NAME, null);
-            String p2 = iu2.getProperty(IInstallableUnit.PROP_NAME, null);
-            if (p1 == null) {
-                p1 = "null";
-            }
-            if (p2 == null) {
-                p2 = "null";
-            }
-            int result = p1.compareTo(p2);
-            if (result == 0) {
-                // if provider names are equal, use id as secondary
-                // sort key
-                result = iu1.getId().compareTo(iu2.getId());
-            }
-            return result;
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/JARFileNameFilter.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/JARFileNameFilter.java
deleted file mode 100644
index 9371185..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/JARFileNameFilter.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-public class JARFileNameFilter implements FilenameFilter {
-    private static final String EXTENSION_JAR = ".jar";
-
-    public boolean accept(File dir, String name) {
-        return name.endsWith(EXTENSION_JAR);
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/PackGzFileNameFilter.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/PackGzFileNameFilter.java
deleted file mode 100644
index 17791c0..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/PackGzFileNameFilter.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-public class PackGzFileNameFilter implements FilenameFilter {
-    private static final String EXTENSION_PACEKD_JAR = ".jar.pack.gz";
-
-    public boolean accept(File dir, String name) {
-        return name.endsWith(EXTENSION_PACEKD_JAR);
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/ReportWriter.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/ReportWriter.java
deleted file mode 100644
index ba75adc..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/ReportWriter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-
-public class ReportWriter {
-    public ReportWriter(String outputDirectory, String outputFilename) {
-        super();
-        this.outputDirectory = outputDirectory;
-        this.outputFilename = outputFilename;
-    }
-
-    private static final String EOL = System.getProperty("line.separator", "\n");
-    private String              outputFilename;
-    private String              outputDirectory;
-
-    private PrintWriter         outfilewriter;
-
-    public String getOutputFilename() {
-        return outputFilename;
-    }
-
-    public void setOutputFilename(String outputFilename) {
-        this.outputFilename = outputFilename;
-    }
-
-    public String getOutputDirectory() {
-        return outputDirectory;
-    }
-
-    public void setOutputDirectory(String outputDirectory) {
-        this.outputDirectory = outputDirectory;
-    }
-
-    private PrintWriter getWriter() throws FileNotFoundException {
-        if (outfilewriter == null) {
-            File outfile = new File(getOutputDirectory(), getOutputFilename());
-            outfilewriter = new PrintWriter(outfile);
-        }
-        return outfilewriter;
-    }
-
-    public void writeln(String text) throws IOException {
-        getWriter().write(text + EOL);
-    }
-
-    public void writeln() throws IOException {
-        getWriter().write(EOL);
-    }
-
-    public void close() {
-        if (outfilewriter != null) {
-            outfilewriter.close();
-        }
-    }
-
-    public void writeln(Object object) throws IOException {
-        writeln(object.toString());
-    }
-
-    public void printf(String format, Object... args) throws IOException {
-        getWriter().printf(format, args);
-    }
-}
diff --git a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/StringLengthComparator.java b/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/StringLengthComparator.java
deleted file mode 100644
index f9565a3..0000000
--- a/org.eclipse.juno.tests/src/org/eclipse/juno/tests/utils/StringLengthComparator.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.juno.tests.utils;
-
-import java.util.Comparator;
-
-public class StringLengthComparator implements Comparator<String> {
-
-
-    public int compare(String string1, String string2) {
-        if ((string1 == null) && (string2 == null)) {
-            return 0;
-        }
-        else if ((string1 == null) || (string2 == null)) {
-            return 1;
-        }
-        else {
-            Integer length1 = new Integer(string1.length());
-            Integer length2 = new Integer(string2.length());
-            return length1.compareTo(length2);
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/templateFiles/indexPending.html b/org.eclipse.juno.tests/templateFiles/indexPending.html
deleted file mode 100644
index 9623961..0000000
--- a/org.eclipse.juno.tests/templateFiles/indexPending.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Software Repository Reports Pending</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-    media="screen" />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-    media="screen" />
-</head>
-<body>
-    <div id="header">
-        <a href="http://www.eclipse.org/"><img
-            src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-            width="163" height="68" border="0" alt="Eclipse Logo"
-            class="logo" /> </a>
-    </div>
-    <div id="midcolumn">
-
-        <h2>Software Repository Reports</h2>
-
-        <p>
-            No reports at this time. The reports are in progress (or
-            were ended abnormally). Check again in 15 minutes, or monitor
-            the <a
-                href="https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/">Repository
-                Aggregation build.</a>
-        </p>
-
-
-    </div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/templateFiles/indexmain.html b/org.eclipse.juno.tests/templateFiles/indexmain.html
deleted file mode 100644
index 7f43e3e..0000000
--- a/org.eclipse.juno.tests/templateFiles/indexmain.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Software Repository Reports</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-    media="screen" />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-    media="screen" />
-</head>
-<body>
-    <div id="header">
-        <a href="http://www.eclipse.org/"><img
-            src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-            width="163" height="68" border="0" alt="Eclipse Logo"
-            class="logo" /> </a>
-    </div>
-    <div id="midcolumn">
-
-        <h1>Software Repository Reports</h1>
-        <p>
-            The reports are listed in approximate order of priority.
-            Such as, bundles must not have missing legal files, and all
-            bundles need to be signed (with few exceptions), and all
-            bundles must use 4 part version numbers. The remaining
-            reports are important, and ideally would be "clean", but
-            normally would not prevent the release, or inclusion in the
-            common repository. Except where noted, the checks are done
-            directly are jars in the main common repository directories.
-            That is, it does not check the "trusted repositories" we
-            point to via composite indirection. See the <a
-                href="http://wiki.eclipse.org/SimRel/Simultaneous_Release_Reports_FAQ">
-                Reports FAQ</a> for more information about the code that
-            generates the reports.
-
-        </p>
-        <p>Remember, these automated reports test a minimal view of
-            the repository. For example, a bundle may have an about.html
-            file, so is not listed in "missing files" report, but that
-            does not mean the content of the about.html file is correct.
-            In other words, Committers and Project Leads are still
-            responsible for correctness -- these reports are more
-            focused on obvious incorrectness, usually things that happen
-            by small oversights, and which are often hard to "spot"
-            until too late. Note too that many of the "errors" these
-            reports list, can be caught at development time, in Eclipse
-            IDE, by proper setting of PDE compiler settings.</p>
-        <p>Also, remember, especially since these reports are "new"
-            in this context, the reports may contain out-right errors
-            and will certainly need improvement over time. Contributions
-            welcome. Please open a bug in cross-project component if you
-            see problems or have new contributions.</p>
-        <dl>
-            <dt>
-                <a href="reports/layoutCheck.txt">Bundles missing
-                    required files</a>
-            </dt>
-            <dd>This report lists bundles and features that are
-                missing important, required files. It looks directly at
-                jars in the common repository. (Currently, does not
-                check those "trusted repositories" we point to via
-                composite indirection). Missing legal files are usually
-                considered a "stop ship" issue, since Eclipse is well
-                known for its IP quality.</dd>
-            <dt>
-                <a href="reports/verifydiroutput/unsigned.txt">Unsigned
-                    bundles</a>
-            </dt>
-            <dd>This report lists bundles and features that are
-                that are not signed. Pretty serious issue, though there
-                are a few exceptions. (well, only one code exception is
-                known ... see below).</dd>
-            <dt>
-                <a href="reports/versionPatternCheck.txt">Bundles
-                    and Features not using 4 part versions</a>
-            </dt>
-            <dd>To have p2 update correctly and OSGi to resolve
-                bundles as expected, it is essential that bundles and
-                features use the required 4 part versioning rules. Every
-                build.</dd>
-            <dt>
-                <a href="reports/licenseConsistency.html">Consistent,
-                    current licenses (SUA) in features</a>
-            </dt>
-            <dd>Check to make sure features use the current,
-                correct license. The report also lists features in
-                repository with no license (SUA) in the content
-                metadata. This report uses the repository's content
-                metadata, instead of the jar files themselves, in
-                contrast to the "missing files" report, above. Both are
-                important to be correct, as different parts of Eclipse
-                code use one or the other to present information to the
-                user depending on the task.</dd>
-            <dt>
-                <a href="reports/breedata.txt">Use and Distribution
-                    of Bundle-RequiredExecutionEnvironment</a>
-            </dt>
-            <dd>Interesting report showing what BREEs are in use,
-                and which bundles are missing it. All bundles with Java
-                code should have one, but it is not required in
-                resource-only bundles.</dd>
-
-            <dt>
-                <a href="reports/pack200data.txt">Jars missing
-                    corresponding Pack200 file</a>
-            </dt>
-            <dd>Pack200 compression is important to save bandwidth.
-                This report will never be perfect ... that is, there are
-                cases where it is known that a jar can not be cleanly
-                compressed with pack200. But nearly all can. So one or
-                two from a project should be ignored as "OK" ... but a
-                pattern of all jars/bundles from a project not being
-                compressed indicates the project simply has not
-                implemented that yet in their build or contribution
-                process.</dd>
-            <dt>
-                <a href="reports/featureNames.html">Feature names
-                    report</a>
-            </dt>
-
-            <dd>Check this report for features using incorrect
-                names or incorrect localization settings. While we can
-                not automatically know what the correct name of a bundle
-                is, we can be sure it does not start with '%', and is
-                not "Feature-Name" or "feature", etc. This test is ran
-                against the content metadata of the repository.</dd>
-            <dt>
-                <a href="reports/bundleNames.html">Bundle names
-                    report</a>
-            </dt>
-
-            <dd>Check this report for bundles using incorrect names
-                or incorrect localization settings. While we can not
-                automatically know what the correct name of a bundle is,
-                we can be sure it does not start with '%', and is not
-                "Bundle-Name" or "plugin-name", etc. This test is ran
-                against the content metadata of the repository.</dd>
-            <dt>
-                <a href="reports/providerNames.html">Provider name
-                    report</a>
-            </dt>
-
-            <dd>Check for bundles using incorrect provider names
-                (Bundle-Vendor directive) or incorrect localization
-                settings. The best form of provider name is "Eclipse
-                &lt;project name&gt;". Some projects have chosen a
-                slightly different form, and can not automate every name
-                check, but, again, we know it should not start with '%',
-                not be "provider-name" nor be empty (null). This test is
-                ran against the content metadata of the repository.</dd>
-
-
-            <dt>
-                <a href="reports/copyrights.html">Feature Copyrights</a>
-            </dt>
-
-            <dd>List copyrights used by Features.</dd>
-
-            <dt>
-                <a href="reports/descriptions.html">Feature
-                    Descriptions</a>
-            </dt>
-
-            <dd>List descriptions used by Features.</dd>
-
-
-
-
-
-
-
-            <dt>
-                <a href="reports/nonUniqueVersions.txt">List of
-                    non-unique versions</a>
-            </dt>
-            <dd>List those bundles (technically, IUs) for which
-                there are multiple versions. It is often quite normal
-                for there to be multiple versions (e.g. when differ by
-                major or minor versions), but sometimes looking at the
-                multiple version report can spot unexpected cases where
-                there are multiple versions. Even if so, it will usually
-                not cause problems, but can at least be inefficient use
-                of space (e.g. if differ only by qualifier).</dd>
-            <dt>
-                <a href="reports/versionPatterns.txt">Version
-                    Qualifer Patterns</a>
-            </dt>
-            <dd>This is an exploratory report of the the types or
-                patterns of version qualifers by bundles and features in
-                the repository. Longer term, this report can be improved
-                to spot typos and also find bundles or features in the
-                repository that do not use 4 part versioning. (A report,
-                above, also detects lack of 4 part versioning, but is
-                based on jars, found in common directory, rather than
-                all of content metadata in repository.)</dd>
-            <dt>
-                <a href="reports/esdata.txt">Use of
-                    Eclipse-SourceReferences</a>
-            </dt>
-            <dd>
-                List those bundles which are, and which are not, using
-                the <a
-                    href="http://wiki.eclipse.org/PDE/UI/SourceReferences">Eclipse-SourceReferences</a>
-                directive and the value of that directive. This
-                directive (and report) is useful for some projects to
-                help their community find their source code directly
-                from their repository (to help make providing patches
-                easier), but is not useful or appropriate for all
-                projects. Use the directive, and the report, however
-                your project deems appropriate and useful.
-            </dd>
-            <dt>
-                <a href="reports/featureDirectoryLengths.html">Feature
-                    Directory Lengths</a>
-            </dt>
-            <dd>This is an exploratory report of the length of
-                feature directories length, if feature was installed,
-                (not including the .../eclipse/features part of name).
-                Its purpose it to alert the interested of exceptionally
-                long feature names, which might cause some issues on
-                some operating systems. This report is exploratory,
-                since it is unclear what, if any, should be considered
-                the maximum length, which depends on many factors. But
-                ... if you are creating new features, it'd be best not
-                to exceed the typical sizes.</dd>
-
-
-
-
-            <dt>
-                <a href="reports/verifydiroutput/knownunsigned.txt">Signed
-                    bundles exceptions</a>
-            </dt>
-
-            <dd>Just to document it, there are a few known cases of
-                jars in the repository that are not or should not be
-                signed.</dd>
-            <dt>
-                <a href="reports/verifydiroutput/verified.txt">Correctly
-                    signed bundles</a>
-            </dt>
-            <dd>Again, just documentation of jars we found
-                correctly signed.</dd>
-        </dl>
-    </div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/templateFiles/indexmainpresign.html b/org.eclipse.juno.tests/templateFiles/indexmainpresign.html
deleted file mode 100644
index 52b337f..0000000
--- a/org.eclipse.juno.tests/templateFiles/indexmainpresign.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Software Repository Reports</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-    media="screen" />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-    media="screen" />
-</head>
-<body>
-    <div id="header">
-        <a href="http://www.eclipse.org/"><img
-            src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-            width="163" height="68" border="0" alt="Eclipse Logo"
-            class="logo" /> </a>
-    </div>
-    <div id="midcolumn">
-
-        <h1>Software Repository Reports</h1>
-
-        <p>
-            <strong> The "signing test" is still running </strong> (or
-            ended abnormally) and it takes a long time. Check back in a
-            few hours, or monitor the <a
-                href="https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/">Repository
-                Aggregation build.</a>
-        </p>
-
-        <p>
-            The reports are listed in approximate order of priority.
-            Such as, bundles must not have missing legal files, and all
-            bundles need to be signed (with few exceptions), and all
-            bundles must use 4 part version numbers. The remaining
-            reports are important, and ideally would be "clean", but
-            normally would not prevent the release, or inclusion in the
-            common repository. Except where noted, the checks are done
-            directly are jars in the main common repository directories.
-            That is, it does not check the "trusted repositories" we
-            point to via composite indirection. See the <a
-                href="http://wiki.eclipse.org/SimRel/Simultaneous_Release_Reports_FAQ">
-                Reports FAQ</a> for more information about the code that
-            generates the reports.
-
-        </p>
-        <p>Remember, these automated reports test a minimal view of
-            the repository. For example, a bundle may have an about.html
-            file, so is not listed in "missing files" report, but that
-            does not mean the content of the about.html file is correct.
-            In other words, Committers and Project Leads are still
-            responsible for correctness -- these reports are more
-            focused on obvious incorrectness, usually things that happen
-            by small oversights, and which are often hard to "spot"
-            until too late. Note too that many of the "errors" these
-            reports list, can be caught at development time, in Eclipse
-            IDE, by proper setting of PDE compiler settings.</p>
-        <p>Also, remember, especially since these reports are "new"
-            in this context, the reports may contain out-right errors
-            and will certainly need improvement over time. Contributions
-            welcome. Please open a bug in cross-project component if you
-            see problems or have new contributions.</p>
-        <dl>
-            <dt>
-                <a href="reports/layoutCheck.txt">Bundles missing
-                    required files</a>
-            </dt>
-            <dd>This report lists bundles and features that are
-                missing important, required files. It looks directly at
-                jars in the common repository. (Currently, does not
-                check those "trusted repositories" we point to via
-                composite indirection). Missing legal files are usually
-                considered a "stop ship" issue, since Eclipse is well
-                known for its IP quality.</dd>
-            <dt>Unsigned bundles</dt>
-            <dd>(pending)</dd>
-            <dt>
-                <a href="reports/versionPatternCheck.txt">Bundles
-                    and Features not using 4 part versions</a>
-            </dt>
-            <dd>To have p2 update correctly and OSGi to resolve
-                bundles as expected, it is essential that bundles and
-                features use the required 4 part versioning rules. Every
-                build.</dd>
-            <dt>
-                <a href="reports/licenseConsistency.html">Consistent,
-                    current licenses (SUA) in features</a>
-            </dt>
-            <dd>Check to make sure features use the current,
-                correct license. The report also lists features in
-                repository with no license (SUA) in the content
-                metadata. This report uses the repository's content
-                metadata, instead of the jar files themselves, in
-                contrast to the "missing files" report, above. Both are
-                important to be correct, as different parts of Eclipse
-                code use one or the other to present information to the
-                user depending on the task.</dd>
-            <dt>
-                <a href="reports/breedata.txt">Use and Distribution
-                    of Bundle-RequiredExecutionEnvironment</a>
-            </dt>
-            <dd>Interesting report showing what BREEs are in use,
-                and which bundles are missing it. All bundles with Java
-                code should have one, but it is not required in
-                resource-only bundles.</dd>
-            <dt>
-                <a href="reports/pack200data.txt">Jars missing
-                    corresponding Pack200 file</a>
-            </dt>
-            <dd>Pack200 compression is important to save bandwidth.
-                This report will never be perfect ... that is, there are
-                cases where it is known that a jar can not be cleanly
-                compressed with pack200. But nearly all can. So one or
-                two from a project should be ignored as "OK" ... but a
-                pattern of all jars/bundles from a project not being
-                compressed indicates the project simply has not
-                implemented that yet in their build or contribution
-                process.</dd>
-            <dt>
-                <a href="reports/featureNames.html">Feature names
-                    report</a>
-            </dt>
-
-            <dd>Check this report for features using incorrect
-                names or incorrect localization settings. While we can
-                not automatically know what the correct name of a bundle
-                is, we can be sure it does not start with '%', and is
-                not "Feature-Name" or "feature", etc. This test is ran
-                against the content metadata of the repository.</dd>
-            <dt>
-                <a href="reports/bundleNames.html">Bundle names
-                    report</a>
-            </dt>
-
-            <dd>Check this report for bundles using incorrect names
-                or incorrect localization settings. While we can not
-                automatically know what the correct name of a bundle is,
-                we can be sure it does not start with '%', and is not
-                "Bundle-Name" or "plugin-name", etc. This test is ran
-                against the content metadata of the repository.</dd>
-            <dt>
-                <a href="reports/providerNames.html">Provider name
-                    report</a>
-            </dt>
-            <dd>Check for bundles using incorrect provider names
-                (Bundle-Vendor directive) or incorrect localization
-                settings. The best form of provider name is "Eclipse
-                &lt;project name&gt;". Some projects have chosen a
-                slightly different form, and can not automate every name
-                check, but, again, we know it should not start with '%',
-                not be "provider-name" nor be empty (null). This test is
-                ran against the content metadata of the repository.</dd>
-
-
-            <dt>
-                <a href="reports/copyrights.html">Feature Copyrights</a>
-            </dt>
-
-            <dd>List copyrights used by Features.</dd>
-
-            <dt>
-                <a href="reports/descriptions.html">Feature
-                    Descriptions</a>
-            </dt>
-
-            <dd>List descriptions used by Features.</dd>
-
-
-
-
-
-
-
-            <dt>
-                <a href="reports/nonUniqueVersions.txt">List of
-                    non-unique versions</a>
-            </dt>
-            <dd>List those bundles (technically, IUs) for which
-                there are multiple versions. It is often quite normal
-                for there to be multiple versions (e.g. when differ by
-                major or minor versions), but sometimes looking at the
-                multiple version report can spot unexpected cases where
-                there are multiple versions. Even if so, it will usually
-                not cause problems, but can at least be inefficient use
-                of space (e.g. if differ only by qualifier).</dd>
-
-            <dt>
-                <a href="reports/versionPatterns.txt">Version
-                    Qualifer Patterns</a>
-            </dt>
-            <dd>This is an exploratory report of the the types or
-                patterns of version qualifers by bundles and features in
-                the repository. Longer term, this report can be improved
-                to spot typos and also find bundles or features in the
-                repository that do not use 4 part versioning. (A report,
-                above, also detects lack of 4 part versioning, but is
-                based on jars, found in common directory, rather than
-                all of content metadata in repository.)</dd>
-            <dt>
-                <a href="reports/esdata.txt">Use of
-                    Eclipse-SourceReferences</a>
-            </dt>
-            <dd>
-                List those bundles which are, and which are not, using
-                the <a
-                    href="http://wiki.eclipse.org/PDE/UI/SourceReferences">Eclipse-SourceReferences</a>
-                directive and the value of that directive. This
-                directive (and report) is useful for some projects to
-                help their community find their source code directly
-                from their repository (to help make providing patches
-                easier), but is not useful or appropriate for all
-                projects. Use the directive, and the report, however
-                your project deems appropriate and useful.
-            </dd>
-            <dt>
-                <a href="reports/featureDirectoryLengths.html">Feature
-                    Directory Lengths</a>
-            </dt>
-            <dd>This is an exploratory report of the length of
-                feature directories length, if feature was installed,
-                (not including the .../eclipse/features part of name).
-                Its purpose it to alert the interested of exceptionally
-                long feature names, which might cause some issues on
-                some operating systems. This report is exploratory,
-                since it is unclear what, if any, should be considered
-                the maximum length, which depends on many factors. But
-                ... if you are creating new features, it'd be best not
-                to exceed the typical sizes.</dd>
-            
-            <dt>Signed bundles exceptions</dt>
-            <dd>(pending)</dd>
-            <dt>Correctly signed bundles</dt>
-            <dd>(pending)</dd>
-        </dl>
-    </div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.juno.tests/templateFiles/novaFooter.html b/org.eclipse.juno.tests/templateFiles/novaFooter.html
deleted file mode 100644
index 25e211e..0000000
--- a/org.eclipse.juno.tests/templateFiles/novaFooter.html
+++ /dev/null
@@ -1,4 +0,0 @@
-</div><br style="clear:both;height:1em;"/>&nbsp;</div><div id="clearFooter"></div><div id="footer"><ul id="footernav">
-<li><a href="http://www.eclipse.org/">Home</a></li><li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
-<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li><li><a href="http://www.eclipse.org/legal/">Legal</a></li><li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact Us</a></li>
-</ul><span id="copyright">Copyright &copy; 2010 The Eclipse Foundation. All Rights Reserved.</span></div></div>		
diff --git a/org.eclipse.juno.tests/templateFiles/novaHeader.html b/org.eclipse.juno.tests/templateFiles/novaHeader.html
deleted file mode 100644
index 080f29d..0000000
--- a/org.eclipse.juno.tests/templateFiles/novaHeader.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<head>
-<title>Title</title><meta name="author" content="Susan Iwai, Denis Roy" />
-<meta name="keywords" content="eclipse" />
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/yui/2.6.0/build/reset-fonts-grids/reset-fonts-grids.css" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/yui/2.6.0/build/menu/assets/skins/sam/menu.css" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/reset.css"/>
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/layout.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/header.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/footer.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/visual.css" media="screen" />
-<!--[if IE]> 	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/ie_style.css" media="screen"/> <![endif]-->
-<!--[if IE 6]> 	<link rel="stylesheet" type="text/css" href="/eclipse.org-common/themes/Nova/css/ie6_style.css" media="screen"/> <![endif]-->
-</head><body>
-	<div id="novaWrapper">
-		<div id="clearHeader">
-			<div id="logo"><img src="/eclipse.org-common/themes/Nova/images/eclipse.png" alt="Eclipse.org"/></div>
-			<div id="otherSites">
-				<div id="sites">
-				<ul id="sitesUL">
-<li><a href='http://marketplace.eclipse.org'><img alt="Eclipse Marketplace" src="http://dev.eclipse.org/custom_icons/network-wired-bw.png"/>&nbsp;<div>Eclipse Marketplace</div></a></li>
-<li><a href='http://live.eclipse.org'><img alt="Eclipse Live" src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png"/>&nbsp;<div>Eclipse Live</div></a></li>
-<li><a href='https://bugs.eclipse.org/bugs/'><img alt="Bugzilla" src="http://dev.eclipse.org/custom_icons/system-search-bw.png"/>&nbsp;<div>Bugzilla</div></a></li>
-<li><a href='http://www.planeteclipse.org/'><img alt="Planet Eclipse" src="http://dev.eclipse.org/large_icons/devices/audio-card.png"/>&nbsp;<div>Planet Eclipse</div></a></li>
-<li><a href='http://wiki.eclipse.org/'><img alt="Eclipse Wiki" src="http://dev.eclipse.org/custom_icons/accessories-text-editor-bw.png"/>&nbsp;<div>Eclipse Wiki</div></a></li>
-<li><a href='http://portal.eclipse.org'><img alt="MyFoundation Portal" src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png"/><div>My Foundation Portal</div></a></li>
-</ul>
-		    	</div></div></div>
-		<div id="header">			
-			<div id="menu">
-			<ul>
-<li><a href="http://www.eclipse.org/" target="_self">Home</a></li> 
-<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li> 
-<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li> 
-<li><a href="http://www.eclipse.org/committers/" target="_self">Committers</a></li> 
-<li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li> 
-<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li> 
-<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li> 
-<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li> 
-			</ul>
-			</div><div id="search">
-<form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s">
-<input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" />
-<input id="searchBox" type="text" name="q" size="25" />
-<input id="searchButton" type="submit" name="sa" value="Search" />
-</form><script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script>
-			</div></div>
-	<style>
-	pre { padding-left: 15px; padding-bottom: 15px; width: 98%;}
-	p { padding-left: 15px; width: 98%;}
-	</style>
-	<div id="novaContent">
-	<div id="fullcolumn">
-	<h1 style="padding-left: 15px;">Page Title</h1>
-	<p>All downloads are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/epl/notice.php" target="_top">Eclipse Foundation 
-Software User Agreement</a> unless otherwise specified. </p>
diff --git a/org.eclipse.juno.tests/verify.sh b/org.eclipse.juno.tests/verify.sh
deleted file mode 100644
index 90aadd5..0000000
--- a/org.eclipse.juno.tests/verify.sh
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env bash
-
-if [[ $# != 1 ]] 
-then
-    printf "\tERROR: this script, "${0##*/}", requires exactly one argument; the name or path of jar or jar.pack.gz file.\n" >&2
-    exit 1
-fi
-
-if [[ -z $VERIFYOUTDIR ]] 
-then
-    printf "\tERROR: this script, "${0##*/}", requires VERIFYOUTDIR to be defined.\n" >&2
-    exit 1
-fi
-
-
-
-filename="${1}"
-
-if [ ! -e "${filename}" ]
-then
-    printf "\tERROR: file does not exist:" "${filename}\n" >&2
-    exit 1
-fi
-
-jarname=$(basename "${filename}")
-
-# most users need only one, Java 5 or Java 6, but sometimes may want to 
-# change JAVA_HOME, below, to switch back and forth.
-# Use JAVA 5 to ensure pack.gz files can be unpacked (installed) with JAVA 5. 
-# Some pack.gz files can not be unpacked with Java 6 (in SimRel repositories), 
-# so use JAVA 6 if you do not care (i.e. your use cases all use JAVA 6)
-# to avoid the error messages.
-#JAVA_5_HOME=/home/shared/webtools/apps/ibm-java2-i386-5011
-#JAVA_5_HOME=/shared/common/jdk-1.5.0-22.x86_64/
-#JAVA_6_HOME=/home/shared/webtools/apps/ibm-java-i386-608
-#JAVA_6_HOME=/shared/common/jdk-1.6.x86_64/
-
-# We always set JAVA_HOME explicitly to what we want, since on many systems, 
-# is it set to some JRE that would not suffice. 
-#JAVA_HOME=${JAVA_6_HOME}
-
-if [ ! -e "${JAVA_HOME}" ]
-then
-    printf "\tERROR: this script, "${0##*/}", requires JAVA_HOME to be defined and exist.\n" >&2
-    exit 1
-fi
-
-UNPACK200_EXE=$JAVA_HOME/jre/bin/unpack200
-VERIFY_EXE=$JAVA_HOME/bin/jarsigner
-
-    VERIFIED_OUTFILE="${VERIFYOUTDIR}"/verified.txt
-    KNOWN_EXCEPTION="${VERIFYOUTDIR}"/knownunsigned.txt
-    UNSIGNED_OUTFILE="${VERIFYOUTDIR}"/unsigned.txt
-    NOMANIFEST="${VERIFYOUTDIR}"/nomanifest.txt
-    ERROR_EXIT_FILE="${VERIFYOUTDIR}"/error.txt
-
-PPAT_PACKGZ="(.*).pack.gz$"
-if [[ "$jarname" =~  $PPAT_PACKGZ ]]
-then 
-    basejarname=${BASH_REMATCH[1]}
-    #echo -e "\n basejarname: " $basejarname "\n"
-    "${UNPACK200_EXE}" $filename /tmp/$basejarname
-    vresult=`"${VERIFY_EXE}" -verify /tmp/$basejarname`
-    exitcode=$?
-    rm /tmp/$basejarname
-else
-    vresult=`"${VERIFY_EXE}" -verify $filename`
-    exitcode=$?
-fi
-
-# jarsigner sometimes returns one line, sometimes two ... we take 
-# out EOLs to print compactly
-vresult=`echo "${vresult}" | tr '\n' ' '`
-
-# known response patterns from jarsigner
-PPAT_VERIFIED="^jar\ verified.*"
-# no manifest is not signed for our purposes ... occurs a lot for unsigned feature jars
-PPAT_UNSIGNED_OR_NOMANIFEST="^(jar is unsigned)|(no manifest).*"
-# do not currently use unsigned or no manifest (by themselves) 
-# nor "copy mode" ... copy mode printed to stdout by unpack200
-#PPAT_UNSIGNED="^jar is unsigned.*"
-#PPAT_NOMANIFEST="^no manifest.*"
-#PPAT_COPYMODE="^Copy-mode\..*"
-
-if [[ "${vresult}" =~ $PPAT_VERIFIED ]]
-then
-    printf '%-80s \t\t' "   ${jarname}: " >> "${VERIFIED_OUTFILE}" 
-    printf '%s\n' " ${vresult} " >> "${VERIFIED_OUTFILE}"
-elif [[ "${vresult}" =~ $PPAT_UNSIGNED_OR_NOMANIFEST ]]
-then
-
-    # list "known cases", that can not be signed, 
-    # in their own "known exception file", else list in "unsigned" file.
-
-    # For reasons of addition of org.eclipse.jdt.core.compiler.batch see
-    # https://bugs.eclipse.org/bugs/show_bug.cgi?id=356382
-    # For small pointer about commonj.sdo, see
-    # https://bugs.eclipse.org/bugs/show_bug.cgi?id=276999
-    PPAT_KNOWN_UNSIGNED='(org\.eclipse\.jdt\.core\.compiler\.batch.*)|(commonj\.sdo.*)|(artifacts\.jar)|(content\.jar)|(compositeArtifacts.jar)|(compositeContent.jar)'
-
-    if  [[ ${jarname} =~ $PPAT_KNOWN_UNSIGNED ]]       
-    then
-        printf '%-100s \t\t' "   ${jarname}: "  >> "${KNOWN_EXCEPTION}"
-        printf '%s\n' " ${vresult} "  >> "${KNOWN_EXCEPTION}"
-
-    else
-        # purposely no line delimiter, so output of jarsigner is on same line
-        printf '%-100s \t\t' "   ${jarname}: "  >> "${UNSIGNED_OUTFILE}" 
-        printf '%s\n' " ${vresult} "  >> "${UNSIGNED_OUTFILE}"
-    fi 
-
-else 
- # fall through if unexpected result. Will happen if can not unpack200 a file
-    printf '%-100s \t\t' "   ${jarname}: "  >> "${ERROR_EXIT_FILE}" 
-    printf '%s\n' " ${vresult} "  >> "${ERROR_EXIT_FILE}" 
-fi
-
-if [[ $exitcode -gt 0 ]]
-then
-
-    echo -e "\n exitcode: " $exitcode: $(basename $filename)" \n"  >> "${ERROR_EXIT_FILE}"  
-fi
-
diff --git a/org.eclipse.juno.tests/verifydir.sh b/org.eclipse.juno.tests/verifydir.sh
deleted file mode 100644
index 6493683..0000000
--- a/org.eclipse.juno.tests/verifydir.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env bash
-
-# we make the assumption that 'verify.sh' is in same directory as 'verifydir.sh' 
-# so the correct 'verify.sh' file command can be used; the one that "goes with" the verifydir.sh script 
-# we are currently executing. So, we store the path to verifydir.sh in EXECDIR.  
-EXECDIR=${0%/*}
-
-echo "1: " $1
-echo "2: " $2
-echo "3: " $3
-
-if [ -z $1 ]
-then
-    loc=./
-else
-    loc=${1}
-fi
-
-if [ -z $2 ]
-then
-    export VERIFYOUTDIR="${HOME}"/verifydiroutput
-else
-    export VERIFYOUTDIR="${2}"/verifydiroutput
-fi
-
-if [ -z $3 ]
-then
-    pat=".*\(\.jar$\|\.jar\.pack\.gz$\)"
-else
-    pat="${3}"
-fi
-
-# VERIFYOUTDIR is used in 'verify.sh' and must be clean before
-# beginning the overall check
-
-# make, in case doesn't exist
-mkdir -p "${VERIFYOUTDIR}"
-
-# even though we just set it above, include the if check 
-# here to gaurd against future errors, since if 'verfiyoutdir' is 
-# not defined, the remove would be for the root directory!! 
-if [[ -n "${VERIFYOUTDIR}" ]]
-then 
-       rm -fr "${VERIFYOUTDIR}"/*
-fi
-
-echo "   verify directory: ${loc}"
-echo "   for file pattern: ${pat}"
-echo "   result list files will be in " "${VERIFYOUTDIR}" "(and any existing files there removed)."
-
-find "${loc}" -regex "${pat}" -exec ${EXECDIR}/verify.sh '{}' \;
-
-# if certain files were not created during signing checks, create a "plain" one at expected location, 
-# to avoid 404 errors from standard index.html. For example, all jars are signed, there will be no unsigned.txt files.
-if [ ! -e "${VERIFYOUTDIR}"/unsigned.txt ]
-then
-    echo  "There were no unsigned jars in the directories checked. " > "${VERIFYOUTDIR}"/unsigned.txt
-fi 
-
diff --git a/org.eclipse.juno.tools/.classpath b/org.eclipse.juno.tools/.classpath
deleted file mode 100644
index c835067..0000000
--- a/org.eclipse.juno.tools/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.juno.tools/.project b/org.eclipse.juno.tools/.project
deleted file mode 100644
index 0f13d96..0000000
--- a/org.eclipse.juno.tools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.juno.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.juno.tools/.settings/org.eclipse.core.resources.prefs b/org.eclipse.juno.tools/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 567a3a5..0000000
--- a/org.eclipse.juno.tools/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Apr 18 18:20:52 EDT 2009
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/org.eclipse.juno.tools/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.juno.tools/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5b5dd53..0000000
--- a/org.eclipse.juno.tools/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Apr 18 18:20:52 EDT 2009
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.eclipse.juno.tools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.juno.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c4b35c3..0000000
--- a/org.eclipse.juno.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Sun Jun 07 14:44:37 EDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.juno.tools/META-INF/MANIFEST.MF b/org.eclipse.juno.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index bf2bb1a..0000000
--- a/org.eclipse.juno.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.juno.tools
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.juno.tools/about.html b/org.eclipse.juno.tools/about.html
deleted file mode 100644
index bcd98a8..0000000
--- a/org.eclipse.juno.tools/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/addRepoProperties-release.sh b/org.eclipse.juno.tools/addRepoProperties-release.sh
deleted file mode 100644
index 46edc3d..0000000
--- a/org.eclipse.juno.tools/addRepoProperties-release.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env bash
-
-datetimestamp=$1
-
-if [ -z $datetimestamp ] ; then
-    echo "Error: datetimestamp directory is required for this script."; 
-    exit 1;
-fi
-
-source aggr_properties.shsource
-
-APP_NAME=org.eclipse.wtp.releng.tools.addRepoProperties
-
-devworkspace="${BUILD_HOME}"/addRepoPropertiesWorkspace
-
-devJRE=${JAVA_6_HOME}/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-
-# remember, the '&' should be unescaped here ... the p2 api (or underlying xml) will escape it. 
-devArgs="$ibmDevArgs -Dp2MirrorsURL=http://www.eclipse.org/downloads/download.php?format=xml&file=/releases/juno/${datetimestamp}/aggregate/&protocol=http -DartifactRepoDirectory=/home/data/httpd/download.eclipse.org/releases/juno/${datetimestamp}/aggregate -Dp2StatsURI=http://download.eclipse.org/stats/releases/juno"
-
-echo "dev:          " $0
-echo
-echo "devworkspace: " $devworkspace
-echo
-echo "devJRE:       " $devJRE
-echo
-echo "devArgs:      " $devArgs
-echo
-echo "APP_NAME:     " $APP_NAME
-$devJRE -version
-echo
-
-${ECLIPSE_EXE}   -debug -nosplash -consolelog -console -data $devworkspace --launcher.suppressErrors -application ${APP_NAME} ${OTHER_ARGS} -vm $devJRE -vmargs $devArgs
-
diff --git a/org.eclipse.juno.tools/addRepoProperties-staging.sh b/org.eclipse.juno.tools/addRepoProperties-staging.sh
deleted file mode 100644
index 34bf5b0..0000000
--- a/org.eclipse.juno.tools/addRepoProperties-staging.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-
-source aggr_properties.shsource
-
-APP_NAME=org.eclipse.wtp.releng.tools.addRepoProperties
-
-devworkspace="${BUILD_HOME}"/addRepoPropertiesWorkspace
-
-devJRE=${JAVA_6_HOME}/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-
-# remember, the '&' should be unescaped here ... the p2 api (or underlying xml) will escape it. 
-devArgs="$ibmDevArgs -Dp2MirrorsURL=http://www.eclipse.org/downloads/download.php?format=xml&file=/releases/staging/aggregate/&protocol=http -DartifactRepoDirectory=/home/data/httpd/download.eclipse.org/releases/staging/aggregate/ -Dp2StatsURI=http://download.eclipse.org/stats/releases/staging"
-
-echo "dev:          " $0
-echo
-echo "devworkspace: " $devworkspace
-echo
-echo "devJRE:       " $devJRE
-echo
-echo "devArgs:      " $devArgs
-echo
-echo "APP_NAME:     " $APP_NAME
-$devJRE -version
-echo
-
-
-${ECLIPSE_EXE} -debug -nosplash -consolelog -console -data $devworkspace --launcher.suppressErrors -application ${APP_NAME} ${OTHER_ARGS} -vm $devJRE -vmargs $devArgs
-
diff --git a/org.eclipse.juno.tools/aggr.properties b/org.eclipse.juno.tools/aggr.properties
deleted file mode 100755
index 96b5f69..0000000
--- a/org.eclipse.juno.tools/aggr.properties
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in scripts
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/juno
-
-
-# Java should be configured per machine, 
-# so this variable point to valid installs
-# we "share" with orbits versions
-JAVA_5_HOME=/shared/orbit/apps/ibm-java2-i386-50
-JAVA_6_HOME=/shared/orbit/apps/ibm-java-i386-60
-
-REPO_ROOT=/home/data/httpd/download.eclipse.org
-
-# each machine needs valid path to an appropriate, local Eclipse SDK, for fresh re-installs (see "full_filename" below)
-FULL_FILENAME_370=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz
-FULL_FILENAME_362=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz
-
-# note the "https" may have to be "http" on local, non production machines
-hostForURL=https://hudson.eclipse.org
-LOG_URL=${hostForURL}/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-
-
-
-# ##################################
-# typically the remaining variables not have to be 
-# changed on a local, non-production machine,
-# as they just compute variables based on above, 
-# or provide relatively machine-independent values.
-
-BUILD_TOOLS=org.eclipse.juno.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.juno.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-
-RELENG_TOOLS=org.eclipse.juno.tools
-
-RELENG_TESTS=org.eclipse.juno.tests
-BUILD_TESTS_DIR=${BUILD_HOME}/${RELENG_TESTS}
-
-
-# we use Java 6 by default. https://bugs.eclipse.org/bugs/show_bug.cgi?id=340267
-JAVA_HOME=${JAVA_6_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# properties say what to consider eclipse home
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_36_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME_37_TEST=${ECLIPSE_INSTALL}/eclipse37Test
-
-ECLIPSE_HOME=${ECLIPSE_HOME_37}
-
-#ECLIPSE_HOME_TEST=${ECLIPSE_HOME_36_TEST}
-ECLIPSE_HOME_TEST=${BUILD_HOME}/testInstance
-
-stagingDirectory=${REPO_ROOT}/releases/staging
-releaseDirectory=${REPO_ROOT}/releases/juno
-testRepoDirectory=${stagingDirectory}
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-TEST_RESULTS=${env.BUILD_HOME}/simrel
-
-# remember, for ant, properties must be "read in" at beginning of ant build file to get variables expanded
-# also, remember, shell scripts need quotes, but ant can not have them
-AGGREGATOR_APP_BASE=--buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --trustedContributions Eclipse,Equinox  --emailFromName JunoAggregator --logURL ${LOG_URL} --subjectPrefix JunoAggregation
-
-# clean build
-#we will clean the aggregation directory ourselves, as work around for bug 354321
-#AGGREGATOR_APP_ARGS=${AGGREGATOR_APP_BASE}  --action CLEAN_BUILD
-AGGREGATOR_APP_ARGS=${AGGREGATOR_APP_BASE}  --action BUILD
-
-AGGREGATOR_APP_ARGS_BUILDONLY=${AGGREGATOR_APP_BASE}  --action BUILD
-
-AGGREGATOR_APP_ARGS_VERIFYONLY=${AGGREGATOR_APP_BASE} --action VERIFY
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox 
-
-
-# NOTE: quotes needed in bash scripts ... NOT in ant properties! 
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS=-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin
-
-# We use this redirection, so scripts only need to use "full_filename", but exact version controlled by properties
-FULL_FILENAME=${FULL_FILENAME_370}
-
-# by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-# it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-# on production machine, set it to /shared
-# jobsHome=/shared
-
-# typically CVS_INFO is ":pserver:anonymous@dev.eclipse.org:" but some advantage on production machine to use "local"
-# CVS_INFO=:local:
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/aggr_properties.shsource b/org.eclipse.juno.tools/aggr_properties.shsource
deleted file mode 100755
index 3296a58..0000000
--- a/org.eclipse.juno.tools/aggr_properties.shsource
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in scripts
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/juno
-
-# Java should be configured per machine,
-# so this variable point to valid installs
-# we "share" with orbits versions
-JAVA_5_HOME=/shared/orbit/apps/ibm-java2-i386-50
-JAVA_6_HOME=/shared/orbit/apps/ibm-java-i386-60
-
-REPO_ROOT=/home/data/httpd/download.eclipse.org
-
-# each machine needs valid path to an appropriate, local Eclipse SDK, for fresh re-installs (see "full_filename" below)
-FULL_FILENAME_370=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz
-FULL_FILENAME_362=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz
-
-# note the "https" may have to be "http" on local, non production machines
-hostForURL=https://hudson.eclipse.org
-LOG_URL="${hostForURL}/hudson/view/Repository%20Aggregation/job/${JOB_NAME}/${BUILD_NUMBER}/console"
-
-
-
-
-# ##################################
-# typically the remaining variables not have to be
-# changed on a local, non-production machine,
-# as they just compute variables based on above, 
-# or provide relatively machine-independent values.
-
-BUILD_TOOLS=org.eclipse.juno.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.juno.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-
-RELENG_TOOLS=org.eclipse.juno.tools
-
-RELENG_TESTS=org.eclipse.juno.tests
-BUILD_TESTS_DIR=${BUILD_HOME}/${RELENG_TESTS}
-
-
-# we use Java 6 by default. https://bugs.eclipse.org/bugs/show_bug.cgi?id=340267
-JAVA_HOME=${JAVA_6_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# properties say what to consider eclipse home
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_36_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME_37_TEST=${ECLIPSE_INSTALL}/eclipse37Test
-
-ECLIPSE_HOME=${ECLIPSE_HOME_37}
-
-#ECLIPSE_HOME_TEST=${ECLIPSE_HOME_36_TEST}
-ECLIPSE_HOME_TEST=${BUILD_HOME}/testInstance
-
-stagingDirectory=${REPO_ROOT}/releases/staging
-releaseDirectory=${REPO_ROOT}/releases/juno
-testRepoDirectory=${stagingDirectory}
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-TEST_RESULTS=${BUILD_HOME}/simrel
-
-# remember, for ant, properties must be "read in" at beginning of ant build file to get variables expanded
-# also, remember, shell scripts need quotes, but ant can not have them
-AGGREGATOR_APP_BASE="--buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --trustedContributions Eclipse,Equinox  --emailFromName JunoAggregator --logURL ${LOG_URL} --subjectPrefix JunoAggregation"
-
-# clean build
-#we will clean the aggregation directory ourselves, as work around for bug 354321
-#AGGREGATOR_APP_ARGS="${AGGREGATOR_APP_BASE}  --action CLEAN_BUILD"
-AGGREGATOR_APP_ARGS="${AGGREGATOR_APP_BASE}  --action BUILD"
-
-AGGREGATOR_APP_ARGS_BUILDONLY="${AGGREGATOR_APP_BASE}  --action BUILD"
-
-AGGREGATOR_APP_ARGS_VERIFYONLY="${AGGREGATOR_APP_BASE} --action VERIFY"
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox
-
-# NOTE: quotes needed in bash scripts ... NOT in ant properties! 
-# -Declipse.p2.mirrors=false
-BUILDER_VM_ARGS="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin"
-
-# We use this redirection, so scripts only need to use "full_filename", but exact version controlled by properties
-FULL_FILENAME=${FULL_FILENAME_370}
-
-# by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-# it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-# on production machine, set it to /shared
-# jobsHome=/shared
-
-# typically CVS_INFO is ":pserver:anonymous@dev.eclipse.org:" but some advantage on production machine to use "local"
-# CVS_INFO=:local:
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/ant.sh b/org.eclipse.juno.tools/ant.sh
deleted file mode 100644
index 24b3806..0000000
--- a/org.eclipse.juno.tools/ant.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-source aggr_properties.shsource
-
-if [ -z $ANT_HOME ] ; then
-   echo "ANT_HOME must be defined to use this script.";
-   exit 1;
-fi
-
-echo "Starting ant via shell script"
-echo "ANT_HOME: " ${ANT_HOME}
-
-ANT_CMD="${ANT_HOME}/bin/ant"
-${ANT_HOME}/bin/ant "$@" &
diff --git a/org.eclipse.juno.tools/antRunner.sh b/org.eclipse.juno.tools/antRunner.sh
deleted file mode 100755
index dcddf0a..0000000
--- a/org.eclipse.juno.tools/antRunner.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env bash
-
-source aggr_properties.shsource
-
-# specify devworkspace and JRE to use to runEclipse
-
-
-devworkspace="${BUILD_HOME}"/antRunnerWorkspace
-
-BUILDFILE=$1
-
-if [ -e $BUILDFILE ] 
-then
-    BUILDFILESTR=" -file $BUILDFILE"
-fi 
-
-# we MUST use java 5, when using process/pack artifacts! 
-devJRE=${JAVA_6_HOME}/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-devArgs=$ibmDevArgs
-
-echo dev:          $0
-echo
-echo devworkspace: $devworkspace
-echo
-echo devJRE:       $devJRE
-$devJRE -version
-echo
-
-
-
-${ECLIPSE_EXE}  -nosplash -debug -consolelog -console -data $devworkspace -application org.eclipse.ant.core.antRunner $BUILDFILESTR -vm $devJRE -vmargs $devArgs
-
-
diff --git a/org.eclipse.juno.tools/build.properties b/org.eclipse.juno.tools/build.properties
deleted file mode 100644
index 59a0f6b..0000000
--- a/org.eclipse.juno.tools/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
-               plugin.properties
diff --git a/org.eclipse.juno.tools/build.xml b/org.eclipse.juno.tools/build.xml
deleted file mode 100755
index e3befd2..0000000
--- a/org.eclipse.juno.tools/build.xml
+++ /dev/null
@@ -1,652 +0,0 @@
-<project
-    name="AggregationTasks"
-    basedir="."
-    default="default">
-    <property
-        environment="env"/>
-	<!--
-        This property file name is itself a property, so it can be overridden
-        on one machine versus another. We do it this way, instead of just specifying
-        -propertyFile on command line, so that the property values can be "nested"
-        in other property values and evaluated lazily.
-    -->
-
-    <property
-        name="aggrPropertyFile"
-        value="aggr.properties"/>
-
-    <property
-        file="${aggrPropertyFile}"/>
-
-	<!-- 
-	unrewriteMapsLine is a variable, but should never have to be chagned for current sim rel 
-	We make the strong assumption that, in *.b3aggrcon file, this string occurs only in 
-	repository location attributes. If not true, more complex parsing/replacement would be required.
-	-->
-
-    <property
-        name="commonRepositoryDownloadURLValue"
-        value="http://download.eclipse.org"/>
-
-    <target
-        name="installAggregatorAndTools"
-        depends="init, savePrevious,installAggregator,installRelengTools">
-
-        <echo
-            message="Installed fresh Eclipse, Aggregator, and Tools"/>
-
-    </target>
-
-    <target
-        name="installAggregator"
-        depends="init, savePrevious">
-        <property
-            name="APP_NAME"
-            value="org.eclipse.equinox.p2.director"/>
-        <property
-            name="OTHER_ARGS_AGG"
-            value="-metadataRepository http://download.eclipse.org/modeling/emft/b3/headless-3.7/ -artifactRepository http://download.eclipse.org/modeling/emft/b3/headless-3.7/ -installIU org.eclipse.b3.aggregator.engine.feature.feature.group"/>
-		<!-- usually do not need the version, just to "get the latest" from
-            buckminster builder site -version 1.0.0.v20090415-1651 -->
-        <property
-            name="VM_ARGS"
-            value="-vmargs -Xmx256m"/>
-
-
-        <mkdir
-            dir="${ECLIPSE_HOME}"/>
-
-        <untar
-            compression="gzip"
-            overwrite="true"
-            src="${FULL_FILENAME}"
-            dest="${ECLIPSE_HOME}"/>
-
-		<!-- weird this chmod is required? probably ant bug -->
-        <chmod
-            file="${ECLIPSE_HOME}/eclipse/eclipse"
-            perm="ugo+x"
-            verbose="true"/>
-
-		<!-- and now get latest -->
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_EXEC_DIR} -application ${APP_NAME} ${OTHER_ARGS_AGG} ${VM_ARGS}"/>
-        </exec>
-    </target>
-    <target
-        name="installTests"
-        depends="init, savePreviousTest">
-        <property
-            name="APP_NAME"
-            value="org.eclipse.equinox.p2.director"/>
-
-	    	<!-- usually do not need the version, just to "get the latest" from
-	            buckminster builder site -version 1.0.0.v20090415-1651 -->
-        <property
-            name="VM_ARGS"
-            value="-vmargs -Xmx256m"/>
-
-
-        <mkdir
-            dir="${ECLIPSE_HOME_TEST}"/>
-
-        <untar
-            compression="gzip"
-            overwrite="true"
-            src="${FULL_FILENAME}"
-            dest="${ECLIPSE_HOME_TEST}"/>
-
-	        <!-- weird this chmod is required? probably ant bug -->
-        <chmod
-            file="${ECLIPSE_HOME_TEST}/eclipse/eclipse"
-            perm="ugo+x"
-            verbose="true"/>
-
-        <cvs
-            failonerror="true"
-            cvsRoot="${CVS_INFO}/cvsroot/callisto"
-            package="${RELENG_TESTS}"
-            dest="${ECLIPSE_HOME_TEST}/eclipse/dropins"
-            command="export"
-            tag="HEAD"/>
-
-    </target>
-    <target
-        name="installRelengTools"
-        depends="init">
-        <property
-            name="APP_NAME"
-            value="org.eclipse.equinox.p2.director"/>
-        <property
-            name="OTHER_ARGS_TOOLS"
-            value="-metadataRepository http://download.eclipse.org/webtools/releng/repository/ -artifactRepository http://download.eclipse.org/webtools/releng/repository/ -installIU org.eclipse.wtp.releng.tools.feature.feature.group"/>
-
-        <property
-            name="VM_ARGS"
-            value="-vmargs -Xmx256m"/>
-
-		<!-- install latest -->
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                line="-data ${eclipseWorkspace} -debug -nosplash --launcher.suppressErrors -vm ${JAVA_EXEC_DIR} -application ${APP_NAME} ${OTHER_ARGS_TOOLS} ${VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="getModel"
-        depends="init"
-        unless="modelRetrived">
-        <echo
-            message="  removing all of previous model project ..."/>
-        <delete
-            dir="${BUILD_MODEL_DIR}"
-            failonerror="false"/>
-        <cvs
-            failonerror="true"
-            cvsRoot="${CVS_INFO}/cvsroot/callisto"
-            package="${BUILD_MODEL}"
-            dest="${BUILD_HOME}"
-            command="export"
-            tag="HEAD"/>
-        <property
-            name="modelRetrived"
-            value="true"/>
-    </target>
-
-    <target
-        name="runBothBuilders"
-        depends="init,getModel,rewriteRepositoryURL">
-
-        <antcall
-            target="runBuckyBuild"/>
-
-        <antcall
-            target="runAggregator"/>
-
-
-
-    </target>
-    <target
-        name="runAggregator"
-        depends="init,getModel,rewriteRepositoryURL">
-		<!--
-            If not otherwise set in properties file, use these values. Note
-            the build.eclipse.org production machine must override these values for property
-            values appropriate for it.
-        -->
-
-        <property
-            name="AGGREGATOR_APP_ARGS"
-            value="-buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr
-            -buildRoot ${AGGREGATOR_RESULTS} -mirrorReferences -packedStrategy unpackAsSibling
-            -trustedContributions Eclipse,Equinox -logLevel DEBUG -emailFromName SimRelAggregator
-            -logURL ${logURL}"/>
-
-		<!-- Important: on any non-production machines it is important to _not_ use
-            eclipse.p2.mirrors=false, so this value should be supplied by calling script's
-            properties. Note, we include '-vmargs' here, in case there are not any. Not
-            sure if the use of -vmargs _requires_ arguments or not, but probably would.
-            note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-            (should not actually be required ... but have left note for historical reference)
-            note: rememeber that JAVA_6 should not be used for jar processor, see
-            for example, bug 244603 and bug 279596. -->
-        <property
-            name="BUILDER_VM_ARGS"
-            value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin"/>
-        <echo
-            message="AGGREGATOR_APP_ARGS: ${AGGREGATOR_APP_ARGS}"/>
-    	
-    	<!-- we will clean the aggregation directory ourselves, as work around for bug 354321   
-    		https://bugs.eclipse.org/bugs/show_bug.cgi?id=354321
-    		-->
-    	<echo message="Removing any previous aggregation results, from ${AGGREGATOR_RESULTS}" />
-    	<delete dir="${AGGREGATOR_RESULTS}" failonerror="false" />
-    	<mkdir dir="${AGGREGATOR_RESULTS}" />
-		
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                value="-debug"/>
-            <arg
-                value="-nosplash"/>
-            <arg
-                line="-data ${eclipseWorkspace}"/>
-            <arg
-                line="-vm ${JAVA_6_HOME}/jre/bin"/>
-            <arg
-                value="--launcher.suppressErrors"/>
-            <arg
-                line="-application org.eclipse.b3.cli.headless"/>
-            <arg
-                value="aggregate"/>
-            <arg
-                line="--buildId ${buildTimestamp}"/>
-            <arg
-                line="${AGGREGATOR_APP_ARGS}"/>
-            <arg
-                line="${BUILDER_VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="runAggregatorBuildOnly"
-        depends="init,getModel,rewriteRepositoryURL">
-	              <!--
-	            If not otherwise set in properties file, use these values. Note
-	            the build.eclipse.org production machine must override these values for property
-	            values appropriate for it.
-	        -->
-
-        <property
-            name="AGG_APP_ARGS"
-            value="${AGGREGATOR_APP_ARGS_BUILDONLY}"/>
-
-	              <!-- Important: on any non-production machines it is important to _not_ use
-	            eclipse.p2.mirrors=false, so this value should be supplied by calling script's
-	            properties. Note, we include '-vmargs' here, in case there are not any. Not
-	            sure if the use of -vmargs _requires_ arguments or not, but probably would.
-	            note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-	            (should not actually be required ... but have left note for historical reference)
-	            note: rememeber that JAVA_6 should not be used for jar processor, see
-	            for example, bug 244603 and bug 279596. -->
-        <property
-            name="BUILDER_VM_ARGS"
-            value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin"/>
-        <echo
-            message="AGG_APP_ARGS: ${AGG_APP_ARGS}"/>
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                value="-debug"/>
-            <arg
-                value="-nosplash"/>
-            <arg
-                line="-data ${eclipseWorkspace}"/>
-            <arg
-                line="-vm ${JAVA_6_HOME}/jre/bin"/>
-            <arg
-                value="--launcher.suppressErrors"/>
-            <arg
-                line="-application org.eclipse.b3.cli.headless"/>
-            <arg
-                value="aggregate"/>
-            <arg
-                line="--buildId ${buildTimestamp}"/>
-            <arg
-                line="${AGG_APP_ARGS}"/>
-            <arg
-                line="${BUILDER_VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="runAggregatorVerifyOnly"
-        depends="init,getModel,rewriteRepositoryURL">
-                  <!--
-                If not otherwise set in properties file, use these values. Note
-                the build.eclipse.org production machine must override these values for property
-                values appropriate for it.
-            -->
-
-        <property
-            name="AGG_APP_ARGS"
-            value="${AGGREGATOR_APP_ARGS_VERIFYONLY}"/>
-
-                  <!-- Important: on any non-production machines it is important to _not_ use
-                eclipse.p2.mirrors=false, so this value should be supplied by calling script's
-                properties. Note, we include '-vmargs' here, in case there are not any. Not
-                sure if the use of -vmargs _requires_ arguments or not, but probably would.
-                note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-                (should not actually be required ... but have left note for historical reference)
-                note: rememeber that JAVA_6 should not be used for jar processor, see
-                for example, bug 244603 and bug 279596. -->
-        <property
-            name="BUILDER_VM_ARGS"
-            value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin"/>
-        <echo
-            message="AGG_APP_ARGS: ${AGG_APP_ARGS}"/>
-
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                value="-debug"/>
-            <arg
-                value="-nosplash"/>
-            <arg
-                line="-data ${eclipseWorkspace}"/>
-            <arg
-                line="-vm ${JAVA_6_HOME}/jre/bin"/>
-            <arg
-                value="--launcher.suppressErrors"/>
-            <arg
-                line="-application org.eclipse.b3.cli.headless"/>
-            <arg
-                value="aggregate"/>
-            <arg
-                line="--buildId ${buildTimestamp}"/>
-            <arg
-                line="${AGG_APP_ARGS}"/>
-            <arg
-                line="${BUILDER_VM_ARGS}"/>
-        </exec>
-    </target>
-
-
-    <target
-        name="runHybrid"
-        depends="init,getModel,rewriteRepositoryURL">
-		<!--
-	            If not otherwise set in properties file, use these values. Note
-	            the build.eclipse.org production machine must override these values for property
-	            values appropriate for it.
-	        -->
-
-        <property
-            name="HYBRID_APP_ARGS"
-            value="--buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr
-	            --buildRoot ${HYBRID_RESULTS} --mirrorReferences --packedStrategy unpackAsSibling
-	            --mavenResult --logLevel DEBUG --emailFromName SimRelAggregator
-	            --logURL ${logURL}"/>
-
-		<!-- Important: on any non-production machines it is important to _not_ use
-	            eclipse.p2.mirrors=false, so this value should be supplied by calling script's
-	            properties. Note, we include '-vmargs' here, in case there are not any. Not
-	            sure if the use of -vmargs _requires_ arguments or not, but probably would.
-	            note: -Declipse.p2.MD5Check=false may be needed as a workaround for bug [253713]
-	            (should not actually be required ... but have left note for historical reference)
-	            note: rememeber that JAVA_6 should not be used for jar processor, see
-	            for example, bug 244603 and bug 279596. -->
-        <property
-            name="BUILDER_VM_ARGS"
-            value="-vmargs -Xmx384m -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin"/>
-
-        <exec
-            executable="${eclipseExecutable}"
-            dir="${basedir}"
-            failonerror="true">
-            <arg
-                value="-debug"/>
-            <arg
-                value="-nosplash"/>
-            <arg
-                line="-data ${eclipseWorkspace}"/>
-            <arg
-                line="-vm ${JAVA_6_HOME}/jre/bin"/>
-            <arg
-                value="--launcher.suppressErrors"/>
-            <arg
-                line="-application org.eclipse.b3.cli.headless"/>
-            <arg
-                value="aggregate"/>
-            <arg
-                line="--buildId ${buildTimestamp}"/>
-            <arg
-                line="${HYBRID_APP_ARGS}"/>
-            <arg
-                line="${BUILDER_VM_ARGS}"/>
-        </exec>
-    </target>
-
-    <target
-        name="init"
-        depends="getBuildTimestamp, getJobName, getBuildWorkarea"
-        unless="isInitialized">
-
-        <property
-            name="CVS_INFO"
-            value=":pserver:anonymous@dev.eclipse.org:"/>
-
-        <echo
-            message="CVS_INFO: ${CVS_INFO}"/>
-    	
-		<!-- often, especially for Huson slaves, it is easiest to set hostForURL "manually" in properties or 
-    	on command line, e.g. -DhostForURL=hudson ... but, if not defined yet, we'll fallback to reasonable guess -->
-        <property
-            name="hostForURL"
-            value="${HOSTNAME}"/>
-
-        <condition
-            property="logURL"
-            value="${LOG_URL}"
-            else="${hostForURL}">
-            <isset
-                property="LOG_URL"/>
-        </condition>
-        <property
-            name="eclipseWorkspace"
-            value="${buildWorkarea}/eclipseworkspace"/>
-        <property
-            name="eclipseExecutable"
-            value="${ECLIPSE_EXE}"/>
-
-        <available
-            file="${ECLIPSE_HOME}/eclipse"
-            type="dir"
-            property="eclipseExists"/>
-
-       <available
-           file="${ECLIPSE_HOME_TEST}/eclipse"
-           type="dir"
-           property="eclipseTestExists"/>
-    	
-        <echo
-            message="aggrPropertyFile: ${aggrPropertyFile}"/>
-        <echo
-            message="buildId: ${buildTimestamp}"/>
-        <echo
-            message="user.dir: ${user.dir}"/>
-        <echo
-            message="user.home: ${user.home}"/>
-        <echo
-            message="Eclipse WORKSPACE: ${eclipseWorkspace}"/>
-        <echo
-            message="PATH: ${env.PATH}"/>
-        <echo
-            message="JAVA_HOME: ${JAVA_HOME}"/>
-        <echo
-            message="hostForURL: ${hostForURL}"/>
-        <echo
-            message="JOB_NAME: ${env.JOB_NAME}"/>
-        <echo
-            message="BUILD_NUMBER: ${env.BUILD_NUMBER}"/>
-        <echo
-            message="logURL: ${logURL}"/>
-        <echo
-            message="ECLIPSE_EXE:  ${ECLIPSE_EXE}"/>
-
-        <echo
-            message="BUILDER_VM_ARGS: ${BUILDER_VM_ARGS}"/>
-        <echoproperties/>
-		<!-- quick fail, if set up wrong -->
-        <fail
-            unless="BUILD_HOME"
-            message="BUILD_HOME must be set before running this script"/>
-
-		<!--
-            no need to initialize twice
-        -->
-        <property
-            name="isInitialized"
-            value="true"/>
-
-    </target>
-    <target
-        name="getBuildTimestamp"
-        depends="getHudsonTimestamp"
-        unless="buildTimestamp">
-        <tstamp>
-            <format
-                property="buildTimestamp"
-                pattern="yyyy-MM-dd_HH-mm-ss"
-                timezone="UTC_TIME"/>
-        </tstamp>
-        <echo
-            message="Using ant computed timestamp"/>
-    </target>
-    <target
-        name="getHudsonTimestamp"
-        depends="getCCTimestamp"
-        unless="buildTimestamp"
-        if="env.BUILD_ID">
-        <property
-            name="buildTimestamp"
-            value="${env.BUILD_ID}"/>
-        <echo
-            message="Using timestamp from Hudson Build ID"/>
-    </target>
-    <target
-        name="getCCTimestamp"
-        unless="buildTimestamp"
-        if="cctimestamp">
-        <property
-            name="buildTimestamp"
-            value="${cctimestamp}"/>
-        <echo
-            message="Using timestamp from CC time stamp"/>
-    </target>
-    <target
-        name="getJobName"
-        depends="getHudsonJobName"
-        unless="jobName">
-        <property
-            name="jobName"
-            value="localbuild"/>
-        <echo
-            message="Using default jobName: localbuild"/>
-    </target>
-    <target
-        name="getHudsonJobName"
-        depends="getCCJobName"
-        unless="jobName"
-        if="env.JOB_NAME">
-        <property
-            name="jobName"
-            value="${env.JOB_NAME}"/>
-        <echo
-            message="Using jobName from Hudson Buider: ${jobName}"/>
-    </target>
-    <target
-        name="getCCJobName"
-        unless="jobName"
-        if="projectname">
-        <property
-            name="jobName"
-            value="${projectname}"/>
-        <echo
-            message="Using jobName from CC Builder: ${jobName}"/>
-    </target>
-    <target
-        name="getBuildWorkarea"
-        depends="getJobName, getHudsonBuildWorkarea"
-        unless="buildWorkarea">
-        <property
-            name="buildWorkarea"
-            value="${basedir}"/>
-        <echo
-            message="Using default buildWorkarea: ${buildWorkarea}"/>
-    </target>
-    <target
-        name="getHudsonBuildWorkarea"
-        depends="getCCBuildWorkarea"
-        unless="buildWorkarea"
-        if="env.HUDSON_HOME">
-    	<!-- by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-    	it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-    	on production machine, set it to /shared  -->
-        <property
-            name="jobsHome"
-            value="${env.HUDSON_HOME}"/>
-        <property
-            name="buildWorkarea"
-            value="${jobsHome}/jobs/${jobName}/builds/${buildTimestamp}"/>
-        <echo
-            message="Using buildWorkarea from Hudson Builder: ${buildWorkarea}"/>
-    </target>
-    <target
-        name="getCCBuildWorkarea"
-        unless="buildWorkarea"
-        if="env.PROJECT_PROJECTS">
-        <property
-            name="buildWorkarea"
-            value="${env.PROJECT_PROJECTS}/${jobName}/${buildTimestamp}"/>
-        <echo
-            message="Using buildWorkarea from CC Builder: ${buildWorkarea}"/>
-    </target>
-
-    <target
-        name="savePrevious"
-        depends="init"
-        if="eclipseExists"
-    	 unless="previousSaved">
-		<!-- remember, old ones have to be maually cleaned up, from time to time -->
-        <move 
-            verbose="true"
-            todir="${ECLIPSE_HOME}/eclipse${buildTimestamp}">
-            <fileset
-                dir="${ECLIPSE_HOME}/eclipse"/>
-        </move>
-              
-        	<property name="previousSaved" value="true" />
-        	
-    </target>
-
-    <target
-        name="savePreviousTest"
-        depends="init"
-        if="eclipseTestExists">
-	        <!-- remember, old ones have to be maually cleaned up, from time to time -->
-    	 <fail unless="buildTimestamp" />
-    	 	
-        <move
-            todir="${ECLIPSE_HOME_TEST}/eclipse${buildTimestamp}">
-            <fileset
-                dir="${ECLIPSE_HOME_TEST}/eclipse"/>
-        </move>
-
-    </target>
-
-    <!-- Only rewrite, if a value has been provided -->
-    <target
-        name="rewriteRepositoryURL"
-        if="rewriteRepositoryURLValue">
-        <replace
-            dir="${BUILD_MODEL_DIR}"
-            token="${commonRepositoryDownloadURLValue}"
-            value="${rewriteRepositoryURLValue}">
-            <include
-                name="*.b3aggrcon"/>
-            <exclude
-                name="ep.b3aggrcon"/>
-            <exclude
-                name="equinox.b3aggrcon"/>
-        </replace>
-        <echo
-            message="Rewrote repository location URLs ..."/>
-        <echo
-            message="        From: ${commonRepositoryDownloadURLValue}"/>
-        <echo
-            message="          To: ${rewriteRepositoryURLValue}"/>
-        <echo
-            message="   Excluding: ep.b3aggrcon, equinox.b3aggrcon"/>
-
-    </target>
-
-    <target
-        name="default">
-        <echo
-            message="There is no default target for this build file"/>
-    </target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/pauseAll.sh b/org.eclipse.juno.tools/pauseAll.sh
deleted file mode 100644
index 957c5ac..0000000
--- a/org.eclipse.juno.tools/pauseAll.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env bash
-
-# utility script to "lock" workspace and builds 
-# while "shell work" is going on. 
-# for example, can execute this from hudson (with hudson 
-# lock) before promoting to staging directory, to make 
-# sure another build doesn't start while promoting, thereby
-# erasing the build we are promoting.
-
-# to end lock, the lockfile must be removed, which can be 
-# done manually, or as part of the script work
-# There is a one-hour time-out built in, which should be plenty 
-
-source aggr_properties.shsource
-
-if [ -z $BUILD_HOME ] ; then
-   echo " ERROR: BUILD_HOME must be defined before running this script";
-   exit 1
-fi
-
-LOCKFILE="${BUILD_HOME}"/lockfile
-
-if [[ -f "$LOCKFILE" ]]
-then
-   echo "  LOCKFILE already exists, so not continuing to protect pending jobs."
-   echo "  If there is no pending job, you must manually remove"
-   echo "  " "$LOCKFILE"
-fi
-
-
-touch "$LOCKFILE"
-
-"${BUILD_TOOLS_DIR}"/printStats.sh
-exitCode=$?
-if [ "${exitCode}" -ne "0" ]
-then 
-  echo "printStats returned an errorCode: " ${exitCode} " Exiting."
-  rm "$LOCKFILE"
-  exit 1
-fi  
-
-PAUSE_SECONDS=5
-MAX_TIME=3600
-COUNT=0
-COUNT_MAX=$(($MAX_TIME/$PAUSE_SECONDS))
-#echo "Maximum wait loops: " $COUNT_MAX
-
-while [ -f "$LOCKFILE" -a $COUNT -lt $COUNT_MAX ]
-do
-
-   sleep $PAUSE_SECONDS
-   COUNT=$(($COUNT+1))
-#   echo "Loop number: " $COUNT
-   
-done
-
-"${BUILD_TOOLS_DIR}"/printStats.sh
-exitCode=$?
-if [ "${exitCode}" -ne "0" ]
-then 
-  echo "printStats returned an errorCode: " ${exitCode} " Exiting."
-  rm "$LOCKFILE"
-  exit 2
-fi  
-
-
-if [[ -f "$LOCKFILE"  ]]
-then
-   echo "pause loop hit maximum count (timed out). "
-   rm "$LOCKFILE"
-   exit 3
-fi
-       
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/plugin.properties b/org.eclipse.juno.tools/plugin.properties
deleted file mode 100644
index af4bf1f..0000000
--- a/org.eclipse.juno.tools/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# properties file for org.eclipse.wtp.releng.tests
-Bundle-Name.0 = Releng Tests
-Bundle-Vendor.0 = Eclipse Web Tools Platform
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/printStats.sh b/org.eclipse.juno.tools/printStats.sh
deleted file mode 100644
index a5cc57f..0000000
--- a/org.eclipse.juno.tools/printStats.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-      
-source aggr_properties.shsource
-
-if [ -z "${toDirectory}" ] 
-then
-    toDirectory=${stagingDirectory}  
-fi  
-
-echo "repository file statistics for ";
-echo $toDirectory;
-
-if [ ! -e "${toDirectory}" ]
-then
-  echo "repository directory does not exist. Exiting." 
-  exit 1;
-fi
-  
-featuresDirectory="${toDirectory}"/aggregate/features
-pluginsDirectory="${toDirectory}"/aggregate/plugins
-
-if [ ! -e "${featuresDirectory}" ]
-then 
-  echo "repository features directory structure not as expected. Exiting." 
-  exit 1;
-fi
-
-if [ ! -e "${pluginsDirectory}" ]
-then 
-  echo "repository plugins directory structure not as expected. Exiting."
-  exit 1;
-fi
- 
-echo "Features: ";     
-find "${featuresDirectory}" | wc -l  
-du -sh "${featuresDirectory}"
- 
-echo "Plugin jar files: ";
-find "${pluginsDirectory}" -name "*.jar" | wc -l 
-du -sh --exclude=*.pack.gz "${pluginsDirectory}"
-
-echo "Plugin pack.gz files: "; 
-find "${pluginsDirectory}" -name "*jar.pack.gz" | wc -l
-du -sh --exclude=*.jar "${pluginsDirectory}"
-
-
- 
\ No newline at end of file
diff --git a/org.eclipse.juno.tools/production.properties b/org.eclipse.juno.tools/production.properties
deleted file mode 100755
index f846b06..0000000
--- a/org.eclipse.juno.tools/production.properties
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/env bash
-
-# common variables used in scripts
-
-# It is required to specify a top level directory, that will contain all else involved with build, control and output
-BUILD_HOME=/shared/juno
-
-
-# Java should be configured per machine,
-# so this variable point to valid installs
-# we "share" with orbits versions
-JAVA_5_HOME=/shared/orbit/apps/ibm-java2-i386-50
-JAVA_6_HOME=/shared/orbit/apps/ibm-java-i386-60
-
-REPO_ROOT=/home/data/httpd/download.eclipse.org
-
-# each machine needs valid path to an appropriate, local Eclipse SDK, for fresh re-installs (see "full_filename" below)
-FULL_FILENAME_370=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz
-FULL_FILENAME_362=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz
-
-# note the "https" may have to be "http" on local, non production machines
-hostForURL=https://hudson.eclipse.org
-LOG_URL=${hostForURL}/hudson/view/Repository%20Aggregation/job/${env.JOB_NAME}/${env.BUILD_NUMBER}/console
-
-
-
-
-# ##################################
-# typically the remaining variables not have to be
-# changed on a local, non-production machine,
-# as they just compute variables based on above, 
-# or provide relatively machine-independent values.
-
-BUILD_TOOLS=org.eclipse.juno.tools
-BUILD_TOOLS_DIR=${BUILD_HOME}/${BUILD_TOOLS}
-
-BUILD_MODEL=org.eclipse.juno.build
-BUILD_MODEL_DIR=${BUILD_HOME}/${BUILD_MODEL}
-
-RELENG_TOOLS=org.eclipse.juno.tools
-
-RELENG_TESTS=org.eclipse.juno.tests
-BUILD_TESTS_DIR=${BUILD_HOME}/${RELENG_TESTS}
-
-# we use Java 6 by default. https://bugs.eclipse.org/bugs/show_bug.cgi?id=340267
-JAVA_HOME=${JAVA_6_HOME}
-JAVA_EXEC_DIR=${JAVA_HOME}/jre/bin
-JAVA_CMD=${JAVA_EXEC_DIR}/java
-
-# platform installs.
-ECLIPSE_INSTALL=${BUILD_HOME}/prereqs
-
-# properties say what to consider eclipse home
-ECLIPSE_HOME_36=${ECLIPSE_INSTALL}/eclipse36
-ECLIPSE_HOME_36_TEST=${ECLIPSE_INSTALL}/eclipse36Test
-ECLIPSE_HOME_37=${ECLIPSE_INSTALL}/eclipse37
-ECLIPSE_HOME_37_TEST=${ECLIPSE_INSTALL}/eclipse37Test
-
-ECLIPSE_HOME=${ECLIPSE_HOME_37}
-
-#ECLIPSE_HOME_TEST=${ECLIPSE_HOME_36_TEST}
-ECLIPSE_HOME_TEST=${BUILD_HOME}/testInstance
-
-stagingDirectory=${REPO_ROOT}/releases/staging
-releaseDirectory=${REPO_ROOT}/releases/juno
-testRepoDirectory=${stagingDirectory}
-
-ECLIPSE_EXE=${ECLIPSE_HOME}/eclipse/eclipse
-
-# Holds the results of the build
-BUILD_RESULTS=${BUILD_HOME}/buildresults
-AGGREGATOR_RESULTS=${BUILD_HOME}/aggregation
-TEST_RESULTS=${env.BUILD_HOME}/simrel
-
-# remember, for ant, properties must be "read in" at beginning of ant build file to get variables expanded
-# also, remember, shell scripts need quotes, but ant can not have them
-
-AGGREGATOR_APP_BASE=--production --buildModel ${BUILD_MODEL_DIR}/simrel.b3aggr --buildRoot ${AGGREGATOR_RESULTS} --mirrorReferences --referenceExcludePattern .*/site.xml --packedStrategy UNPACK_AS_SIBLING --eclipseLogLevel INFO --logLevel DEBUG --trustedContributions Eclipse,Equinox  --emailFromName JunoAggregator --logURL ${LOG_URL} --subjectPrefix JunoAggregation
-
-# clean build
-#we will clean the aggregation directory ourselves, as work around for bug 354321
-#AGGREGATOR_APP_ARGS=${AGGREGATOR_APP_BASE}  --action CLEAN_BUILD
-AGGREGATOR_APP_ARGS=${AGGREGATOR_APP_BASE}  --action BUILD
-
-AGGREGATOR_APP_ARGS_BUILDONLY=${AGGREGATOR_APP_BASE}  --action BUILD
-
-AGGREGATOR_APP_ARGS_VERIFYONLY=${AGGREGATOR_APP_BASE} --action VERIFY
-
-# only one or the other
-# --mavenResult
-# --trustedContributions Eclipse,Equinox
-
-# add this to production aggregtor app args only
-# --production
-
-# NOTE: quotes needed in bash scripts ... NOT in ant properties! 
-# -Declipse.p2.mirrors=false
-# note that -Dhttp.noProxyHosts is probably not needed, but see bug 347103 
-# https://bugs.eclipse.org/bugs/show_bug.cgi?id=347103
-BUILDER_VM_ARGS=-vmargs -Xmx384m -Declipse.p2.mirrors=false -Dorg.eclipse.update.jarprocessor.pack200=${JAVA_6_HOME}/jre/bin -Dhttp.noProxyHosts="localhost|download.eclipse.org"
-
-
-# We use this redirection, so scripts only need to use "full_filename", but exact version controlled by properties
-FULL_FILENAME=${FULL_FILENAME_370}
-
-# by default, the "jobs" area is under HUDSON_HOME. On eclipse.org build machine, 
-# it has been convigured to be "shared". So we use hudson_home by default, if not set, but 
-# on production machine, set it to /shared
-jobsHome=/shared
-
-# typically CVS_INFO is ":pserver:anonymous@dev.eclipse.org:" but some advantage on production machine to use "local"
-CVS_INFO=:local:
-
-rewriteRepositoryURLValue=file:///home/data/httpd/download.eclipse.org
-
diff --git a/org.eclipse.juno.tools/promoteToReleases.sh b/org.eclipse.juno.tools/promoteToReleases.sh
deleted file mode 100644
index 242dcb4..0000000
--- a/org.eclipse.juno.tools/promoteToReleases.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their staging area to the releases area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
- 
-fromDirectory=${stagingDirectory}
-toDirectory=${releaseDirectory} 
-
-datetimestamp=$1
-
-# make sure 'toDirectory' has been defined and is not zero length
-if [ -z "${toDirectory}" ]
-then
-	echo;
-    echo "   Fatal Error: the variable toDirectory must be defined to run this script";
-    echo;
-else
-
-	# make sure 'datetimestamp' has been defined and is no zero length
-	if [ -z "${datetimestamp}" ]
-	then
-	   echo;
-	   echo "   Fatal Error: the variable datetimestamp must be defined to run this script."
-	   echo;
-    else 
-	
-		toSubDir=${toDirectory}/${datetimestamp}
-		
-		echo ""
-		echo "    Copying new plugins and features "
-		echo "        from  ${fromDirectory}"
-		echo "          to  ${toSubDir}"
-		echo ""
-		
-		# plugins and features
-		rsync -rvp ${fromDirectory}/aggregate ${toSubDir}
-		
-		# composite artifact and content files
-		rsync -vp ${fromDirectory}/*.jar ${toSubDir}
-		
-		# static index page
-        rsync -vp templateFiles/release/index.html ${toDirectory}
-		
-		
-	"${BUILD_TOOLS_DIR}"/addRepoProperties-release.sh ${datetimestamp}
-	
-    fi	
-fi
-
-# remove lock file from hundson build's "pauseAll.sh" script once we are all done.
-# remember, we need to _always_ remove the lock file, so do not "exit" from any previous script
-rm -vf "${BUILD_HOME}"/lockfile
-
diff --git a/org.eclipse.juno.tools/promoteToStaging.sh b/org.eclipse.juno.tools/promoteToStaging.sh
deleted file mode 100644
index cb4feb1..0000000
--- a/org.eclipse.juno.tools/promoteToStaging.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/env bash
-# script to copy update jars from their working area to the staging area
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-function removeLock
-{   
-    # remove lock file from hundson build's "pauseAll.sh" script once we are all done.
-    # remember, we need to _always_ remove the lock file, so do not "exit" from script with calling removeLock
-    rm -vf "${BUILD_HOME}"/lockfile
-}
-
-function checkForErrorExit
-{   
-    # arg 1 must be return code, $?
-    # arg 2 (remaining line) can be message to print before exiting do to non-zer exit code
-    exitCode=$1
-    shift
-    message="$*"
-    if [ "${exitCode}" -ne "0" ]
-    then
-        echo
-        echo "   ERROR. exit code: ${exitCode}"  ${message}
-        echo
-        removeLock
-        exit "${exitCode}"
-    fi
-}
-
-
-fromDirectory=${AGGREGATOR_RESULTS}
-toDirectory=${stagingDirectory} 
-
-# TODO remove this? who uses it? 
-tempDir=${HOME}/temp/work
-
-# make sure 'toDirectory' has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${toDirectory}" ]
-then
-    checkForErrorExit 1 "The variable 'toDirectory' must be defined to run this script"
-else
-    echo
-    echo "    Count of old features, bundle jars, and packed jars prior to promotion";
-    "${BUILD_TOOLS_DIR}"/printStats.sh
-    checkForErrorExit $? "printStats did not return normally"
-    echo 
-
-    echo 
-    echo "    Removing previous staging directory files at"
-    echo "    "${toDirectory} 
-    echo 
-
-    if [ -d ${toDirectory} ]
-    then
-        rm -fr "${toDirectory}"/*
-        checkForErrorExit $? "could not remove " ${toDirectory}
-    fi
-
-    echo 
-    echo "    Copying new plugins and features "
-    echo "        from  ${fromDirectory}"
-    echo "          to  ${toDirectory}"
-    echo 
-
-    # plugins and features
-    rsync -rvp ${fromDirectory}/final/aggregate ${toDirectory}
-    checkForErrorExit $? "could not copy files as expected"
-
-    # composite artifact and content files
-    rsync -vp ${fromDirectory}/final/*.jar ${toDirectory}
-    checkForErrorExit $? "could not copy files as expected"
-
-    # copy standard index page
-    rsync -vp templateFiles/staging/index.html ${toDirectory}
-    checkForErrorExit $? "could not copy files as expected"
-
-    "${BUILD_TOOLS_DIR}"/addRepoProperties-staging.sh
-    checkForErrorExit $? "repo properties could not be updated as expected"
-
-    # TODO: eventually, we could make "sanity check" test on number of files, etc., and fail if more than 10% off, or similar
-    echo
-    echo "    Count of new features, bundle jars, and packed jars after promotion";
-    "${BUILD_TOOLS_DIR}"/printStats.sh
-    checkForErrorExit $? "printStats did not return normally"
-    echo
-
-fi
-
-removeLock
-
diff --git a/org.eclipse.juno.tools/runManuallyRarely/add-composite-epp-packages.xml b/org.eclipse.juno.tools/runManuallyRarely/add-composite-epp-packages.xml
deleted file mode 100644
index 89d1013..0000000
--- a/org.eclipse.juno.tools/runManuallyRarely/add-composite-epp-packages.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-	<!-- 
-	A "manual" task that should only have to be ran once
-	With something like 
-	./antRunner add-composite-epp-packages.xml 
-	-->
-    <target
-        name="createcomposite">
-        <p2.composite.repository>
-            <repository
-                location="file:/home/data/httpd/download.eclipse.org/releases/juno/"
-                name="Juno repository"/>
-            <add>
-                <repository
-                    location="http://download.eclipse.org/technology/epp/packages/juno/" />
-            </add>
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.juno.tools/runManuallyRarely/createCommonComposite.xml b/org.eclipse.juno.tools/runManuallyRarely/createCommonComposite.xml
deleted file mode 100644
index f6c437c..0000000
--- a/org.eclipse.juno.tools/runManuallyRarely/createCommonComposite.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-    <target description="Add a child location to common repository. Repo is created, if it does not already exist."
-        name="createcomposite">
-        <p2.composite.repository>
-            <repository
-                location="file:/home/data/httpd/download.eclipse.org/releases/juno/"
-                name="Eclipse Juno repository"/>
-            <add>
-                <repository
-                    location="201108190900" />
-            </add>
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.juno.tools/runManuallyRarely/removeCommonComposite.xml b/org.eclipse.juno.tools/runManuallyRarely/removeCommonComposite.xml
deleted file mode 100644
index 3a7ade0..0000000
--- a/org.eclipse.juno.tools/runManuallyRarely/removeCommonComposite.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-    <target
-        description="Manual task, used rarely, to remove a repo location from common composite repo."
-        name="createcomposite">
-        <p2.composite.repository>
-            <repository
-                location="file:/home/data/httpd/download.eclipse.org/releases/juno/"
-                name="Eclipse Juno repository"/>
-            <remove>
-                <repository
-                    location="201005070900"/>
-            </remove>
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.juno.tools/runManuallyRarely/testMirroringRepo.xml b/org.eclipse.juno.tools/runManuallyRarely/testMirroringRepo.xml
deleted file mode 100644
index 0aab3a7..0000000
--- a/org.eclipse.juno.tools/runManuallyRarely/testMirroringRepo.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<project
-    default="p2Mirror"
-    basedir=".">
-	<!-- for misc manual tests only -->
-    <property name="todir" value="/shared/juno/temp" />
-    <target
-        name="p2Mirror">
-        <p2.mirror ignoreErrors="true" log="${todir}/mirrorlog.txt">
-            <repository 
-                location="file:/${todir}" name="A temp test repo" />
-            <source>
-                <repository
-                    location="file://home/data/httpd/download.eclipse.org/releases/juno/201005070900a/" />
-            </source>
-            <slicingOptions platformFilter="true" />         
-        </p2.mirror>
-    	
-    	
-    	
-    	
-    	 <!-- mirror from build results, comparing against previous builds that are in the composite repo -->
- <p2.mirror>
-     <source location="file:${assemblyTempDir}/${buildLabel}"/>
-     <destination location="file:${builder}/composite/${buildLabel}"/>
-     <comparator comparator="org.eclipse.equinox.p2.repository.tools.jar.comparator" comparatorLog="${buildDirectory}/comparator.log">
-         <repository location="file:${builder}/composite" />
-     </comparator>
- </p2.mirror>
-    	
-    </target>
-</project>
-
diff --git a/org.eclipse.juno.tools/runManuallyRarely/updateCommonComposite.xml b/org.eclipse.juno.tools/runManuallyRarely/updateCommonComposite.xml
deleted file mode 100644
index 0a4af31..0000000
--- a/org.eclipse.juno.tools/runManuallyRarely/updateCommonComposite.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<project
-    default="createcomposite"
-    basedir=".">
-    <target
-        name="createcomposite">
-        <p2.composite.repository>
-            <repository
-                location="file:/home/data/httpd/download.eclipse.org/releases/juno/"
-                name="Eclipse Juno Repository"/>
-            <add> 
-                <repository location='201106220900'/>
-            </add>
-            <remove>
-                <repository location='201105200900'/>
-                <repository location='201105270900'/>
-                <repository location='201106030900'/>
-            </remove>
-        </p2.composite.repository>
-    </target>
-</project>
-
diff --git a/org.eclipse.juno.tools/scriptsMisc/getRelengTools.sh b/org.eclipse.juno.tools/scriptsMisc/getRelengTools.sh
deleted file mode 100644
index 2cbfc6a..0000000
--- a/org.eclipse.juno.tools/scriptsMisc/getRelengTools.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env bash
-
-# it is assumed we are executing this in RELENG_TOOLS or the parent of RELENG_TOOLS
-
-# finds file on users path, before current directory
-# hence, non-production users can set their own values for test machines
-source aggr_properties.shsource
-
-if [ -z ${RELENG_TOOLS} ] ; then
-   RELENG_TOOLS=org.eclipse.juno.tools
-fi
-
-# This script file is to help get builds started "fresh", when
-# the ${RELENG_TOOLS} directory already exists on local file system.
-# While it is in the cvs repository in ${RELENG_TOOLS}, it is
-# meant to be executed from the parent directory
-# of ${RELENG_TOOLS} on the file system.
-
-# export is used, instead of checkout, just to avoid the CVS directories and since this code
-# for a local build, there should never be a need to check it back in to CVS.
-
-# If there is no subdirectory, try going up one directory and looking again (in case we are in it).
-if [ ! -e ${RELENG_TOOLS} ]
-then
-	cd ..
-	if [ ! -e ${RELENG_TOOLS} ]
-	then	
-         echo "${RELENG_TOOLS} does not exist as sub directory";
-	     exit 1;
-	fi
-fi
-
-
-# make sure RELENG_TOOLS has been defined and is no zero length, or 
-# else following will eval to "rm -fr /*" ... potentially catastrophic
-if [ -z "${RELENG_TOOLS}" ]
-then
-   echo "The variable RELENG_TOOLS must be defined to run this script"
-   exit 1;
-fi
-echo "    removing all of ${RELENG_TOOLS} ..."
-rm -fr "${RELENG_TOOLS}"/*
-rm -fr "${RELENG_TOOLS}"/.project
-rm -fr "${RELENG_TOOLS}"/.settings
-rm -fr "${RELENG_TOOLS}"/.classpath
-mkdir -p "${RELENG_TOOLS}"
-
-#controltag=david_williams_tempBranch3
-controltag=HEAD
-echo "    checking out $controltag of ${RELENG_TOOLS} from cvs ..."
-
-export CVS_RSH=SSH
-if [ -z ${CVS_INFO} ] ; then
-   CVS_INFO=:pserver:anonymous@dev.eclipse.org:
-fi
-
-cvs -Q -f -d ${CVS_INFO}/cvsroot/callisto  export -d ${RELENG_TOOLS} -r $controltag ${RELENG_TOOLS}
-
-
-echo "    making sure releng control files are executable and have proper EOL ..."
-dos2unix ${RELENG_TOOLS}/*.sh* ${RELENG_TOOLS}/*.properties ${RELENG_TOOLS}/*.xml >/dev/null 2>>/dev/null
-chmod +x ${RELENG_TOOLS}/*.sh > /dev/null
-echo
-
-
-
-
-
diff --git a/org.eclipse.juno.tools/scriptsMisc/install-relengTools.sh b/org.eclipse.juno.tools/scriptsMisc/install-relengTools.sh
deleted file mode 100755
index a5db22b..0000000
--- a/org.eclipse.juno.tools/scriptsMisc/install-relengTools.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env bash
-
-APP_NAME=org.eclipse.equinox.p2.director
-
-OTHER_ARGS="-metadataRepository http://download.eclipse.org/webtools/releng/repository/ -artifactRepository http://download.eclipse.org/webtools/releng/repository/ -installIU org.eclipse.wtp.releng.tools.feature.feature.group"
-
-devworkspace=./workspace
-
-# Java should be configured per machine, 
-# so this variable point to valid installs
-# we "share" with orbits versions
-JAVA_5_HOME=/shared/orbit/apps/ibm-java2-i386-50
-JAVA_6_HOME=/shared/orbit/apps/ibm-java-i386-60
-JAVA_HOME=${JAVA_6_HOME}
-devJRE=$JAVA_HOME/jre/bin/java
-
-ibmDevArgs="-Xms128M -Xmx256M -Dosgi.ws=gtk -Dosgi.os=linux -Dosgi.arch=x86" 
-
-devArgs=$ibmDevArgs
-
-echo "dev:          " $0
-echo
-echo "devworkspace: " $devworkspace
-echo
-echo "devJRE:       " $devJRE
-echo "OTHER_ARGS:   " ${OTHER_ARGS}
-echo
-$devJRE -version
-echo
-
-ECLIPSE_INSTALL=/shared/webtools/apps/eclipse36RC3/eclipse
-
-$ECLIPSE_INSTALL/eclipse  -debug -nosplash -consolelog -console -data $devworkspace -application ${APP_NAME} ${OTHER_ARGS} -vm $devJRE -vmargs $devArgs
-
diff --git a/org.eclipse.juno.tools/templateFiles/release/index.html b/org.eclipse.juno.tools/templateFiles/release/index.html
deleted file mode 100644
index 4607f77..0000000
--- a/org.eclipse.juno.tools/templateFiles/release/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Juno Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-    media="screen" />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-    media="screen" />
-</head>
-<body>
-    <div id="header">
-        <a href="http://www.eclipse.org/"><img
-            src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-            width="163" height="68" border="0" alt="Eclipse Logo"
-            class="logo" />
-        </a>
-    </div>
-    <div id="midcolumn">
-        <p>
-            This software repository URL,
-            <code>http://download.eclipse.org/releases/juno/</code>
-            , provides access to the software repository for the <a
-                href="http://www.eclipse.org/juno/">Eclipse Juno
-                release</a>. Until its released in June 2012, it will
-            contain milestone builds.
-        </p>
-        <p>The repository site URL is typically pre-populated in the
-            list of software repositories when you install the Eclipse
-            Platform or SDK.</p>
-        <p>
-            For more information about installing or updating software,
-            see the <a
-                href="http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse
-                Platform Help</a>.
-        </p>
-        <p>
-            There is also a collection of handy, downloadable <a
-                href="http://www.eclipse.org/downloads/">all-in-one
-                zip files</a> available for many interests and platforms.
-            Many people find these all-in-one packages the easiest way
-            to get started.
-        </p>
-    </div>
-</body>
-</html>
diff --git a/org.eclipse.juno.tools/templateFiles/staging/index.html b/org.eclipse.juno.tools/templateFiles/staging/index.html
deleted file mode 100644
index 0e59900..0000000
--- a/org.eclipse.juno.tools/templateFiles/staging/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Staging Software Repository</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="author" content="Eclipse Foundation, Inc." />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/visual.css"
-    media="screen" />
-<link rel="stylesheet" type="text/css"
-    href="/eclipse/eclipse.org-common/stylesheets/layout.css"
-    media="screen" />
-</head>
-<body>
-    <div id="header">
-        <a href="http://www.eclipse.org/"><img
-            src="/eclipse/eclipse.org-common/stylesheets/header_logo.gif"
-            width="163" height="68" border="0" alt="Eclipse Logo"
-            class="logo" /> </a>
-    </div>
-    <div id="midcolumn">
-        <p>
-            This software repository URL,
-            <code>http://download.eclipse.org/releases/staging/</code>
-            , provides temporary access to a software repository for the
-            <a href="http://www.eclipse.org/juno/">Eclipse Juno</a>
-            release.
-        </p>
-
-        <p>
-            For more information about installing or updating software,
-            see the <a
-                href="http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">Eclipse
-                Platform Help</a>.
-        </p>
-
-        <p>
-            See the <a
-                href="http://wiki.eclipse.org/SimRel/Simultaneous_Release_FAQ#What_is_the_staging_repository.3F">Simultaneous
-                Release FAQ</a> for information about the staging
-            repository, and how to test it.
-        </p>
-
-        <p>
-            Committers and Contributors should check the <a
-                href="http://build.eclipse.org/juno/simrel/index.html">reports</a>
-            genertated for this staging repository.
-        </p>
-
-    </div>
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.simrel.tests/.project b/org.eclipse.simrel.tests/.project
deleted file mode 100644
index 29f9973..0000000
--- a/org.eclipse.simrel.tests/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.simrel.tests</name>
-	<comment>never used. Code was put/renamed into org.eclispe.indigo.tests</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
