This commit was manufactured by cvs2svn to create tag 'r301_v20040824'.

Sprout from R3_0_maintenance 2004-08-24 15:57:17 UTC Darin Wright <darin> '[r301] Bug 72483 - NPE attempt to Inspect if never shown Variable view'
Delete:
    org.eclipse.core.variables/.classpath
    org.eclipse.core.variables/.cvsignore
    org.eclipse.core.variables/.options
    org.eclipse.core.variables/.project
    org.eclipse.core.variables/about.html
    org.eclipse.core.variables/build.properties
    org.eclipse.core.variables/plugin.properties
    org.eclipse.core.variables/plugin.xml
    org.eclipse.core.variables/schema/dynamicVariables.exsd
    org.eclipse.core.variables/schema/valueVariables.exsd
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
    org.eclipse.ui.console/.classpath
    org.eclipse.ui.console/.cvsignore
    org.eclipse.ui.console/.options
    org.eclipse.ui.console/.project
    org.eclipse.ui.console/about.html
    org.eclipse.ui.console/build.properties
    org.eclipse.ui.console/hglegal2003.htm
    org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/clcl16/pin.gif
    org.eclipse.ui.console/icons/full/cview16/console_view.gif
    org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/dlcl16/pin.gif
    org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/elcl16/pin.gif
    org.eclipse.ui.console/icons/full/eview16/console_view.gif
    org.eclipse.ui.console/ngibmcpy2003.gif
    org.eclipse.ui.console/plugin.properties
    org.eclipse.ui.console/plugin.xml
    org.eclipse.ui.console/scripts/exportplugin.xml
    org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
    org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
    org.eclipse.ui.externaltools/.classpath
    org.eclipse.ui.externaltools/.cvsignore
    org.eclipse.ui.externaltools/.options
    org.eclipse.ui.externaltools/.project
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
    org.eclipse.ui.externaltools/about.html
    org.eclipse.ui.externaltools/build.properties
    org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
    org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
    org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
    org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
    org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
    org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
    org.eclipse.ui.externaltools/plugin.properties
    org.eclipse.ui.externaltools/plugin.xml
    org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.core.variables/.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.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 6938697..0000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.options b/org.eclipse.core.variables/.options
deleted file mode 100644
index 34a7de8..0000000
--- a/org.eclipse.core.variables/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.core.variables plugin.
diff --git a/org.eclipse.core.variables/.project b/org.eclipse.core.variables/.project
deleted file mode 100644
index efb82a1..0000000
--- a/org.eclipse.core.variables/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.variables</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</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.core.variables/about.html b/org.eclipse.core.variables/about.html
deleted file mode 100644
index abd7bd7..0000000
--- a/org.eclipse.core.variables/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>2nd October, 2003</p>	
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.core.variables/build.properties b/org.eclipse.core.variables/build.properties
deleted file mode 100644
index e6c0fda..0000000
--- a/org.eclipse.core.variables/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-source.variables.jar = src/
-src.includes=about.html, schema/
diff --git a/org.eclipse.core.variables/plugin.properties b/org.eclipse.core.variables/plugin.properties
deleted file mode 100644
index 0e26397..0000000
--- a/org.eclipse.core.variables/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Core Variables
-providerName=Eclipse.org
-valueVariablesExtensionPointName=Value Variables
-dynamicVariablesExtensionPointName=Dynamic Variables
diff --git a/org.eclipse.core.variables/plugin.xml b/org.eclipse.core.variables/plugin.xml
deleted file mode 100644
index d622df3..0000000
--- a/org.eclipse.core.variables/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.core.variables"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.core.variables.VariablesPlugin">
-
-  <runtime>
-      <library name="variables.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-   <extension-point id="valueVariables" name="%valueVariablesExtensionPointName" schema="schema/valueVariables.exsd"/>
-   <extension-point id="dynamicVariables" name="%dynamicVariablesExtensionPointName" schema="schema/dynamicVariables.exsd"/>
-
-</plugin>
diff --git a/org.eclipse.core.variables/schema/dynamicVariables.exsd b/org.eclipse.core.variables/schema/dynamicVariables.exsd
deleted file mode 100644
index f8cfd3a..0000000
--- a/org.eclipse.core.variables/schema/dynamicVariables.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.core.variables">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.core.variables" id="dynamicVariables" name="Dynamic Stirng Substitution Variables"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for defining dynamic variables used in string substitution. The value of a dynamic variable is resolved at the time a string substitution is performed, with an optional argument.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="resolver" type="string" use="required">

-            <annotation>

-               <documentation>

-                  specifies a Java class which implements &lt;samp&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/samp&gt;, which is used to determine the value of the variable

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IDynamicVariableResolver"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string" use="required">

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="supportsArgument" type="boolean">

-            <annotation>

-               <documentation>

-                  Whether this variable supports an argument. When unspecified, the implied value is &lt;code&gt;true&lt;/code&gt;.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is a definition of a dynamic variable that resolves to the name of the selected resource:

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.core.variables.dynamicVariables&quot;&gt;

-   &lt;variable 

-      name=&quot;resource_name&quot;

-      expanderClass=&quot;com.example.ResourceNameExpander&quot;

-      description=&quot;The name of the selected resource&quot;&gt;

-   &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;resolver&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Common Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.core.variables/schema/valueVariables.exsd b/org.eclipse.core.variables/schema/valueVariables.exsd
deleted file mode 100644
index 575695d..0000000
--- a/org.eclipse.core.variables/schema/valueVariables.exsd
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.core.variables">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.core.variables" id="valueVariables" name="Value Variables"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for defining variables used for string substitution. A value variable has a static value.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="point" type="string" use="required">

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="id" type="string">

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string">

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="initialValue" type="string">

-            <annotation>

-               <documentation>

-                  specifies the initial value for this variable. When specified, an &lt;samp&gt;initializerClass&lt;/samp&gt; attribute must not be specified.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="initializerClass" type="string">

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/samp&gt;. When specified, an &lt;samp&gt;initialValue&lt;/samp&gt; attribute must not be specified.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IValueVariableInitializer"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-         <attribute name="description" type="string">

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         The following is an example of a value variable contribution with an initial value:

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;

-  &lt;variable

-   name=&quot;FOO_HOME&quot;

-   initialValue=&quot;/usr/local/foo&quot;&gt;

-  &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, the specified variable is created with the initial value &quot;/usr/local/foo&quot;.

-

-         The following is an example of a value variable contribution with an initializer class:

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;

-  &lt;variable

-   name=&quot;FOO_HOME&quot;

-   initializerClass=&quot;com.example.FooLocator&quot;&gt;

-  &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, the variable FOO_HOME is created and the class &quot;com.example.FooLocator&quot; will be

-used to initialize the value the first time it&apos;s requested.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         Value of the attribute &lt;b&gt;initializerClass&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Common Public License v1.0 which 

-accompanies this distribution, and is available at 

-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
deleted file mode 100644
index 7abf475..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Dynamic variable
- */
-public class DynamicVariable extends StringVariable implements IDynamicVariable {
-	
-	/**
-	 * Resolver, or <code>null</code> until needed
-	 */
-	private IDynamicVariableResolver fResolver;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String)
-	 */
-	public String getValue(String argument) throws CoreException {
-		if (!supportsArgument()) {
-			// check for an argument - not supported
-			if (argument != null && argument.length() > 0) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("DynamicVariable.0"), new String[]{argument, getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		if (fResolver == null) {
-			String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$
-			if (name == null) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-			Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$
-			if (object instanceof IDynamicVariableResolver) {
-				fResolver = (IDynamicVariableResolver)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		return fResolver.resolveValue(this, argument);
-	}
-
-	/**
-	 * Constructs a new context variable.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param configurationElement configuration element
-	 */
-	public DynamicVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument()
-	 */
-	public boolean supportsArgument() {
-		String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$
-		return arg == null || Boolean.valueOf(arg).booleanValue();
-	}
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
deleted file mode 100644
index 4ece741..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= fSize <= listeners.length.
-	 */
-	private int fSize;
-
-	/**
-	 * The list of listeners.  Initially <code>null</code> but initialized
-	 * to an array of size capacity the first time a listener is added.
-	 * Maintains invariant: listeners != null if and only if fSize != 0
-	 */
-	private Object[] fListeners= null;
-
-	/**
-	 * The empty array singleton instance, returned by getListeners()
-	 * when size == 0.
-	 */
-	private static final Object[] EmptyArray= new Object[0];
-
-	/**
-	 * Creates a listener list with the given initial capacity.
-	 *
-	 * @param capacity the number of listeners which this list can initially accept 
-	 *    without growing its internal representation; must be at least 1
-	 */
-	public ListenerList(int capacity) {
-		if (capacity < 1) {
-			throw new IllegalArgumentException();
-		}
-		fListeners= new Object[capacity];
-		fSize= 0;
-	}
-
-	/**
-	 * Adds a listener to the list.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void add(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-		// check for duplicates using identity
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				return;
-			}
-		}
-		// grow array if necessary
-		if (fSize == fListeners.length) {
-			Object[] temp= new Object[(fSize * 2) + 1];
-			System.arraycopy(fListeners, 0, temp, 0, fSize);
-			fListeners= temp;
-		}
-		fListeners[fSize++]= listener;
-	}
-
-	/**
-	 * Returns an array containing all the registered listeners.
-	 * The resulting array is unaffected by subsequent adds or removes.
-	 * If there are no listeners registered, the result is an empty array
-	 * singleton instance (no garbage is created).
-	 * Use this method when notifying listeners, so that any modifications
-	 * to the listener list during the notification will have no effect on the
-	 * notification itself.
-	 */
-	public synchronized Object[] getListeners() {
-		if (fSize == 0) {
-			return EmptyArray;
-		}
-		Object[] result= new Object[fSize];
-		System.arraycopy(fListeners, 0, result, 0, fSize);
-		return result;
-	}
-
-	/**
-	 * Removes a listener from the list.
-	 * Has no effect if an identical listener was not already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void remove(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				if (--fSize == 0) {
-					fListeners= new Object[1];
-				} else {
-					if (i < fSize) {
-						fListeners[i]= fListeners[fSize];
-					}
-					fListeners[fSize]= null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Removes all the listeners from the list.
-	 */
-	public void removeAll() {
-		fListeners= new Object[0];
-		fSize= 0;
-	}
-
-	/**
-	 * Returns the number of registered listeners
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return fSize;
-	}
-}
-
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
deleted file mode 100644
index 542fc7b..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Performs string substitution for context and value variables.
- */
-public class StringSubstitutionEngine {
-	
-	// delimiters
-	private static final String VARIABLE_START = "${"; //$NON-NLS-1$
-	private static final char VARIABLE_END = '}'; //$NON-NLS-1$
-	private static final char VARIABLE_ARG = ':'; //$NON-NLS-1$
-	// parsing states
-	private static final int SCAN_FOR_START = 0;
-	private static final int SCAN_FOR_END = 1;
-	
-	/**
-	 * Resulting string
-	 */
-	private StringBuffer fResult;
-	
-	/**
-	 * Whether substitutions were performed
-	 */
-	private boolean fSubs;
-	
-	/**
-	 * Stack of variables to resolve
-	 */
-	private Stack fStack;
-	
-	class VariableReference {
-		
-		// the text inside the variable reference
-		private StringBuffer fText;
-		
-		public VariableReference() {
-			fText = new StringBuffer();
-		}
-		
-		public void append(String text) {
-			fText.append(text);
-		}
-		
-		public String getText() {
-			return fText.toString();
-		}
-	
-	}
-	
-	/**
-	 * Performs recursive string substitution and returns the resulting string.
-	 * 
-	 * @param expression expression to resolve
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param manager registry of variables
-	 * @return the resulting string with all variables recursively
-	 *  substituted
-	 * @exception CoreException if unable to resolve a referenced variable or if a cycle exists
-	 *  in referenced variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		substitute(expression, reportUndefinedVariables, resolveVariables, manager);
-		List resolvedVariableSets = new ArrayList();
-		while (fSubs) {
-			HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager);			
-			
-			for(int i=resolvedVariableSets.size()-1; i>=0; i--) {
-				
-				HashSet prevSet = (HashSet)resolvedVariableSets.get(i);
-
-				if (prevSet.equals(resolved)) {
-					HashSet conflictingSet = new HashSet();
-					for (; i<resolvedVariableSets.size(); i++)
-						conflictingSet.addAll((HashSet)resolvedVariableSets.get(i));
-					
-					StringBuffer problemVariableList = new StringBuffer();
-					for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) {
-						problemVariableList.append(it.next().toString());
-						problemVariableList.append(", "); //$NON-NLS-1$
-					}
-					problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", "
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{problemVariableList.toString()}), null)); //$NON-NLS-1$
-				}				
-			}		
-			
-			resolvedVariableSets.add(resolved);			
-		}
-		return fResult.toString();
-	}
-	
-	/**
-	 * Performs recursive string validation to ensure that all of the variables
-	 * contained in the expression exist
-	 * @param expression expression to validate
-	 * @param manager registry of variables
-	 * @exception CoreException if a referenced variable does not exist or if a cycle exists
-	 *  in referenced variables
-	 */
-	public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException {
-		performStringSubstitution(expression, true, false, manager);
-	}
-	
-	/**
-	 * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this
-	 *  pass
-	 *  
-	 * @param expression source expression
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param resolveVariables whether to resolve the value of any variables
-	 * @exception CoreException if unable to resolve a variable
-	 */
-	private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		fResult = new StringBuffer(expression.length());
-		fStack = new Stack();
-		fSubs = false;
-		
-		HashSet resolvedVariables = new HashSet();
-
-		int pos = 0;
-		int state = SCAN_FOR_START;
-		while (pos < expression.length()) {
-			switch (state) {
-				case SCAN_FOR_START:
-					int start = expression.indexOf(VARIABLE_START, pos);
-					if (start >= 0) {
-						int length = start - pos;
-						// copy non-variable text to the result
-						if (length > 0) {
-							fResult.append(expression.substring(pos, start));
-						}
-						pos = start + 2;
-						state = SCAN_FOR_END;
-
-						fStack.push(new VariableReference());						
-					} else {
-						// done - no more variables
-						fResult.append(expression.substring(pos));
-						pos = expression.length();
-					}
-					break;
-				case SCAN_FOR_END:
-					// be careful of nested variables
-					start = expression.indexOf(VARIABLE_START, pos);
-					int end = expression.indexOf(VARIABLE_END, pos);
-					if (end < 0) {
-						// variables are not completed
-						VariableReference tos = (VariableReference)fStack.peek();
-						tos.append(expression.substring(pos));
-						pos = expression.length();
-					} else {
-						if (start >= 0 && start < end) {
-							// start of a nested variable
-							int length = start - pos;
-							if (length > 0) {
-								VariableReference tos = (VariableReference)fStack.peek();
-								tos.append(expression.substring(pos, start));
-							}
-							pos = start + 2;
-							fStack.push(new VariableReference());	
-						} else {
-							// end of variable reference
-							VariableReference tos = (VariableReference)fStack.pop();
-							String substring = expression.substring(pos, end);							
-							tos.append(substring);
-							resolvedVariables.add(substring);
-							
-							pos = end + 1;
-							String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager);
-							if (value == null) {
-								value = ""; //$NON-NLS-1$
-							}
-							if (fStack.isEmpty()) {
-								// append to result
-								fResult.append(value);
-								state = SCAN_FOR_START;
-							} else {
-								// append to previous variable
-								tos = (VariableReference)fStack.peek();
-								tos.append(value);
-							}
-						}
-					}
-					break;
-			}
-		}
-		// process incomplete variable references
-		while (!fStack.isEmpty()) {
-			VariableReference tos = (VariableReference)fStack.pop();
-			if (fStack.isEmpty()) {
-				fResult.append(VARIABLE_START);
-				fResult.append(tos.getText());
-			} else {
-				VariableReference var = (VariableReference)fStack.peek();
-				var.append(VARIABLE_START);
-				var.append(tos.getText());
-			}
-		}
-		
-
-		return resolvedVariables;
-	}
-
-	/**
-	 * Resolve and return the value of the given variable reference,
-	 * possibly <code>null</code>. 
-	 * 
-	 * @param var
-	 * @param reportUndefinedVariables whether to report undefined variables as
-	 *  an error
-	 * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid
-	 * @param manager variable registry
-	 * @return variable value, possibly <code>null</code>
-	 * @exception CoreException if unable to resolve a value
-	 */
-	private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		String text = var.getText();
-		int pos = text.indexOf(VARIABLE_ARG);
-		String name = null;
-		String arg = null;
-		if (pos > 0) {
-			name = text.substring(0, pos);
-			pos++;
-			if (pos < text.length()) {
-				arg = text.substring(pos);
-			} 
-		} else {
-			name = text;
-		}
-		IValueVariable valueVariable = manager.getValueVariable(name);
-		if (valueVariable == null) {
-			IDynamicVariable dynamicVariable = manager.getDynamicVariable(name);
-			if (dynamicVariable == null) {
-				// no variables with the given name
-				if (reportUndefinedVariables) {
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.3"), new String[]{name}), null)); //$NON-NLS-1$
-				} 
-				// leave as is
-				return getOriginalVarText(var);
-			} 
-			
-			if (resolveVariables) {
-				fSubs = true;
-				return dynamicVariable.getValue(arg);
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		
-		if (arg == null) {
-			if (resolveVariables) {
-				fSubs = true;
-				return valueVariable.getValue();
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		// error - an argument specified for a value variable
-		throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{valueVariable.getName()}), null)); //$NON-NLS-1$
-	}
-
-	private String getOriginalVarText(VariableReference var) {
-		StringBuffer res = new StringBuffer(var.getText());
-		res.insert(0, VARIABLE_START);
-		res.append(VARIABLE_END);
-		return res.toString();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
deleted file mode 100644
index cb76420..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IStringVariable;
-
-/**
- * Common implementation of context and value variables
- */
-public abstract class StringVariable implements IStringVariable {
-	
-	/**
-	 * Variable name
-	 */
-	private String fName;
-	
-	/**
-	 * Variable description, or <code>null</code>
-	 */
-	private String fDescription;
-	
-	/**
-	 * Configuration element associated with this variable, or <code>null</code>
-	 */
-	private IConfigurationElement fConfigurationElement;
-
-	/**
-	 * Constructs a new variable with the given name and description.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 */
-	public StringVariable(String name, String description, IConfigurationElement configurationElement) {
-		fName = name;
-		fDescription = description;
-		fConfigurationElement = configurationElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription()
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-	
-	/**
-	 * Returns the configuration element associated with this variable, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return configuration element or <code>null</code>
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-	
-	/**
-	 * @see IValueVariable#setDescription(String)
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
deleted file mode 100644
index aa646f7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableListener;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Singleton string variable manager. 
- */
-public class StringVariableManager implements IStringVariableManager {
-	
-	/**
-	 * Dynamic variables - maps variable names to variables.
-	 */
-	private Map fDynamicVariables;
-	
-	/**
-	 * Value varialbes - maps variable names to variables.
-	 */
-	private Map fValueVariables;
-	
-	/**
-	 * Variable listeners
-	 */
-	private ListenerList fListeners;
-	
-	// notifications
-	private static final int ADDED = 0;
-	private static final int CHANGED = 1;
-	private static final int REMOVED = 2;
-	
-	/**
-	 * Singleton variable manager.
-	 */
-	private static StringVariableManager fgManager; 
-	
-	// true during initialization code - supress change notification
-	private boolean fInitializing = false;
-	
-	// Variable extension point constants
-	private static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$	
-	// Persisted variable XML constants
-	private static final String VALUE_VARIABLES_TAG= "valueVariables"; //$NON-NLS-1$
-	private static final String VALUE_VARIABLE_TAG= "valueVariable"; //$NON-NLS-1$
-	private static final String NAME_TAG= "name"; //$NON-NLS-1$
-	private static final String VALUE_TAG= "value"; //$NON-NLS-1$
-	private static final String DESCRIPTION_TAG="description"; //$NON-NLS-1$
-	private static final String INITIALIZED_TAG="contributed"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	// preference store key for value variables
-	private static final String PREF_VALUE_VARIABLES= VariablesPlugin.getUniqueIdentifier() + ".valueVariables"; //$NON-NLS-1$	
-		
-	/**
-	 * Notifies a string variable listener in a safe runnable to handle
-	 * exceptions.
-	 */
-	class StringVariableNotifier implements ISafeRunnable {
-		
-		private IValueVariableListener fListener;
-		private int fType;
-		private IValueVariable[] fVariables;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, "An exception occurred during string variable change notification", exception); //$NON-NLS-1$
-			VariablesPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.variablesAdded(fVariables);
-					break;
-				case REMOVED:
-					fListener.variablesRemoved(fVariables);
-					break;
-				case CHANGED:
-					fListener.variablesChanged(fVariables);
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param listener the listener to notify
-		 * @param launch the launch that has changed
-		 * @param update the type of change
-		 */
-		public void notify(IValueVariable[] variables, int update) {
-			fVariables = variables;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IValueVariableListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fVariables = null;
-			fListener = null;
-			// persist variables whenever there is an add/change/remove	
-			storeValueVariables();	
-		}
-	}	
-	
-	/**
-	 * Returns a new notifier.
-	 * 
-	 * @return a new notifier
-	 */
-	private StringVariableNotifier getNotifier() {
-		return new StringVariableNotifier();
-	}
-	
-	/**
-	 * Returns the default string variable manager
-	 * 
-	 * @return string variable manager
-	 */
-	public static StringVariableManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new StringVariableManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Constructs a new string variable manager. 
-	 */
-	private StringVariableManager() {
-		fListeners = new ListenerList(5);
-	}	
-
-	/**
-	 * Load contributed variables and persisted variables
-	 */
-	private void initialize() {
-		if (fDynamicVariables == null) {
-			fInitializing = true;
-			fDynamicVariables = new HashMap(5);
-			fValueVariables = new HashMap(5);
-			loadPersistedValueVariables();
-			loadContributedValueVariables();
-			loadDynamicVariables();
-			fInitializing = false;
-		}
-	}
-	
-	/**
-	 * Loads contributed dynamic variables
-	 */
-	private void loadDynamicVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			DynamicVariable variable= new DynamicVariable(name, description, element);
-			fDynamicVariables.put(variable.getName(), variable);
-		}
-	}
-
-	/**
-	 * Loads any persisted value varialbes from the preference store.
-	 */
-	private void loadPersistedValueVariables() {
-		String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES);
-		if (variablesString.length() == 0) {
-			return;
-		}
-		Element root= null;
-		Throwable ex = null;
-		try {
-			ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			root = parser.parse(stream).getDocumentElement();
-		} catch (UnsupportedEncodingException e) {
-			ex = e;
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (FactoryConfigurationError e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		if (ex != null) {
-			VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) {
-			VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) {
-					VariablesPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String name= element.getAttribute(NAME_TAG);
-				if (name.length() > 0) {
-					String value= element.getAttribute(VALUE_TAG);
-					String description= element.getAttribute(DESCRIPTION_TAG);
-					boolean initialized= TRUE_VALUE.equals(element.getAttribute(INITIALIZED_TAG));
-					ValueVariable variable= new ValueVariable(name, description, null);
-					if (initialized) {
-						variable.setValue(value);
-					}
-					fValueVariables.put(name, variable);
-				} else {
-					VariablesPlugin.logMessage("Invalid variable entry encountered while loading value variables. Variable name is null.", null); //$NON-NLS-1$
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Loads contributed value variables. This is done after the persisted value
-	 * varaibles are restored. Any contributed variables with the same name are
-	 * merged with existing persisted values.
-	 */
-	private void loadContributedValueVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_VALUE_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			ValueVariable variable= new ValueVariable(name, description, element);
-			// if already present, merge with persisted value
-			ValueVariable existing = (ValueVariable)getValueVariable(name);
-			if (existing != null) {
-				if (existing.isInitialized()) {
-					variable.setValue(existing.getValue());
-				}					
-			}
-			fValueVariables.put(variable.getName(), variable);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables()
-	 */
-	public IStringVariable[] getVariables() {
-		initialize();
-		List list = new ArrayList(fDynamicVariables.size() + fValueVariables.size());
-		list.addAll(fDynamicVariables.values());
-		list.addAll(fValueVariables.values());
-		return (IStringVariable[]) list.toArray(new IStringVariable[list.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariables()
-	 */
-	public IValueVariable[] getValueVariables() {
-		initialize();
-		return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables()
-	 */
-	public IDynamicVariable[] getDynamicVariables() {
-		initialize();
-		return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String)
-	 */
-	public String performStringSubstitution(String expression) throws CoreException {
-		return performStringSubstitution(expression, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String)
-	 */
-	public IValueVariable newValueVariable(String name, String description) {
-		IConfigurationElement element = null;
-		ValueVariable existing = (ValueVariable)getValueVariable(name);
-		if (existing != null && existing.isContributed()) {
-			element = existing.getConfigurationElement();
-		}
-		return new ValueVariable(name, description, element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException {
-		initialize();
-		MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.getString("StringVariableManager.26"), null); //$NON-NLS-1$
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (getValueVariable(variable.getName()) != null) {
-				status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringVariableManager.27"), new String[]{variable.getName()}), null)); //$NON-NLS-1$
-			}			
-		}
-		if (status.isOK()) {
-			for (int i = 0; i < variables.length; i++) {
-				IValueVariable variable = variables[i];
-				fValueVariables.put(variable.getName(), variable);
-			}
-			IValueVariable[] copy = new IValueVariable[variables.length];
-			System.arraycopy(variables, 0, copy, 0, variables.length);
-			getNotifier().notify(copy, ADDED);
-			return;
-		}
-		throw new CoreException(status);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public void removeVariables(IValueVariable[] variables) {
-		initialize();
-		List removed = new ArrayList(variables.length);
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (fValueVariables.remove(variable.getName()) != null) {
-				removed.add(variable);
-			}
-		}
-		if (removed.size() > 0) {
-			getNotifier().notify((IValueVariable[])removed.toArray(new IValueVariable[removed.size()]), REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariable(java.lang.String)
-	 */
-	public IDynamicVariable getDynamicVariable(String name) {
-		initialize();
-		return (IDynamicVariable) fDynamicVariables.get(name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariable(java.lang.String)
-	 */
-	public IValueVariable getValueVariable(String name) {
-		initialize();
-		return (IValueVariable) fValueVariables.get(name);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void addValueVariableListener(IValueVariableListener listener) {
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Returns a memento representing the value variables currently registered.
-	 * 
-	 * @return memento representing the value variables currently registered
-	 * @throws IOException if an I/O exception occurs while creating the XML.
-	 */
-	private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IValueVariable[] variables = getValueVariables();
-
-		Document document= getDocument();
-		Element rootElement= document.createElement(VALUE_VARIABLES_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < variables.length; i++) {
-			ValueVariable variable = (ValueVariable)variables[i];
-			Element element= document.createElement(VALUE_VARIABLE_TAG);
-			element.setAttribute(NAME_TAG, variable.getName());
-			String value= variable.getValue();
-			if (value != null) {
-				element.setAttribute(VALUE_TAG, value);
-			}
-			String description= variable.getDescription();
-			if (description != null) {
-				element.setAttribute(DESCRIPTION_TAG, description);
-			}
-			element.setAttribute(INITIALIZED_TAG, variable.isInitialized() ? TRUE_VALUE : FALSE_VALUE);
-			rootElement.appendChild(element);
-		}
-		return serializeDocument(document);
-	}
-	
-	private Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-		Document doc =docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Saves the value variables currently registered in the
-	 * preference store. 
-	 */
-	private void storeValueVariables() {
-		Preferences prefs= VariablesPlugin.getDefault().getPluginPreferences();
-		String variableString= ""; //$NON-NLS-1$
-		if (!fValueVariables.isEmpty()) {
-			try {
-				variableString= getValueVariablesAsXML();
-			} catch (IOException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (ParserConfigurationException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (TransformerException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			}
-		}
-		prefs.setValue(PREF_VALUE_VARIABLES, variableString);
-		VariablesPlugin.getDefault().savePluginPreferences();
-	}
-
-	/**
-	 * Fire a change notification for the given variable.
-	 * 
-	 * @param variable the variable that has changed
-	 */
-	protected void notifyChanged(ValueVariable variable) {
-		if (!fInitializing) {
-			IValueVariable existing = getValueVariable(variable.getName());
-			if (variable.equals(existing)) {
-				// do not do change notification for unregistered variables
-				getNotifier().notify(new IValueVariable[]{variable}, CHANGED);
-			}
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#generateVariableExpression(java.lang.String, java.lang.String)
-	 */
-	public String generateVariableExpression(String varName, String arg) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("${"); //$NON-NLS-1$
-		buffer.append(varName);
-		if (arg != null) {
-			buffer.append(":"); //$NON-NLS-1$
-			buffer.append(arg);
-		}
-		buffer.append("}"); //$NON-NLS-1$
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String, boolean)
-	 */
-	public String performStringSubstitution(String expression,	boolean reportUndefinedVariables) throws CoreException {
-		return new StringSubstitutionEngine().performStringSubstitution(expression, reportUndefinedVariables, true, this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IStringVariableManager#validateStringVariables(java.lang.String)
-	 */
-	public void validateStringVariables(String expression) throws CoreException {
-		new StringSubstitutionEngine().validateStringVariables(expression, this);
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
deleted file mode 100644
index 5ecb45a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableInitializer;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Implementation of a value variable.
- */
-public class ValueVariable extends StringVariable implements IValueVariable {
-	
-	/**
-	 * Variable value or <code>null</code> if none 
-	 */
-	private String fValue;
-	
-	/**
-	 * Whether this variable's value has been initialized
-	 */
-	private boolean fInitialized = false;
-	
-	/**
-	 * Constructs a new value variable with the given name, description, and
-	 * associated configuration element.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 * @param configurationElement configuration element or <code>null</code>
-	 */
-	public ValueVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		fValue = value;
-		setInitialized(true);
-		StringVariableManager.getDefault().notifyChanged(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#getValue()
-	 */
-	public String getValue() {
-		if (!isInitialized()) {
-			initialize();
-		}
-		return fValue;
-	}
-
-	/**
-	 * Initialize this variable's value.
-	 */
-	private void initialize() {
-		if (getConfigurationElement() != null) {
-			// check for a explicit value specified in plug-in XML
-			String value = getConfigurationElement().getAttribute("initialValue"); //$NON-NLS-1$
-			if (value == null) {
-				// check for initializer
-				String className = getConfigurationElement().getAttribute("initializerClass"); //$NON-NLS-1$
-				if (className != null) {
-					try {
-						Object object = getConfigurationElement().createExecutableExtension("initializerClass"); //$NON-NLS-1$
-						if (object instanceof IValueVariableInitializer) {
-							IValueVariableInitializer initializer = (IValueVariableInitializer)object;
-							initializer.initialize(this);
-						} else {
-							VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$
-						}
-					} catch (CoreException e) {
-						VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$
-					}
-				}
-			} else {
-				setValue(value);
-			}
-		}
-		setInitialized(true);
-	}
-
-	/**
-	 * Returns whether this variable has been initialized with a value by one of:
-	 * <ul>
-	 * <li><code>setValue(String)</code></li>
-	 * <li>its configuration element's <code>initialValue</code> attribute</li>
-	 * <li>its configuration element's initializer</li>
-	 * </ul>
-	 * @return whether this variable has been initialized with a value
-	 */	
-	protected boolean isInitialized() {
-		return fInitialized;
-	} 
-	
-	/**
-	 * Sets whether this variable has been initialized with a value.
-	 *  
-	 * @param initialized whether this variable has been initialized
-	 */
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#isContributed()
-	 */
-	public boolean isContributed() {
-		return getConfigurationElement() != null;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
deleted file mode 100644
index 7791efb..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class VariablesMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private VariablesMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
deleted file mode 100644
index 7113d13..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-StringSubstitutionEngine.3=Reference to undefined variable {0}
-StringSubstitutionEngine.4=Variable {0} does not accept arguments
-
-StringVariableManager.26=Variables with the specified names are already registered.
-StringVariableManager.27=Variable named {0} already registered
-
-DynamicVariable.0=Unsupported argument {0} specified for variable {1}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
deleted file mode 100644
index 8ba3182..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A dynamic variable is a variable whose value is computed dynamically
- * by a resolver at the time a string substitution is performed. A dynamic
- * variable is contributed by an extension.
- * <p>
- * The following is a definition of a dynamic variable that resolves to the name of the selected resource:
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
- *    &lt;variable 
- *       name="resource_name"
- *       resolver="com.example.ResourceNameResolver"
- *       description="The name of the selected resource"
- *       supportsArgument="false"&gt;
- *    &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * 
- * @since 3.0
- */
-public interface IDynamicVariable extends IStringVariable {
-
-	/**
-	 * Returns the value of this variable when referenced with the given
-	 * argument, possibly <code>null</code>.
-	 * 
-	 * @param argument argument present in variable expression or <code>null</code>
-	 *   if none
-	 * @return value of this variable when referenced with the given argument, possibly
-	 *   <code>null</code>
-	 * @throws CoreException if unable to resolve a value for this variable
-	 */
-	public String getValue(String argument) throws CoreException;
-	
-	/**
-	 * Returns whether this variable supports an argument, as specified
-	 * by this variable's extension definition in plug-in XML.
-	 * 
-	 * @return whether this variable supports an argument
-	 */
-	public boolean supportsArgument();
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
deleted file mode 100644
index 6187525..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Resolves the value for a dynamic variable. A dynamic variable extension
- * contributes a resolver which must implement this interface.
- * 
- * @since 3.0
- */
-public interface IDynamicVariableResolver {
-
-	/**
-	 * Resolves and returns a value for the specified variable when referenced
-	 * with the given argument, possibly <code>null</code>
-	 *  
-	 * @param variable variable to resolve a value for
-	 * @param argument argument present in expression or <code>null</code> if none
-	 * @return variable value, possibly <code>null</code>
-	 * @throws CoreException if unable to resolve a value for the given variable
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException;
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
deleted file mode 100644
index 69bab0a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via their name, in the following
- * format.
- * <pre>
- * ${varname} or ${varname:argument}
- * </pre>
- * <p>
- * A variable is identified by its name, and optionally accepts an argument. When an
- * argument is present, a colon seperates the variable name from its argument.
- * </p>
- * <p>
- * Variables can be contributed by extensions or programmatically. There are two
- * kinds of variables.
- * <ul>
- * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
- *       accept no arguments. The value of this type of variable is resolved at the time
- *       its value is set via its setter API.</li>
- * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
- * 		a string substitution is performed by a contributed resolver. Dynamic variables
- * 		may accept an argument.</li>
- * </ul>
- * </p>
- * @since 3.0
- */
-public interface IStringVariable {
-
-	/**
-	 * Returns the name of this variable. A variable is uniquely identified by
-	 * its name.
-	 * 
-	 * @return variable name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a human readable description of this variable, possibly <code>null</code>
-	 * 
-	 * @return a description of this variable, or <code>null</code> if none
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
deleted file mode 100644
index 8d0a311..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Registry for string variables.
- * 
- * @since 3.0
- */
-public interface IStringVariableManager {
-
-	/**
-	 * Simple identifier constant (value <code>"dynamicVariables"</code>) for the
-	 * dynamic variables extension point.
-	 */
-	public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"valueVariables"</code>) for the
-	 * value variables extension point.
-	 */
-	public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Returns all registered variables.
-	 * 
-	 * @return a collection of all registered variables
-	 */
-	public IStringVariable[] getVariables();
-	
-	/**
-	 * Returns all registered value variables.
-	 * 
-	 * @return a collection of all registered value variables
-	 */
-	public IValueVariable[] getValueVariables();
-	
-	/**
-	 * Returns the value variable with the given name, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the value variable with the given name, or <code>null</code>
-	 * if none
-	 */
-	public IValueVariable getValueVariable(String name);
-	
-	/**
-	 * Returns all registered dynamic variables.
-	 * 
-	 * @return a collection of all registered dynamic variables
-	 */
-	public IDynamicVariable[] getDynamicVariables();	
-	
-	/**
-	 * Returns the dynamic variable with the given name or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the dynamic variable with the given name or <code>null</code>
-	 * if none
-	 */
-	public IDynamicVariable getDynamicVariable(String name);
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Reports errors for references
-	 * to undefined variables (equivalent to calling
-	 * <code>performStringSubstitution(expression, true)</code>).
-	 * 
-	 * @param expression expression referencing variables
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression) throws CoreException;
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Allows the client to control
-	 * whether references to undefined variables are reported as an error (i.e.
-	 * an exception is thrown).  
-	 * 
-	 * @param expression expression referencing variables
-	 * @param reportUndefinedVariables whether a reference to an undefined variable
-	 *  is to be considered an error (i.e. throw an exception)
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;	
-	
-	/**
-	 * Validates variables references in the given expression and reports errors
-	 * for references to undefined variables.
-	 * 
-	 * @param expression expression referencing variables
-	 * @throws CoreException if one or more referenced variables do not exist
-	 */
-	public void validateStringVariables(String expression) throws CoreException;
-	
-	/**
-	 * Returns a new value variable with the given name and description.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @return a new variable
-	 * @exception CoreException if a variable already exists with the given name
-	 */
-	public IValueVariable newValueVariable(String name, String description);
-	
-	/**
-	 * Adds the given variables to the variable registry.
-	 * 
-	 * @param variables the variables to add
-	 * @throws CoreException if one or more variables to add has a name collision with
-	 *  an existing variable 
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException;
-	
-	/**
-	 * Removes the given variables from the registry. Has no effect for unregistered
-	 * variables.
-	 * 
-	 * @param variables variables to remove
-	 */
-	public void removeVariables(IValueVariable[] variables);
-	
-	/**
-	 * Registers the given listener for value variable notifications. Has no effect
-	 * if an identical listener is already registered.
-	 *   
-	 * @param listener value variable listener to add
-	 */
-	public void addValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Removes the given listener from the list of registered value variable
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener value variable listener to remove
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Convenience method that returns an expression referencing the given
-	 * variable and optional argument. For example, calling the method with
-	 * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
-	 * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
-	 * 
-	 * @param varName variable name
-	 * @param arg argument text or <code>null</code>
-	 * @return an expression referencing the given variable and
-	 *  optional argument
-	 */
-	public String generateVariableExpression(String varName, String arg);
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
deleted file mode 100644
index 4b5ef65..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A variable with a value that can be set and retrieved. The context in which
- * a value variable is referenced does not effect the value of the variable.
- * A value variable can be contributed by an extension or created programmatically.
- * A contributor may optionally specify an initial value for a variable, or
- * provide a delegate that will initialie the variable with a value. 
- * <p>
- * Example of a value variable contribution with an initial value, the specified
- * variable is created with the initial value "/usr/local/foo".
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initialValue="/usr/local/foo"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Example of a value variable contribution with an initializer class, the class
- * "com.example.FooLocator" will be used to initialize the value the first time
- * it's requested.
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initializerClass="com.example.FooLocator"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * 
- * 
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
-	/**
-	 * Sets the value of this variable to the given value. A value of
-	 * <code>null</code> indicates the value of this variable is undefined.
-	 * 
-	 * @param value variable value, possibly <code>null</code>
-	 */
-	public void setValue(String value);
-	
-	/**
-	 * Returns the value of this variable, or <code>null</code> if none.
-	 * 
-	 * @return the value of this variable, or <code>null</code> if none
-	 */
-	public String getValue();
-	
-	/**
-	 * Returns whether this variable was contributed by an extension.
-	 * 
-	 * @return whether this variable was contributed by an extension
-	 */
-	public boolean isContributed();
-	
-	/**
-	 * Sets the description of this variable to the given value.
-	 * 
-	 * @param description variable description, possibly <code>null</code>
-	 */
-	public void setDescription(String description);	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
deleted file mode 100644
index 16cc8fe..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * Value variable initializers compute an initial value for a value
- * variable contributed by an extension, which is not defined with an initial
- * value. This provides a mechnism for programatically computing the initial
- * value of a value variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableInitializer {
-	/**
-	 * Initializes the specified variable. 
-	 * 
-	 * @param variable variable to initialize
-	 */
-	public void initialize(IValueVariable variable);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
deleted file mode 100644
index 46a2493..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A string variable listener is notified of variables as they are added
- * and removed from the string variable manager. As well, listeners are
- * notified when a value variable changes value.
- * 
- * @since 3.0
- */
-public interface IValueVariableListener {
-	
-	/**
-	 * Notification the given variables have been added to the variable
-	 * manager.
-	 * 
-	 * @param variables added variables
-	 */
-	public void variablesAdded(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been removed from the variable
-	 * manager.
-	 * 
-	 * @param variables removed variables
-	 */
-	public void variablesRemoved(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been changed value.
-	 * 
-	 * @param variables changed variables
-	 */
-	public void variablesChanged(IValueVariable[] variables);
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
deleted file mode 100644
index 0d88094..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.variables;
-
-import org.eclipse.core.internal.variables.StringVariableManager;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The plug-in runtime class for the Core Variables plug-in.
- * @since 3.0
- */
-public class VariablesPlugin extends Plugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * Status code indicating a variable reference cycle error.
-	 */
-	public static final int REFERENCE_CYCLE_ERROR = 130;
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static VariablesPlugin plugin;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>)
-	 * for the Core Variables plug-in.
-	 */
-	public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
-
-
-	/** 
-	 * Constructs an instance of this plug-in runtime class.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by the Variables plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public VariablesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static VariablesPlugin getDefault() {
-		return plugin;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_CORE_VARIABLES;
-	}
-	
-	/**
-	 * Returns the string variable manager.
-	 * 
-	 * @return the string variable manager
-	 */
-	public IStringVariableManager getStringVariableManager() {
-		return StringVariableManager.getDefault();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
deleted file mode 100644
index 0d27de0..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for defining and contributing variables for the purpose of 
-  string substitution.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support the definition and 
-  contribution of variables for the purpose of string substitution. The plug-in 
-  supports the recursive replacement of variables referenced by name in arbitrary 
-  strings with the value of the variable. Two types of variables are provided 
-  - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). 
-  A value variable has a simple setter and getter for its current value. A dynamic 
-  variable has an associated resolver that provides a variable's value each time 
-  it is referenced (replaced) in a string substitution. A dynamic variable may 
-  also provide an argument in its reference that can be used by its resolver to 
-  determine its substitution value.</p>
-<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage 
-  the set of defined variables. Value variables may be created via API on the 
-  variable manager, or contributed via the <code>valueVariables</code> extension 
-  point. Dynamic variables must be contributed via the <code>dynamicVariables</code> 
-  extension point. The variable manager also provides change notification for 
-  value variables. The variable manager also provides an API for performing string 
-  substitution, which accepts a string, and returns a string with all variable 
-  references replaced by associated variable values.</p>
-<p>Variables are referenced in strings by enclosing them in braces, preceded with 
-  a dollar sign. For example, consider a variable defined with the name <code>foo</code>, 
-  and referenced in the following string: <code>&quot;abc${foo}ghi&quot;</code>. 
-  If the value of <code>foo</code> is <code>&quot;def&quot;</code>, the result 
-  of a string substitution would be <code>&quot;abcdefghi&quot;</code>. In the 
-  case of a dynamic variable, an (optional) argument is supplied by appending 
-  a colon and argument value after the variable name. For example <code>&quot;${foo:bar}&quot;</code>. 
-  In this case, the resolver associated with <code>foo</code> would be provided 
-  with the referenced argument (<code>bar</code>) when asked to resolve a value 
-  for the variable <code>foo</code>. </p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/.classpath b/org.eclipse.ui.console/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.ui.console/.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.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ui.console/.cvsignore b/org.eclipse.ui.console/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.ui.console/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.ui.console/.options b/org.eclipse.ui.console/.options
deleted file mode 100644
index d7752ad..0000000
--- a/org.eclipse.ui.console/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.console plugin.
diff --git a/org.eclipse.ui.console/.project b/org.eclipse.ui.console/.project
deleted file mode 100644
index aa92a70..0000000
--- a/org.eclipse.ui.console/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.console</name>
-	<comment></comment>
-	<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.ui.console/about.html b/org.eclipse.ui.console/about.html
deleted file mode 100644
index 6b68e18..0000000
--- a/org.eclipse.ui.console/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>8th September, 2003</p>	
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.console/build.properties b/org.eclipse.ui.console/build.properties
deleted file mode 100644
index d166e58..0000000
--- a/org.eclipse.ui.console/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-			   .options,\
-			   plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-
-source.console.jar src/
-src.includes=about.html
diff --git a/org.eclipse.ui.console/hglegal2003.htm b/org.eclipse.ui.console/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.ui.console/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index 6bc10f9..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/pin.gif b/org.eclipse.ui.console/icons/full/clcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/cview16/console_view.gif b/org.eclipse.ui.console/icons/full/cview16/console_view.gif
deleted file mode 100644
index a598f60..0000000
--- a/org.eclipse.ui.console/icons/full/cview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index 9ff6416..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif b/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
deleted file mode 100644
index 61615d5..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index 6bc10f9..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/pin.gif b/org.eclipse.ui.console/icons/full/elcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/eview16/console_view.gif b/org.eclipse.ui.console/icons/full/eview16/console_view.gif
deleted file mode 100644
index a598f60..0000000
--- a/org.eclipse.ui.console/icons/full/eview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/ngibmcpy2003.gif b/org.eclipse.ui.console/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.ui.console/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/plugin.properties b/org.eclipse.ui.console/plugin.properties
deleted file mode 100644
index 5470175..0000000
--- a/org.eclipse.ui.console/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Console
-providerName=Eclipse.org
-ConsoleView.name=Console
-
-ViewCommand.consoleView.name=Console
-ViewCommand.consoleView.description=Show the Console view
-
-ConsoleFontDefinition.description= The console text font is used by the generic console
-ConsoleFontDefinition.label= Console Text Font
diff --git a/org.eclipse.ui.console/plugin.xml b/org.eclipse.ui.console/plugin.xml
deleted file mode 100644
index 9fdfc65..0000000
--- a/org.eclipse.ui.console/plugin.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.console"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.console.ConsolePlugin">
-
-   <runtime>
-      <library name="console.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%ConsoleView.name"
-            icon="icons/full/cview16/console_view.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.internal.console.ConsoleView"
-            id="org.eclipse.ui.console.ConsoleView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.consoleView.name"
-            description="%ViewCommand.consoleView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.console.ConsoleView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.console.ConsoleView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-    <extension
-         point="org.eclipse.ui.themes">
-      <fontDefinition
-            label="%ConsoleFontDefinition.label"
-            defaultsTo="org.eclipse.jface.textfont"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.ui.console.ConsoleFont">
-         <description>
-            %ConsoleFontDefinition.description
-         </description>
-      </fontDefinition>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.ui.console/scripts/exportplugin.xml b/org.eclipse.ui.console/scripts/exportplugin.xml
deleted file mode 100644
index af246f1..0000000
--- a/org.eclipse.ui.console/scripts/exportplugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ui.console Eclipse plugin
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export ui.console" default="export" basedir="..">
-
-	<!-- Set the timestamp and important properties -->
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="dest"  value="${destdir}/org.eclipse.ui.console_3.0.0" />
-	</target>
-
-	<!-- Create the jar of .class files, and copy other important files to export dir -->
-	<target name="export" depends="init">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar 
-			jarfile="${dest}/console.jar"
-			basedir="bin"
-		/>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/consolesrc.zip">
-			<fileset dir="src"/>
-		</zip>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>
-	</target>
-	
-</project>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
deleted file mode 100644
index 6f80f0b..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-
-/**
- * Common function for consoles.
- * <p>
- * Clients implementing consoles should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractConsole implements IConsole {
-	
-	// property listeners
-	private ListenerList fListeners;
-	
-	/**
-	 * Console name
-	 */
-	private String fName = null;
-	
-	/**
-	 * Console image descriptor
-	 */
-	private ImageDescriptor fImageDescriptor = null;
-	
-	/**
-	 * Used to notify this console of lifecycle methods <code>init()</code>
-	 * and <code>dispose()</code>.
-	 */
-	class Lifecycle implements IConsoleListener {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
-		 */
-		public void consolesAdded(IConsole[] consoles) {
-			for (int i = 0; i < consoles.length; i++) {
-				IConsole console = consoles[i];
-				if (console == AbstractConsole.this) {
-					init();
-				}
-			}
-
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
-		 */
-		public void consolesRemoved(IConsole[] consoles) {
-			for (int i = 0; i < consoles.length; i++) {
-				IConsole console = consoles[i];
-				if (console == AbstractConsole.this) {
-					ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-					dispose();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Notifies listeners of property changes, handling any exceptions
-	 */
-	class PropertyNotifier implements ISafeRunnable {
-		
-		private IPropertyChangeListener fListener;
-		private PropertyChangeEvent fEvent;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, ConsoleMessages.getString("AbstractConsole.0"), exception); //$NON-NLS-1$
-			ConsolePlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.propertyChange(fEvent);
-		}
-
-		/**
-		 * Notifies listeners of the property change
-		 * 
-		 * @param event the event that describes the property that has changed
-		 */
-		public void notify(PropertyChangeEvent event) {
-			if (fListeners == null) {
-				return;
-			}
-			fEvent = event;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IPropertyChangeListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fListener = null;			
-		}
-	}		
-	
-	/**
-	 * Constructs a new console with the given name and image.
-	 * 
-	 * @param name console name, cannot be <code>null</code>
-	 * @param imageDescriptor image descriptor, or <code>null</code> if none
-	 */
-	public AbstractConsole(String name, ImageDescriptor imageDescriptor) {
-		setName(name);
-		setImageDescriptor(imageDescriptor);
-		ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(new Lifecycle());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/**
-	 * Sets the name of this console to the specified value and notifies
-	 * property listeners of the change.
-	 * 
-	 * @param name the new name
-	 */
-	protected void setName(String name) {
-		String old = fName;
-		fName = name;
-		firePropertyChange(this, IBasicPropertyConstants.P_TEXT, old, name);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return fImageDescriptor;
-	}
-	
-	/**
-	 * Sets the image descriptor for this console to the specified value and notifies
-	 * property listeners of the change.
-	 * 
-	 * @param imageDescriptor the new image descriptor
-	 */
-	protected void setImageDescriptor(ImageDescriptor imageDescriptor) {
-		ImageDescriptor old = fImageDescriptor;
-		fImageDescriptor =imageDescriptor;
-		firePropertyChange(this, IBasicPropertyConstants.P_IMAGE, old, imageDescriptor);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList();
-		}
-		fListeners.add(listener);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		if (fListeners != null) {
-			fListeners.remove(listener);
-		}
-	}
-
-	/**
-	 * Notify all listeners that the given property has changed.
-	 * 
-	 * @param source the object on which a property has changed 
-	 * @param property identifier of the property that has changed
-	 * @param oldValue the old value of the property, or <code>null</code>
-	 * @param newValue the new value of the property, or <code>null</code>
-	 */
-	public void firePropertyChange(Object source, String property, Object oldValue, Object newValue) {
-		if (fListeners == null) {
-			return;
-		}
-		PropertyNotifier notifier = new PropertyNotifier();
-		notifier.notify(new PropertyChangeEvent(source, property, oldValue, newValue));
-	}
-	
-	/**
-	 * Called when this console is added to the console manager. Default
-	 * implementation does nothing. Subclasses may override.
-	 */
-	protected void init() {
-	}
-	
-	/**
-	 * Called when this console is removed from the console manager. Default
-	 * implementation does nothing. Subclasses may override.
-	 */
-	protected void dispose() {
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
deleted file mode 100644
index 5446acf..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.console.ConsoleManager;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The console plug-in class.
- * 
- * @since 3.0
- */
-
-public class ConsolePlugin extends AbstractUIPlugin {
-	
-	/**
-	 * Singleton console manager
-	 */
-	private IConsoleManager fConsoleManager = null;
-
-	/**
-	 * The singleton console plugin instance
-	 */
-	private static ConsolePlugin fgPlugin= null;
-	
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.ui.console"</code>)
-	 * for the UI Console plug-in.
-	 */
-	private static final String PI_UI_CONSOLE = "org.eclipse.ui.console"; //$NON-NLS-1$
-		
-	/**
-	 * Returns the singleton instance of the console plugin.
-	 */
-	public static ConsolePlugin getDefault() {
-		return fgPlugin;
-	}
-
-	public ConsolePlugin() {
-		super();
-		fgPlugin = this;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_UI_CONSOLE;
-	}
-
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(newErrorStatus("Error logged from Console plug-in: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a new error status for this plugin with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, message, exception);
-	}
-	
-	/**
-	 * Returns the console manager. The manager will be created lazily on 
-	 * the first access.
-	 * 
-	 * @return IConsoleManager
-	 */
-	public IConsoleManager getConsoleManager() {
-		if (fConsoleManager == null) {
-			fConsoleManager = new ConsoleManager();
-		}
-		return fConsoleManager;
-	}
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display= Display.getCurrent();
-		if (display == null) {
-			display= Display.getDefault();
-		}
-		return display;		
-	}
-	
-	/**
-	 * Utility method with conventions
-	 */
-	public static void errorDialog(Shell shell, String title, String message, Throwable t) {
-		IStatus status;
-		if (t instanceof CoreException) {
-			status= ((CoreException)t).getStatus();
-			// if the 'message' resource string and the IStatus' message are the same,
-			// don't show both in the dialog
-			if (status != null && message.equals(status.getMessage())) {
-				message= null;
-			}
-		} else {
-			status= new Status(IStatus.ERROR, getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, "Error within Debug UI: ", t); //$NON-NLS-1$
-			log(status);	
-		}
-		ErrorDialog.openError(shell, title, message, status);
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
deleted file mode 100644
index 935399e..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A logical console. A console is commonly used to display messages. For example,
- * a console may display the output streams of a system process. A console can be
- * displayed by one or more views.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsole {
-		
-	/**
-	 * Returns the name of this console.
-	 * 
-	 * @return the name of this console
-	 */
-	public String getName();
-	
-	/**
-	 * Returns an image descriptor for this console, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return an image descriptor for this console, or <code>null</code>
-	 *  if none
-	 */
-	public ImageDescriptor getImageDescriptor();
-		
-	/**
-	 * Creates and returns a new page for this console. The page is displayed
-	 * for this console in the console given view.
-	 * 
-	 * @param view the view in which the page is to be created
-	 * @return a page book view page representation of this console
-	 */
-	public IPageBookViewPage createPage(IConsoleView view);
-	
-	/**
-	 * Adds a listener for changes to properties of this console.
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * The changes supported by the console view are as follows:
-	 * <ul>
-	 *   <li><code>IBasicPropertyConstants.P_TEXT</code> - indicates the name
-	 *      of a console has changed</li>
-	 * 	 <li><code>IBasicPropertyConstants.P_IMAGE</code> - indicates the image
-	 *      of a console has changed</li>
-	 * </ul>
-	 * </p>
-	 * <p>
-	 * Clients may define additional properties as required.
-	 * </p>
-	 *
-	 * @param listener a property change listener
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener);
-	
-	/**
-	 * Removes the given property listener from this console page.
-	 * Has no effect if an identical listener is not alread registered.
-	 * 
-	 * @param listener a property listener
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener);	
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
deleted file mode 100644
index 5bd8bf8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-/**
- * Constants relating to the console plug-in.
- * 
- * @since 3.0
- */
-public interface IConsoleConstants {
-	
-	/**
-	 * Console plug-in identifier (value <code>"org.eclipse.ui.console"</code>).
-	 */
-	public static final String PLUGIN_ID = ConsolePlugin.getUniqueIdentifier();
-	
-	/**
-	 * Console view identifier (value <code>"org.eclipse.ui.console.ConsoleView"</code>).
-	 */
-	public static final String ID_CONSOLE_VIEW= "org.eclipse.ui.console.ConsoleView"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the font to use for the Console (value <code>"org.eclipse.ui.console.ConsoleFont"</code>).
-	 */ 
-	public static final String CONSOLE_FONT= "org.eclipse.ui.console.ConsoleFont"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a launch group in a menu (value <code>"launchGroup"</code>).
-	 */
-	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-
-	/**
-	 * Identifier for an output group in a menu (value
-	 * <code>"outputGroup"</code>).
-	 */
-	public static final String OUTPUT_GROUP = "outputGroup"; //$NON-NLS-1$	
-		
-	/** 
-	 * Console view image identifier
-	 */
-	public static final String IMG_VIEW_CONSOLE= "IMG_VIEW_CONSOLE"; //$NON-NLS-1$
-	
-	/** 
-	 * Clear action image identifier. 
-	 */
-	public static final String IMG_LCL_CLEAR= "IMG_LCL_CLEAR"; //$NON-NLS-1$
-		
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
deleted file mode 100644
index 7d22c8a..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A console listener is notified when consoles are added or removed from
- * the console manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleListener {
-	
-	/**
-	 * Notification the given consoles have been added to the console
-	 * manager.
-	 * 
-	 * @param consoles added consoles
-	 */
-	public void consolesAdded(IConsole[] consoles);
-	
-	/**
-	 * Notification the given consoles have been removed from the
-	 * console manager.
-	 * 
-	 * @param consoles removed consoles
-	 */
-	public void consolesRemoved(IConsole[] consoles);
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
deleted file mode 100644
index db3234e..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * Manages consoles.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0 
- */
-public interface IConsoleManager {
-	
-	/**
-	 * Registers the given listener for console notifications. Has
-	 * no effect if an identical listener is already registered.
-	 * 
-	 * @param listener listener to register
-	 */
-	public void addConsoleListener(IConsoleListener listener);
-	
-	/**
-	 * Deregisters the given listener for console notifications. Has
-	 * no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener listener to deregister
-	 */
-	public void removeConsoleListener(IConsoleListener listener);
-
-	/**
-	 * Adds the given consoles to the console manager. Has no effect for
-	 * equivalent consoles already registered. The consoles will be added
-	 * to any existing console views.
-	 * 
-	 * @param consoles consoles to add
-	 */
-	public void addConsoles(IConsole[] consoles);
-	
-	/**
-	 * Removes the given consoles from the console manager. If the consoles are
-	 * being displayed in any console views, the associated pages will be closed.
-	 * 
-	 * @param consoles consoles to remove
-	 */
-	public void removeConsoles(IConsole[] consoles);
-	
-	/**
-	 * Returns a collection of consoles registered with the console manager.
-	 * 
-	 * @return a collection of consoles registered with the console manager
-	 */
-	public IConsole[] getConsoles();
-	
-	/**
-	 * Opens the console view and displays given the console.
-	 * If the view is already open, it is brought to the front unless
-	 * the view is pinned on a console other than the given console.
-	 * 
-	 * @param console console to display
-	 */
-	public void showConsoleView(IConsole console);
-	
-	/**
-	 * Warns that the content of the given console has changed in
-	 * all console views.
-	 * 
-	 * @param console the console that has changed
-	 */
-	public void warnOfContentChange(IConsole console);
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
deleted file mode 100644
index f3fc4da..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.ui.IViewPart;
-
-/**
- * A view that displays consoles registered with the console manager.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleView extends IViewPart {
-	
-	/**
-	 * Displays the page for the given console in this console view.
-	 * Has no effect if this console view has a pinned console. 
-	 *  
-	 * @param console console to display, cannot be <code>null</code>
-	 */
-	public void display(IConsole console);
-	
-	/**
-	 * Displays and pins the given console in this console view. No
-	 * other console can be displayed until this console view is
-	 * un-pinned. Specifying <code>null</code> un-pins this console
-	 *  
-	 * @param console console to pin, or <code>null</code> to un-pin
-	 */
-	public void pin(IConsole console);
-	
-	/**
-	 * Returns whether this console view is currently pinned to a
-	 * specific console.
-	 * 
-	 * @return whether this console view is currently pinned to a
-	 *  specific console
-	 */
-	public boolean isPinned();
-	
-	/**
-	 * Returns the console currently being displayed, or <code>null</code>
-	 * if none
-	 * 
-	 * @return the console currently being displayed, or <code>null</code>
-	 *  if none
-	 */
-	public IConsole getConsole();
-	
-	/**
-	 * Warns that the content of the given console has changed.
-	 * 
-	 * @param console the console that has changed
-	 */
-	public void warnOfContentChange(IConsole console);	
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
deleted file mode 100644
index 2f2d513..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.ui.internal.console.MessageConsolePage;
-import org.eclipse.ui.internal.console.MessageConsolePartitioner;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console that displays messages. A message console may have one or
- * more streams connected to it (<code>MessageConsoleStream</code>).
- * Text written to streams is buffered and processed in a background
- * thread.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- */
-public class MessageConsole extends AbstractConsole {
-	
-	/** 
-	 * The font used by this console
-	 */
-	private Font fFont = null;
-	
-	/**
-	 * Property constant indicating the font of this console has changed. 
-	 */
-	public static final String P_FONT = ConsolePlugin.getUniqueIdentifier() + ".P_FONT"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating the color of a stream has changed. 
-	 */
-	public static final String P_STREAM_COLOR = ConsolePlugin.getUniqueIdentifier()  + ".P_STREAM_COLOR";	 //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating tab size has changed 
-	 */
-	public static final String P_TAB_SIZE = ConsolePlugin.getUniqueIdentifier()  + ".P_TAB_SIZE";	 //$NON-NLS-1$
-	
-	/**
-	 * The default tab size
-	 */
-	public static final int DEFAULT_TAB_SIZE = 8;
-	
-	// document partitioner
-	private MessageConsolePartitioner fPartitioner = null;
-
-	// current tab size
-	private int tabWidth = DEFAULT_TAB_SIZE;
-
-
-	/** 
-	 * Constructs a new message console.
-	 * 
-	 * @param name console name
-	 * @param imageDescriptor console image descriptor or <code>null</code>
-	 *   if none
-	 */
-	public MessageConsole(String name, ImageDescriptor imageDescriptor) {
-		super(name, imageDescriptor);
-		fPartitioner = new MessageConsolePartitioner();
-	}
-	
-	/**
-	 * Returns the maximum number of characters that the console will display at
-	 * once. This is analagous to the size of the text buffer this console
-	 * maintains.
-	 * 
-	 * @return the maximum number of characters that the console will display
-	 */
-	public int getHighWaterMark() {
-		return fPartitioner.getHighWaterMark();
-	}
-
-	/**
-	 * Sets the text buffer size for this console. The high water mark indicates
-	 * the maximum number of characters stored in the buffer. The low water mark
-	 * indicates the number of characters remaining in the buffer when the high
-	 * water mark is exceeded.
-	 * 
-	 * @param low the number of characters remaining in the buffer when the high
-	 *  water mark is exceeded
-	 * @param high the maximum number of characters this console will cache in
-	 *  its text buffer
-	 * @exception IllegalArgumentException if low >= high
-	 */
-	public void setWaterMarks(int low, int high) {
-		fPartitioner.setWaterMarks(low, high);
-	}
-		
-	/**
-	 * Returns the number of characters that will remain in this console
-	 * when its high water mark is exceeded.
-	 *  
-	 * @return the number of characters that will remain in this console
-	 *  when its high water mark is exceeded
-	 */
-	public int getLowWaterMark() {
-		return fPartitioner.getLowWaterMark();
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.AbstractConsole#dispose()
-	 */
-	protected void dispose() {
-		fPartitioner.disconnect();
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
-	 */
-	public IPageBookViewPage createPage(IConsoleView view) {
-		return new MessageConsolePage(view, this);
-	}
-	
-	/**
-	 * Sets the font used by this console
-	 * 
-	 * @param font font
-	 */
-	public void setFont(Font font) {
-		Font old = fFont;
-		fFont = font;
-		firePropertyChange(this, P_FONT, old, font);
-	}
-	
-	/**
-	 * Returns the font for this console
-	 * 
-	 * @return font for this console
-	 */
-	public Font getFont() {
-		if (fFont == null) {
-			return JFaceResources.getTextFont();
-		} 
-		return fFont;
-	}
-	
-	/**
-	 * Returns a new message stream connected to this console.
-	 * 
-	 * @return a new message stream connected to this console
-	 */
-	public MessageConsoleStream newMessageStream() {
-		return new MessageConsoleStream(this);
-	}
-	
-	/** 
-	 * Appends the given message to this console, from the specified stream.
-	 * 
-	 * @param text message
-	 * @param stream stream the message belongs to
-	 */
-	protected synchronized void appendToDocument(String text, MessageConsoleStream stream) {
-		fPartitioner.appendToDocument(text, stream);
-	}
-
-	/**
-	 * Returns the document this console writes to.
-	 * 
-	 * @return the document this console wites to
-	 */
-	public IDocument getDocument() {
-		return fPartitioner.getDocument();
-	}
-	
-	/**
-	 * Sets the tab width.
-	 * @param tabSize The tab width 
-	 */
-	public void setTabWidth(int tabWidth) {
-		int old = this.tabWidth;
-		this.tabWidth = tabWidth;
-		firePropertyChange(this, P_TAB_SIZE, new Integer(old), new Integer(tabWidth));
-	}
-	
-	/**
-	 * Returns the tab width.
-	 * @return tab width
-	 */
-	public int getTabWidth() {
-		return tabWidth;
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
deleted file mode 100644
index 6906c3d..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Used to write messages to a message console. A message console may have more
- * than one stream connected to it. Each stream may be displayed in a different
- * color.
- * 
- * @since 3.0
- */
-public class MessageConsoleStream {
-	
-	private MessageConsole fConsole = null;
-	
-	private Color fColor = null;
-	
-	/**
-	 * Constructs a new stream connected to the given console.
-	 * 
-	 * @param console the console to write messages to
-	 */
-	public MessageConsoleStream(MessageConsole console) {
-		fConsole = console;
-	}
-	
-	/**
-	 * Appends the specified message to this stream.
-	 * 
-	 * @param message message to append
-	 */
-	public void print(String message) {
-		fConsole.appendToDocument(message, this);
-	}
-	
-	
-	/**
-	 * Appends a line separator string to this stream.
-	 */
-	public void println() {
-		print("\n"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Appends the specified message to this stream, followed by a line
-	 * separator string.
-	 * 
-	 * @param message message to print
-	 */
-	public void println(String message) {
-		print(message);
-		println();
-	}	
-	
-	/**
-	 * Sets the color of this message stream
-	 * 
-	 * @param color color of this message stream, possibly <code>null</code>
-	 */
-	public void setColor(Color color) {
-		Color old = fColor;
-		fColor = color;
-		fConsole.firePropertyChange(this, MessageConsole.P_STREAM_COLOR, old, color);
-	}
-	
-	/**
-	 * Returns the color of this message stream, or <code>null</code>
-	 * if default.
-	 * 
-	 * @return the color of this message stream, or <code>null</code>
-	 */
-	public Color getColor() {
-		return fColor;
-	}
-	
-	/**
-	 * Returns the console this stream is connected to.
-	 * 
-	 * @return the console this stream is connected to
-	 */
-	public MessageConsole getConsole() {
-		return fConsole;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
deleted file mode 100644
index b90a3d3..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.ConsolePluginImages;
-import org.eclipse.ui.internal.console.IConsoleHelpContextIds;
-import org.eclipse.ui.internal.console.IInternalConsoleConstants;
-
-/**
- * Clears the output in a text console.
- * <p>
- * Clients may instantiate this class; this class is not intended to 
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ClearOutputAction extends Action {
-
-	private ITextViewer fViewer;
-
-	public ClearOutputAction(ITextViewer viewer) {
-		super(ConsoleMessages.getString("ClearOutputAction.title")); //$NON-NLS-1$
-		fViewer= viewer;
-		setToolTipText(ConsoleMessages.getString("ClearOutputAction.toolTipText")); //$NON-NLS-1$
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_LCL_CLEAR));		
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_CLEAR));
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_CLEAR));
-		WorkbenchHelp.setHelp(this, IConsoleHelpContextIds.CLEAR_CONSOLE_ACTION);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(ConsolePlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				IDocument document = fViewer.getDocument();
-				if (document != null) {
-					document.set(""); //$NON-NLS-1$
-				}
-				fViewer.setSelectedRange(0, 0);
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
deleted file mode 100644
index ee3639a..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Common function for actions that operate on a text viewer.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- */
-public class TextViewerAction extends Action implements IUpdate {
-
-	private int fOperationCode= -1;
-	private ITextOperationTarget fOperationTarget;
-
-	/**
-	 * Constructs a new action in the given text viewer with
-	 * the specified operation code.
-	 * 
-	 * @param viewer
-	 * @param operationCode
-	 */
-	public TextViewerAction(ITextViewer viewer, int operationCode) {
-		fOperationCode= operationCode;
-		fOperationTarget= viewer.getTextOperationTarget();
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 * 
-	 * Updates the enabled state of the action.
-	 * Fires a property change if the enabled state changes.
-	 * 
-	 * @see org.eclipse.jface.action.Action#firePropertyChange(String, Object, Object)
-	 */
-	public void update() {
-
-		boolean wasEnabled= isEnabled();
-		boolean isEnabled= (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));
-		setEnabled(isEnabled);
-
-		if (wasEnabled != isEnabled) {
-			firePropertyChange(ENABLED, wasEnabled ? Boolean.TRUE : Boolean.FALSE, isEnabled ? Boolean.TRUE : Boolean.FALSE);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (fOperationCode != -1 && fOperationTarget != null) {
-			fOperationTarget.doOperation(fOperationCode);
-		}
-	}
-	
-	/**
-	 * Configures this action with a label, tool tip, and description.
-	 * 
-	 * @param text action label
-	 * @param toolTipText action tool tip
-	 * @param description action description
-	 */
-	public void configureAction(String text, String toolTipText, String description) {
-		setText(text);
-		setToolTipText(toolTipText);
-		setDescription(description);
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
deleted file mode 100644
index ea740b8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-
-/**
- * Action to position a text viewer to a specific line.
- * <p>
- * Clients may instantiate this class; this class is not intended to 
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class TextViewerGotoLineAction extends TextViewerAction {
-
-	/**
-	 * Validates whether the text found in the input field of the
-	 * dialog forms a valid line number, i.e. one to which can be 
-	 * jumped.
-	 */
-	class NumberValidator implements IInputValidator {
-
-		public String isValid(String input) {
-			try {
-				int i= Integer.parseInt(input);
-				if (i <= 0 || fLastLine < i)
-					return ConsoleMessages.getString("TextViewerGotoLineAction.Line_number_out_of_range_1"); //$NON-NLS-1$
-
-			} catch (NumberFormatException x) {
-				return ConsoleMessages.getString("TextViewerGotoLineAction.Not_a_number_2"); //$NON-NLS-1$
-			}
-
-			return null;
-		}
-	}
-
-	protected int fLastLine;
-	protected ITextViewer fTextViewer;
-	
-	/**
-	 * Constructs a goto line action for the viewer using the provided resource bundle
-	 */
-	public TextViewerGotoLineAction(ITextViewer viewer) {
-		super(viewer, -1);
-		fTextViewer= viewer;
-		setText(ConsoleMessages.getString("TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4")); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1")); //$NON-NLS-1$
-		setDescription(ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"));		 //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see TextViewerAction#update()
-	 */
-	public void update() {
-	}
-
-	/**
-	 * Jumps to the line.
-	 */
-	protected void gotoLine(int line) {
-
-		IDocument document= fTextViewer.getDocument();
-		try {
-			int start= document.getLineOffset(line);
-			int length= document.getLineLength(line);
-			fTextViewer.getTextWidget().setSelection(start, start + length);
-			fTextViewer.revealRange(start, length);
-		} catch (BadLocationException x) {
-			ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		try {
-			Point selection= fTextViewer.getTextWidget().getSelection();
-			IDocument document= fTextViewer.getDocument();
-			fLastLine= document.getLineOfOffset(document.getLength()) + 1;
-			int startLine= selection == null ? 1 : fTextViewer.getTextWidget().getLineAtOffset(selection.x) + 1;
-			String title= ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"); //$NON-NLS-1$
-			String message= MessageFormat.format(ConsoleMessages.getString("TextViewerGotoLineAction.Enter_line_number__8"), new Object[] {new Integer(fLastLine)}); //$NON-NLS-1$
-			String value= Integer.toString(startLine);
-			Shell activeShell= fTextViewer.getTextWidget().getShell();
-			InputDialog d= new InputDialog(activeShell, title, message, value, new NumberValidator());
-			if (d.open() == Window.OK) {
-				try {
-					int line= Integer.parseInt(d.getValue());
-					gotoLine(line - 1);
-				} catch (NumberFormatException x) {
-					ConsolePlugin.errorDialog(activeShell, ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		} catch (BadLocationException x) {
-			ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
deleted file mode 100644
index cfb538c..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Console Actions</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left"> Application programming interfaces for Eclipse console specific
-  actions.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set of actions related to the Eclipse console.</p>
-<p>Clients are allowed to instantiate classes from this package. The classes are 
-  not intended to be subclassed.</p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html b/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
deleted file mode 100644
index 95aa4ac..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Console</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Application programming interfaces for interaction
-with the Eclipse console.</p>
-
-<h2>Package Specification</h2>
-
-<p>The Eclipse platform UI console plug-in provides a set of classes and interfaces to
-support a generic console. This package contains a generic abstract console that provides the common functionality
-for consoles. Clients implementing consoles should subclass this <b>AbstractConsole</b>.</p>
-<p>The classes <b>MessageConsole</b> and <b>MessageConsoleStream</b> provide an 
-  implementation of a message console and message console stream that enables 
-  logging of messages to a console.</p>
-<p>A console manager (<b>IConsoleManager</b>) manages all active consoles, and 
-  provides notification of consoles which are added and removed. Consoles are 
-  displayed in a page book view. Each console implementation is reponsible for 
-  creating its page (<b>IPageBookView</b>), which provides freedom of presentation 
-  to the console implementation. A single console may be displayed simultaneously 
-  in multiple console views, in different workbench windows.</p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
deleted file mode 100644
index 3999a02..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Drop down action in the console to select the console to display.
- */
-class ConsoleDropDownAction extends Action implements IMenuCreator, IConsoleListener, IUpdate {
-
-	private IConsoleView fView;
-	private Menu fMenu;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		IConsole[] consoles = ConsolePlugin.getDefault().getConsoleManager().getConsoles();
-		setEnabled(consoles.length > 1);
-	}
-
-	public ConsoleDropDownAction(IConsoleView view) {
-		fView= view;
-		setText(ConsoleMessages.getString("ConsoleDropDownAction.0")); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("ConsoleDropDownAction.1")); //$NON-NLS-1$
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_VIEW_CONSOLE));
-		setMenuCreator(this);
-		ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this);
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		
-		fView= null;
-		ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		
-		fMenu= new Menu(parent);
-		IConsole[] consoles= ConsolePlugin.getDefault().getConsoleManager().getConsoles();
-		IConsole current = fView.getConsole();
-		for (int i = 0; i < consoles.length; i++) {
-			IConsole console = consoles[i];
-			Action action = new ShowConsoleAction(fView, console);  
-			action.setChecked(console.equals(current));
-			addActionToMenu(fMenu, action);
-		}
-		return fMenu;
-	}
-	
-	protected void addActionToMenu(Menu parent, Action action) {
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	protected void addMenuSeparator() {
-		new MenuItem(fMenu, SWT.SEPARATOR);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		List stack = ((ConsoleView)fView).getConsoleStack();
-		if (stack.size() > 1) {
-			IConsole console = (IConsole) stack.get(1);
-			fView.display(console);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesAdded(IConsole[] consoles) {
-		Display display = ConsolePlugin.getStandardDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				update();
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * 
-	 * Dispose the menu when a launch is removed, such that the actions in this
-	 * menu do not hang on to associated resources.
-	 * 
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesRemoved(IConsole[] consoles) {
-		Display display = ConsolePlugin.getStandardDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (fMenu != null) {
-					fMenu.dispose();
-				}
-				update();
-			}
-		});
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
deleted file mode 100644
index 4f4bdba..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsoleView;
-
-/**
- * The singleton console manager.
- * 
- * @since 3.0
- */
-public class ConsoleManager implements IConsoleManager {
-	
-	/**
-	 * Console listeners
-	 */
-	private ListenerList fListeners = null;
-	
-	/**
-	 * List of registered consoles
-	 */
-	private List fConsoles = new ArrayList(10); 
-	
-	// change notification constants
-	private final static int ADDED = 1;
-	private final static int REMOVED = 2;
-	
-	/**
-	 * Notifies a console listener of additions or removals
-	 */
-	class ConsoleNotifier implements ISafeRunnable {
-		
-		private IConsoleListener fListener;
-		private int fType;
-		private IConsole[] fChanged;
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, ConsoleMessages.getString("ConsoleManager.0"), exception); //$NON-NLS-1$
-			ConsolePlugin.log(status);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.consolesAdded(fChanged);
-					break;
-				case REMOVED:
-					fListener.consolesRemoved(fChanged);
-					break;
-			}
-		}
-
-		/**
-		 * Notifies the given listener of the adds/removes
-		 * 
-		 * @param consoles the consoles that changed
-		 * @param update the type of change
-		 */
-		public void notify(IConsole[] consoles, int update) {
-			if (fListeners == null) {
-				return;
-			}
-			fChanged = consoles;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IConsoleListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fChanged = null;
-			fListener = null;			
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#addConsoleListener(org.eclipse.ui.console.IConsoleListener)
-	 */
-	public void addConsoleListener(IConsoleListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList(5);
-		}
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#removeConsoleListener(org.eclipse.ui.console.IConsoleListener)
-	 */
-	public void removeConsoleListener(IConsoleListener listener) {
-		if (fListeners != null) {
-			fListeners.remove(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#addConsoles(org.eclipse.ui.console.IConsole[])
-	 */
-	public synchronized void addConsoles(IConsole[] consoles) {
-		List added = new ArrayList(consoles.length);
-		for (int i = 0; i < consoles.length; i++) {
-			IConsole console = consoles[i];
-			if (!fConsoles.contains(console)) {
-				fConsoles.add(console);
-				added.add(console);
-			}
-		}
-		if (!added.isEmpty()) {
-			fireUpdate((IConsole[])added.toArray(new IConsole[added.size()]), ADDED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#removeConsoles(org.eclipse.ui.console.IConsole[])
-	 */
-	public synchronized void removeConsoles(IConsole[] consoles) {
-		List removed = new ArrayList(consoles.length);
-		for (int i = 0; i < consoles.length; i++) {
-			IConsole console = consoles[i];
-			if (fConsoles.remove(console)) {
-				removed.add(console);
-			}
-		}
-		if (!removed.isEmpty()) {
-			fireUpdate((IConsole[])removed.toArray(new IConsole[removed.size()]), REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#getConsoles()
-	 */
-	public synchronized IConsole[] getConsoles() {
-		return (IConsole[])fConsoles.toArray(new IConsole[fConsoles.size()]);
-	}
-
-	/**
-	 * Fires notification.
-	 * 
-	 * @param consoles consoles added/removed
-	 * @param type ADD or REMOVE
-	 */
-	private void fireUpdate(IConsole[] consoles, int type) {
-		new ConsoleNotifier().notify(consoles, type);
-	}
-	
-	/**
-	 * @see IConsoleManager#showConsoleView(IConsole)
-	 */
-	public void showConsoleView(final IConsole console) {
-		ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-				if (window != null) {
-					IWorkbenchPage page= window.getActivePage();
-					if (page != null) {
-						IViewPart consoleView= page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
-						if (consoleView == null) {
-							try {
-								consoleView = page.showView(IConsoleConstants.ID_CONSOLE_VIEW, null, IWorkbenchPage.VIEW_CREATE);
-							} catch (PartInitException pie) {
-								ConsolePlugin.log(pie);
-							}
-						} else {
-							boolean bringToTop = shouldBringToTop(console, consoleView);
-							if (bringToTop) {
-								page.bringToTop(consoleView);
-							}
-						}
-						if (consoleView instanceof IConsoleView) {
-							((IConsoleView)consoleView).display(console);
-						}
-					}
-				}
-			}
-		});
-	}	
-	
-	/**
-	 * Returns whether the given console view should be brought to the top.
-	 * The view should not be brought to the top if the view is pinned on
-	 * a console other than the given console.
-	 */
-	private boolean shouldBringToTop(IConsole console, IViewPart consoleView) {
-		boolean bringToTop= true;
-		if (consoleView instanceof IConsoleView) {
-			IConsoleView cView= (IConsoleView)consoleView;
-			if (cView.isPinned()) {
-				IConsole pinnedConsole= cView.getConsole();
-				bringToTop = console.equals(pinnedConsole);
-			}
-		}
-		return bringToTop;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#warnOfContentChange(org.eclipse.ui.console.IConsole)
-	 */
-	public void warnOfContentChange(IConsole console) {
-		IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page= window.getActivePage();
-			if (page != null) {
-				IConsoleView consoleView= (IConsoleView)page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
-				if (consoleView != null) {
-					consoleView.warnOfContentChange(console);
-				}
-			}
-		}
-	}
-	
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
deleted file mode 100644
index 6c89e23..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * ConsoleMessages
- */
-public class ConsoleMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.console.ConsoleMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ConsoleMessages() {
-	}
-	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
deleted file mode 100644
index 48132cc..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractConsole.0=Exception occurred during console property change notification.
-
-ConsoleDropDownAction.0=Select Console
-ConsoleDropDownAction.1=Display Selected Console
-
-ConsoleManager.0=An exception occurred during console notification
-
-ConsoleView.0=Console
-
-
-find_replace_action.label=&Find/Replace...@Ctrl+F
-find_replace_action.tooltip=Find/Replace
-find_replace_action.image=
-find_replace_action.description=Find/Replace
-
-MessageConsolePage.&Copy@Ctrl+C_6=&Copy@Ctrl+C
-MessageConsolePage.Copy_7=Copy
-MessageConsolePage.Select_&All@Ctrl+A_12=Select &All@Ctrl+A
-MessageConsolePage.Select_All=Select All
-
-MessageConsolePartitioner.2=Low water mark must be less than high water mark.
-MessageConsolePartitioner.3=Low water mark must be greater than or equal to 1000.
-
-PinConsoleAction.0=Pi&n Console
-PinConsoleAction.1=Pin Console
-
-ClearOutputAction.title=Clea&r
-ClearOutputAction.toolTipText=Clear Console
-
-TextViewerGotoLineAction.Enter_line_number__8=Enter line number (1...{0}):
-TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2=Exceptions occurred attempt to go to line
-TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4=Go to &Line...@Ctrl+L
-TextViewerGotoLineAction.Go_To_Line_1=Go to Line
-TextViewerGotoLineAction.Line_number_out_of_range_1=Line number out of range
-TextViewerGotoLineAction.Not_a_number_2=Not a number
-
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
deleted file mode 100644
index ced5ab9..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * The images provided by the debug plugin.
- */
-public class ConsolePluginImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static Map imageDescriptors;
-	
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$
-		ICON_BASE_URL= ConsolePlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String LOCALTOOL= "clcl16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String DLCL= "dlcl16/"; //disabled - size 16x16 //$NON-NLS-1$
-	private final static String ELCL= "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$
-	private final static String VIEW= "cview16/"; // views //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {
-		// Actions
-		
-		//local toolbars
-		declareRegistryImage(IConsoleConstants.IMG_LCL_CLEAR, LOCALTOOL + "clear_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_LCL_PIN, LOCALTOOL + "pin.gif"); //$NON-NLS-1$
-			
-		// disabled local toolbars
-		declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_CLEAR, DLCL + "clear_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_PIN, DLCL + "pin.gif"); //$NON-NLS-1$
-		
-		// enabled local toolbars
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_CLEAR, ELCL + "clear_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_PIN, ELCL + "pin.gif"); //$NON-NLS-1$
-		
-		// Views
-		declareRegistryImage(IConsoleConstants.IMG_VIEW_CONSOLE, VIEW + "console_view.gif"); //$NON-NLS-1$				
-	}
-
-	/**
-	 * Declare an Image in the registry table.
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plugin class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(String key, String path) {
-		ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-		try {
-			desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-		} catch (MalformedURLException me) {
-			ConsolePlugin.log(me);
-		}
-		imageRegistry.put(key, desc);
-		imageDescriptors.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-	 *	@see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(ConsolePlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
deleted file mode 100644
index e58b735..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-/**
- * Page book console view.
- * 
- * @since 3.0
- */
-public class ConsoleView extends PageBookView implements IConsoleView, IConsoleListener, IPropertyChangeListener {
-	
-	/**
-	 * Whether this console is pinned.
-	 */
-	private boolean fPinned = false;
-	
-	/**
-	 * Stack of consoles in MRU order
-	 */
-	private List fStack = new ArrayList();
-	
-	/**
-	 * The console being displayed, or <code>null</code> if none
-	 */
-	private IConsole fActiveConsole = null;
-	
-	/**
-	 * Map of consoles to dummy console parts (used to close pages)
-	 */
-	private Map fConsoleToPart;
-	
-	/**
-	 * Map of parts to consoles
-	 */
-	private Map fPartToConsole;
-	
-	// actions
-	private PinConsoleAction fPinAction = null; 
-	private ConsoleDropDownAction fDisplayConsoleAction = null;
-
-	private boolean isAvailable() {
-		return getPageBook() != null && !getPageBook().isDisposed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		Object source = event.getSource();
-		if (source instanceof IConsole && event.getProperty().equals(IBasicPropertyConstants.P_TEXT)) {
-			if (source.equals(getConsole())) {
-				updateTitle();
-			}
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (isPinned()) {
-			// if closing the pinned console, un-pin
-			IConsole console = (IConsole)fPartToConsole.get(part);
-			if (console != null && console.equals(getConsole())) {
-				pin(null);
-			}
-		}
-		super.partClosed(part);
-		fPinAction.update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.console.IConsoleView#getConsole()
-	 */
-	public IConsole getConsole() {
-		return fActiveConsole;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#showPageRec(org.eclipse.ui.part.PageBookView.PageRec)
-	 */
-	protected void showPageRec(PageRec pageRec) {
-		if (!isPinned()) {
-			super.showPageRec(pageRec);
-			fActiveConsole = (IConsole)fPartToConsole.get(pageRec.part);
-			fStack.remove(fActiveConsole);
-			fStack.add(0,fActiveConsole);
-			updateTitle();		
-			// update console actions
-			if (fPinAction != null) {
-				fPinAction.update();
-			}
-		}
-	}
-	
-	/**
-	 * Returns a stack of consoles in the view in MRU order.
-	 * 
-	 * @return a stack of consoles in the view in MRU order
-	 */
-	protected List getConsoleStack() {
-		return fStack;
-	}
-
-	/**
-	 * Updates the view title based on the active console
-	 */
-	protected void updateTitle() {
-		IConsole console = getConsole();
-		if (console == null) {
-			setContentDescription(ConsoleMessages.getString("ConsoleView.0")); //$NON-NLS-1$
-		} else {
-			setContentDescription(console.getName()); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#doDestroyPage(org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.part.PageBookView.PageRec)
-	 */
-	protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {
-		IPage page = pageRecord.page;
-		page.dispose();
-		pageRecord.dispose();
-		
-		IConsole console = (IConsole)fPartToConsole.get(part);
-		console.removePropertyChangeListener(this);
-				
-		// empty cross-reference cache
-		fPartToConsole.remove(part);
-		fConsoleToPart.remove(console);
-		
-		// update console actions
-		fPinAction.update();		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#doCreatePage(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected PageRec doCreatePage(IWorkbenchPart dummyPart) {
-		ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)dummyPart;
-		IConsole console = part.getConsole();
-		IPageBookViewPage page = console.createPage(this);
-		initPage(page);
-		page.createControl(getPageBook());
-		console.addPropertyChangeListener(this);
-		PageRec rec = new PageRec(dummyPart, page);
-		return rec;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#isImportant(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean isImportant(IWorkbenchPart part) {
-		return part instanceof ConsoleWorkbenchPart;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#createDefaultPage(org.eclipse.ui.part.PageBook)
-	 */
-	protected IPage createDefaultPage(PageBook book) {
-		MessagePage page = new MessagePage();
-		page.createControl(getPageBook());
-		initPage(page);
-		return page;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesAdded(final IConsole[] consoles) {
-		if (isAvailable()) {
-			Runnable r = new Runnable() {
-				public void run() {
-					for (int i = 0; i < consoles.length; i++) {
-						if (isAvailable()) {
-							IConsole console = consoles[i];
-							ConsoleWorkbenchPart part = new ConsoleWorkbenchPart(console, getSite());
-							fConsoleToPart.put(console, part);
-							fPartToConsole.put(part, console);
-							partActivated(part);
-						}
-					}
-				}
-			};
-			asyncExec(r);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesRemoved(final IConsole[] consoles) {
-		if (isAvailable()) {
-			Runnable r = new Runnable() {
-				public void run() {
-					for (int i = 0; i < consoles.length; i++) {
-						if (isAvailable()) {
-							IConsole console = consoles[i];
-							fStack.remove(console);
-							ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
-							if (part != null) {
-								partClosed(part);
-							}
-							if (getConsole() == null) {
-								IConsole[] available = ConsolePlugin.getDefault().getConsoleManager().getConsoles();
-								if (available.length > 0) {
-									display(available[available.length - 1]);
-								}
-							}
-						}
-					}
-				}
-			};
-			asyncExec(r);
-		}
-	}
-
-	/**
-	 * Constructs a console view
-	 */
-	public ConsoleView() {
-		super();
-		fConsoleToPart = new HashMap();
-		fPartToConsole = new HashMap();
-	}
-	
-	/**
-	 * Creates a pop-up menu on the given control. The menu
-	 * is registered with this view's site, such that other
-	 * plug-ins may contribute to the menu.
-	 * 
-	 * @param menuControl the control with which the pop-up
-	 *  menu will be associated with.
-	 */
-	protected void createContextMenu(Control menuControl) {
-		MenuManager menuMgr= new MenuManager("#PopUp"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		Menu menu= menuMgr.createContextMenu(menuControl);
-		menuControl.setMenu(menu);
-
-		// register the context menu such that other plugins may contribute to it
-		if (getSite() != null) {
-			getSite().registerContextMenu(menuMgr, null);
-		}
-	}
-
-	protected void createActions() {
-		fPinAction = new PinConsoleAction(this);
-		fDisplayConsoleAction = new ConsoleDropDownAction(this);
-	}
-
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.add(new Separator(IConsoleConstants.LAUNCH_GROUP));
-		mgr.add(new Separator(IConsoleConstants.OUTPUT_GROUP));
-		mgr.add(new Separator("fixedGroup")); //$NON-NLS-1$
-		mgr.add(fPinAction);
-		mgr.add(fDisplayConsoleAction);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#display(org.eclipse.ui.console.IConsole)
-	 */
-	public void display(IConsole console) {
-		if (!isPinned()) {
-			ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
-			if (part != null) {
-				partActivated(part);
-			}
-		}
-	}
-
-	/*/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#pin(org.eclipse.ui.console.IConsole)
-	 */
-	public void pin(IConsole console) {
-		if (console == null) {
-			fPinned = false;	
-		} else {
-			fPinned = false; // need this off to change displayed console
-			display(console);
-			fPinned = true;
-		}
-		if (fPinAction != null) {
-			fPinAction.update();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#isPinned()
-	 */
-	public boolean isPinned() {
-		return fPinned;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#getBootstrapPart()
-	 */
-	protected IWorkbenchPart getBootstrapPart() {
-		return null;
-	}
-	
-	/**
-	 * Registers the given runnable with the display
-	 * associated with this view's control, if any.
-	 * 
-	 * @see org.eclipse.swt.widgets.Display#asyncExec(java.lang.Runnable)
-	 */
-	public void asyncExec(Runnable r) {
-		if (isAvailable()) {
-			getPageBook().getDisplay().asyncExec(r);
-		}
-	}
-	
-	/**
-	 * Creates this view's underlying viewer and actions.
-	 * Hooks a pop-up menu to the underlying viewer's control,
-	 * as well as a key listener. When the delete key is pressed,
-	 * the <code>REMOVE_ACTION</code> is invoked. Hooks help to
-	 * this view. Subclasses must implement the following methods
-	 * which are called in the following order when a view is
-	 * created:<ul>
-	 * <li><code>createViewer(Composite)</code> - the context
-	 *   menu is hooked to the viewer's control.</li>
-	 * <li><code>createActions()</code></li>
-	 * <li><code>configureToolBar(IToolBarManager)</code></li>
-	 * <li><code>getHelpContextId()</code></li>
-	 * </ul>
-	 * @see IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		//registerPartListener();
-		super.createPartControl(parent);
-		createActions();
-		IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
-		configureToolBar(tbm);
-		updateForExistingConsoles();
-		getViewSite().getActionBars().updateActionBars();
-//		Viewer viewer = getViewer();
-//		if (viewer != null) {
-//			createContextMenu(viewer.getControl());
-//		}
-		WorkbenchHelp.setHelp(parent, IConsoleHelpContextIds.CONSOLE_VIEW);
-//		if (viewer != null) {
-//			getViewer().getControl().addKeyListener(new KeyAdapter() {
-//				public void keyPressed(KeyEvent e) {
-//					handleKeyPressed(e);
-//				}
-//			});
-//			if (getViewer() instanceof StructuredViewer) {
-//				((StructuredViewer)getViewer()).addDoubleClickListener(this);	
-//			}
-//		}
-		// create the message page
-		//setMessagePage(new MessagePage());
-		//getMessagePage().createControl(getPageBook());
-		//initPage(getMessagePage());
-	
-//		if (fEarlyMessage != null) { //bug 28127
-//			showMessage(fEarlyMessage);
-//			fEarlyMessage= null;
-//		}
-	}
-	
-	/**
-	 * Initialize for existing consoles
-	 */
-	private void updateForExistingConsoles() {
-		IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
-		// create pages for consoles
-		IConsole[] consoles = manager.getConsoles();
-		consolesAdded(consoles);
-		// add as a listener
-		manager.addConsoleListener(this);		
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#warnOfContentChange(org.eclipse.ui.console.IConsole)
-	 */
-	public void warnOfContentChange(IConsole console) {
-		IWorkbenchPart part = (IWorkbenchPart)fConsoleToPart.get(console);
-		if (part != null) {
-			IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) part.getSite().getAdapter(IWorkbenchSiteProgressService.class);
-			if (service != null) {
-				service.warnOfContentChange();
-			}
-		}
-	}
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
deleted file mode 100644
index 780d2b5..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.console.*;
-
-/**
- * Fake part to use as keys in page book for console pages
- */
-public class ConsoleWorkbenchPart implements IWorkbenchPart {
-
-	private IConsole fConsole = null;
-	private IWorkbenchPartSite fSite = null;
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return (obj instanceof ConsoleWorkbenchPart) &&
-			fConsole.equals(((ConsoleWorkbenchPart)obj).fConsole);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fConsole.hashCode();
-	}
-
-	/**
-	 * Constructs a part for the given console that binds to the given
-	 * site
-	 */
-	public ConsoleWorkbenchPart(IConsole console, IWorkbenchPartSite site) {
-		fConsole = console;
-		fSite = site;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#addPropertyListener(org.eclipse.ui.IPropertyListener)
-	 */
-	public void addPropertyListener(IPropertyListener listener) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getSite()
-	 */
-	public IWorkbenchPartSite getSite() {
-		return fSite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleToolTip()
-	 */
-	public String getTitleToolTip() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#removePropertyListener(org.eclipse.ui.IPropertyListener)
-	 */
-	public void removePropertyListener(IPropertyListener listener) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	/**
-	 * Returns the console associated with this part.
-	 * 
-	 * @return console associated with this part
-	 */
-	protected IConsole getConsole() {
-		return fConsole;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
deleted file mode 100644
index b81cbea..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * Help context ids for the debug ui.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IConsoleHelpContextIds {
-	
-	public static final String PREFIX = IConsoleConstants.PLUGIN_ID + "."; //$NON-NLS-1$
-	
-	// Actions
-	public static final String CLEAR_CONSOLE_ACTION = PREFIX + "clear_console_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_SCROLL_LOCK_ACTION = PREFIX + "console_scroll_lock_action_context"; //$NON-NLS-1$	
-		
-	// Views
-	public static final String CONSOLE_VIEW = PREFIX + "console_view_context"; //$NON-NLS-1$
-
-	// Preference pages
-	public static final String CONSOLE_PREFERENCE_PAGE = PREFIX + "console_preference_page_context"; //$NON-NLS-1$
-}
-
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
deleted file mode 100644
index 5796bf8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
- 
-public interface IInternalConsoleConstants {
-	
-	// tool images
-	public static final String IMG_LCL_PIN = "IMG_LCL_PIN"; //$NON-NLS-1$
-	
-	// disabled local tool images
-	public static final String IMG_DLCL_PIN = "IMG_DLCL_PIN"; //$NON-NLS-1$
-	public static final String IMG_DLCL_CLEAR= "IMG_DLCL_CLEAR"; //$NON-NLS-1$
-	
-	// enabled local tool images	
-	public static final String IMG_ELCL_PIN = "IMG_ELCL_PIN"; //$NON-NLS-1$
-	public static final String IMG_ELCL_CLEAR= "IMG_ELCL_CLEAR"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java
deleted file mode 100644
index 34bd65c..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.MessageConsole;
-import org.eclipse.ui.console.MessageConsoleStream;
-import org.eclipse.ui.console.actions.ClearOutputAction;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.console.actions.TextViewerGotoLineAction;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * A page for a console connected to I/O streams of a process
- * 
- * @since 3.0
- */
-public class MessageConsolePage implements IPageBookViewPage, IAdaptable, IPropertyChangeListener {
-
-	//page site
-	private IPageSite fSite = null;
-	
-	// viewer
-	private MessageConsoleViewer fViewer = null;
-
-	// the view this page is contained in
-	private IConsoleView fView;
-	
-	// the console this page displays
-	private MessageConsole fConsole;
-	
-	// text selection listener
-	private ISelectionChangedListener fTextListener =  new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			updateSelectionDependentActions();
-		}};
-
-	// actions
-	private ClearOutputAction fClearOutputAction;
-	private Map fGlobalActions= new HashMap(10);
-	private List fSelectionActions = new ArrayList(3);
-	
-	// menus
-	private Menu fMenu;
-	
-	/**
-	 * Constructs a new process page 
-	 */
-	public MessageConsolePage(IConsoleView view, MessageConsole console) {
-		fView = view;
-		fConsole = console;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPageBookViewPage#getSite()
-	 */
-	public IPageSite getSite() {
-		return fSite; 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
-	 */
-	public void init(IPageSite site) {
-		fSite = site;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		fViewer = new MessageConsoleViewer(parent);
-		fViewer.setDocument(getConsole().getDocument());
-		fViewer.getTextWidget().setTabs(getConsole().getTabWidth());
-		
-		MenuManager manager= new MenuManager("#MessageConsole", "#MessageConsole"); //$NON-NLS-1$ //$NON-NLS-2$
-		manager.setRemoveAllWhenShown(true);
-		manager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager m) {
-				contextMenuAboutToShow(m);
-			}
-		});
-		fMenu= manager.createContextMenu(getControl());
-		getControl().setMenu(fMenu);
-		
-		IPageSite site= getSite();
-		site.registerContextMenu(ConsolePlugin.getUniqueIdentifier() + ".messageConsole", manager, getViewer()); //$NON-NLS-1$
-		site.setSelectionProvider(getViewer());
-		
-		createActions();
-		configureToolBar(getSite().getActionBars().getToolBarManager());
-		
-		fViewer.getSelectionProvider().addSelectionChangedListener(fTextListener);
-		setFont(getConsole().getFont());
-		getConsole().addPropertyChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		Object source = event.getSource();
-		String property = event.getProperty();
-		if (source.equals(getConsole()) && MessageConsole.P_FONT.equals(property)) {
-			setFont(getConsole().getFont());	
-		} else if (MessageConsole.P_STREAM_COLOR.equals(property) && source instanceof MessageConsoleStream) {
-			MessageConsoleStream stream = (MessageConsoleStream)source;
-			if (stream.getConsole().equals(getConsole())) {
-				getViewer().getTextWidget().redraw();
-			}
-		} else if (source.equals(getConsole()) && property.equals(MessageConsole.P_TAB_SIZE)) {
-			if (fViewer != null) {
-				fViewer.getTextWidget().setTabs(getConsole().getTabWidth());
-				fViewer.getTextWidget().redraw();
-			}
-		}
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#dispose()
-	 */
-	public void dispose() {
-		getConsole().removePropertyChangeListener(this);
-		fViewer.getSelectionProvider().removeSelectionChangedListener(fTextListener);
-		
-		if (fMenu != null && !fMenu.isDisposed()) {
-			fMenu.dispose();
-			fMenu= null;
-		}
-		
-		if (fViewer != null) {
-			fViewer.dispose();
-			fViewer = null;
-		}
-		fSite = null;
-		fSelectionActions.clear();
-	}
-	
-
-	/**
-	 * Fill the context menu
-	 * 
-	 * @param menu menu
-	 */
-	protected void contextMenuAboutToShow(IMenuManager menu) {
-		menu.add((IAction)fGlobalActions.get(ActionFactory.COPY.getId()));
-		menu.add((IAction)fGlobalActions.get(ActionFactory.SELECT_ALL.getId()));						
-		menu.add(new Separator("FIND")); //$NON-NLS-1$
-		menu.add((IAction)fGlobalActions.get(ActionFactory.FIND.getId()));
-		menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.GOTO_LINE));
-		menu.add(fClearOutputAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#getControl()
-	 */
-	public Control getControl() {
-		if (fViewer != null) {
-			return fViewer.getControl();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
-	 */
-	public void setActionBars(IActionBars actionBars) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#setFocus()
-	 */
-	public void setFocus() {
-		Control control = getControl(); 
-		if (control != null) {
-			control.setFocus();
-		}
-		updateSelectionDependentActions();
-	}
-	
-	protected void createActions() {
-		fClearOutputAction= new ClearOutputAction(getViewer());
-		
-		// In order for the clipboard actions to accessible via their shortcuts
-		// (e.g., Ctrl-C, Ctrl-V), we *must* set a global action handler for
-		// each action		
-		IActionBars actionBars= getSite().getActionBars();
-		TextViewerAction action= new TextViewerAction(getViewer(), ITextOperationTarget.COPY);
-		action.configureAction(ConsoleMessages.getString("MessageConsolePage.&Copy@Ctrl+C_6"), ConsoleMessages.getString("MessageConsolePage.Copy_7"), ConsoleMessages.getString("MessageConsolePage.Copy_7")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));		
-		setGlobalAction(actionBars, ActionFactory.COPY.getId(), action);
-		action= new TextViewerAction(getViewer(), ITextOperationTarget.SELECT_ALL);
-		action.configureAction(ConsoleMessages.getString("MessageConsolePage.Select_&All@Ctrl+A_12"), ConsoleMessages.getString("MessageConsolePage.Select_All"), ConsoleMessages.getString("MessageConsolePage.Select_All")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ActionFactory.SELECT_ALL.getId(), action);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.ui.internal.console.ConsoleMessages"); //$NON-NLS-1$
-		setGlobalAction(actionBars, ActionFactory.FIND.getId(), new FindReplaceAction(bundle, "find_replace_action.", getConsoleView())); //$NON-NLS-1$
-	
-		action= new TextViewerGotoLineAction(getViewer());
-		setGlobalAction(actionBars, ITextEditorActionConstants.GOTO_LINE, action);
-								
-		actionBars.updateActionBars();
-				
-		fSelectionActions.add(ActionFactory.COPY.getId());
-		fSelectionActions.add(ActionFactory.FIND.getId());
-	}
-	
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}	
-	
-	protected void updateAction(String actionId) {
-		IAction action= (IAction)fGlobalActions.get(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}	
-		
-	protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
-		fGlobalActions.put(actionID, action); 
-		actionBars.setGlobalActionHandler(actionID, action);
-	}
-		
-	/**
-	 * Returns the viewer in this page.
-	 * 
-	 * @return the viewer in this page
-	 */
-	protected MessageConsoleViewer getViewer() {
-		return fViewer;
-	}	
-
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fClearOutputAction);
-	}
-
-	/**
-	 * Returns the view this page is contained in
-	 * 
-	 * @return the view this page is contained in
-	 */
-	protected IConsoleView getConsoleView() {
-		return fView;
-	}
-	
-	/**
-	 * Returns the console this page is displaying
-	 * 
-	 * @return the console this page is displaying
-	 */
-	protected MessageConsole getConsole() {
-		return fConsole;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class required) {
-		if (IFindReplaceTarget.class.equals(required)) {
-			return getViewer().getFindReplaceTarget();
-		}
-		if (Widget.class.equals(required)) {
-			return getViewer().getTextWidget();
-		}
-		return null;
-	}	
-
-	/**
-	 * Sets the font for this page.
-	 * 
-	 * @param font font
-	 */
-	protected void setFont(Font font) {
-		getViewer().getTextWidget().setFont(font);
-	}
-
-	/**
-	 * Refreshes this page
-	 */
-	protected void refresh() {
-		getViewer().refresh();
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java
deleted file mode 100644
index 7f3e9f1..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import org.eclipse.jface.text.TypedRegion;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.MessageConsoleStream;
-
-/**
- * A partition from a message stream connected to a message console. 
- */
-public class MessageConsolePartition extends TypedRegion {
-	
-	/**
-	 * Associated stream
-	 */
-	private MessageConsoleStream fStream;
-	
-	/**
-	 * Partition type
-	 */
-	public static final String MESSAGE_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() + ".MESSAGE_PARTITION_TYPE"; //$NON-NLS-1$	
-	
-	public MessageConsolePartition(MessageConsoleStream stream, int offset, int length) {
-		super(offset, length, MESSAGE_PARTITION_TYPE);
-		fStream = stream;
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object partition) {
-		if (super.equals(partition)) {
-			fStream.equals(((MessageConsolePartition)partition).getStream());
-		}
-		return false;
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() + fStream.hashCode();
-	}
-
-	/**
-	 * Returns this partition's stream
-	 * 
-	 * @return this partition's stream
- 	 */
-	public MessageConsoleStream getStream() {
-		return fStream;
-	}
-	
-	/**
-	 * Returns whether this partition is allowed to be combined with the
-	 * given partition.
-	 * 
-	 * @param partition
-	 * @return boolean
-	 */
-	public boolean canBeCombinedWith(MessageConsolePartition partition) {
-		int start = getOffset();
-		int end = start + getLength();
-		int otherStart = partition.getOffset();
-		int otherEnd = otherStart + partition.getLength();
-		boolean overlap = (otherStart >= start && otherStart <= end) || (start >= otherStart && start <= otherEnd);
-		return overlap && getType().equals(partition.getType()) && getStream().equals(partition.getStream());
-	}
-	
-	/**
-	 * Returns a new partition representing this and the given parition
-	 * combined.
-	 * 
-	 * @param partition
-	 * @return partition
- 	 */
-	public MessageConsolePartition combineWith(MessageConsolePartition partition) {
-		int start = getOffset();
-		int end = start + getLength();
-		int otherStart = partition.getOffset();
-		int otherEnd = otherStart + partition.getLength();
-		int theStart = Math.min(start, otherStart);
-		int theEnd = Math.max(end, otherEnd);
-		return createNewPartition(theStart, theEnd - theStart);
-	}
-	
-	/**
-	 * Creates a new patition of this type with the given color, offset, 
-	 * and length.
-	 * 
-	 * @param offset
-	 * @param length
-	 * @return a new partition with the given range
-	 */
-	public MessageConsolePartition createNewPartition(int offset, int length) {
-		return new MessageConsolePartition(getStream(), offset, length);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java
deleted file mode 100644
index 2279b84..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.console;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IDocumentPartitionerExtension;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.MessageConsoleStream;
-
-/**
- * A console that displays text messages.
- * 
- * @since 3.0
- */
-public class MessageConsolePartitioner implements IDocumentPartitioner, IDocumentPartitionerExtension {
-	
-	/**
-	 * The associated docuemnt
-	 */
-	private IDocument fDocument = null;
-			
-	/**
-	 * List of partitions
-	 */
-	private List fPartitions = new ArrayList(5);
-		
-	/**
-	 * The stream that was last appended to
-	 */
-	private MessageConsoleStream fLastStream = null;
-	
-	
-	private int highWaterMark = 100000;
-	private int lowWaterMark = 80000;
-	private int maxAppendSize = lowWaterMark;
-
-	private List streamEntries = new ArrayList();
-	private boolean killed = false;
-	private boolean updaterThreadStarted = false;
-
-	private IConsoleManager fConsoleManager;
-	/**
-	 * Creates a new paritioner and document, and connects this partitioner
-	 * to the document.
-	 */
-	public MessageConsolePartitioner() {
-		IDocument doc = new Document();
-		connect(doc);
-	}
-	
-	/**
-	 * Sets the low and high water marks for this console's text buffer.
-	 * 
-	 * @param low low water mark
-	 * @param high high water mark
-	 */
-	public void setWaterMarks(int low, int high) {
-		if (low >= high) {
-			throw new IllegalArgumentException(ConsoleMessages.getString("MessageConsolePartitioner.2")); //$NON-NLS-1$
-		}
-		if (low < 1000) {
-			throw new IllegalArgumentException(ConsoleMessages.getString("MessageConsolePartitioner.3")); //$NON-NLS-1$
-		}
-		lowWaterMark = low;
-		highWaterMark = high;
-		maxAppendSize = Math.min(80000, low);
-	}
-	/**
-	 * @return Returns the highWaterMark.
-	 */
-	public int getHighWaterMark() {
-		return highWaterMark;
-	}
-
-	/**
-	 * @return Returns the lowWaterMark.
-	 */
-	public int getLowWaterMark() {
-		return lowWaterMark;
-	}
-
-	/**
-	 * @return Returns the maxAppendSize.
-	 */
-	public int getMaxAppendSize() {
-		return maxAppendSize;
-	}
-
-	/**
-	 * @param maxAppendSize The maxAppendSize to set.
-	 */
-	public void setMaxAppendSize(int maxAppendSize) {
-		this.maxAppendSize = maxAppendSize;
-	}
-	
-	
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-	 */
-	public void connect(IDocument document) {
-		fDocument = document;
-		document.setDocumentPartitioner(this);
-		fConsoleManager = ConsolePlugin.getDefault().getConsoleManager();
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public void disconnect() {
-		fDocument.setDocumentPartitioner(null);
-		killed = true;
-		fConsoleManager = null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean documentChanged(DocumentEvent event) {
-		return documentChanged2(event) != null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-	 */
-	public String[] getLegalContentTypes() {
-		return new String[] {MessageConsolePartition.MESSAGE_PARTITION_TYPE};
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-	 */
-	public String getContentType(int offset) {
-		ITypedRegion partition = getPartition(offset);
-		if (partition != null) {
-			return partition.getType();
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
-	 */
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		if (offset == 0 && length == fDocument.getLength()) {
-			return (ITypedRegion[])fPartitions.toArray(new ITypedRegion[fPartitions.size()]);
-		} 
-		int end = offset + length;
-		List list = new ArrayList();
-		for (int i = 0; i < fPartitions.size(); i++) {
-			ITypedRegion partition = (ITypedRegion)fPartitions.get(i);
-			int partitionStart = partition.getOffset();
-			int partitionEnd = partitionStart + partition.getLength();
-			if ((offset >= partitionStart && offset <= partitionEnd) ||
-				(offset < partitionStart && end >= partitionStart)) {
-					list.add(partition);
-			} 
-		}
-		return (ITypedRegion[])list.toArray(new ITypedRegion[list.size()]);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-	 */
-	public ITypedRegion getPartition(int offset) {
-		for (int i = 0; i < fPartitions.size(); i++) {
-			ITypedRegion partition = (ITypedRegion)fPartitions.get(i);
-			int start = partition.getOffset();
-			int end = start + partition.getLength();
-			if (offset >= start && offset < end) {
-				return partition;
-			} 
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitionerExtension#documentChanged2(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public IRegion documentChanged2(DocumentEvent event) {
-		
-		String text = event.getText();
-		if (getDocument().getLength() == 0) {
-			// cleared
-			fPartitions.clear();
-			return new Region(0,0);
-		}
-		addPartition(new MessageConsolePartition(fLastStream, event.getOffset(), text.length()));
-		ITypedRegion[] affectedRegions = computePartitioning(event.getOffset(), text.length());
-		if (affectedRegions.length == 0) {
-			return null;
-		}
-		if (affectedRegions.length == 1) {
-			return affectedRegions[0];
-		}
-		int affectedLength = affectedRegions[0].getLength();
-		for (int i = 1; i < affectedRegions.length; i++) {
-			ITypedRegion region = affectedRegions[i];
-			affectedLength += region.getLength();
-		}
-		
-		return new Region(affectedRegions[0].getOffset(), affectedLength);
-	}
-
-
-	/**
-	 * Checks to see if the console buffer has overflowed, and empties the
-	 * overflow if needed, updating partitions and hyperlink positions.
-	 */
-	protected void checkOverflow() {
-		if (highWaterMark >= 0) {
-			if (fDocument.getLength() > highWaterMark) {
-				int overflow = fDocument.getLength() - lowWaterMark;
-				
-				try {
-					int line = fDocument.getLineOfOffset(overflow);
-					int nextLineOffset = fDocument.getLineOffset(line+1);
-					overflow = nextLineOffset;
-				} catch (BadLocationException e1) {
-				}
-				
-				// update partitions
-				List newParitions = new ArrayList(fPartitions.size());
-				Iterator partitions = fPartitions.iterator();
-				while (partitions.hasNext()) {
-					ITypedRegion region = (ITypedRegion) partitions.next();
-					if (region instanceof MessageConsolePartition) {
-						MessageConsolePartition messageConsolePartition = (MessageConsolePartition)region;
-
-						ITypedRegion newPartition = null;
-						int offset = region.getOffset();
-						if (offset < overflow) {
-							int endOffset = offset + region.getLength();
-							if (endOffset < overflow) {
-								// remove partition
-							} else {
-								// split partition
-								int length = endOffset - overflow;
-								newPartition = messageConsolePartition.createNewPartition(0, length);
-							}
-						} else {
-							// modify parition offset
-							newPartition = messageConsolePartition.createNewPartition(messageConsolePartition.getOffset()-overflow, messageConsolePartition.getLength());
-						}
-						if (newPartition != null) {
-							newParitions.add(newPartition);
-						}
-					}
-				}
-				fPartitions = newParitions;
-		
-				//called from GUI Thread (see startUpdaterThread()), no asyncExec needed.
-				try {
-					fDocument.replace(0, overflow, "");  //$NON-NLS-1$
-				} catch (BadLocationException e) {
-				}		
-			}
-		}
-	}
-		
-
-	/**
-	 * Adds a new colored input partition, combining with the previous partition if
-	 * possible.
-	 */
-	private MessageConsolePartition addPartition(MessageConsolePartition partition) {
-		if (fPartitions.isEmpty()) {
-			fPartitions.add(partition);
-		} else {
-			int index = fPartitions.size() - 1;
-			MessageConsolePartition last = (MessageConsolePartition)fPartitions.get(index);
-			if (last.canBeCombinedWith(partition)) {
-				// replace with a single partition
-				partition = last.combineWith(partition);
-				fPartitions.set(index, partition);
-			} else {
-				// different kinds - add a new parition
-				fPartitions.add(partition);
-			}
-		}
-		return partition;
-	}
-	
-	/**
-	 * Returns the document this partitioner is connected to, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the document this partitioner is connected to, or <code>null</code>
-	 *   if none
-	 */
-	public IDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * 
-	 */
-	private void startUpdaterThread() {
-		if (updaterThreadStarted) {
-			return;
-		}
-		
-		updaterThreadStarted = true;
-		
-		Runnable r = new Runnable() {
-			public void run() {
-
-				while(!killed && streamEntries.size()>0) {
-					synchronized(streamEntries) {
-						final StreamEntry streamEntry = (StreamEntry)streamEntries.get(0);
-						streamEntries.remove(0);
-						 
-						Runnable innerRunnable = new Runnable() {
-							public void run() {
-								fLastStream = streamEntry.stream;
-								try {
-									fDocument.replace(fDocument.getLength(), 0, streamEntry.text.toString());
-									checkOverflow();
-									fConsoleManager.warnOfContentChange(streamEntry.stream.getConsole());
-								} catch (BadLocationException e) {
-								}
-							}
-						};
-						Display display = ConsolePlugin.getStandardDisplay();
-						if (display != null) {
-							display.asyncExec(innerRunnable);
-						}
-						
-						try {
-							//Don't just die! Give up the lock and allow more StreamEntry objects to be
-							//added to list
-							Thread.sleep(100);
-						} catch (InterruptedException e) {							
-						}
-					}
-				}
-				updaterThreadStarted = false;
-			}
-		};
-		
-		new Thread(r, "MessageConsoleUpdaterThread").start(); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Adds the new text to the document.
-	 * 
-	 * @param text the text to append
-	 * @param stream the stream to append to
-	 */
-	public void appendToDocument(final String text, final MessageConsoleStream stream) {
-		int offset = 0;
-		int length = text.length();
-		
-		synchronized(streamEntries) {
-			//try to fit in last StreamEntry if they are the same stream		
-			if (streamEntries.size() > 0) { 
-				StreamEntry streamEntry = (StreamEntry)streamEntries.get(streamEntries.size()-1);
-				if (streamEntry.stream == stream) {
-					int emptySpace = maxAppendSize - streamEntry.text.length();
-					if (length <= emptySpace) {
-						streamEntry.text.append(text);
-						offset = length;
-						length = 0;
-					} else {
-						streamEntry.text.append(text.substring(offset, emptySpace));
-						offset += emptySpace;
-						length -= emptySpace;
-					}
-				}
-			} 
-			
-			//put remaining text into new StreamEntry objects
-			while (length > 0) {
-				int toCopy = Math.min(maxAppendSize, length);
-				String substring = text.substring(offset, offset+toCopy);
-				StreamEntry streamEntry = new StreamEntry(substring, stream);
-				streamEntries.add(streamEntry);
-				offset += toCopy;
-				length -= toCopy;
-			}
-			
-		} //give up the lock
-		
-		startUpdaterThread();
-	}	
-	
-	private class StreamEntry {
-		MessageConsoleStream stream;
-		StringBuffer text;
-		
-		StreamEntry(String text, MessageConsoleStream stream) {
-			this.stream = stream;
-			this.text = new StringBuffer(text);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java
deleted file mode 100644
index 300e50f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.LineStyleEvent;
-import org.eclipse.swt.custom.LineStyleListener;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-
-public class MessageConsoleViewer extends TextViewer implements LineStyleListener {
-	
-	protected InternalDocumentListener fInternalDocumentListener= new InternalDocumentListener();
-		
-	/**
-	 * Internal document listener.
-	 */
-	class InternalDocumentListener implements IDocumentListener {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentAboutToBeChanged(DocumentEvent e) {
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentChanged(DocumentEvent e) {
-			revealEndOfDocument();
-		}
-	}
-	
-	/**
-	 * Creates a new console viewer and adds verification checking
-	 * to only allow text modification if the text is being modified
-	 * in the editable portion of the underlying document.
-	 *
-	 * @see org.eclipse.swt.events.VerifyListener
-	 */	
-	public MessageConsoleViewer(Composite parent) {
-		super(parent, getSWTStyles());
-		getTextWidget().setDoubleClickEnabled(true);
-		getTextWidget().setFont(parent.getFont());
-		getTextWidget().addLineStyleListener(this);
-		getTextWidget().setEditable(false);
-	}
-	
-	/**
-	 * Returns the SWT style flags used when instantiating this viewer
-	 */
-	private static int getSWTStyles() {
-		int styles= SWT.H_SCROLL | SWT.V_SCROLL;
-		return styles;
-	}
-
-	/**
-	 * Reveals (makes visible) the end of the current document
-	 */
-	protected void revealEndOfDocument() {
-		IDocument doc = getDocument();
-		int lines = doc.getNumberOfLines();
-		try {
-			// lines are 0-based
-			int lineStartOffset = doc.getLineOffset(lines - 1);
-			StyledText widget= getTextWidget();
-			if (lineStartOffset > 0) {
-				widget.setCaretOffset(lineStartOffset);
-				widget.showSelection();
-			}
-			int lineEndOffset = lineStartOffset + doc.getLineLength(lines - 1);
-			if (lineEndOffset > 0) {
-				widget.setCaretOffset(lineEndOffset);
-			}
-		} catch (BadLocationException e) {
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextViewer#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument doc) {
-		IDocument oldDoc= getDocument();
-		IDocument document= doc;
-		if (oldDoc == null && document == null) {
-			return;
-		}
-		if (oldDoc != null) {
-			oldDoc.removeDocumentListener(fInternalDocumentListener);
-			if (oldDoc.equals(document)) {
-				document.addDocumentListener(fInternalDocumentListener);
-				return;
-			}
-		}
-
-		super.setDocument(document);
-		if (document != null) {
-			revealEndOfDocument();
-			document.addDocumentListener(fInternalDocumentListener);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.TextViewer#canPerformFind()
-	 */
-	protected boolean canPerformFind() {
-		return (getTextWidget() != null && getVisibleDocument() != null && getVisibleDocument().getLength() > 0);
-	}	
-		
-	/**
-	 * Dispose this viewer and resources
-	 */
-	public void dispose() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.custom.LineStyleListener#lineGetStyle(org.eclipse.swt.custom.LineStyleEvent)
-	 */
-	public void lineGetStyle(LineStyleEvent event) {
-		IDocument document = getDocument();
-		if (document != null) {
-			MessageConsolePartitioner partitioner = (MessageConsolePartitioner)document.getDocumentPartitioner();
-			if (partitioner != null) {
-				ITypedRegion[] regions = partitioner.computePartitioning(event.lineOffset, event.lineOffset + event.lineText.length());
-				StyleRange[] styles = new StyleRange[regions.length];
-				for (int i = 0; i < regions.length; i++) {
-					MessageConsolePartition partition = (MessageConsolePartition)regions[i];
-					Color color = partition.getStream().getColor();
-					styles[i] = new StyleRange(partition.getOffset(), partition.getLength(), color, null);
-				}	
-				event.styles = styles;
-			}
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
deleted file mode 100644
index 586d3c2..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Pins the currently visible console in a console view.
- */
-public class PinConsoleAction extends Action implements IUpdate {
-	
-	private IConsoleView fView = null;
-
-	/**
-	 * Constructs a 'pin console' action
-	 */
-	public PinConsoleAction(IConsoleView view) {
-		super(ConsoleMessages.getString("PinConsoleAction.0"), IAction.AS_CHECK_BOX); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("PinConsoleAction.1")); //$NON-NLS-1$
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_PIN));
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_PIN));
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_LCL_PIN));
-		fView = view;
-		update();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (isChecked()) {
-			fView.pin(fView.getConsole());
-		} else {
-			fView.pin(null);
-		}
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setEnabled(fView.getConsole() != null);
-		setChecked(fView.isPinned());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
deleted file mode 100644
index 7e0ee4a..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleView;
-
-/**
- * Shows a specific console in the console view
- */
-public class ShowConsoleAction extends Action {
-	
-	private IConsole fConsole;
-	private IConsoleView fView;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (!fConsole.equals(fView.getConsole())) {
-			// only change if required (and pin the console if pinned)
-			if (fView.isPinned()) {
-				fView.pin(fConsole);
-			} else {
-				fView.display(fConsole);
-			}
-		}
-	}
-
-	/**
-	 * Constructs an action to display the given console.
-	 * 
-	 * @param view the console view in which the given console is contained
-	 * @param console the console
-	 */
-	public ShowConsoleAction(IConsoleView view, IConsole console) {
-		super();
-		fConsole = console;
-		fView = view;
-		setText(console.getName());
-		setImageDescriptor(console.getImageDescriptor());
-	}
-}
diff --git a/org.eclipse.ui.externaltools/.classpath b/org.eclipse.ui.externaltools/.classpath
deleted file mode 100644
index 26de43b..0000000
--- a/org.eclipse.ui.externaltools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="External Tools Base"/>

-	<classpathentry kind="src" path="Program Tools Support"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/org.eclipse.ui.externaltools/.cvsignore b/org.eclipse.ui.externaltools/.cvsignore
deleted file mode 100644
index 1fb8f5b..0000000
--- a/org.eclipse.ui.externaltools/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin

-externaltools.jar

-build.xml

-temp.folder

diff --git a/org.eclipse.ui.externaltools/.options b/org.eclipse.ui.externaltools/.options
deleted file mode 100644
index d127194..0000000
--- a/org.eclipse.ui.externaltools/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.externaltools plugin.

diff --git a/org.eclipse.ui.externaltools/.project b/org.eclipse.ui.externaltools/.project
deleted file mode 100644
index 28c5bcf..0000000
--- a/org.eclipse.ui.externaltools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.externaltools</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.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
deleted file mode 100644
index 6f6a137..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-public class ExternalToolsBuilderTab extends AbstractLaunchConfigurationTab {
-
-	private Button afterClean;
-	private Button autoBuildButton;
-	private Button manualBuild;
-	private Button workingSetButton;
-	private Button specifyResources;
-	protected Button fLaunchInBackgroundButton;
-	private IWorkingSet workingSet; 
-	
-	private SelectionListener selectionListener= new SelectionAdapter() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			boolean enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
-			workingSetButton.setEnabled(enabled);
-			specifyResources.setEnabled(enabled && workingSetButton.getSelection());
-			updateLaunchConfigurationDialog();
-		}
-	};
-
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		WorkbenchHelp.setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB);
-		
-		GridLayout layout = new GridLayout();
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 2;
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		createLaunchInBackgroundComposite(mainComposite);
-		createBuildScheduleComponent(mainComposite);
-		
-	}
-	
-	/**
-	 * Creates the controls needed to edit the launch in background
-	 * attribute of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createLaunchInBackgroundComposite(Composite parent) {
-		fLaunchInBackgroundButton = createCheckButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.14")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		fLaunchInBackgroundButton.setLayoutData(data);
-		fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-	
-	private void createBuildScheduleComponent(Composite parent) {
-		Label label= new Label(parent, SWT.NONE);
-		label.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Run_this_builder_for__1")); //$NON-NLS-1$
-		label.setFont(parent.getFont());
-		afterClean= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Full_builds_2"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Full"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-		manualBuild= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Incremental_builds_4"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Inc"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-		autoBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Auto"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-				
-		createVerticalSpacer(parent, 2);
-		
-		workingSetButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_label"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_tooltip"), 1); //$NON-NLS-1$ //$NON-NLS-2$
-		specifyResources= createPushButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.13"), null); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		specifyResources.setLayoutData(gd);
-		specifyResources.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectResources();
-			}
-		});
-	}
-	
-	/*
-	 * Creates a check button in the given composite with the given text
-	 */
-	private Button createButton(Composite parent, SelectionListener listener, String text, String tooltipText, int columns) {
-		Button button= createCheckButton(parent, text);
-		button.setToolTipText(tooltipText);
-		button.addSelectionListener(listener);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = columns;
-		button.setLayoutData(gd);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
-		buffer.append(',');
-		buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
-		buffer.append(','); 
-		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-		configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		
-		afterClean.setSelection(false);
-		manualBuild.setSelection(false);
-		autoBuildButton.setSelection(false);
-
-		String buildKindString= null;
-		String buildScope= null;
-		try {
-			buildKindString= configuration.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""); //$NON-NLS-1$
-			buildScope= configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		} catch (CoreException e) {
-		}
-		
-		workingSetButton.setSelection(buildScope != null);
-		workingSetButton.setEnabled(buildScope != null);
-		
-		if (buildScope != null) {
-			workingSet = RefreshTab.getWorkingSet(buildScope);
-		}
-		
-		int buildTypes[]= ExternalToolBuilder.buildTypesToArray(buildKindString);
-		for (int i = 0; i < buildTypes.length; i++) {
-			switch (buildTypes[i]) {
-				case IncrementalProjectBuilder.FULL_BUILD:
-					afterClean.setSelection(true);
-					break;
-				case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-					manualBuild.setSelection(true);
-					break;
-				case IncrementalProjectBuilder.AUTO_BUILD:
-					autoBuildButton.setSelection(true);
-					break;
-			}
-		}
-		boolean enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
-		workingSetButton.setEnabled(enabled);
-		specifyResources.setEnabled(enabled && workingSetButton.getSelection());
-		updateRunInBackground(configuration);
-	}
-	
-	protected void updateRunInBackground(ILaunchConfiguration configuration) { 
-		fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
-	}
-	
-	/**
-	 * Returns whether the given configuration should be run in the background.
-	 * 
-	 * @param configuration the configuration
-	 * @return whether the configuration is configured to run in the background
-	 */
-	public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
-		boolean launchInBackground= false;
-		try {
-			launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ce);
-		}
-		return launchInBackground;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		StringBuffer buffer= new StringBuffer();
-		if (afterClean.getSelection()) {
-			buffer.append(IExternalToolConstants.BUILD_TYPE_FULL).append(',');
-		} 
-		if (manualBuild.getSelection()){
-			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL).append(','); 
-		} 
-		if (autoBuildButton.getSelection()) {
-			buffer.append(IExternalToolConstants.BUILD_TYPE_AUTO).append(',');
-		}
-		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-		
-		if (workingSetButton.getSelection()) {
-			String scope = RefreshTab.getRefreshAttribute(workingSet);
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, scope);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		}
-		configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, fLaunchInBackgroundButton.getSelection());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Build_Options_9"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		
-		boolean buildKindSelected= afterClean.getSelection() || manualBuild.getSelection() || autoBuildButton.getSelection();
-		if (!buildKindSelected) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.buildKindError")); //$NON-NLS-1$
-			return false;
-		}
-		if (workingSetButton.getSelection() && (workingSet == null || workingSet.getElements().length == 0)) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.16")); //$NON-NLS-1$
-		}
-		
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return isValid(null);
-	}
-
-	/**
-	 * Prompts the user to select the working set that triggers the build.
-	 */
-	private void selectResources() {
-		IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-		
-		if (workingSet == null){
-			workingSet = workingSetManager.createWorkingSet(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.15"), new IAdaptable[0]); //$NON-NLS-1$
-		}
-		IWorkingSetEditWizard wizard= workingSetManager.createWorkingSetEditWizard(workingSet);
-		WizardDialog dialog = new WizardDialog(ExternalToolsPlugin.getStandardDisplay().getActiveShell(), wizard);
-		dialog.create();		
-		
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		workingSet = wizard.getSelection();
-		updateLaunchConfigurationDialog();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing on activation
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing on deactivation
-	}
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
deleted file mode 100644
index e1e1695..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsLaunchConfigurationMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsLaunchConfigurationMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsLaunchConfigurationMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
deleted file mode 100644
index cca674c..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ExternalToolsMainTab.&Location___2=&Location: 
-ExternalToolsMainTab.&Browse_Workspace..._3=Browse Works&pace...
-ExternalToolsMainTab.Brows&e_File_System..._4=Brows&e File System...
-ExternalToolsMainTab.Working_&Directory__5=Working &Directory:
-ExternalToolsMainTab.Browse_Wor&kspace..._6=Browse Wor&kspace...
-ExternalToolsMainTab.Browse_F&ile_System..._7=Br&owse File System...
-ExternalToolsMainTab.Error_reading_configuration_10=Error reading configuration
-ExternalToolsMainTab.&Main_17=Main
-ExternalToolsMainTab.External_tool_location_cannot_be_empty_18=External tool location cannot be empty
-ExternalToolsMainTab.External_tool_location_does_not_exist_19=External tool location does not exist
-ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20=External tool location specified is not a file
-ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21=External tool working directory does not exist or is invalid
-ExternalToolsMainTab.Select_a_resource_22=Select a resource:
-ExternalToolsMainTab.23=Select a working directory:
-ExternalToolsMainTab.&Arguments___1=&Arguments: 
-ExternalToolsMainTab.Varia&bles..._2=Variable&s...
-ExternalToolsMainTab.3=Note: Enclose an argument containing spaces using double-quotes (\").
-ExternalToolsMainTab.Error_reading_configuration_7=Error reading configuration
-ExternalToolsMainTab.Not_a_directory=The specified location is not a directory
-ExternalToolsMainTab.30=Please specify the location of the external tool you would like to configure.
-ExternalToolsMainTab.31=Var&iables...
-ExternalToolsMainTab.32=Varia&bles...
-
-ExternalToolsUtil.Location_not_specified_by_{0}_1=Location not specified by {0}
-ExternalToolsUtil.invalidLocation_{0} = The file does not exist for the external tool named {0}.
-ExternalToolsUtil.invalidDirectory_{0} = The working directory {0} does not exist for the external tool named {1}.
-
-ExternalToolsBuilderTab.Run_this_builder_for__1=Run the builder:
-ExternalToolsBuilderTab.&Full_builds_2=&After a \"Clean\"
-ExternalToolsBuilderTab.Full=Runs on the first build that occurs after a clean.
-ExternalToolsBuilderTab.&Incremental_builds_4=&During Manual Builds
-ExternalToolsBuilderTab.Inc=Runs whenever the user invokes a build (but not for auto-build).
-ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6=During A&uto Builds
-ExternalToolsBuilderTab.Auto=Runs whenever a resource in the workspace is modified if autobuilding is enabled. Enabling this option should be paired with a specifying a resource working set.
-ExternalToolsBuilderTab.Build_Options_9=&Build Options
-ExternalToolsBuilderTab.workingSet_label=Specify working set of &relevant resources (not applied for the build after a clean)
-ExternalToolsBuilderTab.workingSet_tooltip=The working set of resources that if changed from a manual or auto build will trigger the external tool builder
-ExternalToolsBuilderTab.buildKindError=At least one type of build kind must be selected
-ExternalToolsBuilderTab.14=Launch in bac&kground
-ExternalToolsBuilderTab.13=&Specify Resources...
-ExternalToolsBuilderTab.16=Must select resources in working set.
-ExternalToolsBuilderTab.15=workingSet
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
deleted file mode 100644
index b57e451..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
+++ /dev/null
@@ -1,638 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringVariableSelectionDialog;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ResourceSelectionDialog;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * The external tools main tab allows the user to configure primary attributes
- * of external tool launch configurations such as the location, working directory,
- * and arguments.
- */
-public abstract class ExternalToolsMainTab extends AbstractLaunchConfigurationTab {
-	public final static String FIRST_EDIT = "editedByExternalToolsMainTab"; //$NON-NLS-1$
-
-	protected Text locationField;
-	protected Text workDirectoryField;
-	protected Button fileLocationButton;
-	protected Button workspaceLocationButton;
-	protected Button variablesLocationButton;
-	protected Button fileWorkingDirectoryButton;
-	protected Button workspaceWorkingDirectoryButton;
-	protected Button variablesWorkingDirectoryButton;
-
-	protected Text argumentField;
-	protected Button argumentVariablesButton;
-
-	protected SelectionAdapter selectionAdapter;
-	
-	protected boolean fInitializing= false;
-	private boolean userEdited= false;
-
-	protected WidgetListener fListener= new WidgetListener();
-	
-	/**
-	 * A listener to update for text modification and widget selection.
-	 */
-	protected class WidgetListener extends SelectionAdapter implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			if (!fInitializing) {
-				setDirty(true);
-				userEdited= true;
-				updateLaunchConfigurationDialog();
-			}
-		}
-		public void widgetSelected(SelectionEvent e) {
-			setDirty(true);
-			Object source= e.getSource();
-			if (source == workspaceLocationButton) {
-				handleWorkspaceLocationButtonSelected();
-			} else if (source == fileLocationButton) {
-				handleFileLocationButtonSelected();
-			} else if (source == workspaceWorkingDirectoryButton) {
-				handleWorkspaceWorkingDirectoryButtonSelected();
-			} else if (source == fileWorkingDirectoryButton) {
-				handleFileWorkingDirectoryButtonSelected();
-			} else if (source == argumentVariablesButton) {
-				handleVariablesButtonSelected(argumentField);
-			} else if (source == variablesLocationButton) {
-				handleVariablesButtonSelected(locationField);
-			} else if (source == variablesWorkingDirectoryButton) {
-				handleVariablesButtonSelected(workDirectoryField);
-			}
-		}
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		mainComposite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-
-		createLocationComponent(mainComposite);
-		createWorkDirectoryComponent(mainComposite);
-		createArgumentComponent(mainComposite);
-		createVerticalSpacer(mainComposite, 1);
-		
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/**
-	 * Creates the controls needed to edit the location
-	 * attribute of an external tool
-	 * 
-	 * @param group the composite to create the controls in
-	 */
-	protected void createLocationComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String locationLabel = getLocationLabel();
-		group.setText(locationLabel);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;		
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		locationField = new Text(group, SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		locationField.setLayoutData(gridData);
-		locationField.addModifyListener(fListener);
-		addControlAccessibleListener(locationField, group.getText());
-		
-		Composite buttonComposite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(parent.getFont());
-		
-		workspaceLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Browse_Workspace..._3"), null); //$NON-NLS-1$
-		workspaceLocationButton.addSelectionListener(fListener);
-		addControlAccessibleListener(workspaceLocationButton, group.getText() + " " + workspaceLocationButton.getText()); //$NON-NLS-1$
-		
-		fileLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Brows&e_File_System..._4"), null); //$NON-NLS-1$
-		fileLocationButton.addSelectionListener(fListener);
-		addControlAccessibleListener(fileLocationButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-		
-		variablesLocationButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.31"), null); //$NON-NLS-1$
-		variablesLocationButton.addSelectionListener(fListener);	
-		addControlAccessibleListener(variablesLocationButton, group.getText() + " " + variablesLocationButton.getText());	 //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the label used for the location widgets. Subclasses may wish to override.
-	 */
-	protected String getLocationLabel() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Location___2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates the controls needed to edit the working directory
-	 * attribute of an external tool
-	 * 
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createWorkDirectoryComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String groupName = getWorkingDirectoryLabel();
-		group.setText(groupName);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		workDirectoryField = new Text(group, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		workDirectoryField.setLayoutData(data);
-		workDirectoryField.addModifyListener(fListener);
-		addControlAccessibleListener(workDirectoryField,group.getText());
-		
-		Composite buttonComposite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(parent.getFont());
-		
-		workspaceWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_Wor&kspace..._6"), null); //$NON-NLS-1$
-		workspaceWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(workspaceWorkingDirectoryButton, group.getText() + " " + workspaceWorkingDirectoryButton.getText()); //$NON-NLS-1$
-		
-		fileWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_F&ile_System..._7"), null); //$NON-NLS-1$
-		fileWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(fileWorkingDirectoryButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-		
-		variablesWorkingDirectoryButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.32"), null); //$NON-NLS-1$
-		variablesWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(variablesWorkingDirectoryButton, group.getText() + " " + variablesWorkingDirectoryButton.getText()); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return the String to use as the label for the working directory field.
-	 * Subclasses may wish to override.
-	 */
-	protected String getWorkingDirectoryLabel() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Working_&Directory__5"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates the controls needed to edit the argument and
-	 * prompt for argument attributes of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createArgumentComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String groupName = ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Arguments___1"); //$NON-NLS-1$
-		group.setText(groupName); 
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_BOTH);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		argumentField = new Text(group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		gridData.heightHint = 30;
-		argumentField.setLayoutData(gridData);
-		argumentField.addModifyListener(fListener);
-		addControlAccessibleListener(argumentField, group.getText());
-		
-		argumentVariablesButton= createPushButton(group, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Varia&bles..._2"), null); //$NON-NLS-1$
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		argumentVariablesButton.setLayoutData(gridData);
-		argumentVariablesButton.addSelectionListener(fListener);
-		addControlAccessibleListener(argumentVariablesButton, argumentVariablesButton.getText()); // need to strip the mnemonic from buttons
-
-		Label instruction = new Label(group, SWT.NONE);
-		instruction.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.3")); //$NON-NLS-1$
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		instruction.setLayoutData(gridData);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(FIRST_EDIT, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fInitializing= true;
-		updateLocation(configuration);
-		updateWorkingDirectory(configuration);
-		updateArgument(configuration);
-		fInitializing= false;
-		setDirty(false);
-	}
-	
-	/**
-	 * Updates the working directory widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateWorkingDirectory(ILaunchConfiguration configuration) {
-		String workingDir= ""; //$NON-NLS-1$
-		try {
-			workingDir= configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
-		}
-		workDirectoryField.setText(workingDir);
-	}
-	
-	/**
-	 * Updates the location widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateLocation(ILaunchConfiguration configuration) {
-		String location= ""; //$NON-NLS-1$
-		try {
-			location= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
-		}
-		locationField.setText(location);
-	}
-
-	/**
-	 * Updates the argument widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateArgument(ILaunchConfiguration configuration) {
-		String arguments= ""; //$NON-NLS-1$
-		try {
-			arguments= configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_7"), ce); //$NON-NLS-1$
-		}
-		argumentField.setText(arguments);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String location= locationField.getText().trim();
-		if (location.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-		}
-		
-		String workingDirectory= workDirectoryField.getText().trim();
-		if (workingDirectory.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, workingDirectory);
-		}
-
-		String arguments= argumentField.getText().trim();
-		if (arguments.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-		}
-		
-		if(userEdited) {
-			configuration.setAttribute(FIRST_EDIT, (String)null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Main_17"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		boolean newConfig = false;
-		try {
-			newConfig = launchConfig.getAttribute(FIRST_EDIT, false);
-		} catch (CoreException e) {
-			//assume false is correct
-		}
-		return validateLocation(newConfig) && validateWorkDirectory();
-	}
-	
-	/**
-	 * Validates the content of the location field.
-	 */
-	protected boolean validateLocation(boolean newConfig) {
-		String location = locationField.getText().trim();
-		if (location.length() < 1) {
-			if (newConfig) {
-				setErrorMessage(null);
-				setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.30"));  //$NON-NLS-1$
-			} else {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_cannot_be_empty_18")); //$NON-NLS-1$
-				setMessage(null);
-			}
-			return false;
-		}
-		
-		String expandedLocation= null;
-		try {
-			expandedLocation= resolveValue(location);
-			if (expandedLocation == null) { //a variable that needs to be resolved at runtime
-				return true;
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getStatus().getMessage());
-			return false;
-		}
-		
-		File file = new File(expandedLocation);
-		if (!file.exists()) { // The file does not exist.
-			if (!newConfig) {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_does_not_exist_19")); //$NON-NLS-1$
-			}
-			return false;
-		}
-		if (!file.isFile()) {
-			if (!newConfig) {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20")); //$NON-NLS-1$
-			}
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Validates the variables of the given string to determine if all variables are valid
-	 * 
-	 * @param expression expression with variables
-	 * @exception CoreException if a variable is specified that does not exist
-	 */
-	private void validateVaribles(String expression) throws CoreException {
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		manager.validateStringVariables(expression);
-	}
-	
-	private String resolveValue(String expression) throws CoreException {
-		String expanded= null;
-		try {
-			expanded= getValue(expression);
-		} catch (CoreException e) { //possibly just a variable that needs to be resolved at runtime
-			validateVaribles(expression);
-			return null;
-		}
-		return expanded;
-	}
-	
-	/**
-	 * Validates the value of the given string to determine if any/all variables are valid
-	 * 
-	 * @param expression expression with variables
-	 * @return whether the expression contained any variable values
-	 * @exception CoreException if variable resolution fails
-	 */
-	private String getValue(String expression) throws CoreException {
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		return manager.performStringSubstitution(expression);
-	}
-
-	/**
-	 * Validates the content of the working directory field.
-	 */
-	protected boolean validateWorkDirectory() {
-		String dir = workDirectoryField.getText().trim();
-		if (dir.length() <= 0) {
-			return true;
-		}
-
-		String expandedDir= null;
-		try {
-			expandedDir= resolveValue(dir);
-			if (expandedDir == null) { //a variable that needs to be resolved at runtime
-				return true;
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getStatus().getMessage());
-			return false;
-		}
-			
-		File file = new File(expandedDir);
-		if (!file.exists()) { // The directory does not exist.
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21")); //$NON-NLS-1$
-			return false;
-		}
-		if (!file.isDirectory()) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Not_a_directory")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Prompts the user to choose a location from the filesystem and
-	 * sets the location as the full path of the selected file.
-	 */
-	protected void handleFileLocationButtonSelected() {
-		FileDialog fileDialog = new FileDialog(getShell(), SWT.NONE);
-		fileDialog.setFileName(locationField.getText());
-		String text= fileDialog.open();
-		if (text != null) {
-			locationField.setText(text);
-		}
-	}
-	
-	/**
-	 * Prompts the user for a workspace location within the workspace and sets
-	 * the location as a String containing the workspace_loc variable or
-	 * <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		ResourceSelectionDialog dialog;
-		dialog = new ResourceSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Select_a_resource_22")); //$NON-NLS-1$
-		dialog.open();
-		Object[] results = dialog.getResult();
-		if (results == null || results.length < 1) {
-			return;
-		}
-		IResource resource = (IResource)results[0];
-		locationField.setText(newVariableExpression("workspace_loc", resource.getFullPath().toString())); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Prompts the user for a working directory location within the workspace
-	 * and sets the working directory as a String containing the workspace_loc
-	 * variable or <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceWorkingDirectoryButtonSelected() {
-		ContainerSelectionDialog containerDialog;
-		containerDialog = new ContainerSelectionDialog(
-			getShell(), 
-			ResourcesPlugin.getWorkspace().getRoot(),
-			false,
-			ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.23")); //$NON-NLS-1$
-		containerDialog.open();
-		Object[] resource = containerDialog.getResult();
-		String text= null;
-		if (resource != null && resource.length > 0) {
-			text= newVariableExpression("workspace_loc", ((IPath)resource[0]).toString()); //$NON-NLS-1$
-		}
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	/**
-	 * Returns a new variable expression with the given variable and the given argument.
-	 * @see IStringVariableManager#generateVariableExpression(String, String)
-	 */
-	protected String newVariableExpression(String varName, String arg) {
-		return VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression(varName, arg);
-	}
-	
-	/**
-	 * Prompts the user to choose a working directory from the filesystem.
-	 */
-	protected void handleFileWorkingDirectoryButtonSelected() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SAVE);
-		dialog.setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.23")); //$NON-NLS-1$
-		dialog.setFilterPath(workDirectoryField.getText());
-		String text= dialog.open();
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	/**
-	 * A variable entry button has been pressed for the given text
-	 * field. Prompt the user for a variable and enter the result
-	 * in the given field.
-	 */
-	private void handleVariablesButtonSelected(Text textField) {
-		String variable = getVariable();
-		if (variable != null) {
-			textField.append(variable);
-		}
-	}
-
-	/**
-	 * Prompts the user to choose and configure a variable and returns
-	 * the resulting string, suitable to be used as an attribute.
-	 */
-	private String getVariable() {
-		StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-		dialog.open();
-		return dialog.getVariableExpression();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return ExternalToolsImages.getImage(IExternalToolConstants.IMG_TAB_MAIN);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-	
-	/*
-	 * Fix for Bug 60163 Accessibility: New Builder Dialog missing object info for textInput controls
-	 */
-	public void addControlAccessibleListener(Control control, String controlName) {
-		//strip mnemonic (&)
-		String[] strs = controlName.split("&"); //$NON-NLS-1$
-		StringBuffer stripped = new StringBuffer();
-		for (int i = 0; i < strs.length; i++) {
-			stripped.append(strs[i]);
-		}
-		control.getAccessible().addAccessibleListener(new ControlAccessibleListener(stripped.toString()));
-	}
-	
-	private class ControlAccessibleListener extends AccessibleAdapter {
-		private String controlName;
-		ControlAccessibleListener(String name) {
-			controlName = name;
-		}
-		public void getName(AccessibleEvent e) {
-			e.result = controlName;
-		}
-		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
deleted file mode 100644
index fbbecb0..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243(
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Utilities for external tool launch configurations.
- * <p>
- * This class it not intended to be instantiated.
- * </p>
- */
-public class ExternalToolsUtil {
-
-	/**
-	 * Throws a core exception with an error status object built from
-	 * the given message, lower level exception, and error code.
-	 * 
-	 * @param message the status message
-	 * @param exception lower level exception associated with the
-	 *  error, or <code>null</code> if none
-	 * @param code error code
-	 */
-	protected static void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, code, message, exception));
-	}
-	
-	/**
-	 * Expands and returns the location attribute of the given launch
-	 * configuration. The location is
-	 * verified to point to an existing file, in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an absolute path to a file in the local file system  
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, if unable to resolve any variables, or if the
-	 * resolved location does not point to an existing file in the local file
-	 * system
-	 */
-	public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException {
-		String location = configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String) null);
-		if (location == null) {
-			abort(MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.Location_not_specified_by_{0}_1"), new String[] { configuration.getName()}), null, 0); //$NON-NLS-1$
-		} else {
-			String expandedLocation = getStringVariableManager().performStringSubstitution(location);
-			if (expandedLocation == null || expandedLocation.length() == 0) {
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-				abort(msg, null, 0);
-			} else {
-				File file = new File(expandedLocation);
-				if (file.isFile()) {
-					return new Path(expandedLocation);
-				} 
-				
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-				abort(msg, null, 0);
-			}
-		}
-		// execution will not reach here
-		return null;
-	}
-	
-	/**
-	 * Returns a boolean specifying whether or not output should be captured for
-	 * the given configuration
-	 * 
-	 * @param configuration the configuration from which the value will be
-	 * extracted
-	 * @return boolean specifying whether or not output should be captured
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean getCaptureOutput(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, true);
-	}
-
-	/**
-	 * Expands and returns the working directory attribute of the given launch
-	 * configuration. Returns <code>null</code> if a working directory is not
-	 * specified. If specified, the working is verified to point to an existing
-	 * directory in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an absolute path to a directory in the local file system, or
-	 * <code>null</code> if unspecified
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, if unable to resolve any variables, or if the
-	 * resolved location does not point to an existing directory in the local
-	 * file system
-	 */
-	public static IPath getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
-		String location = configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) null);
-		if (location != null) {
-			String expandedLocation = getStringVariableManager().performStringSubstitution(location);
-			if (expandedLocation.length() > 0) {
-				File path = new File(expandedLocation);
-				if (path.isDirectory()) {
-					return new Path(expandedLocation);
-				} 
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidDirectory_{0}"), new Object[] { expandedLocation, configuration.getName()}); //$NON-NLS-1$
-				abort(msg, null, 0);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Expands and returns the arguments attribute of the given launch
-	 * configuration. Returns <code>null</code> if arguments are not specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an array of resolved arguments, or <code>null</code> if
-	 * unspecified
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, or if unable to resolve any variables
-	 */
-	public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException {
-		String args = configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String) null);
-		if (args != null) {
-			String expanded = getStringVariableManager().performStringSubstitution(args);
-			return parseStringIntoList(expanded);
-		}
-		return null;
-	}
-
-	private static IStringVariableManager getStringVariableManager() {
-		return VariablesPlugin.getDefault().getStringVariableManager();
-	}
-	
-	/**
-	 * Returns whether the given launch configuration is enabled. This property
-	 * is intended only to apply to external tool builder configurations and
-	 * determines whether the project builder will launch the configuration
-	 * when it builds.
-	 *  
-	 * @param configuration the configuration for which the enabled state should
-	 * 		be determined.
-	 * @return whether the given configuration is enabled to be run when a build occurs.
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isBuilderEnabled(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, true);
-	}
-	
-	/**
-	 * Returns the collection of resources for the build scope as specified by the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if an exception occurs while retrieving the resources
-	 */
-	public static IResource[] getResourcesForBuildScope(ILaunchConfiguration configuration) throws CoreException {
-		String scope = configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String) null);
-		if (scope == null) {
-			return null;
-		}
-	
-		return RefreshTab.getRefreshResources(scope);
-	}
-	
-	/**
-	 * Parses the argument text into an array of individual
-	 * strings using the space character as the delimiter.
-	 * An individual argument containing spaces must have a
-	 * double quote (") at the start and end. Two double 
-	 * quotes together is taken to mean an embedded double
-	 * quote in the argument text.
-	 * 
-	 * @param arguments the arguments as one string
-	 * @return the array of arguments
-	 */
-	public static String[] parseStringIntoList(String arguments) {
-		if (arguments == null || arguments.length() == 0) {
-			return new String[0];
-		}
-		ArgumentParser parser= new ArgumentParser(arguments);
-		String[] res= parser.parseArguments();
-		return res;		
-	}	
-	
-	private static class ArgumentParser {
-		private String fArgs;
-		private int fIndex= 0;
-		private int ch= -1;
-		
-		public ArgumentParser(String args) {
-			fArgs= args;
-		}
-		
-		public String[] parseArguments() {
-			List v= new ArrayList();
-			
-			ch= getNext();
-			while (ch > 0) {
-				if (Character.isWhitespace((char)ch)) {
-					ch= getNext();	
-				} else {
-					if (ch == '"') {
-						v.add(parseString());
-					} else {
-						v.add(parseToken());
-					}
-				}
-			}
-	
-			String[] result= new String[v.size()];
-			v.toArray(result);
-			return result;
-		}
-		
-		private int getNext() {
-			if (fIndex < fArgs.length())
-				return fArgs.charAt(fIndex++);
-			return -1;
-		}
-		
-		private String parseString() {
-			StringBuffer buf= new StringBuffer();
-			ch= getNext();
-			while (ch > 0 && ch != '"') {
-				if (ch == '\\') {
-					ch= getNext();
-					if (ch != '"') {           // Only escape double quotes
-						buf.append('\\');
-					} else {
-						if (Platform.getOS().equals(Constants.OS_WIN32)) {
-							// @see Bug 26870. Windows requires an extra escape for embedded strings
-							buf.append('\\');
-						}
-					}
-				}
-				if (ch > 0) {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-	
-			ch= getNext();
-			
-			return buf.toString();
-		}
-		
-		private String parseToken() {
-			StringBuffer buf= new StringBuffer();
-			
-			while (ch > 0 && !Character.isWhitespace((char)ch)) {
-				if (ch == '\\') {
-					ch= getNext();
-					if (Character.isWhitespace((char)ch)) {
-						// end of token, don't lose trailing backslash
-						buf.append('\\');
-						return buf.toString();
-					}
-					if (ch > 0) {
-						if (ch != '"') {           // Only escape double quotes
-							buf.append('\\');
-						} else {
-							if (Platform.getOS().equals(Constants.OS_WIN32)) {
-								// @see Bug 26870. Windows requires an extra escape for embedded strings
-								buf.append('\\');
-							}
-						}
-						buf.append((char)ch);
-						ch= getNext();
-					} else if (ch == -1) {     // Don't lose a trailing backslash
-						buf.append('\\');
-					}
-				} else if (ch == '"') {
-					buf.append(parseString());
-				} else {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			return buf.toString();
-		}
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
deleted file mode 100644
index f2f9314..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-public class IgnoreWhiteSpaceComparator implements Comparator {
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String one= (String)o1;
-		String two= (String)o2;
-		int i1 = 0;
-		int i2 = 0;
-		int l1 = one.length();
-		int l2 = two.length();
-		char ch1 = ' ';
-		char ch2 = ' ';
-		while (i1 < l1 && i2 < l2) {
-			while (i1 < l1 && Character.isWhitespace(ch1 = one.charAt(i1))) {
-				i1++;
-			}
-			while (i2 < l2 && Character.isWhitespace(ch2 = two.charAt(i2))) {
-				i2++;
-			}
-			if (i1 == l1 && i2 == l2) {
-				return 0;
-			}
-			if (ch1 != ch2) {
-				return -1;
-			}			
-			i1++;
-			i2++;
-		}
-		return 0;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
deleted file mode 100644
index cd8fea5..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * Comparator for refresh scope launch configuration attribute
- * <code>ATTR_REFRESH_SCOPE</code>.
- */
-public class WorkingSetComparator implements Comparator {
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String one= (String)o1;
-		String two= (String)o2;
-		if (one == null || two == null) {
-			if (one == two) {
-				return 0;
-			} 
-			return -1;
-		}
-		if (one.startsWith("${working_set:") && two.startsWith("${working_set:")) {		  //$NON-NLS-1$//$NON-NLS-2$
-			IWorkingSet workingSet1 = RefreshTab.getWorkingSet(one);
-			IWorkingSet workingSet2 = RefreshTab.getWorkingSet(two);
-			if (workingSet1 == null || workingSet2 == null) {
-				if (workingSet1 == workingSet2) {
-					return 0;
-				} 
-				return -1;
-			}
-			if (workingSet1.equals(workingSet2)) {
-				return 0;
-			}
-			return -1;
-		}
-		return one.compareTo(two);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
deleted file mode 100644
index 276445a..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * This action delegate is responsible for producing the
- * Run > External Tools sub menu contents, which includes
- * an items to run last tool, favorite tools, and show the
- * external tools view.
- */
-public class ExternalToolMenuDelegate extends AbstractLaunchToolbarAction {
-	
-	/**
-	 * Creates the action delegate
-	 */
-	public ExternalToolMenuDelegate() {
-		super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
deleted file mode 100644
index 2eda9c5..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-
-/**
- * Utility methods for working with external tool project builders.
- */
-public class BuilderUtils {
-
-	public static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle"; //$NON-NLS-1$
-
-	/**
-	 * Constant used to find a builder using the 3.0-interim format
-	 */
-	public static final String BUILDER_FOLDER_NAME= ".externalToolBuilders"; //$NON-NLS-1$
-	/**
-	 * Constant used to represent the current project in the 3.0-final format.
-	 */
-	public static final String PROJECT_TAG= "<project>"; //$NON-NLS-1$
-	
-	public static final String VERSION_1_0= "1.0"; //$NON-NLS-1$
-	public static final String VERSION_2_1= "2.1"; //$NON-NLS-1$
-	// The format shipped up to and including Eclipse 3.0 RC1
-	public static final String VERSION_3_0_interim= "3.0.interim"; //$NON-NLS-1$
-	// The format shipped in Eclipse 3.0 final
-	public static final String VERSION_3_0_final= "3.0"; //$NON-NLS-1$
-	
-	// Extension point constants.
-	private static final String TAG_CONFIGURATION_MAP= "configurationMap"; //$NON-NLS-1$
-	private static final String TAG_SOURCE_TYPE= "sourceType"; //$NON-NLS-1$
-	private static final String TAG_BUILDER_TYPE= "builderType"; //$NON-NLS-1$
-
-	/**
-	 * Returns a launch configuration from the given ICommand arguments. If the
-	 * given arguments are from an old-style external tool, an unsaved working
-	 * copy will be created from the arguments and returned.
-	 * 
-	 * @param commandArgs the builder ICommand arguments
-	 * @return a launch configuration, a launch configuration working copy, or
-	 * <code>null</code> if not possible.
-	 */
-	public static ILaunchConfiguration configFromBuildCommandArgs(IProject project, Map commandArgs, String[] version) {
-		String configHandle = (String) commandArgs.get(LAUNCH_CONFIG_HANDLE);
-		if (configHandle == null) {
-			// Probably an old-style (Eclipse 1.0 or 2.0) external tool. Try to migrate.
-			version[0]= VERSION_1_0;
-			return ExternalToolMigration.configFromArgumentMap(commandArgs);
-		}
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfiguration configuration= null;
-		try {
-			// First, treat the configHandle as a memento. This is the format
-			// used in Eclipse 2.1.
-			configuration = manager.getLaunchConfiguration(configHandle);
-		} catch (CoreException e) {
-		}
-		if (configuration != null) {
-			version[0]= VERSION_2_1;
-		} else if (configHandle.startsWith(PROJECT_TAG)) {
-			version[0]= VERSION_3_0_final;
-			IPath path= new Path(configHandle);
-			IFile file= project.getFile(path.removeFirstSegments(1));
-			if (file.exists()) {
-				configuration= manager.getLaunchConfiguration(file);
-			} 
-		} else {
-			// If the memento failed, try treating the handle as a file name.
-			// This is the format used in 3.0 RC1.
-			version[0]= VERSION_3_0_interim;
-			IPath path= new Path(BUILDER_FOLDER_NAME).append(configHandle);
-			IFile file= project.getFile(path);
-			if (file.exists()) {
-				version[0]= VERSION_3_0_interim;
-				configuration= manager.getLaunchConfiguration(file);
-			}
-		}
-		return configuration;
-	}
-
-	/**
-	 * Returns an <code>ICommand</code> from the given launch configuration.
-	 * 
-	 * @param project the project the ICommand is relevant to
-	 * @param config, the launch configuration to create the command from
-	 * @return the new command. <code>null</code> can be returned if problems occur during
-	 * the translation.
-	 */
-	public static ICommand commandFromLaunchConfig(IProject project, ILaunchConfiguration config) {
-		ICommand newCommand = null;
-		try {
-			newCommand = project.getDescription().newCommand();
-			newCommand = toBuildCommand(project, config, newCommand);
-		} catch (CoreException exception) {
-			Shell shell= ExternalToolsPlugin.getActiveWorkbenchShell();
-			if (shell != null) {
-				MessageDialog.openError(shell, ExternalToolsModelMessages.getString("BuilderUtils.5"), ExternalToolsModelMessages.getString("BuilderUtils.6")); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return null;
-		}
-		return newCommand;
-	}
-
-	/**
-	 * Returns whether the given configuration is an "unmigrated" builder.
-	 * Unmigrated builders are external tools that are stored in an old format
-	 * but have not been migrated by the user. Old format builders are always
-	 * translated into launch config working copies in memory, but they're not
-	 * considered "migrated" until the config has been saved and the project spec
-	 * updated.
-	 * @param config the config to examine
-	 * @return whether the given config represents an unmigrated builder
-	 */
-	public static boolean isUnmigratedConfig(ILaunchConfiguration config) {
-		return config.isWorkingCopy() && ((ILaunchConfigurationWorkingCopy) config).getOriginal() == null;
-	}
-
-	/**
-	 * Converts the given config to a build command which is stored in the
-	 * given command.
-	 *
-	 * @return the configured build command
-	 */
-	public static ICommand toBuildCommand(IProject project, ILaunchConfiguration config, ICommand command) throws CoreException {
-		Map args= null;
-		if (isUnmigratedConfig(config)) {
-			// This config represents an old external tool builder that hasn't
-			// been edited. Try to find the old ICommand and reuse the arguments.
-			// The goal here is to not change the storage format of old, unedited builders.
-			ICommand[] commands= project.getDescription().getBuildSpec();
-			for (int i = 0; i < commands.length; i++) {
-				ICommand projectCommand = commands[i];
-				String name= ExternalToolMigration.getNameFromCommandArgs(projectCommand.getArguments());
-				if (name != null && name.equals(config.getName())) {
-					args= projectCommand.getArguments();
-					break;
-				}
-			}
-		} else {
-			if (config instanceof ILaunchConfigurationWorkingCopy) {
-				ILaunchConfigurationWorkingCopy workingCopy= (ILaunchConfigurationWorkingCopy) config;
-				if (workingCopy.getOriginal() != null) {
-					config= workingCopy.getOriginal();
-				}
-			}
-			args= new HashMap();
-			// Launch configuration builders are stored with a project-relative path
-			StringBuffer buffer= new StringBuffer(PROJECT_TAG);
-			// Append the project-relative path (workspace path minus first segment)
-			buffer.append('/').append(config.getFile().getFullPath().removeFirstSegments(1));
-			args.put(LAUNCH_CONFIG_HANDLE, buffer.toString());
-		}
-		command.setBuilderName(ExternalToolBuilder.ID);
-		command.setArguments(args);
-		return command;
-	}
-	
-	/**
-	 * Returns the type of launch configuration that should be created when
-	 * duplicating the given configuration as a project builder. Queries to see
-	 * if an extension has been specified to explicitly declare the mapping.
-	 */
-	public static ILaunchConfigurationType getConfigurationDuplicationType(ILaunchConfiguration config) throws CoreException {
-		IExtensionPoint ep= Platform.getExtensionRegistry().getExtensionPoint(IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS); 
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		String sourceType= config.getType().getIdentifier();
-		String builderType= null;
-		for (int i= 0; i < elements.length; i++) {
-			IConfigurationElement element= elements[i];
-			if (element.getName().equals(TAG_CONFIGURATION_MAP) && sourceType.equals(element.getAttribute(TAG_SOURCE_TYPE))) {
-				builderType= element.getAttribute(TAG_BUILDER_TYPE);
-				break;
-			}
-		}
-		if (builderType != null) {
-			ILaunchConfigurationType type= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(builderType);
-			if (type != null) {
-				return type;
-			}
-		}
-		return config.getType();
-	}
-
-	/**
-	 * Returns the folder where project builders should be stored or
-	 * <code>null</code> if the folder could not be created
-	 */
-	public static IFolder getBuilderFolder(IProject project, boolean create) {
-		IFolder folder = project.getFolder(BUILDER_FOLDER_NAME);
-		if (!folder.exists() && create) {
-			try {
-				folder.create(true, true, new NullProgressMonitor());
-			} catch (CoreException e) {
-				return null;
-			}
-		}
-		return folder;
-	}
-
-	/**
-	 * Returns a duplicate of the given configuration. The new configuration
-	 * will be of the same type as the given configuration or of the duplication
-	 * type registered for the given configuration via the extension point
-	 * IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS.
-	 */
-	public static ILaunchConfiguration duplicateConfiguration(IProject project, ILaunchConfiguration config) throws CoreException {
-		Map attributes= null;
-		attributes= config.getAttributes();
-		String newName= new StringBuffer(config.getName()).append(ExternalToolsModelMessages.getString("BuilderUtils.7")).toString(); //$NON-NLS-1$
-		newName= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(newName);
-		ILaunchConfigurationType newType= getConfigurationDuplicationType(config);
-		ILaunchConfigurationWorkingCopy newWorkingCopy= newType.newInstance(getBuilderFolder(project, true), newName);
-		newWorkingCopy.setAttributes(attributes);
-		return newWorkingCopy.doSave();
-	}
-
-	/**
-	 * Migrates the launch configuration working copy, which is based on an old-
-	 * style external tool builder, to a new, saved launch configuration. The
-	 * returned launch configuration will contain the same attributes as the
-	 * given working copy with the exception of the configuration name, which
-	 * may be changed during the migration. The name of the configuration will
-	 * only be changed if the current name is not a valid name for a saved
-	 * config.
-	 * 
-	 * @param workingCopy the launch configuration containing attributes from an
-	 * old-style project builder.
-	 * @return ILaunchConfiguration a new, saved launch configuration whose
-	 * attributes match those of the given working copy as well as possible
-	 * @throws CoreException if an exception occurs while attempting to save the
-	 * new launch configuration
-	 */
-	public static ILaunchConfiguration migrateBuilderConfiguration(IProject project, ILaunchConfigurationWorkingCopy workingCopy) throws CoreException {
-		workingCopy.setContainer(getBuilderFolder(project, true));
-		// Before saving, make sure the name is valid
-		String name= workingCopy.getName();
-		name.replace('/', '.');
-		if (name.charAt(0) == ('.')) {
-			name = name.substring(1);
-		}
-		IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
-		if (!status.isOK()) {
-			name = "ExternalTool"; //$NON-NLS-1$
-		}
-		name = DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
-		workingCopy.rename(name);
-		return workingCopy.doSave();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
deleted file mode 100644
index d443e6b..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-import org.osgi.framework.Bundle;
-
-/**
- * This project builder implementation will run an external tool or tools during the
- * build process. 
- * <p>
- * Note that there is only ever one instance of ExternalToolBuilder per project,
- * and the external tool to run is specified in the builder's arguments.
- * </p>
- */
-public final class ExternalToolBuilder extends IncrementalProjectBuilder {
-	public static final String ID = "org.eclipse.ui.externaltools.ExternalToolBuilder"; //$NON-NLS-1$;
-
-	private static final String BUILD_TYPE_SEPARATOR = ","; //$NON-NLS-1$
-	private static final int[] DEFAULT_BUILD_TYPES= new int[] {
-									IncrementalProjectBuilder.INCREMENTAL_BUILD,
-									IncrementalProjectBuilder.FULL_BUILD};
-
-	private static String buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-	
-	private static IProject buildProject= null;
-	
-	private List projectsWithinScope;
-	
-	private boolean buildKindCompatible(int kind, ILaunchConfiguration config) throws CoreException {
-		int[] buildKinds = buildTypesToArray(config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, "")); //$NON-NLS-1$
-		for (int j = 0; j < buildKinds.length; j++) {
-			if (kind == buildKinds[j]) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.events.InternalBuilder#build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {		
-		if (ExternalToolsPlugin.getDefault().getBundle().getState() != Bundle.ACTIVE) {
-			return null;
-		}
-		
-		if (kind == FULL_BUILD) {
-			ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(getProject(), args, new String[1]);
-			if (config != null && buildKindCompatible(kind, config) && configEnabled(config)) {
-				launchBuild(kind, config, monitor);
-			}
-			if (shouldForgetBuildState(args)) {
-				forgetLastBuiltState();
-			}
-			return getProjectsWithinScope();
-		}
-		//need to build all external tools from one builder (see bug 39713)
-		//if not a full build
-		ICommand[] commands = getProject().getDescription().getBuildSpec();
-		projectsWithinScope= new ArrayList();
-		for (int i = 0; i < commands.length; i++) {
-			if (ID.equals(commands[i].getBuilderName())){
-				ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(getProject(), commands[i].getArguments(), new String[1]);
-				if (config != null && buildKindCompatible(kind, config) && configEnabled(config)) {
-					doBuildBasedOnScope(kind, config, monitor);
-				}
-			}
-		}
-		return getProjectsWithinScope();
-	}
-	
-	private boolean shouldForgetBuildState(Map args) throws CoreException {
-		//if I am not the last external tool builder and there are other full build external tool builders after me I need
-		//to forget the last build state so that these builders will be called.
-
-		ICommand[] commands = getProject().getDescription().getBuildSpec();
-		int currentBuilderIndex= -1;
-		for (int i = 0; i < commands.length; i++) {
-			ICommand command= commands[i];
-			if (ID.equals(command.getBuilderName())){
-				if (command.getArguments().equals(args)) {
-					if (i + 1 == commands.length) {
-						//last builder
-						return false;
-					}
-					currentBuilderIndex= i;
-				} else if (currentBuilderIndex > -1 && i > currentBuilderIndex) {
-					ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(getProject(), command.getArguments(), new String[1]);
-					if (config != null && buildKindCompatible(FULL_BUILD, config) && configEnabled(config)) {
-						//another full build external tool builder needs to be triggered
-						return true;
-					}
-				}
-			}
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Returns whether the given builder config is enabled or not.
-	 * 
-	 * @param config the config to examine
-	 * @return whether the config is enabled
-	 */
-	private boolean configEnabled(ILaunchConfiguration config) {
-		try {
-			return ExternalToolsUtil.isBuilderEnabled(config);
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-		return true;
-	}
-
-	private IProject[] getProjectsWithinScope() {
-		if (projectsWithinScope == null || projectsWithinScope.isEmpty()) {
-			projectsWithinScope = null;
-			return null;
-		}
-		return (IProject[])projectsWithinScope.toArray(new IProject[projectsWithinScope.size()]);
-	}
-
-	private void doBuildBasedOnScope(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		boolean buildForChange = true;
-		IResource[] resources = ExternalToolsUtil.getResourcesForBuildScope(config);
-		if (resources != null && resources.length > 0) {
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				projectsWithinScope.add(resource.getProject());
-			}
-			buildForChange = buildScopeIndicatesBuild(resources);
-		}
-
-		if (buildForChange) {
-			launchBuild(kind, config, monitor);
-		}
-	}
-	
-	private void launchBuild(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		monitor.subTask(MessageFormat.format(ExternalToolsModelMessages.getString("ExternalToolBuilder.Running_{0}..._1"), new String[] { config.getName()})); //$NON-NLS-1$
-		buildStarted(kind);
-		// The default value for "launch in background" is true in debug core. If
-		// the user doesn't go through the UI, the new attribute won't be set. This means
-		// that existing Ant builders will try to run in the background (and likely conflict with
-		// each other) without migration.
-		config= ExternalToolMigration.migrateRunInBackground(config);
-		config.launch(ILaunchManager.RUN_MODE, monitor);
-		buildEnded();
-	}
-
-	/**
-	 * Returns the build type being performed if the
-	 * external tool is being run as a project builder.
-	 * 
-	 * @return one of the <code>IExternalToolConstants.BUILD_TYPE_*</code> constants.
-	 */
-	public static String getBuildType() {
-		return buildType;
-	}
-	
-	/**
-	 * Returns the project that is being built and has triggered the current external
-	 * tool builder. <code>null</code> is returned if no build is currently occurring.
-	 * 
-	 * @return project being built or <code>null</code>.
-	 */
-	public static IProject getBuildProject() {
-		return buildProject;
-	}
-	
-	/**
-	 * Stores the currently active build kind and build project when a build begins
-	 * @param buildKind
-	 */
-	private void buildStarted(int buildKind) {
-		switch (buildKind) {
-			case IncrementalProjectBuilder.INCREMENTAL_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_INCREMENTAL;
-				break;
-			case IncrementalProjectBuilder.FULL_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_FULL;
-				break;
-			case IncrementalProjectBuilder.AUTO_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_AUTO;
-				break;
-			default :
-				buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-				break;
-		}
-		buildProject= getProject();
-	}
-	
-	/**
-	 * Clears the current build kind and build project when a build finishes.
-	 */
-	private void buildEnded() {
-		buildType= IExternalToolConstants.BUILD_TYPE_NONE;
-		buildProject= null;
-	}
-	
-	private boolean buildScopeIndicatesBuild(IResource[] resources) {
-		for (int i = 0; i < resources.length; i++) {
-			IResourceDelta delta = getDelta(resources[i].getProject());
-			if (delta == null) {
-				//project just added to the workspace..no previous build tree
-				return true;
-			} 
-			IPath path= resources[i].getProjectRelativePath();
-			IResourceDelta change= delta.findMember(path);
-			if (change != null) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Converts the build types string into an array of
-	 * build kinds.
-	 *
-	 * @param buildTypes the string of built types to convert
-	 * @return the array of build kinds.
-	 */
-	public static int[] buildTypesToArray(String buildTypes) {
-		if (buildTypes == null || buildTypes.length() == 0) {
-			return DEFAULT_BUILD_TYPES;
-		}
-		
-		int count = 0;
-		boolean incremental = false;
-		boolean full = false;
-		boolean auto = false;
-
-		StringTokenizer tokenizer = new StringTokenizer(buildTypes, BUILD_TYPE_SEPARATOR);
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			if (IExternalToolConstants.BUILD_TYPE_INCREMENTAL.equals(token)) {
-				if (!incremental) {
-					incremental = true;
-					count++;
-				}
-			} else if (IExternalToolConstants.BUILD_TYPE_FULL.equals(token)) {
-				if (!full) {
-					full = true;
-					count++;
-				}
-			} else if (IExternalToolConstants.BUILD_TYPE_AUTO.equals(token)) {
-				if (!auto) {
-					auto = true;
-					count++;
-				}
-			}
-		}
-
-		int[] results = new int[count];
-		count = 0;
-		if (incremental) {
-			results[count] = IncrementalProjectBuilder.INCREMENTAL_BUILD;
-			count++;
-		}
-		if (full) {
-			results[count] = IncrementalProjectBuilder.FULL_BUILD;
-			count++;
-		}
-		if (auto) {
-			results[count] = IncrementalProjectBuilder.AUTO_BUILD;
-			count++;
-		}
-
-		return results;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
deleted file mode 100644
index 5ba5968..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The images provided by the external tools plugin.
- */
-public class ExternalToolsImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * The registry for composite images
-	 */
-	private static ImageDescriptorRegistry imageDescriptorRegistry;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static Map imageDescriptors;
-
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$	
-		ICON_BASE_URL= ExternalToolsPlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {		
-		// Objects
-		declareRegistryImage(IExternalToolConstants.IMG_TAB_MAIN, OBJECT + "main_tab.gif"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Declare an Image in the registry table.
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plugin class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(String key, String path) {
-		ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-		try {
-			desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-		} catch (MalformedURLException me) {
-		}
-		imageRegistry.put(key, desc);
-		imageDescriptors.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-     *	@see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(ExternalToolsPlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-	
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions
-	 * are retrieved from the *lcl16 folders.
-	 */
-	public static void setLocalImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "lcl16", iconName); //$NON-NLS-1$
-	}
-	
-	private static void setImageDescriptors(IAction action, String type, String relPath) {
-		
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setDisabledImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setHoverImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-
-		action.setImageDescriptor(create("e" + type, relPath)); //$NON-NLS-1$
-	}
-	
-	private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-		
-		StringBuffer buffer= new StringBuffer(prefix);
-		buffer.append('/');
-		buffer.append(name);
-		return new URL(ICON_BASE_URL, buffer.toString());
-	}
-	
-	private static ImageDescriptor create(String prefix, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-	/** 
-	 * Returns the image for the given composite descriptor. 
-	 */
-	public static Image getImage(CompositeImageDescriptor imageDescriptor) {
-		if (imageDescriptorRegistry == null) {
-			imageDescriptorRegistry = new ImageDescriptorRegistry();	
-		}
-		return imageDescriptorRegistry.get(imageDescriptor);
-	}
-	
-	public static void disposeImageDescriptorRegistry() {
-		if (imageDescriptorRegistry != null) {
-			imageDescriptorRegistry.dispose(); 
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
deleted file mode 100644
index 75bd41e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsModelMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.model.ExternalToolsModelMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsModelMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
deleted file mode 100644
index 61fcca0..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
-ExternalToolBuilder.Running_{0}..._1=Running {0}...
-BuilderUtils.5=Command Error
-BuilderUtils.6=An error occurred while saving the project's build commands
-BuilderUtils.7=\ [Builder]
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
deleted file mode 100644
index e9e0311..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * External tools plug-in class
- */
-public final class ExternalToolsPlugin extends AbstractUIPlugin {
-	/**
-	 * Status representing no problems encountered during operation.
-	 */
-	public static final IStatus OK_STATUS = new Status(IStatus.OK, IExternalToolConstants.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
-
-	private static ExternalToolsPlugin plugin;
-	
-	private static final String EMPTY_STRING= ""; //$NON-NLS-1$
-
-	/**
-	 * Create an instance of the External Tools plug-in.
-	 */
-	public ExternalToolsPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the default instance of the receiver.
-	 * This represents the runtime plugin.
-	 */
-	public static ExternalToolsPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns a new <code>IStatus</code> for this plug-in
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		if (message == null) {
-			message= EMPTY_STRING; 
-		}		
-		return new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception);
-	}
-
-	/**
-	 * Returns a new <code>CoreException</code> for this plug-in
-	 */
-	public static CoreException newError(String message, Throwable exception) {
-		return new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception));
-	}
-
-	/**
-	 * Writes the message to the plug-in's log
-	 * 
-	 * @param message the text to write to the log
-	 */
-	public void log(String message, Throwable exception) {
-		IStatus status = newErrorStatus(message, exception);
-		getLog().log(status);
-	}
-	
-	public void log(Throwable exception) {
-		//this message is intentionally not internationalized, as an exception may
-		// be due to the resource bundle itself
-		getLog().log(newErrorStatus("Internal error logged from External Tools UI: ", exception)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the ImageDescriptor for the icon with the given path
-	 * 
-	 * @return the ImageDescriptor object
-	 */
-	public ImageDescriptor getImageDescriptor(String path) {
-		try {
-			Bundle bundle= getDefault().getBundle();
-			URL installURL = bundle.getEntry("/"); //$NON-NLS-1$
-			URL url = new URL(installURL, path);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared in AbstractUIPlugin.
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore prefs) {
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, true);
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, true);
-	}
-
-	/**
-	 * Returns the active workbench window or <code>null</code> if none
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-	
-	/**
-	 * Returns the active workbench page or <code>null</code> if none.
-	 */
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getActivePage();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the active workbench shell or <code>null</code> if none.
-	 */
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getShell();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-		return display;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return ExternalToolsImages.initializeImageRegistry();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			ExternalToolsImages.disposeImageDescriptorRegistry();
-		} finally {
-			super.stop(context);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
deleted file mode 100644
index d737d1e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-/**
- * Defines the constants available for client use.
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- */
-public interface IExternalToolConstants {
-	/**
-	 * Plugin identifier for external tools (value <code>org.eclipse.ui.externaltools</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ui.externaltools"; //$NON-NLS-1$;
-
-	// ------- Extensions Points -------
-	/**
-	 * Extension point to declare the launch configuration type that should be
-	 * created when duplicating an existing configuration as a project builder.
-	 */
-	public static final String EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS = "configurationDuplicationMaps"; //$NON-NLS-1$
-	// ------- Refresh Variables -------
-	/**
-	 * Variable that expands to the workspace root object (value <code>workspace</code>).
-	 */
-	public static final String VAR_WORKSPACE = "workspace"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the project resource (value <code>project</code>).
-	 */
-	public static final String VAR_PROJECT = "project"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the container resource (value <code>container</code>).
-	 */
-	public static final String VAR_CONTAINER = "container"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to a resource (value <code>resource</code>).
-	 */
-	public static final String VAR_RESOURCE = "resource"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the working set object (value <code>working_set</code>).
-	 */
-	public static final String VAR_WORKING_SET = "working_set"; //$NON-NLS-1$
-	// ------- Tool Types -------
-	/**
-	 * External tool type for programs such as executables, batch files, 
-	 * shell scripts, etc (value <code>programType</code>).
-	 */
-	public static final String TOOL_TYPE_PROGRAM = "programType"; //$NON-NLS-1$;
-
-	// ------- Build Types -------
-	/**
-	 * Build type indicating an incremental project build request for
-	 * the external tool running as a builder (value <code>incremental</code>).
-	 */
-	public static final String BUILD_TYPE_INCREMENTAL = "incremental"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating a full project build request for
-	 * the external tool running as a builder (value <code>full</code>).
-	 */
-	public static final String BUILD_TYPE_FULL = "full"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating an automatic project build request for
-	 * the external tool running as a builder (value <code>incremental</code>).
-	 */
-	public static final String BUILD_TYPE_AUTO = "auto"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating an no project build request for
-	 * the external tool running as a builder (value <code>none</code>).
-	 */
-	public static final String BUILD_TYPE_NONE = "none"; //$NON-NLS-1$
-
-	// ------- Images -------
-
-	/**
-	 * Main tab image.
-	 */
-	public static final String IMG_TAB_MAIN = PLUGIN_ID + ".IMG_TAB_MAIN"; //$NON-NLS-1$
-	
-	// ------- Launch configuration types --------
-	/**
-	 * Program launch configuration type identifier.
-	 */
-	public static final String ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"; //$NON-NLS-1$
-	
-	/**
-	 * Program builder launch configuration type identifier. Program project
-	 * builders are of this type.
-	 */
-	public static final String ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"; //$NON-NLS-1$	
-	
-	// ------- Launch configuration category --------
-	/**
-	 * Identifier for external tools launch configuration category. Launch
-	 * configuration types for external tools that appear in the external tools
-	 * launch configuration dialog should belong to this category.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools"; //$NON-NLS-1$
-	/**
-	 * Identifier for external tools launch configuration builders category.
-	 * Launch configuration types that can be added as project builders should
-	 * belong to this category.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools.builder"; //$NON-NLS-1$
-
-	// ------- Launch configuration groups --------
-	/**
-	 * Identifier for external tools launch configuration group. The external
-	 * tools launch configuration group corresponds to the external tools
-	 * category in run mode.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup"; //$NON-NLS-1$
-	/**
-	 * Identifier for external tools launch configuration group
-	 */
-	public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup.builder"; //$NON-NLS-1$
-
-	// ------- Common External Tool Launch Configuration Attributes -------
-
-	/**
-	 * Boolean attribute indicating if external tool output should be captured.
-	 * Default value is <code>false</code>.
-	 */
-	public static final String ATTR_CAPTURE_OUTPUT = PLUGIN_ID + ".ATTR_CAPTURE_OUTPUT"; //$NON-NLS-1$
-	/**
-	 * String attribute identifying the location of an external. Default value
-	 * is <code>null</code>. Encoding is tool specific.
-	 */
-	public static final String ATTR_LOCATION = PLUGIN_ID + ".ATTR_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * Boolean attribute indicating if the user should be prompted for
-	 * arguments before running a tool. Default value is <code>false</code>.
-	 * THIS ATTRIBUTE IS NOT USED.
-	 */
-	public static final String ATTR_PROMPT_FOR_ARGUMENTS = PLUGIN_ID + ".ATTR_PROMPT_FOR_ARGUMENTS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute identifying the scope of resources that should trigger an 
-	 * external tool to run. Default value is <code>null</code>
-	 * indicating that the builder will be triggered for all changes.
-	 */
-	public static final String ATTR_BUILD_SCOPE = PLUGIN_ID + ".ATTR_BUILD_SCOPE"; //$NON-NLS-1$
-		
-	
-	/**
-	 * String attribute containing an array of build kinds for which an
-	 * external tool builder should be run.
-	 */
-	public static final String ATTR_RUN_BUILD_KINDS = PLUGIN_ID + ".ATTR_RUN_BUILD_KINDS"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean attribute indicating if the console should be shown on external
-	 * tool output. Default value is <code>false</code>.
-	 */
-	public static final String ATTR_SHOW_CONSOLE = PLUGIN_ID + ".ATTR_SHOW_CONSOLE"; //$NON-NLS-1$
-
-	/**
-	 * String attribute containing the arguments that should be passed to the
-	 * tool. Default value is <code>null</code>, and encoding is tool specific.
-	 */
-	public static final String ATTR_TOOL_ARGUMENTS = PLUGIN_ID + ".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$
-
-	/**
-	 * String attribute identifying the working directory of an external tool.
-	 * Default value is <code>null</code>, which indicates a default working
-	 * directory, which is tool specific.
-	 */
-	public static final String ATTR_WORKING_DIRECTORY = PLUGIN_ID + ".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute identifying whether an external tool builder configuration
-	 * is enabled. The default value is <code>true</code>, which indicates
-	 * that the configuration will be executed as appropriate by the builder.
-	 */
-	public static final String ATTR_BUILDER_ENABLED = PLUGIN_ID + ".ATTR_BUILDER_ENABLED"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int ERR_INTERNAL_ERROR = 150;
-
-	/**
-	 * String attribute identifying a non-external tool builder launch configuration that is disabled
-	 * The value is the name of the disabled builder.
-	 */
-	public static final String ATTR_DISABLED_BUILDER = PLUGIN_ID + ".ATTR_DISABLED_BUILDER";		 //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
deleted file mode 100644
index 409bcac..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Help context ids for the external tools.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- */
-public interface IExternalToolsHelpContextIds {
-	public static final String PREFIX = "org.eclipse.ui.externaltools."; //$NON-NLS-1$
-	
-	// Preference Pages
-	public static final String EXTERNAL_TOOLS_PREFERENCE_PAGE = PREFIX + "preference_page_context";  //$NON-NLS-1$
-		
-	// Property Pages
-	public static final String EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE = PREFIX + "builder_property_page_context"; //$NON-NLS-1$
-	
-	//Dialogs
-	public static final String MESSAGE_WITH_TOGGLE_DIALOG = PREFIX + "message_with_toggle_dialog_context"; //$NON-NLS-1$
-	public static final String FILE_SELECTION_DIALOG = PREFIX + "file_selection_dialog_context"; //$NON-NLS-1$
-	
-	//Launch configuration dialog tabs
-	public static final String EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB = PREFIX + "builders_tab_context"; //$NON-NLS-1$
-	public static final String EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_PROGRAM_MAIN_TAB = PREFIX + "program_main_tab_context"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
deleted file mode 100644
index fe9307e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Constants used to identify user preferences.
- */
-public interface IPreferenceConstants {
-	
-	/**
-	 * Boolean preference key which indicates whether or not the user should be prompted
-	 * before an external tool project builder is migrated to the new builder format.
-	 * This is used before an old-style (Eclipse 1.0 or 2.0) builder is migrated to
-	 * the new format (launch configurations).
-	 */
-	public static final String PROMPT_FOR_TOOL_MIGRATION = "externaltools.builders.promptForMigration"; //$NON-NLS-1$
-	/**
-	 * Boolean preference key which indicates whether or not the user should be prompted
-	 * before a project is migrated tot he new builder handle format.
-	 * This is used before an old-style (Eclipse 2.1) project handle is migrated
-	 * from the old format (launch config handles) to the new format (path to the launch).
-	 */
-	public static final String PROMPT_FOR_PROJECT_MIGRATION = "externaltools.builders.promptForProjectMigration"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
deleted file mode 100644
index 3e20c1d..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
- 
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A registry that maps <code>ImageDescriptors</code> to <code>Image</code>.
- */
-public class ImageDescriptorRegistry {
-
-	private HashMap fRegistry= new HashMap(10);
-	private Display fDisplay;
-	
-	/**
-	 * Creates a new image descriptor registry for the current or default display,
-	 * respectively.
-	 */
-	public ImageDescriptorRegistry() {
-		this(ExternalToolsPlugin.getStandardDisplay());
-	}
-	
-	/**
-	 * Creates a new image descriptor registry for the given display. All images
-	 * managed by this registry will be disposed when the display gets disposed.
-	 * 
-	 * @param display the display the images managed by this registry are allocated for 
-	 */
-	public ImageDescriptorRegistry(Display display) {
-		fDisplay= display;
-		Assert.isNotNull(fDisplay);
-		hookDisplay();
-	}
-	
-	/**
-	 * Returns the image associated with the given image descriptor.
-	 * 
-	 * @param descriptor the image descriptor for which the registry manages an image
-	 * @return the image associated with the image descriptor or <code>null</code>
-	 *  if the image descriptor can't create the requested image.
-	 */
-	public Image get(ImageDescriptor descriptor) {
-		if (descriptor == null)
-			descriptor= ImageDescriptor.getMissingImageDescriptor();
-			
-		Image result= (Image)fRegistry.get(descriptor);
-		if (result != null)
-			return result;
-	
-		Assert.isTrue(fDisplay == ExternalToolsPlugin.getStandardDisplay(), ExternalToolsModelMessages.getString("ImageDescriptorRegistry.Allocating_image_for_wrong_display_1")); //$NON-NLS-1$
-		result= descriptor.createImage();
-		if (result != null)
-			fRegistry.put(descriptor, result);
-		return result;
-	}
-
-	/**
-	 * Disposes all images managed by this registry.
-	 */	
-	public void dispose() {
-		for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
-			Image image= (Image)iter.next();
-			image.dispose();
-		}
-		fRegistry.clear();
-	}
-	
-	private void hookDisplay() {
-		fDisplay.disposeExec(new Runnable() {
-			public void run() {
-				dispose();
-			}	
-		});
-	}
-}
-
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
deleted file mode 100644
index 4a4b2ea..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
- 
-import java.util.Vector;
-
-/**
- * A string pattern matcher, suppporting * and ? wildcards.
- */
-public class StringMatcher {
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound= 0;
-	
-
-	protected static final char fSingleWildCard= '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start= start;
-			this.end= end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-	/**
-	 * StringMatcher constructor takes in a String object that is a simple 
-	 * pattern which may contain '*' for 0 and many characters and
-	 * '?' for exactly one character.  
-	 *
-	 * Literal '*' and '?' characters must be escaped in the pattern 
-	 * e.g., "\*" means literal "*", etc.
-	 *
-	 * Escaping any other character (including the escape character itself), 
-	 * just results in that character in the pattern.
-	 * e.g., "\a" means "a" and "\\" means "\"
-	 *
-	 * If invoking the StringMatcher with string literals in Java, don't forget
-	 * escape characters are represented by "\\".
-	 *
-	 * @param pattern the pattern to match text against
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-	 * 		  (everything is taken literally).
-	 */
-	public StringMatcher(String pattern, boolean ignoreCase, boolean ignoreWildCards) {
-		if (pattern == null)
-			throw new IllegalArgumentException();
-		fIgnoreCase= ignoreCase;
-		fIgnoreWildCards= ignoreWildCards;
-		fPattern= pattern;
-		fLength= pattern.length();
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code>(inclusive) 
-	 * and <code>end</code>(exclusive).  
-	 * @param text the String object to search in 
-	 * @param start the starting index of the search range, inclusive
-	 * @param end the ending index of the search range, exclusive
-	 * @return an StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x= posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount= fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos= start;
-		int matchStart= -1;
-		int i;
-		for (i= 0; i < segCount && curPos < end; ++i) {
-			String current= fSegments[i];
-			int nextMatch= regExpPosIn(text, curPos, end, current);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart= nextMatch;
-			curPos= nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param text a String object 
-	 */
-	public boolean match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) positions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param text a String object that contains the substring to match 
-	 * @param start marks the starting position (inclusive) of the substring
-	 * @param end marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-
-		if (start > end)
-			return false;
-
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;
-
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){
-			if(!regExpRegionMatches(text, start, current, 0, segLength)) {
-				return false;
-			} 
-			++i;
-			tCurPos= tCurPos + segLength;
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */
-		while (i < segCount) {
-			current= fSegments[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else {
-				currentMatch= regExpPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen);
-		}
-		return i == segCount ;
-	}
-
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments= new String[1];
-		fSegments[0]= fPattern;
-		fBound= fLength;
-	}
-	/**
-	 * Parses the given pattern into segments seperated by wildcard '*' characters.
-	 * @param p, a String object that is a simple regular expression with '*' and/or '?'
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar= true;
-		if(fPattern.endsWith("*")) {//$NON-NLS-1$
-			/* make sure it's not an escaped wildcard */
-			if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-				fHasTrailingStar= true;
-			}
-		}
-
-		Vector temp= new Vector();
-
-		int pos= 0;
-		StringBuffer buf= new StringBuffer();
-		while (pos < fLength) {
-			char c= fPattern.charAt(pos++);
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						char next= fPattern.charAt(pos++);
-						/* if it's an escape sequence */
-						if (next == '*' || next == '?' || next == '\\') {
-							buf.append(next);
-						} else {
-							/* not an escape sequence, just insert literally */
-							buf.append(c);
-							buf.append(next);
-						}
-					}
-				break;
-				case '*':
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						fBound += buf.length();
-						buf.setLength(0);
-					}
-				break;
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			fBound += buf.length();
-		}
-			
-		fSegments= new String[temp.size()];
-		temp.copyInto(fSegments);
-	}
-	/** 
-	 * @param text a string which contains no wildcard
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		int max= end - fLength;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(fPattern, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, fPattern, 0, fLength))
-				return i;
-		}
-		
-		return -1;
-	}
-	/** 
-	 * @param text a simple regular expression that may only contain '?'(s)
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a simple regular expression that may contains '?'
-	 * @param caseIgnored whether the pattern is not casesensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p) {
-		int plen= p.length();
-		
-		int max= end - plen;
-		for (int i= start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen))
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * 
-	 * @return boolean
-	 * @param text a String to match
-	 * @param start int that indicates the starting index of match, inclusive
-	 * @param end int that indicates the ending index of match, exclusive
-	 * @param p a simple regular expression that may contain '?'
-	 * @param ignoreCase boolean indicating wether code>p</code> is case sensitive
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen) {
-		while (plen-- > 0) {
-			char tchar= text.charAt(tStart++);
-			char pchar= p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					continue;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				if (Character.toUpperCase(tchar) == Character.toUpperCase(pchar))
-					continue;
-				// comparing after converting to upper case doesn't handle all cases;
-				// also compare after converting to lower case
-				if (Character.toLowerCase(tchar) == Character.toLowerCase(pchar))
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param text the string to match
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a string that has no wildcard
-	 * @param ignoreCase boolean indicating wether code>p</code> is case sensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen= p.length();
-		int max= end - plen;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
deleted file mode 100644
index 86aaafb..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.registry;
-
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages;
-
-/**
- * Responsible reading an old external tool format and creating
- * and migrating it to create a new external tool.
- */
-public final class ExternalToolMigration {
-	/**
-	 * Structure to represent a variable definition within a
-	 * source string.
-	 */
-	public static final class VariableDefinition {
-		/**
-		 * Index in the source text where the variable started
-		 * or <code>-1</code> if no valid variable start tag 
-		 * identifier found.
-		 */
-		public int start = -1;
-		
-		/**
-		 * Index in the source text of the character following
-		 * the end of the variable or <code>-1</code> if no 
-		 * valid variable end tag found.
-		 */
-		public int end = -1;
-		
-		/**
-		 * The variable's name found in the source text, or
-		 * <code>null</code> if no valid variable found.
-		 */
-		public String name = null;
-		
-		/**
-		 * The variable's argument found in the source text, or
-		 * <code>null</code> if no valid variable found or if
-		 * the variable did not specify an argument
-		 */
-		public String argument = null;
-		
-		/**
-		 * Create an initialized variable definition.
-		 */
-		private VariableDefinition() {
-			super();
-		}
-	}
-	
-	/**
-	 * Variable tag indentifiers
-	 */
-	private static final String VAR_TAG_START = "${"; //$NON-NLS-1$
-	private static final String VAR_TAG_END = "}"; //$NON-NLS-1$
-	private static final String VAR_TAG_SEP = ":"; //$NON-NLS-1$	
-	
-	/**
-	 * External tool type for Ant build files (value <code>antBuildType</code>).
-	 */
-	public static final String TOOL_TYPE_ANT_BUILD = "antBuildType"; //$NON-NLS-1$;
-	/**
-	 * Ant builder launch configuration type identifier. Ant project builders
-	 * are of this type.
-	 */
-	public static final String ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ant.AntBuilderLaunchConfigurationType"; //$NON-NLS-1$
-		
-	public static final String RUN_TARGETS_ATTRIBUTE = TOOL_TYPE_ANT_BUILD + ".runTargets"; //$NON-NLS-1$;
-
-	/**
-	* String attribute indicating the Ant targets to execute. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 * NOTE: This value is copied here from org.eclipse.ant.ui.internal.IAntLaunchConfigurationConstants.
-	 * 		Ant no longer resides in External Tools and this plug-in. This value is kept here only
-	 * 		for migration.
-	 */
-	public static final String ATTR_ANT_TARGETS = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_TARGETS"; //$NON-NLS-1$
-	
-	/*
-	 * 2.0 External Tool Tags
-	 */
-	public static final String TAG_TOOL_TYPE = "!{tool_type}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_NAME = "!{tool_name}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_LOCATION = "!{tool_loc}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_ARGUMENTS = "!{tool_args}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_DIRECTORY = "!{tool_dir}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_REFRESH = "!{tool_refresh}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_SHOW_LOG = "!{tool_show_log}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_BUILD_TYPES = "!{tool_build_types}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_BLOCK = "!{tool_block}"; //$NON-NLS-1$
-
-	// Known kind of tools
-	private static final String TOOL_TYPE_ANT = "org.eclipse.ui.externaltools.type.ant"; //$NON-NLS-1$
-	private static final String TOOL_TYPE_PROGRAM = "org.eclipse.ui.externaltools.type.program"; //$NON-NLS-1$
-
-	/*
-	 * 2.1 External Tool Keys
-	 */
-	public static final String TAG_TYPE = "type"; //$NON-NLS-1$
-	public static final String TAG_NAME = "name"; //$NON-NLS-1$
-	public static final String TAG_LOCATION = "location"; //$NON-NLS-1$
-	public static final String TAG_WORK_DIR = "workDirectory"; //$NON-NLS-1$
-	public static final String TAG_CAPTURE_OUTPUT = "captureOutput"; //$NON-NLS-1$
-	public static final String TAG_SHOW_CONSOLE = "showConsole"; //$NON-NLS-1$
-	public static final String TAG_RUN_BKGRND = "runInBackground"; //$NON-NLS-1$
-	public static final String TAG_PROMPT_ARGS = "promptForArguments"; //$NON-NLS-1$
-	public static final String TAG_ARGS = "arguments"; //$NON-NLS-1$
-	public static final String TAG_REFRESH_SCOPE = "refreshScope"; //$NON-NLS-1$
-	public static final String TAG_REFRESH_RECURSIVE = "refreshRecursive"; //$NON-NLS-1$
-	public static final String TAG_RUN_BUILD_KINDS = "runForBuildKinds"; //$NON-NLS-1$
-	public static final String TAG_EXTRA_ATTR = "extraAttribute"; //$NON-NLS-1$
-	public static final String TAG_VERSION = "version"; //$NON-NLS-1$
-
-	private static final String EXTRA_ATTR_SEPARATOR = "="; //$NON-NLS-1$
-
-	private static final String VERSION_21 = "2.1"; //$NON-NLS-1$;
-
-	private static final String TRUE = "true"; //$NON-NLS-1$
-	private static final String FALSE = "false"; //$NON-NLS-1$
-
-	/**
-	 * Allows no instances.
-	 */
-	private ExternalToolMigration() {
-		super();
-	}
-
-	/**
-	 * Returns a  launch configuration working copy from the argument map or
-	 * <code>null</code> if the given map cannot be interpreted as a 2.0 or 2.1
-	 * branch external tool. The returned working copy will be unsaved and its
-	 * location will be set to the metadata area.
-	 */
-	public static ILaunchConfigurationWorkingCopy configFromArgumentMap(Map args) {
-		String version = (String) args.get(TAG_VERSION);
-		if (VERSION_21.equals(version)) {
-			return configFrom21ArgumentMap(args);
-		}
-		return configFrom20ArgumentMap(args);
-	}
-
-	public static ILaunchConfigurationWorkingCopy configFrom21ArgumentMap(Map commandArgs) {
-		String name = (String) commandArgs.get(TAG_NAME);
-		String type = (String) commandArgs.get(TAG_TYPE);
-		
-		ILaunchConfigurationWorkingCopy config = newConfig(type, name);
-		if (config == null) {
-			return null;
-		}
-		
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String) commandArgs.get(TAG_LOCATION));
-		config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) commandArgs.get(TAG_WORK_DIR));
-		config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals(commandArgs.get(TAG_CAPTURE_OUTPUT)));
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals(commandArgs.get(TAG_SHOW_CONSOLE)));
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, TRUE.equals(commandArgs.get(TAG_RUN_BKGRND)));
-		config.setAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, TRUE.equals(commandArgs.get(TAG_PROMPT_ARGS)));
-		config.setAttribute(RefreshTab.ATTR_REFRESH_SCOPE, (String) commandArgs.get(TAG_REFRESH_SCOPE));
-		config.setAttribute(RefreshTab.ATTR_REFRESH_RECURSIVE, TRUE.equals(commandArgs.get(TAG_REFRESH_RECURSIVE)));
-
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String) commandArgs.get(TAG_RUN_BUILD_KINDS));
-		
-		String args = (String) commandArgs.get(TAG_ARGS);
-		if (args != null) {
-			config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, args);
-		}
-
-		String extraAttributes = (String) commandArgs.get(TAG_EXTRA_ATTR);
-		if (extraAttributes != null) {
-			StringTokenizer tokenizer = new StringTokenizer(extraAttributes, EXTRA_ATTR_SEPARATOR);
-			while (tokenizer.hasMoreTokens()) {
-				String key = tokenizer.nextToken();
-				if (!tokenizer.hasMoreTokens())
-					break;
-				String value = tokenizer.nextToken();
-				if (key.equals(RUN_TARGETS_ATTRIBUTE)) {
-					// 2.1 implementation only defined 1 "extra attribute"
-					config.setAttribute(ATTR_ANT_TARGETS, value);
-				}
-			}
-		}
-		return config;
-	}
-
-	/**
-	 * Creates an external tool from the map.
-	 */
-	public static ILaunchConfigurationWorkingCopy configFrom20ArgumentMap(Map args) {
-		// Update the type...
-		String type = (String) args.get(TAG_TOOL_TYPE);
-		if (TOOL_TYPE_ANT.equals(type)) {
-			type = TOOL_TYPE_ANT_BUILD;
-		} else if (TOOL_TYPE_PROGRAM.equals(type)){
-			type = IExternalToolConstants.TOOL_TYPE_PROGRAM;
-		} else {
-			return null;
-		}
-
-		String name = (String) args.get(TAG_TOOL_NAME);
-		
-		ILaunchConfigurationWorkingCopy config = newConfig(type, name);
-		if (config == null) {
-			return null;
-		}
-
-		// Update the location...
-		String location = (String) args.get(TAG_TOOL_LOCATION);
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-
-		// Update the refresh scope...
-		String refresh = (String) args.get(TAG_TOOL_REFRESH);
-		if (refresh != null) {
-			VariableDefinition varDef = extractVariableDefinition(refresh, 0);
-			if ("none".equals(varDef.name)) { //$NON-NLS-1$
-				refresh = null;
-			}
-			config.setAttribute(RefreshTab.ATTR_REFRESH_SCOPE, refresh);
-		}
-
-		// Update the arguments
-		String arguments = (String) args.get(TAG_TOOL_ARGUMENTS);
-		if (type.equals(TOOL_TYPE_ANT_BUILD)) {
-			String targetNames = null;
-			if (arguments != null) {
-				int start = 0;
-				ArrayList targets = new ArrayList();
-				StringBuffer buffer = new StringBuffer();
-				VariableDefinition varDef = extractVariableDefinition(arguments, start);
-				while (varDef.end != -1) {
-					if ("ant_target".equals(varDef.name) && varDef.argument != null) { //$NON-NLS-1$
-						targets.add(varDef.argument);
-						buffer.append(arguments.substring(start, varDef.start));
-					} else {
-						buffer.append(arguments.substring(start, varDef.end));
-					}
-					start = varDef.end;
-					varDef = extractVariableDefinition(arguments, start);
-				}
-				buffer.append(arguments.substring(start, arguments.length()));
-				arguments = buffer.toString();
-	
-				buffer.setLength(0);
-				for (int i = 0; i < targets.size(); i++) {
-					String target = (String) targets.get(i);
-					if (target != null && target.length() > 0) {
-						buffer.append(target);
-						buffer.append(","); //$NON-NLS-1$
-					}
-				}
-				targetNames = buffer.toString();
-			}
-			if (targetNames != null && targetNames.length() > 0) {
-				config.setAttribute(ATTR_ANT_TARGETS, targetNames);
-			}
-		}
-		config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-
-		// Collect the rest of the information
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals(args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals(args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, FALSE.equals(args.get(TAG_TOOL_BLOCK)));
-		String buildKinds= (String) args.get(TAG_TOOL_BUILD_TYPES);
-		if (buildKinds != null) {
-			buildKinds= buildKinds.replace(';', ','); // Replace the old separator with the new
-		}
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buildKinds);
-		config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) args.get(TAG_TOOL_DIRECTORY));
-		return config;
-	}
-
-	/**
-	 * Returns a new working copy with the given external tool name and external
-	 * tool type or <code>null</code> if no config could be created.
-	 */
-	private static ILaunchConfigurationWorkingCopy newConfig(String type, String name) {
-		if (type == null || name == null) {
-			return null;
-		}
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType configType;
-		if (TOOL_TYPE_ANT_BUILD.equals(type)) {
-			configType = manager.getLaunchConfigurationType(ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-		} else if (IExternalToolConstants.TOOL_TYPE_PROGRAM.equals(type)) {
-			configType = manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-		} else {
-			return null;
-		}
-		try {
-			if (configType != null) {
-				return configType.newInstance(null, name);
-			}
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the tool name extracted from the given command argument map.
-	 * Extraction is attempted using 2.0 and 2.1 external tool formats.
-	 */
-	public static String getNameFromCommandArgs(Map commandArgs) {
-		String name= (String) commandArgs.get(TAG_NAME);
-		if (name == null) {
-			name= (String) commandArgs.get(TAG_TOOL_NAME);
-		}
-		return name;
-	}
-	
-	/**
-	 * Migrate the old RUN_IN_BACKGROUND launch config attribute to the new
-	 * LAUNCH_IN_BACKGROUND attribute provided by the debug ui plugin.
-	 * 
-	 * @param config the config to migrate
-	 * @return the migrated config
-	 */
-	public static ILaunchConfiguration migrateRunInBackground(ILaunchConfiguration config) {
-		String noValueFlag= "NoValue"; //$NON-NLS-1$
-		String attr= null;
-		try {
-			attr = config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, noValueFlag);
-		} catch (CoreException e) {
-			// Exception will occur if the attribute is already set because the attribute is actually a boolean.
-			// No migration necessary.
-			return config;
-		}
-		if (noValueFlag.equals(attr)) {
-			//the old constant
-			String ATTR_RUN_IN_BACKGROUND= IExternalToolConstants.PLUGIN_ID + ".ATTR_RUN_IN_BACKGROUND"; //$NON-NLS-1$
-			boolean runInBackground= false;
-			try {
-				runInBackground = config.getAttribute(ATTR_RUN_IN_BACKGROUND, runInBackground);
-			} catch (CoreException e) {
-				ExternalToolsPlugin.getDefault().log(ExternalToolsUIMessages.getString("ExternalToolMigration.37"), e); //$NON-NLS-1$
-			}
-			try {
-				ILaunchConfigurationWorkingCopy workingCopy= config.getWorkingCopy();
-				workingCopy.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, runInBackground);
-				config= workingCopy.doSave();
-			} catch (CoreException e) {
-				ExternalToolsPlugin.getDefault().log(ExternalToolsUIMessages.getString("ExternalToolMigration.38"), e); //$NON-NLS-1$
-			}
-		}
-		return config;
-	}
-	
-	/**
-	 * Extracts a variable name and argument from the given string.
-	 * 
-	 * @param text the source text to parse for a variable tag
-	 * @param start the index in the string to start the search
-	 * @return the variable definition
-	 */
-	public static VariableDefinition extractVariableDefinition(String text, int start) {
-		VariableDefinition varDef = new VariableDefinition();
-		
-		varDef.start = text.indexOf(VAR_TAG_START, start);
-		if (varDef.start < 0){
-			return varDef;
-		}
-		start = varDef.start + VAR_TAG_START.length();
-		
-		int end = text.indexOf(VAR_TAG_END, start);
-		if (end < 0) {
-			return varDef;
-		}
-		varDef.end = end + VAR_TAG_END.length();
-		if (end == start) {
-			return varDef;
-		}
-	
-		int mid = text.indexOf(VAR_TAG_SEP, start);
-		if (mid < 0 || mid > end) {
-			varDef.name = text.substring(start, end);
-		} else {
-			if (mid > start) {
-				varDef.name = text.substring(start, mid);
-			}
-			mid = mid + VAR_TAG_SEP.length();
-			if (mid < end) {
-				varDef.argument = text.substring(mid, end);
-			}
-		}
-		
-		return varDef;
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
deleted file mode 100644
index 40be6be..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage.ErrorConfig;
-
-
-class BuilderLabelProvider extends LabelProvider {
-		private static final String IMG_BUILDER = "icons/full/obj16/builder.gif"; //$NON-NLS-1$;
-		private static final String IMG_INVALID_BUILD_TOOL = "icons/full/obj16/invalid_build_tool.gif"; //$NON-NLS-1$
-		IDebugModelPresentation debugModelPresentation= DebugUITools.newDebugModelPresentation();
-
-		private Image builderImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_BUILDER).createImage();
-		private Image invalidBuildToolImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_INVALID_BUILD_TOOL).createImage();
-		
-		public String getText(Object element) {
-			if (element instanceof ICommand) {
-				return getCommandText((ICommand) element);
-			} else if (element instanceof ILaunchConfiguration || element instanceof ILaunchConfigurationType) {
-				return getDebugModelText(element);
-			} else if (element instanceof ErrorConfig) {
-				return ExternalToolsUIMessages.getString("BuilderPropertyPage.invalidBuildTool"); //$NON-NLS-1$
-			}
-			return super.getText(element);
-		}
-		
-		public Image getImage(Object element) {
-			if (element instanceof ICommand) {
-				return getCommandImage();
-			} else if (element instanceof ILaunchConfiguration || element instanceof ILaunchConfigurationType) {
-				return getDebugModelImage(element);
-			} else if (element instanceof ErrorConfig) {
-				return invalidBuildToolImage;
-			}
-			return super.getImage(element);
-		}
-		
-		public String getCommandText(ICommand command) {
-			String builderID = command.getBuilderName();
-			return getBuilderName(builderID);
-		}
-		
-		private String getBuilderName(String builderID) {
-			// Get the human-readable name of the builder
-			IExtension extension = Platform.getExtensionRegistry().getExtension(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_BUILDERS, builderID);
-			String builderName;
-			if (extension != null) {
-				builderName = extension.getLabel();
-			} else {
-				builderName = MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.missingBuilder"), new Object[] { builderID }); //$NON-NLS-1$
-			}
-			return builderName;
-		}
-		
-		/**
-		 * Returns the image for build commands.
-		 * 
-		 * @return the build command image
-		 */
-		public Image getCommandImage() {
-			return builderImage;
-		}
-		
-		/**
-		 * Returns a text label for the given object from a debug
-		 * model presentation.
-		 * @param element the element
-		 * @return a text label from a debug model presentation
-		 */
-		public String getDebugModelText(Object element) {
-			if (element instanceof ILaunchConfiguration) {
-				try {
-					String disabledBuilderName= ((ILaunchConfiguration) element).getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null) {
-						//really a disabled builder wrapped as a launch configuration
-						return getBuilderName(disabledBuilderName);
-					}
-				} catch (CoreException e) {
-				}
-			}
-			return debugModelPresentation.getText(element);
-		}
-		
-		/**
-		 * Returns an image for the given object from a debug
-		 * model presentation.
-		 * @param element the element
-		 * @return an image from a debug model presentation
-		 */
-		public Image getDebugModelImage(Object element) {
-			if (element instanceof ILaunchConfiguration) {
-				try {
-					String disabledBuilderName= ((ILaunchConfiguration) element).getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null) {
-						//really a disabled builder wrapped as a launch configuration
-						return builderImage;
-					}
-				} catch (CoreException e) {
-				}
-			}
-			return debugModelPresentation.getImage(element);
-		}
-			/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-			builderImage.dispose();
-			invalidBuildToolImage.dispose();
-		}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
deleted file mode 100644
index 09b9c70..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
+++ /dev/null
@@ -1,1115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.IgnoreWhiteSpaceComparator;
-import org.eclipse.ui.externaltools.internal.model.BuilderUtils;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Property page to add external tools in between builders.
- */
-public final class BuilderPropertyPage extends PropertyPage implements ICheckStateListener {
-
-	//locally mark a command's enabled state so it can be processed correctly on performOK
-	private static final String COMMAND_ENABLED= "CommandEnabled"; //$NON-NLS-1$
-
-	private Button upButton, downButton, newButton, importButton, editButton, removeButton;
-	
-	private boolean userHasMadeChanges= false;
-	
-	private List configsToBeDeleted= null;
-	
-	private CheckboxTableViewer viewer= null;
-	
-	private ILabelProvider labelProvider= new BuilderLabelProvider();
-	
-	/**
-	 * Error configs are objects representing entries pointing to
-	 * invalid launch configurations
-	 */
-	public class ErrorConfig {
-		private ICommand command;
-		public ErrorConfig(ICommand command) {
-			this.command= command;
-		}
-		public ICommand getCommand() {
-			return command;
-		}
-	}
-	
-	/**
-	 * Collection of configurations created while the page is open.
-	 * Stored here so they can be deleted if the page is cancelled.
-	 */
-	private List newConfigList= new ArrayList();
-	
-	private SelectionListener buttonListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			handleButtonPressed((Button) e.widget);
-		}
-	};
-	
-	/**
-	 * Launch configuration listener which is responsible for updating items in
-	 * the tree when the user renames configurations in the dialog.
-	 * 
-	 * This is necessary because when we tell the configuration dialog to open
-	 * on a launch config and the user renames that config, the old config (the
-	 * one in the tree) is made obsolete and a new config is created. This
-	 * listener hears when new configurations are created this way and replaces
-	 * the old configuration with the new.
-	 */
-	private ILaunchConfigurationListener configurationListener= new ILaunchConfigurationListener() {
-		/**
-		 * A launch configuration has been added. If this config has been
-		 * movedFrom a configuration in the tree, replace the old config with
-		 * the new.
-		 */
-		public void launchConfigurationAdded(final ILaunchConfiguration configuration) {
-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-			final ILaunchConfiguration oldConfig= manager.getMovedFrom(configuration);
-			if (oldConfig == null) {
-				return;
-			}
-			
-			Display.getDefault().asyncExec(new Runnable() {	
-				public void run() {
-					TableItem[] items= viewer.getTable().getItems();
-					for (int i = 0; i < items.length; i++) {
-						TableItem item = items[i];
-						Object data= item.getData();
-						if (data == oldConfig) {
-							// Found the movedFrom config in the tree. Replace it with the new config 
-							item.setData(configuration);
-							viewer.update(configuration, null);
-							break;
-						}
-					}
-					//Also replace the movedFrom config in the list of newly created configs
-					if (newConfigList.remove(oldConfig)) {
-						newConfigList.add(configuration);
-					}
-				}
-			});
-		}
-		public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		}
-		public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		}
-	};
-
-	/**
-	 * Creates an initialized property page
-	 */
-	public BuilderPropertyPage() {
-		super();
-		noDefaultAndApplyButton();
-	}
-
-	/**
-	 * Add the project's build to the table viewer.
-	 */
-	private void addBuildersToTable() {
-		IProject project = getInputProject();
-		if (project == null) {
-			return;
-		}
-		//add build spec entries to the table
-		ICommand[] commands= null;
-		try {
-			commands = project.getDescription().getBuildSpec();
-		} catch (CoreException e) {
-			handleException(e);
-		}
-	
-		boolean projectNeedsMigration= false;
-		for (int i = 0; i < commands.length; i++) {
-			String[] version= new String[] {""}; //$NON-NLS-1$
-			ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(project, commands[i].getArguments(), version);
-			if (BuilderUtils.VERSION_2_1.equals(version[0])) { //$NON-NLS-1$
-				// Storing the .project file of a project with 2.1 configs, will
-				// edit the file in a way that isn't backwards compatible.
-				projectNeedsMigration= true;
-			}
-			Object element= null;
-			if (config != null) {
-				if (!config.isWorkingCopy() && !config.exists()) {
-					IStatus status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.Exists"), new String[]{config.getLocation().toOSString()}), null); 	 //$NON-NLS-1$
-					ErrorDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.errorTitle"), //$NON-NLS-1$
-									MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.External_Tool_Builder_{0}_Not_Added_2"), new String[]{config.getName()}),  //$NON-NLS-1$
-									status);
-					userHasMadeChanges= true;
-				} else {
-					element= config;
-				}
-			} else {
-				String builderID = commands[i].getBuilderName();
-				if (builderID.equals(ExternalToolBuilder.ID) && commands[i].getArguments().get(BuilderUtils.LAUNCH_CONFIG_HANDLE) != null) {
-					// An invalid external tool entry.
-					element= new ErrorConfig(commands[i]);
-				} else {
-					element= commands[i];
-				}
-			}
-			if (element != null) {
-				viewer.add(element);
-				viewer.setChecked(element, isEnabled(element));
-			}
-		}
-		if (projectNeedsMigration) {
-			IPreferenceStore store= ExternalToolsPlugin.getDefault().getPreferenceStore();
-			boolean prompt= store.getBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION);
-			boolean proceed= true;
-			if (prompt) {
-				MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.0"), ExternalToolsUIMessages.getString("BuilderPropertyPage.1"), ExternalToolsUIMessages.getString("BuilderPropertyPage.2"), false, null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				proceed= dialog.getReturnCode() == IDialogConstants.YES_ID;
-				store.setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, !dialog.getToggleState());
-			}
-			if (!proceed) {
-				// Open the page read-only
-				viewer.getTable().setEnabled(false);
-				downButton.setEnabled(false);
-				editButton.setEnabled(false);
-				importButton.setEnabled(false);
-				newButton.setEnabled(false);
-				removeButton.setEnabled(false);
-			}
-		}
-	}
-
-	/**
-	 * Creates and returns a button with the given label, id, and enablement.
-	 */
-	private Button createButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		GridData data = new GridData();
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setEnabled(false);
-		button.addSelectionListener(buttonListener);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage.
-	 */
-	protected Control createContents(Composite parent) {
-		
-		WorkbenchHelp.setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE);
-		
-		Font font = parent.getFont();
-
-		Composite topLevel = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		topLevel.setLayout(layout);
-		topLevel.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label description = new Label(topLevel, SWT.WRAP);
-		description.setText(ExternalToolsUIMessages.getString("BuilderPropertyPage.description")); //$NON-NLS-1$
-		description.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		description.setFont(font);
-
-		Composite tableAndButtons = new Composite(topLevel, SWT.NONE);
-		tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH));
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		tableAndButtons.setLayout(layout);
-
-		// table of builders and tools
-		viewer= CheckboxTableViewer.newCheckList(tableAndButtons, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
-		viewer.setLabelProvider(labelProvider);
-		viewer.addCheckStateListener(this);
-		Table builderTable= viewer.getTable();
-		builderTable.setLayoutData(new GridData(GridData.FILL_BOTH));
-		builderTable.setFont(font);
-		builderTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleTableSelectionChanged();
-			}
-		});
-		
-		builderTable.addListener(SWT.MouseDoubleClick, new Listener() {
-			public void handleEvent(Event event) {
-				handleEditButtonPressed();
-			}
-		});
-		
-		//button area
-		Composite buttonArea = new Composite(tableAndButtons, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonArea.setLayout(layout);
-		buttonArea.setFont(font);
-		buttonArea.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		newButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.newButton")); //$NON-NLS-1$
-		importButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.&Import..._3")); //$NON-NLS-1$
-		editButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.editButton")); //$NON-NLS-1$
-		removeButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.removeButton")); //$NON-NLS-1$
-		new Label(buttonArea, SWT.LEFT);
-		upButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.upButton")); //$NON-NLS-1$
-		downButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.downButton")); //$NON-NLS-1$
-
-		newButton.setEnabled(true);
-		importButton.setEnabled(true);
-
-		//populate widget contents	
-		addBuildersToTable();
-
-		return topLevel;
-	}
-	
-	/**
-	 * Turns autobuilding on or off in the workspace.
-	 */
-	private void setAutobuild(boolean newState) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription wsDescription= workspace.getDescription();
-		boolean oldState= wsDescription.isAutoBuilding();
-		if (oldState != newState) {
-			wsDescription.setAutoBuilding(newState);
-			workspace.setDescription(wsDescription);
-		}
-	}
-
-	/**
-	 * Returns the project that is the input for this property page,
-	 * or <code>null</code>.
-	 */
-	private IProject getInputProject() {
-		IAdaptable element = getElement();
-		if (element instanceof IProject) {
-			return (IProject) element;
-		}
-		Object resource = element.getAdapter(IResource.class);
-		if (resource instanceof IProject) {
-			return (IProject) resource;
-		}
-		return null;
-	}
-
-	/**
-	 * One of the buttons has been pressed, act accordingly.
-	 */
-	private void handleButtonPressed(Button button) {
-		if (button == newButton) {
-			handleNewButtonPressed();
-		} else if (button == importButton) {
-			handleImportButtonPressed();
-		} else if (button == editButton) {
-			handleEditButtonPressed();
-		} else if (button == removeButton) {
-			handleRemoveButtonPressed();
-		} else if (button == upButton) {
-			moveSelectionUp();
-		} else if (button == downButton) {
-			moveSelectionDown();
-		}
-		handleTableSelectionChanged();
-		viewer.getTable().setFocus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
-	 */
-	public void checkStateChanged(CheckStateChangedEvent event) {
-		Object element= event.getElement();
-		if (element instanceof ILaunchConfiguration) {
-			enableLaunchConfiguration((ILaunchConfiguration) element, event.getChecked());
-		} else if (element instanceof ICommand) {
-			enableCommand((ICommand)element, event.getChecked());
-		}
-	}
-
-	private void enableLaunchConfiguration(ILaunchConfiguration configuration, boolean enable) {
-		ILaunchConfigurationWorkingCopy workingCopy= null;
-		try {
-			if (configuration instanceof ILaunchConfigurationWorkingCopy) {
-				workingCopy = (ILaunchConfigurationWorkingCopy) configuration;
-			} else {
-				// Replace the config with a working copy
-				TableItem[] items= viewer.getTable().getItems();
-				for (int i = 0; i < items.length; i++) {
-					TableItem item = items[i];
-					if (item.getData() == configuration) {
-						workingCopy = configuration.getWorkingCopy();
-						item.setData(workingCopy);
-					}
-				}
-			}
-			if (workingCopy != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, enable);
-			}
-		} catch (CoreException e) {
-			return;
-		}
-		userHasMadeChanges= true;
-	}
-	
-	private void enableCommand(ICommand command, boolean enable) {
-		Map args= command.getArguments();
-		if (args == null) {
-			args= new HashMap(1);
-		}
-		args.put(COMMAND_ENABLED, Boolean.valueOf(enable));
-		command.setArguments(args);
-		userHasMadeChanges= true;
-	}
-
-	/**
-	 * The user has pressed the import button. Prompt them to select a
-	 * configuration to import from the workspace.
-	 */	
-	private void handleImportButtonPressed() {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		List toolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY);
-		List configurations= new ArrayList();
-		Iterator iter= toolTypes.iterator();
-		while (iter.hasNext()) {
-			try {
-				ILaunchConfiguration[] configs= manager.getLaunchConfigurations((ILaunchConfigurationType) iter.next());
-				for (int i = 0; i < configs.length; i++) {
-					configurations.add(configs[i]);	
-				}
-			} catch (CoreException e) {
-			}
-		}
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new BuilderLabelProvider());
-		dialog.setTitle(ExternalToolsUIMessages.getString("BuilderPropertyPage.4")); //$NON-NLS-1$
-		dialog.setMessage(ExternalToolsUIMessages.getString("BuilderPropertyPage.5")); //$NON-NLS-1$
-		dialog.setElements(configurations.toArray());
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		Object results[]= dialog.getResult();
-		if (results.length == 0) { //OK pressed with nothing selected
-			return;
-		}
-		ILaunchConfiguration config= (ILaunchConfiguration) results[0];
-		ILaunchConfiguration newConfig= null;
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			setAutobuild(false);
-			newConfig= BuilderUtils.duplicateConfiguration(getInputProject(), config);
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		if (newConfig != null) {
-			userHasMadeChanges= true;
-			viewer.add(newConfig);
-			viewer.setChecked(newConfig, isEnabled(newConfig));
-			newConfigList.add(newConfig);
-		}
-	}
-	
-	/**
-	 * The user has pressed the remove button. Delete the selected builder.
-	 */
-	private void handleRemoveButtonPressed() {
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		if (selection != null) {
-			int numSelected= selection.size();
-			if (configsToBeDeleted == null) {
-				configsToBeDeleted= new ArrayList(numSelected);
-			}
-			userHasMadeChanges= true;
-			Iterator iterator= selection.iterator();
-			while (iterator.hasNext()) {
-				Object item= iterator.next();
-				if (item instanceof ILaunchConfiguration) {
-					configsToBeDeleted.add(item);
-					viewer.remove(item);
-				} else if (item instanceof ErrorConfig) {
-					viewer.remove(item);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * The user has pressed the new button. Create a new configuration and open
-	 * the launch configuration edit dialog on the new config.
-	 */
-	private void handleNewButtonPressed() {
-		ILaunchConfigurationType type = promptForConfigurationType();
-		if (type == null) {
-			return;
-		}
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(ExternalToolsUIMessages.getString("BuilderPropertyPage.New_Builder_7")); //$NON-NLS-1$
-			workingCopy = type.newInstance(BuilderUtils.getBuilderFolder(getInputProject(), true), name);		
-			
-			StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
-			buffer.append(',');
-			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
-			buffer.append(',');
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-			workingCopy.setAttribute(ExternalToolsMainTab.FIRST_EDIT, true);
-			ILaunchConfiguration config = null;
-			setAutobuild(false);
-			config = workingCopy.doSave();
-			//needs to be added here in case the user hits apply in the edit dialog
-			//then we can correctly update the list with the new config.
-			newConfigList.add(config);
-			int code= editConfiguration(config);
-			if (code == Window.CANCEL) {
-				// If the user cancelled, delete the newly created config
-				newConfigList.remove(config);
-				config.delete();
-			} else {
-				userHasMadeChanges= true;
-				//retrieve the last "new" config
-				//may have been changed by the user pressing apply in the edit dialog
-				config= (ILaunchConfiguration)newConfigList.get(newConfigList.size() - 1);
-				viewer.add(config);
-				viewer.setChecked(config, isEnabled(config));
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Prompts the user to edit the given launch configuration. Returns the
-	 * return code from opening the launch configuration dialog.
-	 */
-	private int editConfiguration(ILaunchConfiguration config) {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		manager.addLaunchConfigurationListener(configurationListener);
-		int code= DebugUITools.openLaunchConfigurationPropertiesDialog(getShell(), config, IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP);
-		manager.removeLaunchConfigurationListener(configurationListener);
-		return code;
-	}
-	
-	/**
-	 * Prompts the user to choose a launch configuration type to create and
-	 * returns the type the user selected or <code>null</code> if the user
-	 * cancelled.
-	 * 
-	 * @return the configuration type selected by the user or <code>null</code>
-	 * if the user cancelled.
-	 */
-	private ILaunchConfigurationType promptForConfigurationType() {
-		List externalToolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY);
-
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new BuilderLabelProvider());
-		dialog.setElements(externalToolTypes.toArray());
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(ExternalToolsUIMessages.getString("BuilderPropertyPage.Choose_configuration_type_8")); //$NON-NLS-1$
-		dialog.setMessage(ExternalToolsUIMessages.getString("BuilderPropertyPage.Choose_an_external_tool_type_to_create_9")); //$NON-NLS-1$
-		dialog.open();
-		Object result[] = dialog.getResult();
-		if (result == null || result.length == 0) {
-			return null;
-		}
-		return (ILaunchConfigurationType) result[0];
-	}
-	
-	/**
-	 * Returns the launch configuration types of the given category
-	 */
-	private List getConfigurationTypes(String category) {
-		ILaunchConfigurationType types[] = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		List externalToolTypes = new ArrayList();
-		for (int i = 0; i < types.length; i++) {
-			ILaunchConfigurationType configurationType = types[i];
-			if (category.equals(configurationType.getCategory())) {
-				externalToolTypes.add(configurationType);
-			}
-		}
-		return externalToolTypes;
-	}
-	
-	/**
-	 * The user has pressed the edit button. Open the launch configuration edit
-	 * dialog on the selection after migrating the tool if necessary.
-	 */
-	private void handleEditButtonPressed() {
-		TableItem selection= viewer.getTable().getSelection()[0];
-		if (selection != null) {
-			Object data = selection.getData();
-			if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				if (BuilderUtils.isUnmigratedConfig(config)) {
-					if (!shouldProceedWithMigration()) {
-						return;
-					}
-					try {
-						config= BuilderUtils.migrateBuilderConfiguration(getInputProject(), (ILaunchConfigurationWorkingCopy) config);
-					} catch (CoreException e) {
-						handleException(e);
-						return;
-					}
-					// Replace the working copy in the table with the migrated configuration
-					selection.setData(config);
-				}
-				userHasMadeChanges= true;
-				boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-				try {
-					setAutobuild(false);
-					editConfiguration(config);
-				} catch (CoreException e) {
-					handleException(e);
-				} finally {
-					try {
-						setAutobuild(wasAutobuilding);
-					} catch (CoreException e) {
-						handleException(e);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Prompts the user to proceed with the migration of a project builder from
-	 * the old format to the new, launch configuration-based, format and returns
-	 * whether or not the user wishes to proceed with the migration.
-	 * 
-	 * @return boolean whether or not the user wishes to proceed with migration
-	 */
-	private boolean shouldProceedWithMigration() {
-		if (!ExternalToolsPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION)) {
-			// User has asked not to be prompted
-			return true;
-		}
-		// Warn the user that editing an old config will cause storage migration.
-		MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(getShell(), 
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Migrate_project_builder_10"), //$NON-NLS-1$
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Not_Support"), //$NON-NLS-1$
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Prompt"), //$NON-NLS-1$
-			false,
-			ExternalToolsPlugin.getDefault().getPreferenceStore(), 
-			IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION);
-		return dialog.getReturnCode() == IDialogConstants.YES_ID;
-	}
-
-	/**
-	 * Handles unexpected internal exceptions
-	 */
-	private void handleException(Exception e) {
-		IStatus status;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, ExternalToolsUIMessages.getString("BuilderPropertyPage.statusMessage"), e); //$NON-NLS-1$
-		}
-		ErrorDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.errorTitle"), //$NON-NLS-1$
-				ExternalToolsUIMessages.getString("BuilderPropertyPage.errorMessage"), //$NON-NLS-1$
-				status);
-	}
-
-	/**
-	 * The user has selected a different builder in table.
-	 * Update button enablement.
-	 */
-	private void handleTableSelectionChanged() {
-		newButton.setEnabled(true);
-		Table builderTable= viewer.getTable();
-		TableItem[] items = builderTable.getSelection();
-		boolean validSelection= items != null && items.length > 0;
-		boolean enableEdit= validSelection;
-		boolean enableRemove= validSelection;
-		boolean enableUp= validSelection;
-		boolean enableDown= validSelection;
-		if (validSelection) {
-			if (items.length > 1) {
-				enableEdit= false;
-			}
-			int indices[]= builderTable.getSelectionIndices();
-			int max = builderTable.getItemCount();
-			enableUp= indices[0] != 0;
-			enableDown= indices[indices.length - 1] < max - 1;
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				Object data= item.getData();
-				if (data instanceof ILaunchConfiguration) {
-					ILaunchConfiguration config= (ILaunchConfiguration)data;
-					String builderName= null;
-					try {
-						builderName = config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					} catch (CoreException e) {
-					}
-					if (builderName != null) {
-						//do not allow "wrapped" builders to be removed or edited
-						enableEdit= false;
-						enableRemove= false;
-					}
-				} else {
-					enableEdit= false;
-					
-					if (data instanceof ErrorConfig) {
-						continue;
-					}
-					enableRemove= false;
-					break;
-				}
-			}
-		}
-		editButton.setEnabled(enableEdit);
-		removeButton.setEnabled(enableRemove);
-		upButton.setEnabled(enableUp);
-		downButton.setEnabled(enableDown);
-	}
-	
-	/**
-	 * Returns whether the given element (command or launch config)
-	 * is enabled.
-	 * 
-	 * @param element the element
-	 * @return whether the given element is enabled
-	 */
-	private boolean isEnabled(Object element) {
-		if (element instanceof ICommand) {
-			Boolean enabled= (Boolean)((ICommand) element).getArguments().get(COMMAND_ENABLED);
-			if (enabled != null) {
-				return enabled.booleanValue();
-			}
-		} else if (element instanceof ILaunchConfiguration) {
-			try {
-				return ExternalToolsUtil.isBuilderEnabled((ILaunchConfiguration) element);
-			} catch (CoreException e) {
-			}
-		} else if (element instanceof ErrorConfig) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Moves an entry in the builder table to the given index.
-	 */
-	private void move(TableItem item, int index) {
-		userHasMadeChanges= true;
-		Object data = item.getData();
-		item.dispose();
-		viewer.insert(data, index);
-		viewer.setChecked(data, isEnabled(data));
-	}
-
-	/**
-	 * Move the current selection in the build list down.
-	 */
-	private void moveSelectionDown() {
-		Table builderTable= viewer.getTable();
-		int indices[]= builderTable.getSelectionIndices();
-		if (indices.length < 1) {
-			return;
-		}
-		int newSelection[]= new int[indices.length];
-		int max= builderTable.getItemCount() - 1;
-		for (int i = indices.length - 1; i >= 0; i--) {
-			int index= indices[i];
-			if (index < max) {
-				move (builderTable.getItem(index), index + 1);
-				newSelection[i]= index + 1;
-			}
-		}
-		builderTable.setSelection(newSelection);
-	}
-
-	/**
-	 * Move the current selection in the build list up.
-	 */
-	private void moveSelectionUp() {
-		Table builderTable= viewer.getTable();
-		int indices[]= builderTable.getSelectionIndices();
-		int newSelection[]= new int[indices.length];
-		for (int i = 0; i < indices.length; i++) {
-			int index= indices[i];
-			if (index > 0) {
-				move (builderTable.getItem(index), index - 1);
-				newSelection[i]= index - 1;
-			}
-		}
-		builderTable.setSelection(newSelection);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (!userHasMadeChanges) {
-			return super.performOk();
-		}
-		userHasMadeChanges= false;
-		Table builderTable= viewer.getTable();
-		int numCommands = builderTable.getItemCount();
-		final Object[] itemData= new Object[numCommands];
-		for (int i = 0; i < numCommands; i++) {
-			itemData[i]= builderTable.getItem(i).getData();
-		}
-		IRunnableWithProgress runnable= new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-				doPerformOk(monitor, itemData);
-				if (monitor.isCanceled()) {
-					throw new InterruptedException();
-				}
-			}
-		};
-		
-		IProgressService service= PlatformUI.getWorkbench().getProgressService();
-		try {
-			service.busyCursorWhile(runnable);
-		} catch (InvocationTargetException e) {
-			return false;
-		} catch (InterruptedException e) {
-			return false;		
-		}
-		return super.performOk();
-	}
-	
-	private void doPerformOk(IProgressMonitor monitor, Object[] itemData) {
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		IProject project = getInputProject();
-		//get all the build commands
-		int numCommands = itemData.length;
-		monitor.beginTask(ExternalToolsUIMessages.getString("BuilderPropertyPage.3"), numCommands + 1); //$NON-NLS-1$
-		ICommand[] commands = new ICommand[numCommands];
-		for (int i = 0; i < numCommands; i++) {
-			Object data = itemData[i];
-			if (data instanceof ICommand) {
-				ICommand command= (ICommand)data;
-				Map args= command.getArguments();
-				Boolean enabled= (Boolean)args.get(COMMAND_ENABLED);
-				if (enabled != null && enabled.equals(Boolean.FALSE)) {
-					ILaunchConfiguration config= disableCommand(command);
-					if (config != null) {
-						data= BuilderUtils.commandFromLaunchConfig(project,config);
-					}
-				} else {
-					args.remove(COMMAND_ENABLED);
-					command.setArguments(args);
-				}
-			} else if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				String disabledBuilderName;
-				try {
-					disabledBuilderName = config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null && ExternalToolsUtil.isBuilderEnabled(config)) {
-						commands[i]= translateBackToCommand(config, project);
-						continue;
-					}
-				} catch (CoreException e1) {
-				}
-				
-				if (!BuilderUtils.isUnmigratedConfig(config) && (config instanceof ILaunchConfigurationWorkingCopy)) {
-					ILaunchConfigurationWorkingCopy workingCopy= ((ILaunchConfigurationWorkingCopy) config);
-					// Save any changes to the config (such as enable/disable)
-					if (workingCopy.isDirty()) {
-						try {
-							workingCopy.doSave();
-						} catch (CoreException e) {
-							MessageDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.39"), MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.40"), new String[] {workingCopy.getName()})); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-					}
-				}
-				data= BuilderUtils.commandFromLaunchConfig(project, config);
-			} else if (data instanceof ErrorConfig) {
-				data= ((ErrorConfig) data).getCommand();
-			}
-			if (data != null) {
-				commands[i] = (ICommand) data;
-			}
-			monitor.worked(1);
-		}
-		
-		if (checkCommandsForChange(commands)) {
-			//set the build spec
-			try {
-				IProjectDescription desc = project.getDescription();
-				desc.setBuildSpec(commands);
-				project.setDescription(desc, IResource.FORCE, monitor);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		
-		if (configsToBeDeleted != null) {
-			deleteConfigurations();
-		}
-		monitor.done();
-	}
-	
-	/**
-	 * A non-external tool builder builder was disabled.
-	 * It has been re-enabled. Translate the disabled external tool builder launch configuration
-	 * wrapper back into the full fledged builder command.
-	 */
-	private ICommand translateBackToCommand(ILaunchConfiguration config, IProject project) {
-		try {
-			ICommand newCommand = project.getDescription().newCommand();
-			String builderName= config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-			Map args= config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, new HashMap(0));
-			
-			newCommand.setBuilderName(builderName);
-			newCommand.setArguments(args);
-			if (configsToBeDeleted == null) {
-				configsToBeDeleted= new ArrayList();
-			}
-			configsToBeDeleted.add(config);
-			return newCommand;
-		} catch (CoreException exception) {
-			MessageDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.13"), ExternalToolsUIMessages.getString("BuilderPropertyPage.error")); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-	}
-	
-	/**
-	 * Disables a builder by wrappering the builder command as a disabled external tool builder.
-	 * The details of the command is persisted in the launch configuration.
-	 */
-	private ILaunchConfiguration disableCommand(ICommand command) {
-		Map arguments= command.getArguments();
-		if (arguments != null) {
-			arguments.remove(COMMAND_ENABLED);
-		}
-		List externalToolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY);
-		if (externalToolTypes.size() == 0) {
-			return null;
-		}
-		ILaunchConfigurationType type= (ILaunchConfigurationType)externalToolTypes.get(0);
-		if (type == null) {
-			return null;
-		}
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			String builderName = command.getBuilderName();
-			String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(builderName);
-			workingCopy = type.newInstance(BuilderUtils.getBuilderFolder(getInputProject(), true), name);		
-					
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, builderName);
-			if (arguments != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-			}
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, false);
-			ILaunchConfiguration config = null;
-			setAutobuild(false);
-			config = workingCopy.doSave();
-			return config;
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		return null;
-	}
-
-	private void deleteConfigurations() {
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			setAutobuild(false);
-		
-			Iterator itr= configsToBeDeleted.iterator();
-			while (itr.hasNext()) {
-				ILaunchConfiguration element = (ILaunchConfiguration) itr.next();
-				element.delete();
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether any of the commands have changed.
-	 */
-	private boolean checkCommandsForChange(ICommand[] newCommands) {
-		try {
-			ICommand[] oldCommands = getInputProject().getDescription().getBuildSpec();
-			if (oldCommands.length != newCommands.length) {
-				return true;
-			}
-			IgnoreWhiteSpaceComparator comparator= new IgnoreWhiteSpaceComparator();
-			for (int i = 0; i < oldCommands.length; i++) {
-				ICommand oldCommand = oldCommands[i];
-				ICommand newCommand= newCommands[i];
-				String oldName= oldCommand.getBuilderName();
-				String newName= newCommand.getBuilderName();
-				if (oldName == null && newName != null) {
-					return true;
-				}
-				
-				if(oldName != null && !oldName.equals(newName)) {
-					return true;
-				}
-				Map oldArgs= oldCommand.getArguments();
-				Map newArgs= newCommand.getArguments();
-				if (oldArgs == null && newArgs != null) {
-					return true;
-				}
-				if (oldArgs == null && newArgs == null) {
-					continue;
-				}
-				if(oldArgs.size() != newArgs.size()) {
-					return true;
-				}
-				Iterator keySet= oldArgs.keySet().iterator();
-				while (keySet.hasNext()) {
-					Object key = keySet.next();
-					Object oldArg= oldArgs.get(key);
-					Object newArg= newArgs.get(key);
-					if (oldArg instanceof String && newArg instanceof String) {
-						if (comparator.compare(oldArg, newArg) != 0) {
-							return true;
-						}
-					} else if (!oldArg.equals(newArg)){
-						return true;
-					}
-				}
-			}
-		} catch (CoreException ce) {
-			return true;
-		}
-		return false;	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		Iterator iter= newConfigList.iterator();
-		while (iter.hasNext()) {
-			try {
-				((ILaunchConfiguration) iter.next()).delete();
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		try {
-			IFolder builderFolder= BuilderUtils.getBuilderFolder(getInputProject(), false);
-			if (builderFolder != null && builderFolder.exists() && builderFolder.members().length == 0) {
-				// All files in the builder folder were newly created. Clean up
-				builderFolder.delete(true, false, null);
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		}
-		
-		//remove the local marking of the enabled state of the commands
-		Table builderTable= viewer.getTable();
-		int numCommands = builderTable.getItemCount();
-		for (int i = 0; i < numCommands; i++) {
-			Object data = builderTable.getItem(i).getData();
-			if (data instanceof ICommand) {
-				ICommand command= (ICommand)data;
-				Map args= command.getArguments();
-				args.remove(COMMAND_ENABLED);
-				command.setArguments(args);
-			}
-		}
-		return super.performCancel();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
deleted file mode 100644
index a13cba1..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Preference page that allows the user to customize external tools
- */
-public class ExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Button promptForToolMigrationButton;
-	private Button promptForProjectMigrationButton;
-	
-	public ExternalToolsPreferencePage() {
-		setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore());
-		setDescription(ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.External_tool_project_builders_migration_2")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_PREFERENCE_PAGE);
-		//The main composite
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-				
-		promptForToolMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.Prompt_before_migrating_3"), IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION); //$NON-NLS-1$
-		promptForProjectMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.1"), IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION); //$NON-NLS-1$
-		
-		applyDialogFont(composite);
-		
-		return composite;
-	}
-	
-	/**
-	 * Returns a new check button with the given label for the given preference.
-	 */
-	private Button createCheckButton(Composite parent, String label, String preferenceKey) {
-		Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setSelection(getPreferenceStore().getBoolean(preferenceKey));
-		return button;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, promptForToolMigrationButton.getSelection());
-		getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, promptForProjectMigrationButton.getSelection());
-		return super.performOk();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION));
-		promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION));
-		super.performDefaults();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
deleted file mode 100644
index 576ea36..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public final class ExternalToolsUIMessages {
-	private static final String BUNDLE_NAME= "org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages"; //$NON-NLS-1$
-	
-	private static final ResourceBundle RESOURCE_BUNDLE =
-			ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsUIMessages(){
-		// prevent instantiation of class
-	}
-	
-	/**
-	 * Returns the message with the given key in
-	 * the resource bundle. If there isn't any value under
-	 * the given key, the key is returned.
-	 *
-	 * @param key the message name
-	 * @return the message
-	 */	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
deleted file mode 100644
index 40d32b4..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BuilderPropertyPage.description = Configure the builders for the &project:
-BuilderPropertyPage.newButton = &New...
-BuilderPropertyPage.editButton = &Edit...
-BuilderPropertyPage.removeButton = &Remove
-BuilderPropertyPage.upButton = &Up
-BuilderPropertyPage.downButton = &Down
-BuilderPropertyPage.statusMessage = Internal error
-BuilderPropertyPage.errorTitle = External Tool Builder Problem
-BuilderPropertyPage.errorMessage = Internal error
-BuilderPropertyPage.invalidBuildTool = Invalid External Tool Builder
-BuilderPropertyPage.missingBuilder = Missing builder ({0})
-BuilderPropertyPage.Exists=Builder launch configuration {0} no longer exists
-BuilderPropertyPage.External_Tool_Builder_{0}_Not_Added_2=External Tool Builder {0} Not Added
-BuilderPropertyPage.&Import..._3=&Import...
-BuilderPropertyPage.New_Builder_7=New_Builder
-BuilderPropertyPage.Choose_configuration_type_8=Choose configuration type
-BuilderPropertyPage.Choose_an_external_tool_type_to_create_9=&Choose an external tool type to create:
-BuilderPropertyPage.Migrate_project_builder_10=Migrate project builder
-BuilderPropertyPage.Not_Support=This project builder is stored in a format that is no longer supported. If you wish to edit this builder, it will first be migrated to a new format. If you proceed, this project builder will not be understood by installations using the old format.\n\nProceed with migration?
-BuilderPropertyPage.Prompt=&Do not prompt before migrating project builders
-BuilderPropertyPage.error=An error occurred while saving the project\'s build commands
-BuilderPropertyPage.0=Project Migration
-BuilderPropertyPage.2=&Do not prompt before migrating projects
-BuilderPropertyPage.1=This project stores its builders in a format that is no longer supported. If any changes are made, the project will be migrated to the new format which will not be understood by installations using the old format.\n\nProceed? (Selecting "No" will open the page read-only)
-BuilderPropertyPage.4=Import launch configuration
-BuilderPropertyPage.5=&Choose a launch configuration from the workspace to import.\nThis will create a copy of the selected configuration.
-BuilderPropertyPage.13=Command error
-BuilderPropertyPage.39=Error Saving Builder
-BuilderPropertyPage.3=Updating builders...
-BuilderPropertyPage.40=An exception occurred while attempting to save builder {0}
-
-FileSelectionDialog.Choose_Location_1=Choose Location
-FileSelectionDialog.Ok_2=Ok
-FileSelectionDialog.Cancel_3=Cancel
-
-ExternalToolsPreferencePage.External_tool_project_builders_migration_2=External tool project builders stored in an old format will be migrated to a new format when edited. Projects which store builders using an old format will be migrated whenever a change is made. Once migrated, project builders will not be understood by installations using these older formats.
-ExternalToolsPreferencePage.Prompt_before_migrating_3=&Confirm before migrating external tool project builders for edit
-ExternalToolsPreferencePage.1=C&onfirm before migrating projects to the new format
-
-ExternalToolMigration.37=An exception occurred accessing external tool\'s \"run in background\" attribute
-ExternalToolMigration.38=An exception occurred attempting to migrate external tool\'s \"run in background\" attribute
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
deleted file mode 100644
index da041c8..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.StringMatcher;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Dialog for selecting a file in the workspace. Derived from
- * org.eclipse.ui.dialogs.ResourceSelectionDialog
- */
-public class FileSelectionDialog extends MessageDialog {
-	// the root element to populate the viewer with
-	private IAdaptable root;
-
-	// the visual selection widget group
-	private TreeAndListGroup selectionGroup;
-	// constants
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 400;
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 300;
-	/**
-	 * The file(s) selected by the user.
-	 */
-	private IStructuredSelection result = null;
-	/**
-	 * String matcher used to filter content
-	 */
-	private StringMatcher stringMatcher = null;
-
-	private boolean allowMultiselection= false;
-	/**
-	 * Creates a resource selection dialog rooted at the given element.
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param rootElement
-	 *            the root element to populate this dialog with
-	 * @param message
-	 *            the message to be displayed at the top of this dialog, or
-	 *            <code>null</code> to display a default message
-	 */
-	public FileSelectionDialog(Shell parentShell, IAdaptable rootElement, String message) {
-		super(parentShell, ExternalToolsUIMessages.getString("FileSelectionDialog.Choose_Location_1"), null, message, MessageDialog.NONE, new String[] { ExternalToolsUIMessages.getString("FileSelectionDialog.Ok_2"), ExternalToolsUIMessages.getString("FileSelectionDialog.Cancel_3")}, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		root = rootElement;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-	
-	/**
-	 * Limits the files displayed in this dialog to files matching the given
-	 * pattern. The string can be a filename or a regular expression containing
-	 * '*' for any series of characters or '?' for any single character.
-	 * 
-	 * @param pattern
-	 *            a pattern used to filter the displayed files or <code>null</code>
-	 *            to display all files. If a pattern is supplied, only files
-	 *            whose names match the given pattern will be available for
-	 *            selection.
-	 * @param ignoreCase
-	 *            if true, case is ignored. If the pattern argument is <code>null</code>,
-	 *            this argument is ignored.
-	 */
-	public void setFileFilter(String pattern, boolean ignoreCase) {
-		if (pattern != null) {
-			stringMatcher = new StringMatcher(pattern, ignoreCase, false);
-		} else {
-			stringMatcher = null;
-		}
-	}
-	
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		WorkbenchHelp.setHelp(
-			shell,
-			IExternalToolsHelpContextIds.FILE_SELECTION_DIALOG);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		initializeDialog();
-	}
-	
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		//create the input element, which has the root resource
-		//as its only child
-		selectionGroup =
-			new TreeAndListGroup(
-				composite,
-				root,
-				getResourceProvider(
-					IResource.FOLDER | IResource.PROJECT | IResource.ROOT),
-				new WorkbenchLabelProvider(),
-				getResourceProvider(IResource.FILE),
-				new WorkbenchLabelProvider(),
-				SWT.NONE,
-				// since this page has no other significantly-sized
-				// widgets we need to hardcode the combined widget's
-				// size, otherwise it will open too small
-				SIZING_SELECTION_WIDGET_WIDTH, SIZING_SELECTION_WIDGET_HEIGHT,
-				allowMultiselection);
-		
-		composite.addControlListener(new ControlListener() {
-			public void controlMoved(ControlEvent e) {
-			}
-			public void controlResized(ControlEvent e) {
-				//Also try and reset the size of the columns as appropriate
-				TableColumn[] columns =
-					selectionGroup.getListTable().getColumns();
-				for (int i = 0; i < columns.length; i++) {
-					columns[i].pack();
-				}
-			}
-		});
-
-		return composite;
-	}
-	/**
-	 * Returns a content provider for <code>IResource</code> s that returns
-	 * only children of the given resource type.
-	 */
-	private ITreeContentProvider getResourceProvider(final int resourceType) {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof IContainer) {
-					IResource[] members = null;
-					try {
-						members = ((IContainer) o).members();
-						List accessibleMembers = new ArrayList(members.length);
-						for (int i = 0; i < members.length; i++) {
-							IResource resource = members[i];
-							if (resource.isAccessible()) {
-								accessibleMembers.add(resource);
-							}
-						}
-						members =
-							(IResource[]) accessibleMembers.toArray(
-								new IResource[accessibleMembers.size()]);
-					} catch (CoreException e) {
-						//just return an empty set of children
-						return new Object[0];
-					}
-
-					//filter out the desired resource types
-					ArrayList results = new ArrayList();
-					for (int i = 0; i < members.length; i++) {
-						//And the test bits with the resource types to see if
-						// they are what we want
-						if ((members[i].getType() & resourceType) > 0) {
-							if (members[i].getType() == IResource.FILE
-								&& stringMatcher != null
-								&& !stringMatcher.match(members[i].getName())) {
-								continue;
-							}
-							results.add(members[i]);
-						}
-					}
-					return results.toArray();
-				}
-				
-				return new Object[0];
-			}
-		};
-	}
-	/**
-	 * Initializes this dialog's controls.
-	 */
-	private void initializeDialog() {
-		selectionGroup
-			.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				getOkButton().setEnabled(
-					!selectionGroup.getListTableSelection().isEmpty());
-			}
-		});
-		selectionGroup.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				buttonPressed(IDialogConstants.OK_ID);
-			}
-		});
-
-		getOkButton().setEnabled(false);
-	}
-
-	/**
-	 * Returns this dialog's OK button.
-	 */
-	protected Button getOkButton() {
-		return getButton(0);
-	}
-	/**
-	 * Returns the file the user chose or <code>null</code> if none.
-	 */
-	public IStructuredSelection getResult() {
-		return result;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			result= selectionGroup.getListTableSelection();
-		}
-		super.buttonPressed(buttonId);
-	}
-	/**
-	 * Sets whether this dialog will allow multi-selection.
-	 * Must be called before <code>open</code>
-	 * @param allowMultiselection whether to allow multi-selection in the dialog
-	 */
-	public void setAllowMultiselection(boolean allowMultiselection) {
-		this.allowMultiselection= allowMultiselection;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
deleted file mode 100644
index 48f387a..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * This class was derived from org.eclipse.ui.internal.misc.CheckboxTreeAndListGroup
- *
- */
-public class TreeAndListGroup implements ISelectionChangedListener {
-	private Object root;
-	private Object currentTreeSelection;
-	private List selectionChangedListeners = new ArrayList();
-	private List doubleClickListeners= new ArrayList();
-
-	private ITreeContentProvider treeContentProvider;
-	private IStructuredContentProvider listContentProvider;
-	private ILabelProvider treeLabelProvider;
-	private ILabelProvider listLabelProvider;
-
-	// widgets
-	private TreeViewer treeViewer;
-	private TableViewer listViewer;
-	private boolean allowMultiselection= false;
-
-	/**
-	 *	Create an instance of this class.  Use this constructor if you wish to specify
-	 *	the width and/or height of the combined widget (to only hardcode one of the
-	 *	sizing dimensions, specify the other dimension's value as -1)
-	 *
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 *	@param style int
-	 *  @param rootObject java.lang.Object
-	 *	@param width int
-	 *	@param height int
-	 *  @param allowMultiselection Whether to allow multi-selection in the list viewer.
-	 */
-	public TreeAndListGroup(Composite parent, Object rootObject, ITreeContentProvider treeContentProvider, ILabelProvider treeLabelProvider, IStructuredContentProvider listContentProvider, ILabelProvider listLabelProvider, int style, int width, int height, boolean allowMultiselection) {
-
-		root = rootObject;
-		this.treeContentProvider = treeContentProvider;
-		this.listContentProvider = listContentProvider;
-		this.treeLabelProvider = treeLabelProvider;
-		this.listLabelProvider = listLabelProvider;
-		this.allowMultiselection= allowMultiselection;
-		createContents(parent, width, height, style);
-	}
-	/**
-	 * This method must be called just before this window becomes visible.
-	 */
-	public void aboutToOpen() {
-		currentTreeSelection = null;
-
-		//select the first element in the list
-		Object[] elements = treeContentProvider.getElements(root);
-		Object primary = elements.length > 0 ? elements[0] : null;
-		if (primary != null) {
-			treeViewer.setSelection(new StructuredSelection(primary));
-		}
-		treeViewer.getControl().setFocus();
-	}
-	/**
-	 *	Add the passed listener to collection of clients
-	 *	that listen for changes to list viewer selection state
-	 *
-	 *	@param listener ISelectionChangedListener
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.add(listener);
-	}
-	
-	/**
-	 * Add the given listener to the collection of clients that listen to
-	 * double-click events in the list viewer
-	 * 
-	 * @param listener IDoubleClickListener
-	 */
-	public void addDoubleClickListener(IDoubleClickListener listener) {
-		doubleClickListeners.add(listener);
-	}
-
-	/**
-	 * Notify all selection listeners that a selection has occurred in the list
-	 * viewer
-	 */
-	protected void notifySelectionListeners(SelectionChangedEvent event) {
-		Iterator iter = selectionChangedListeners.iterator();
-		while (iter.hasNext()) {
-			 ((ISelectionChangedListener) iter.next()).selectionChanged(event);
-		}
-	}
-	
-	/**
-	 * Notify all double click listeners that a double click event has occurred
-	 * in the list viewer
-	 */
-	protected void notifyDoubleClickListeners(DoubleClickEvent event) {
-		Iterator iter= doubleClickListeners.iterator();
-		while (iter.hasNext()) {
-			((IDoubleClickListener) iter.next()).doubleClick(event);
-		}
-	}
-
-	/**
-	 *	Lay out and initialize self's visual components.
-	 *
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 *	@param width int
-	 *	@param height int
-	 */
-	protected void createContents(Composite parent, int width, int height, int style) {
-		// group pane
-		Composite composite = new Composite(parent, style);
-		composite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		createTreeViewer(composite, width / 2, height);
-		createListViewer(composite, width / 2, height);
-
-		initialize();
-	}
-	/**
-	 *	Create this group's list viewer.
-	 */
-	protected void createListViewer(Composite parent, int width, int height) {
-		int style;
-		if (allowMultiselection) {
-			style= SWT.MULTI;
-		} else {
-			style= SWT.SINGLE;
-		}
-		listViewer = new TableViewer(parent, SWT.BORDER | style);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = width;
-		data.heightHint = height;
-		listViewer.getTable().setLayoutData(data);
-		listViewer.getTable().setFont(parent.getFont());
-		listViewer.setContentProvider(listContentProvider);
-		listViewer.setLabelProvider(listLabelProvider);
-		listViewer.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				notifySelectionListeners(event);
-			}
-		});
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!event.getSelection().isEmpty()) {
-					notifyDoubleClickListeners(event);
-				}
-			}
-		});
-	}
-	/**
-	 *	Create this group's tree viewer.
-	 */
-	protected void createTreeViewer(Composite parent, int width, int height) {
-		Tree tree = new Tree(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = width;
-		data.heightHint = height;
-		tree.setLayoutData(data);
-		tree.setFont(parent.getFont());
-
-		treeViewer = new TreeViewer(tree);
-		treeViewer.setContentProvider(treeContentProvider);
-		treeViewer.setLabelProvider(treeLabelProvider);
-		treeViewer.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		treeViewer.addSelectionChangedListener(this);
-	}
-	
-	public Table getListTable() {
-		return listViewer.getTable();
-	}
-	
-	public IStructuredSelection getListTableSelection() {
-		ISelection selection=  this.listViewer.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			return (IStructuredSelection)selection;
-		} 
-		return StructuredSelection.EMPTY;
-	}
-	
-	protected void initialListItem(Object element) {
-		Object parent = treeContentProvider.getParent(element);
-		selectAndRevealFolder(parent);
-	}
-	
-	public void selectAndRevealFolder(Object treeElement) {
-		treeViewer.reveal(treeElement);
-		IStructuredSelection selection = new StructuredSelection(treeElement);
-		treeViewer.setSelection(selection);
-	}
-	
-	public void selectAndRevealFile(Object treeElement) {
-		listViewer.reveal(treeElement);
-		IStructuredSelection selection = new StructuredSelection(treeElement);
-		listViewer.setSelection(selection);
-	}
-
-	/**
-	 *	Initialize this group's viewers after they have been laid out.
-	 */
-	protected void initialize() {
-		treeViewer.setInput(root);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		Object selectedElement = selection.getFirstElement();
-		if (selectedElement == null) {
-			currentTreeSelection = null;
-			listViewer.setInput(currentTreeSelection);
-			return;
-		}
-
-		// ie.- if not an item deselection
-		if (selectedElement != currentTreeSelection) {
-			listViewer.setInput(selectedElement);
-		}
-
-		currentTreeSelection = selectedElement;
-	}
-	/**
-	 *	Set the list viewer's providers to those passed
-	 *
-	 *	@param contentProvider ITreeContentProvider
-	 *	@param labelProvider ILabelProvider
-	 */
-	public void setListProviders(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-		listViewer.setContentProvider(contentProvider);
-		listViewer.setLabelProvider(labelProvider);
-	}
-	/**
-	 *	Set the sorter that is to be applied to self's list viewer
-	 */
-	public void setListSorter(ViewerSorter sorter) {
-		listViewer.setSorter(sorter);
-	}
-	/**
-	 * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
-	 * value.
-	 * @param newRoot
-	 */
-	public void setRoot(Object newRoot) {
-		this.root = newRoot;
-		initialize();
-	}
-
-	/**
-	 *	Set the tree viewer's providers to those passed
-	 *
-	 *	@param contentProvider ITreeContentProvider
-	 *	@param labelProvider ILabelProvider
-	 */
-	public void setTreeProviders(ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(labelProvider);
-	}
-	/**
-	 *	Set the sorter that is to be applied to self's tree viewer
-	 */
-	public void setTreeSorter(ViewerSorter sorter) {
-		treeViewer.setSorter(sorter);
-	}
-
-	/**
-	 * Set the focus on to the list widget.
-	 */
-	public void setFocus() {
-
-		this.treeViewer.getTree().setFocus();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
deleted file mode 100644
index ac6fee7..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-
-public class BuildProjectResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		IResource resource= ExternalToolBuilder.getBuildProject();
-		if (argument != null && resource != null) {
-			resource = ((IProject)resource).findMember(new Path(argument));
-		}
-		if (resource != null && resource.exists()) {
-			return resource.getLocation().toOSString();
-		}
-		abort(MessageFormat.format(VariableMessages.getString("BuildProjectResolver.3"), new String[]{getReferenceExpression(variable, argument)}), null);	 //$NON-NLS-1$
-		return null;
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 *  
-	 * @param message exception message
-	 * @param exception underlying exception or <code>null</code> 
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, message, exception));
-	}
-	
-	/**
-	 * Returns an expression used to reference the given variable and optional argument.
-	 * For example, <code>${var_name:arg}</code>.
-	 * 
-	 * @param variable referenced variable
-	 * @param argument referenced argument or <code>null</code>
-	 * @return vraiable reference expression
-	 */
-	protected String getReferenceExpression(IDynamicVariable variable, String argument) {
-		StringBuffer reference = new StringBuffer();
-		reference.append("${"); //$NON-NLS-1$
-		reference.append(variable.getName());
-		if (argument != null) {
-			reference.append(":"); //$NON-NLS-1$
-			reference.append(argument);
-		}
-		reference.append("}"); //$NON-NLS-1$
-		return reference.toString();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
deleted file mode 100644
index 8418aa5..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-
-
-public class BuildTypeResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) {
-			return ExternalToolBuilder.getBuildType();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
deleted file mode 100644
index bdc20f6..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class VariableMessages {
-	
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.variables.VariableMessages";//$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-	
-	private VariableMessages() {
-	}
-	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
deleted file mode 100644
index 5d9477d..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BuildProjectResolver.3=Variable references non-existent resource : {0}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
deleted file mode 100644
index 2b19d3b..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-
-/**
- * Refreshes resources as specified by a launch configuration, when 
- * an associated process terminates.
- */
-public class BackgroundResourceRefresher implements IDebugEventSetListener  {
-
-	private ILaunchConfiguration fConfiguration;
-	private IProcess fProcess;
-	
-	public BackgroundResourceRefresher(ILaunchConfiguration configuration, IProcess process) {
-		fConfiguration = configuration;
-		fProcess = process;
-	}
-	
-	/**
-	 * If the process has already terminated, resource refreshing is done
-	 * immediately in the current thread. Otherwise, refreshing is done when the
-	 * process terminates.
-	 */
-	public void startBackgroundRefresh() {
-		synchronized (fProcess) {
-			if (fProcess.isTerminated()) {
-				refresh();
-			} else {
-				DebugPlugin.getDefault().addDebugEventListener(this);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() == fProcess && event.getKind() == DebugEvent.TERMINATE) {
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-				refresh();
-				break;
-			}
-		}
-	}
-	
-	/**
-	 * Submits a job to do the refresh
-	 */
-	protected void refresh() {
-		Job job= new Job(ExternalToolsProgramMessages.getString("BackgroundResourceRefresher.0")) { //$NON-NLS-1$
-			public IStatus run(IProgressMonitor monitor) {
-				try {
-					RefreshTab.refreshResources(fConfiguration, monitor);
-				} catch (CoreException e) {
-					ExternalToolsPlugin.getDefault().log(e);
-					return e.getStatus();
-				}	
-				return Status.OK_STATUS;
-			}
-		};
-		job.schedule();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
deleted file mode 100644
index ae2e9cc..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsProgramMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.program.launchConfigurations.ExternalToolsProgramMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsProgramMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
deleted file mode 100644
index 0e39f03..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BackgroundResourceRefresher.0=Refreshing resources...
-
-ProgramLaunchDelegate.Workbench_Closing_1=Workbench Closing
-ProgramLaunchDelegate.The_workbench_is_exiting=The workbench is exiting and a program launched from an external tool appears to still be running. These programs will be terminated when the workbench exits. It is recommended that you exit any external programs launched from the workbench before you proceed.\n\nClick OK to continue exiting the workbench.
-ProgramLaunchDelegate.3=Running {0}...
-ProgramLaunchDelegate.4=An IProcess could not be created for the launch
-
-ProgramMainTab.Select=&Select a program:
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
deleted file mode 100644
index 6ae363d..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsBuilderTab;
-
-public class ProgramBuilderTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new ProgramMainTab(),
-			new RefreshTab(),
-			new EnvironmentTab(),
-			new ExternalToolsBuilderTab(),
-		};
-		setTabs(tabs);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
deleted file mode 100644
index 5651139..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243)
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Launch delegate for a program.
- */
-public class ProgramLaunchDelegate implements ILaunchConfigurationDelegate {
-
-	private static IWindowListener windowListener;
-
-	/**
-	 * A window listener that warns the user about any running programs when
-	 * the workbench closes. Programs are killed when the VM exits.
-	 */
-	private class ProgramLaunchWindowListener implements IWindowListener {
-		public void windowActivated(IWorkbenchWindow window) {
-		}
-		public void windowDeactivated(IWorkbenchWindow window) {
-		}
-		public void windowClosed(IWorkbenchWindow window) {
-			IWorkbenchWindow windows[]= PlatformUI.getWorkbench().getWorkbenchWindows();
-			if (windows.length > 1) {
-				// There are more windows still open.
-				return;
-			}
-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType programType= manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE);
-			if (programType == null) {
-				return;
-			}
-			ILaunch launches[]= manager.getLaunches();
-			ILaunchConfigurationType configType;
-			ILaunchConfiguration config;
-			for (int i = 0; i < launches.length; i++) {
-				try {
-					config= launches[i].getLaunchConfiguration();
-					if (config == null) {
-						continue;
-					}
-					configType= config.getType();
-				} catch (CoreException e) {
-					continue;
-				}
-				if (configType.equals(programType)) {
-					if (!launches[i].isTerminated()) {
-						MessageDialog.openWarning(window.getShell(), ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.Workbench_Closing_1"), ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.The_workbench_is_exiting")); //$NON-NLS-1$ //$NON-NLS-2$
-						break;
-					}
-				}
-			}
-		}
-		public void windowOpened(IWorkbenchWindow window) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// resolve location
-		IPath location = ExternalToolsUtil.getLocation(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		// resolve working directory
-		IPath workingDirectory = ExternalToolsUtil.getWorkingDirectory(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// resolve arguments
-		String[] arguments = ExternalToolsUtil.getArguments(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		int cmdLineLength = 1;
-		if (arguments != null) {
-			cmdLineLength += arguments.length;
-		}
-		String[] cmdLine = new String[cmdLineLength];
-		cmdLine[0] = location.toOSString();
-		if (arguments != null) {
-			System.arraycopy(arguments, 0, cmdLine, 1, arguments.length);
-		}
-		
-		File workingDir = null;
-		if (workingDirectory != null) {
-			workingDir = workingDirectory.toFile();
-		}
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		String[] envp = DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		if (windowListener == null) {
-			windowListener= new ProgramLaunchWindowListener();
-			PlatformUI.getWorkbench().addWindowListener(windowListener);
-		}
-		Process p = DebugPlugin.exec(cmdLine, workingDir, envp);
-		IProcess process = null;
-		
-		// add process type to process attributes
-		Map processAttributes = new HashMap();
-		String programName = location.lastSegment();
-		String extension = location.getFileExtension();
-		if (extension != null) {
-			programName = programName.substring(0, programName.length() - (extension.length() + 1));
-		}
-		programName = programName.toLowerCase();
-		processAttributes.put(IProcess.ATTR_PROCESS_TYPE, programName);
-		
-		if (p != null) {
-			monitor.beginTask(MessageFormat.format(ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.3"), new String[] {configuration.getName()}), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-			process = DebugPlugin.newProcess(launch, p, location.toOSString(), processAttributes);
-			if (process == null) {
-				p.destroy();
-				throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.4"), null)); //$NON-NLS-1$
-			}
-			
-		}
-		process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(cmdLine));
-		
-		if (CommonTab.isLaunchInBackground(configuration)) {
-			// refresh resources after process finishes
-			if (RefreshTab.getRefreshScope(configuration) != null) {
-				BackgroundResourceRefresher refresher = new BackgroundResourceRefresher(configuration, process);
-				refresher.startBackgroundRefresh();
-			}				
-		} else {
-			// wait for process to exit
-			while (!process.isTerminated()) {
-				try {
-					if (monitor.isCanceled()) {
-						process.terminate();
-						break;
-					}
-					Thread.sleep(50);
-				} catch (InterruptedException e) {
-				}
-			}
-			
-			// refresh resources
-			RefreshTab.refreshResources(configuration, monitor);
-		}
-	}
-	
-	private String generateCommandLine(String[] commandLine) {
-		if (commandLine.length < 1)
-			return ""; //$NON-NLS-1$
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < commandLine.length; i++) {
-			buf.append(' ');
-			char[] characters= commandLine[i].toCharArray();
-			StringBuffer command= new StringBuffer();
-			boolean containsSpace= false;
-			for (int j = 0; j < characters.length; j++) {
-				char character= characters[j];
-				if (character == '\"') {
-					command.append('\\');
-				} else if (character == ' ') {
-					containsSpace = true;
-				}
-				command.append(character);
-			}
-			if (containsSpace) {
-				buf.append('\"');
-				buf.append(command);
-				buf.append('\"');
-			} else {
-				buf.append(command);
-			}
-		}	
-		return buf.toString();
-	}	
-	
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
deleted file mode 100644
index 14db303..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.ui.FileSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ProgramMainTab extends ExternalToolsMainTab {
-
-	/**
-	 * Prompts the user for a program location within the workspace and sets the
-	 * location as a String containing the workspace_loc variable or
-	 * <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		FileSelectionDialog dialog;
-		dialog = new FileSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsProgramMessages.getString("ProgramMainTab.Select")); //$NON-NLS-1$
-		dialog.open();
-		IStructuredSelection result = dialog.getResult();
-		if (result == null) {
-			return;
-		}
-		Object file= result.getFirstElement();
-		if (file instanceof IFile) {
-			StringBuffer expression = new StringBuffer();
-			expression.append("${workspace_loc:"); //$NON-NLS-1$
-			expression.append(((IFile)file).getFullPath().toString());
-			expression.append("}"); //$NON-NLS-1$
-			locationField.setText(expression.toString());
-		}
-	}
-	
-	
-   	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_PROGRAM_MAIN_TAB);
-	}
-	
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
deleted file mode 100644
index 188678f..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-
-public class ProgramTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new ProgramMainTab(),
-			new RefreshTab(),
-			new EnvironmentTab(),
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/about.html b/org.eclipse.ui.externaltools/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.ui.externaltools/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org 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
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/build.properties b/org.eclipse.ui.externaltools/build.properties
deleted file mode 100644
index 6bd0c1e..0000000
--- a/org.eclipse.ui.externaltools/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.externaltools.jar = External Tools Base/,\
-				Program Tools Support/
-
-src.includes=about.html
-
-bin.includes = icons/,\
-		.options,\
-		plugin.properties,\
-		plugin.xml,\
-		about.html,\
-		*.jar,\
-				
-jars.compile.order=externaltools.jar
-jars.extra.classpath=../org.apache.ant/ant.jar
diff --git a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml b/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
deleted file mode 100644
index 99aa388..0000000
--- a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ui.externaltools Eclipse plug-in
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export externaltools" default="export" basedir="..">
-
-	<!-- Set the timestamp and important properties -->
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="dest"  value="${destdir}/org.eclipse.ui.externaltools_3.0.0" />
-	</target>
-
-	<!-- Create the jar of .class files, and copy other important files to export dir -->
-	<target name="export" depends="init">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar jarfile="${dest}/externaltools.jar">
-			<fileset dir="bin">
-			</fileset>
-		</jar>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/externaltoolssrc.zip">
-			<fileset dir="External Tools Base"/>
-			<fileset dir="Program Tools Support"/>
-		</zip>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>		
-	</target>
-	
-</project>
diff --git a/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
deleted file mode 100644
index 4122d9a..0000000
--- a/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif b/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
deleted file mode 100644
index 903bbec..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif b/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
deleted file mode 100644
index cb55e33..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif b/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif b/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
deleted file mode 100644
index 0193dbe..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif b/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
deleted file mode 100644
index 38a9ab9..0000000
--- a/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/plugin.properties b/org.eclipse.ui.externaltools/plugin.properties
deleted file mode 100644
index ba0bcac..0000000
--- a/org.eclipse.ui.externaltools/plugin.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name = External Tools
-Plugin.providerName = Eclipse.org
-
-build_type.description= Returns the type of build being performed - "incremental", "full", "auto", or "none".
-build_project.description= Returns the absolute file system path of the project currently being built, or the absolute file system path of the resource identified by an optional argument interpreted as a path relative to the project currently being built.
-
-ExtPoint.configurationDuplicationMaps = Launch Configuration Duplication Maps
-ExtPoint.toolTypes = External Tool Types
-ExtPoint.refreshVariables = Refresh Scope Variables
-ExternalToolsLaunchGroup.label = &External Tools
-Menu.run = &Run
-ActionSet.externalTools = External Tools
-Action.externalTools = &External Tools
-Action.externalToolsTip = Run Last Tool
-PropertyPage.main = Main
-PropertyPage.option = Options
-PropertyPage.refresh = Refresh Scope
-PropertyPage.antTargets = Targets
-PropertyPage.externalToolsBuilders = Builders
-
-Builder.externalTools = Integrated External Tool Builder
-View.externalToolView = External Tools
-PreferencePage.externalToolsPreferences = External Tools
-
-Program.externalTools = Program
-programLaunchConfigurationTabGroup.description=Create a configuration that will run a program.
-programBuilderLaunchConfigurationTabGroup.description=Create a configuration that will run a program during builds.
-
-ActionDefinition.externalToolMenuDelegateToolbar.name=Run Last Launched External Tool
-ActionDefinition.externalToolMenuDelegateToolbar.description=Runs the last launched external Tool
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/plugin.xml b/org.eclipse.ui.externaltools/plugin.xml
deleted file mode 100644
index 52794d7..0000000
--- a/org.eclipse.ui.externaltools/plugin.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.externaltools"
-   name="%Plugin.name"
-   version="3.0.1"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin">
-
-   <runtime>
-      <library name="externaltools.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.eclipse.ui.views" optional="true"/>
-      <import plugin="org.eclipse.jface.text" optional="true"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-      <import plugin="org.eclipse.ui.editors" optional="true"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.variables"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-<!-- For internal use only. Not to be extended. -->
-   <extension-point id="configurationDuplicationMaps" name="%ExtPoint.configurationDuplicationMaps"  schema="schema/configurationDuplicationMaps.exsd"/>
-
-<!-- UI extensions -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ActionSet.externalTools"
-            visible="true"
-            id="org.eclipse.ui.externaltools.ExternalToolsSet">
-         <menu
-               label="%Menu.run"
-               path="additions"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="ExternalToolsGroup">
-            </separator>
-         </menu>
-         <action
-               label="%Action.externalTools"
-               pulldown="true"
-               icon="icons/full/obj16/external_tools.gif"
-               class="org.eclipse.ui.externaltools.internal.menu.ExternalToolMenuDelegate"
-               menubarPath="org.eclipse.ui.run/ExternalToolsGroup"
-               id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateMenu">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar"
-               label="%Action.externalTools"
-               pulldown="true"
-               icon="icons/full/obj16/external_tools.gif"
-               tooltip="%Action.externalToolsTip"
-               class="org.eclipse.ui.externaltools.internal.menu.ExternalToolMenuDelegate"
-               toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"
-               id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ActionDefinition.externalToolMenuDelegateToolbar.name"
-            description="%ActionDefinition.externalToolMenuDelegateToolbar.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.externalToolsPreferences"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.ui.externaltools.internal.ui.ExternalToolsPreferencePage"
-            id="org.eclipse.ui.externaltools.ExternalToolsPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%PropertyPage.externalToolsBuilders"
-            class="org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage"
-            id="org.eclipse.ui.externaltools.propertypages.BuilderPropertyPage">
-         <filter
-               name="open"
-               value="true">
-         </filter>
-      </page>
-   </extension>
-   <extension
-         id="ExternalToolBuilder"
-         name="%Builder.externalTools"
-         point="org.eclipse.core.resources.builders">
-      <builder>
-         <run
-               class="org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder">
-         </run>
-      </builder>
-   </extension>
-<!-- Launch Configuration Extensions -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%Program.externalTools"
-            delegate="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramLaunchDelegate"
-            category="org.eclipse.ui.externaltools"
-            modes="run"
-            id="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-      </launchConfigurationType>
-      <launchConfigurationType
-            name="%Program.externalTools"
-            delegate="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramLaunchDelegate"
-            category="org.eclipse.ui.externaltools.builder"
-            modes="run"
-            id="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.ui.externaltools.configurationDuplicationMaps">
-      <configurationMap
-            sourceType="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            builderType="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-      </configurationMap>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            description="%programLaunchConfigurationTabGroup.description"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.program"
-            class="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramTabGroup"
-            id="org.eclipse.ui.externaltools.launchConfigurationTabGroup.program">
-      </launchConfigurationTabGroup>
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            description="%programBuilderLaunchConfigurationTabGroup.description"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.program_builder"
-            class="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramBuilderTabGroup"
-            id="org.eclipse.ui.externaltools.launchConfigurationTabGroup.program.builder">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program">
-      </launchConfigurationTypeImage>
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program.builder">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchGroups">
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools"
-            image="icons/full/obj16/external_tools.gif"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup">
-      </launchGroup>
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools.builder"
-            image="icons/full/obj16/external_tools.gif"
-            public="false"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup.builder">
-      </launchGroup>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->	
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="build_type"
-            resolver="org.eclipse.ui.externaltools.internal.variables.BuildTypeResolver"
-            description="%build_type.description"
-            supportsArgument="false">
-      </variable>
-       <variable
-            name="build_project"
-            resolver="org.eclipse.ui.externaltools.internal.variables.BuildProjectResolver"
-            description="%build_project.description">
-      </variable>   
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE"
-            class="org.eclipse.ui.externaltools.internal.launchConfigurations.WorkingSetComparator"
-            id="org.eclipse.ui.externaltools.workingSetComparator">
-      </launchConfigurationComparator>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd b/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
deleted file mode 100644
index ca36e05..0000000
--- a/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.externaltools">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.externaltools" id="configurationDuplicationMaps" name="Configuration Duplication Maps"/>
-      </appInfo>
-      <documentation>
-This is an internal extension point to declare the launch configuration type that
-should be created when duplicating an existing configuration as a project builder.
-
-Clients are not intended to use this extension point.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="configurationMap" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-   
-   <element name="configurationMap">
-      <complexType>
-         <attribute name="sourceType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the launch configuration type for which this mapping is provided
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="builderType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the launch configuration type which should be created when a configuration of type "sourceType" is imported to be a project builder
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-The following example specifies that when the user chooses to import a launch configuration
-of the type &quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;, a new launch
-configuration of the type&quot;org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType&quot;
-should be created.
-
-&lt;pre&gt;
-&lt;extension
-      point=&quot;org.eclipse.ui.externaltools.configurationDuplicationMaps&quot;&gt;
-   &lt;configurationMap
-         sourceType=&quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;
-         builderType=&quot;org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType&quot;&gt;
-   &lt;/configurationMap&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-   
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-      
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>